The sip:carrier Handbook mr4.4.1
Table of Contents
1. Introduction
1.1. About this Document
1.2. Getting Help
1.2.1. Phone Support
1.2.2. Ticket System
1.3. What is the sip:carrier?
1.4. What is inside the sip:carrier?
1.5. Who should use the sip:carrier?
2. System Architecture
2.1. Hardware Architecture
2.2. Component Architecture
2.2.1. Provisioning
2.2.1.1. API and Web Interface
2.2.1.2. Provisioning Database
2.2.1.3. Persistent MySQL Database
2.2.1.4. Central Redis Cache
2.2.2. Signaling and Media Relay
2.2.2.1. Load Balancing of Signalling
2.2.2.2. Message Routing and Media Relay
2.2.3. Scaling beyond one Hardware Chassis
2.2.3.1. Scaling the DB cluster
2.2.3.2. Scaling the proxy cluster
2.2.3.3. Scaling the load balancers
2.2.3.4. Scaling the web servers
2.2.4. Architecture for central core and local satellites
2.3. Fax Server Architecture
2.3.1. Fax2Mail Architecture
2.3.2. Sendfax and Mail2Fax Architecture
3. Upgrading the sip:carrier
3.1. Overview
3.2. Upgrade planning
3.3. Preparation
3.3.1. Log into the inactive management server (web01a/db01a).
3.3.2. Log into all servers.
3.4. Upgrade
3.4.1. Upgrading the first inactive management node "A" ONLY (web01a/db01a)
3.4.2. Upgrading inactive database node "A" (db*a)
3.4.3. Upgrading other inactive nodes "A" (lb*a/prx*a)
3.4.4. Promote ALL inactive nodes "A" to active.
3.4.5. Upgrading ALL inactive nodes "B" (web*b/db*b/lb*b/prx*b)
3.5. Post-upgrade checks
4. Administrative Configuration
4.1. Creating a Customer
4.2. Creating a Subscriber
4.3. Domain Preferences
4.4. Subscriber Preferences
4.5. Creating Peerings
4.5.1. Creating Peering Groups
4.5.2. Creating Peering Servers
4.5.3. Authenticating and Registering against Peering Servers
4.5.3.1. Proxy-Authentication for outbound calls
4.5.3.2. Registering at a Peering Server
4.6. Configuring Rewrite Rule Sets
4.6.1. Inbound Rewrite Rules for Caller
4.6.2. Inbound Rewrite Rules for Callee
4.6.3. Outbound Rewrite Rules for Caller
4.6.4. Outbound Rewrite Rules for Callee
4.6.5. Emergency Number Handling
4.6.6. Assigning Rewrite Rule Sets to Domains and Subscribers
4.6.7. Creating Dialplans for Peering Servers
5. Advanced Subscriber Configuration
5.1. Access Control for SIP Calls
5.1.1. Block Lists
5.1.1.1. Block Modes
5.1.1.2. Block Lists
5.1.1.3. Block Anonymous Numbers
5.1.2. NCOS Levels
5.1.2.1. Creating NCOS Levels
5.1.2.2. Creating Rules per NCOS Level
5.1.2.3. Assigning NCOS Levels to Subscribers/Domains
5.1.2.4. Assigning NCOS Level for Forwarded Calls to Subscribers/Domains
5.1.3. IP Address Restriction
5.2. Call Forwarding and Call Hunting
5.2.1. Setting a simple Call Forward
5.2.2. Advanced Call Hunting
5.2.2.1. Configuring Destination Sets
5.2.2.2. Configuring Time Sets
5.3. Header Manipulation
5.3.1. Header Filtering
5.3.2. Codec Filtering
5.3.3. Enable History and Diversion Headers
5.4. SIP Trunking with SIPconnect
5.4.1. User provisioning
5.4.2. Inbound calls routing
5.4.3. Number manipulations
5.4.3.1. Rewrite rules
5.4.3.2. User parameter
5.4.3.3. Forwarding number
5.4.3.4. Allowed CLIs
5.4.4. Registration
5.4.4.1. Trusted sources
5.5. Limiting Subscriber Preferences via Subscriber Profiles
5.5.1. Subscriber Profile Sets
5.6. Creating Trusted Subscribers
5.7. Voicemail System
5.7.1. Accessing the IVR Menu
5.7.1.1. Mapping numbers and codes to IVR access
5.7.1.2. External IVR access
5.7.2. IVR Menu Structure
5.7.3. Type Of Messages
5.7.3.1. Unavailable Message
5.7.3.2. Busy Message
5.7.3.3. Temporary Greeting
5.7.4. Folders
5.7.4.1. The Default Folder List
5.8. XMPP Instant Messaging
5.9. Configuring Subscriber IVR Language
5.10. Sound Sets
5.10.1. Configuring Early Reject Sound Sets
5.11. Conference System
5.11.1. Configuring Call Forward to Conference
5.11.2. Configuring Conference Sound Sets
5.11.3. Entering the Conference with a PIN
5.12. Malicious Call Identification (MCID)
5.12.1. Setup
5.12.2. Usage
5.12.3. Advanced configuration
5.13. Handling WebRTC Clients
5.14. SIP loop detection
5.15. Call-Through Application
5.15.1. Administrative Configuration
5.15.1.1. Subscriber provisioning
5.15.1.2. Forward to local user
5.15.1.3. Sound Set provisioning
5.15.2. Call Flow
5.15.2.1. Internal Header Parameters
5.15.2.2. Caller authorization
5.15.2.3. Outgoing call
5.15.2.4. CLI configuration
5.16. Calling card application
5.16.1. Administrative Configuration
5.16.1.1. Subscriber provisioning
5.16.1.2. Sound Set provisioning
5.16.1.3. CLI configuration
5.16.2. Call Flow
5.16.2.1. Internal Header Parameters
5.16.2.2. Caller authorization
5.16.2.3. Outgoing call
5.16.2.4. Voucher recharge
5.16.2.5. Billing
6. Customer Self-Care Interfaces
6.1. The Customer Self-Care Web Interface
6.1.1. Login Procedure
6.1.2. Site Customization
6.2. The Vertical Service Code Interface
6.3. The Voicemail Interface
7. Billing Configuration
7.1. Billing Data Import
7.1.1. Creating Billing Profiles
7.1.2. Creating Billing Fees
7.1.3. Creating Off-Peak Times
7.1.4. Fraud Detection and Locking
7.2. Billing Data Export
7.2.1. File Name Format
7.2.2. File Format
7.2.2.1. File Header Format
7.2.2.2. File Body Format for Call Detail Records (CDR)
7.2.2.3. File Body Format for Event Detail Records (EDR)
7.2.2.4. File Trailer Format
7.2.3. File Transfer
8. Invoices and invoice templates
8.1. Invoices management
8.2. Invoice templates
8.2.1. Invoice Templates management
8.2.2. Invoice Template content
8.2.2.1. Layers
8.2.2.2. Edit SVG XML source
8.2.2.3. Change logo image
8.2.3. Save and preview invoice template content.
8.3. Invoices generation
9. Email templates
9.1. Email events
9.2. Initial template values and template variables
9.3. Password reset email template
9.4. New subscriber notification email template
9.5. Invoice email template
9.6. Email templates management
10. ngcp-faxserver system configuration
10.1. ngcp-faxserver mail2fax configuration
10.2. ngcp-faxserver per subscriber configuration
10.3. send faxes using email clients (mail2fax)
10.4. fax tests
10.5. Fax Debug
11. Provisioning interfaces
11.1. REST API
11.1.1. API Workflows
11.1.1.1. Managing Customers and Subscribers
11.2. SOAP and XMLRPC API
12. Configuration Framework
12.1. Configuration templates
12.1.1. .tt2 and .customtt.tt2 files
12.1.2. .prebuild and .postbuild files
12.1.3. .services files
12.2. config.yml, constants.yml and network.yml files
12.3. ngcpcfg and its command line options
12.3.1. apply
12.3.2. build
12.3.3. commit
12.3.4. decrypt
12.3.5. diff
12.3.6. encrypt
12.3.7. help
12.3.8. initialise
12.3.9. pull
12.3.10. push
12.3.11. services
12.3.12. status
13. Network Configuration
13.1. General Structure
13.2. Available Host Options
14. Advanced Network Configuration
14.1. Extra SIP Sockets
14.2. Extra SIP and RTP Sockets
15. Security and Maintenance
15.1. Sipwise SSH access to sip:carrier
15.2. Firewalling
15.3. Password management
15.4. SSL certificates.
15.5. Securing your sip:carrier against SIP attacks
15.5.1. Denial of Service
15.5.2. Bruteforcing SIP credentials
15.6. Backup and recovery
15.6.1. Backup
15.6.1.1. What data to back up
15.6.1.2. The built-in backup solution
15.6.2. Recovery
15.7. Reset database
15.8. System requirements and performance
15.9. Troubleshooting
15.9.1. Collecting call information from logs
15.9.2. Collecting SIP traces
16. Monitoring and Alerting
16.1. Internal Monitoring
16.2. Statistics Dashboard
16.3. External Monitoring Using SNMP
16.3.1. Overview and Initial Setup
16.3.2. Details
16.3.2.1. Sipwise NGCP OIDs
16.3.2.2. Legacy OIDs
A. Cloud PBX
A.1. Configuring the Device Management
A.1.1. Setting up Device Models
A.1.2. Uploading Device Firmwares
A.1.3. Creating Device Configurations
A.1.4. Creating Device Profiles
A.2. Preparing PBX Rewrite Rules
A.2.1. Inbound Rewrite Rules for Caller
A.2.2. Inbound Rewrite Rules for Callee
A.2.3. Outbound Rewrite Rules for Caller
A.3. Creating Customers and Pilot Subscribers
A.3.1. Creating a PBX Customer
A.3.2. Creating a PBX Pilot Subscriber
A.4. Managing a Customer PBX
A.4.1. Creating more Subscribers
A.4.2. Assigning Subscribers to Devices
A.4.2.1. Synchronizing a PBX Device for initial Usage
A.4.3. Configuring Sound Sets for the Customer PBX
A.4.3.1. Uploading a Music-on-Hold File
A.4.3.2. Uploading Auto-Attendant Sound Files
A.4.4. Configuring the Auto Attendant
A.4.4.1. Preparing the Sound Set
A.4.4.2. Configuring the Auto Attendant Slots
A.4.4.3. Activating the Auto Attendant
A.5. Device Auto-Provisioning Security
A.5.1. Server Certificate Authentication
A.5.2. Client Certificate Authentication
A.6. Device Bootstrap and Resync Workflows
A.6.1. Cisco SPA Device Bootstrap
A.6.1.1. Initial Bootstrapping
A.6.1.2. Subsequent Device Resyncs
A.6.2. Panasonic Device Bootstrap
A.6.2.1. Initial Bootstrapping
A.6.2.2. Factory Reset
A.6.2.3. Subsequent Device Resyncs
A.6.3. Yealink Device Bootstrap
A.6.3.1. Initial Bootstrapping
A.6.3.2. Factory Enable Yealink Auto-Provisioning
A.6.3.3. Subsequent Device Resyncs
A.7. List of available pre-configured devices
A.7.1. Cisco Devices
A.7.1.1. IP Phones
A.7.1.2. Analog Adapters
A.7.1.3. Extension Boards
A.7.2. Panasonic Devices
A.7.2.1. IP Phones
A.7.3. Yealink Devices
A.7.3.1. IP Phones
A.7.4. Innovaphone Devices
A.7.4.1. IP Phones
A.7.4.2. Analog Adapters
A.7.4.3. Extension Boards
A.8. Phone features
A.8.1. Cisco phones
A.8.1.1. SPA301
A.8.1.2. SPA303
A.8.1.3. SPA501G
A.8.1.4. SPA502G
A.8.1.5. SPA504G
A.8.1.6. SPA512G
A.8.1.7. SPA514G
A.8.1.8. SPA509G
A.8.1.9. SPA508G
A.8.1.10. SPA525G
A.8.2. Yealink phones
A.8.2.1. T19P
A.8.2.2. T20P
A.8.2.3. T21P
A.8.2.4. T22P
A.8.2.5. T23P
A.8.2.6. T23G
A.8.2.7. T26P
A.8.2.8. T28P
A.8.2.9. T32G
A.8.2.10. T38G
A.8.2.11. T41P
A.8.2.12. T42G
A.8.2.13. T46G
A.8.2.14. T48G
A.8.2.15. W52P
A.8.3. Panasonic phones
A.8.3.1. KX-UT113
A.8.3.2. KX-UT123
A.8.3.3. KX-UT133
A.8.3.4. KX-UT136
A.8.3.5. KX-UT248
A.8.4. Innovaphone
A.8.4.1. IP222
A.8.4.2. IP232
A.8.4.3. IP111
A.8.4.4. IP240
B. Sipwise Clients and Apps
B.1. sip:phone Mobile App
B.1.1. Zero Config Launcher
B.1.1.1. 3rd Party Sign-Up Form
B.1.1.2. 3rd Party Launch Handler
B.1.2. Mobile Push Notification
B.1.2.1. Architecture
B.1.2.2. Configuring the Push Daemon
C. NGCP configs overview
C.1. config.yml overview
C.1.1. asterisk
C.1.2. autoprov
C.1.3. backuptools
C.1.4. bootenv
C.1.5. cdrexport
C.1.6. checktools
C.1.7. cleanuptools
C.1.8. database
C.1.9. faxserver
C.1.10. general
C.1.11. haproxy
C.1.12. heartbeat
C.1.13. intercept
C.1.14. kamailio
C.1.15. mediator
C.1.16. nginx
C.1.17. ntp
C.1.18. ossbss
C.1.19. pbx (only with additional cloud PBX module installed)
C.1.20. prosody
C.1.21. pushd
C.1.22. qos
C.1.23. rate-o-mat
C.1.24. redis
C.1.25. reminder
C.1.26. rsyslog
C.1.27. rtpproxy
C.1.28. security
C.1.29. sems
C.1.30. snmpagent
C.1.31. sshd
C.1.32. voisniff
C.1.33. www_admin