The sip:carrier Handbook mr4.1.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 proxy 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
3. Administrative Configuration
3.1. Creating a Customer
3.2. Creating a Subscriber
3.3. Domain Preferences
3.4. Subscriber Preferences
3.5. Creating Peerings
3.5.1. Creating Peering Groups
3.5.2. Creating Peering Servers
3.5.3. Authenticating and Registering against Peering Servers
3.5.3.1. Proxy-Authentication for outbound calls
3.5.3.2. Registering at a Peering Server
3.6. Configuring Rewrite Rule Sets
3.6.1. Inbound Rewrite Rules for Caller
3.6.2. Inbound Rewrite Rules for Callee
3.6.3. Outbound Rewrite Rules for Caller
3.6.4. Outbound Rewrite Rules for Callee
3.6.5. Emergency Number Handling
3.6.6. Assigning Rewrite Rule Sets to Domains and Subscribers
3.6.7. Creating Dialplans for Peering Servers
4. Advanced Subscriber Configuration
4.1. Access Control for SIP Calls
4.1.1. Block Lists
4.1.1.1. Block Modes
4.1.1.2. Block Lists
4.1.1.3. Block Anonymous Numbers
4.1.2. NCOS Levels
4.1.2.1. Creating NCOS Levels
4.1.2.2. Creating Rules per NCOS Level
4.1.2.3. Assigning NCOS Levels to Subscribers/Domains
4.1.2.4. Assigning NCOS Level for Forwarded Calls to Subscribers/Domains
4.1.3. IP Address Restriction
4.2. Call Forwarding and Call Hunting
4.2.1. Setting a simple Call Forward
4.2.2. Advanced Call Hunting
4.2.2.1. Configuring Destination Sets
4.2.2.2. Configuring Time Sets
4.3. Limiting Subscriber Preferences via Subscriber Profiles
4.3.1. Subscriber Profile Sets
4.4. Voicemail System
4.4.1. Accessing the IVR Menu
4.4.1.1. Mapping numbers and codes to IVR access
4.4.1.2. External IVR access
4.4.2. IVR Menu Structure
4.5. Configuring Subscriber IVR Language
4.6. Sound Sets
4.6.1. Configuring Early Reject Sound Sets
4.7. Conference System
4.7.1. Configuring Call Forward to Conference
4.7.2. Configuring Conference Sound Sets
4.7.3. Entering the Conference with a PIN
5. Customer Self-Care Interfaces
5.1. The Customer Self-Care Web Interface
5.1.1. Login Procedure
5.1.2. Site Customization
5.2. The Vertical Service Code Interface
5.3. The Voicemail Interface
6. Billing Configuration
6.1. Billing Data Import
6.1.1. Creating Billing Profiles
6.1.2. Creating Billing Fees
6.1.3. Creating Off-Peak Times
6.1.4. Fraud Detection and Locking
6.2. Billing Data Export
6.2.1. File Name Format
6.2.2. File Format
6.2.2.1. File Header Format
6.2.2.2. File Body Format for Call Detail Records (CDR)
6.2.2.3. File Body Format for Event Detail Records (EDR)
6.2.2.4. File Trailer Format
6.2.3. File Transfer
7. Invoices and invoice templates
7.1. Invoices management
7.2. Invoice templates
7.2.1. Invoice Templates management
7.2.2. Invoice Template content
7.2.2.1. Layers
7.2.2.2. Edit SVG XML source
7.2.2.3. Change logo image
7.2.3. Save and preview invoice template content.
7.3. Invoices generation
8. Email templates
8.1. Email events
8.2. Initial template values and template variables
8.3. Password reset email template
8.4. New subscriber notification email template
8.5. Invoice email template
8.6. Email templates management
9. Provisioning interfaces
9.1. REST API
9.2. SOAP and XMLRPC API
10. Configuration Framework
10.1. Configuration templates
10.1.1. .tt2 and .customtt.tt2 files
10.1.2. .prebuild and .postbuild files
10.1.3. .services files
10.2. config.yml, constants.yml and network.yml files
10.3. ngcpcfg and its command line options
10.3.1. apply
10.3.2. build
10.3.3. commit
10.3.4. decrypt
10.3.5. diff
10.3.6. encrypt
10.3.7. help
10.3.8. initialise
10.3.9. pull
10.3.10. push
10.3.11. services
10.3.12. status
11. Network Configuration
11.1. General Structure
11.2. Available Host Options
12. Security and Maintenance
12.1. Sipwise SSH access to sip:carrier
12.2. Firewalling
12.3. Password management
12.4. SSL certificates.
12.5. Backup and recovery
12.5.1. Backup
12.5.2. Recovery
12.6. Reset database
12.7. System requirements and performance
12.8. Troubleshooting
13. Monitoring and Alerting
13.1. Internal Monitoring
13.2. Statistics Dashboard
13.3. External Monitoring Using SNMP
13.3.1. Overview and Initial Setup
13.3.2. Details
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
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. backuptools
C.1.3. bootenv
C.1.4. cdrexport
C.1.5. checktools
C.1.6. cleanuptools
C.1.7. database
C.1.8. faxserver
C.1.9. general
C.1.10. haproxy
C.1.11. heartbeat
C.1.12. intercept
C.1.13. kamailio
C.1.14. mediator
C.1.15. nginx
C.1.16. ntp
C.1.17. ossbss
C.1.18. pbx (only with additional cloud PBX module installed)
C.1.19. prosody
C.1.20. pushd
C.1.21. qos
C.1.22. rate-o-mat
C.1.23. redis
C.1.24. reminder
C.1.25. rsyslog
C.1.26. rtpproxy
C.1.27. security
C.1.28. sems
C.1.29. sshd
C.1.30. voisniff
C.1.31. www_admin