The sip:carrier Handbook mr4.3.2
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. 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. Header Manipulation
4.3.1. Header Filtering
4.3.2. Codec Filtering
4.3.3. Enable History and Diversion Headers
4.4. SIP Trunking with SIPconnect
4.4.1. User provisioning
4.4.2. Inbound calls routing
4.4.3. Number manipulations
4.4.3.1. Rewrite rules
4.4.3.2. User parameter
4.4.3.3. Forwarding number
4.4.3.4. Allowed CLIs
4.4.4. Registration
4.4.4.1. Trusted sources
4.5. Limiting Subscriber Preferences via Subscriber Profiles
4.5.1. Subscriber Profile Sets
4.6. Voicemail System
4.6.1. Accessing the IVR Menu
4.6.1.1. Mapping numbers and codes to IVR access
4.6.1.2. External IVR access
4.6.2. IVR Menu Structure
4.6.3. Type Of Messages
4.6.3.1. Unavailable Message
4.6.3.2. Busy Message
4.6.3.3. Temporary Greeting
4.6.4. Folders
4.6.4.1. The Default Folder List
4.7. XMPP Instant Messaging
4.8. Configuring Subscriber IVR Language
4.9. Sound Sets
4.9.1. Configuring Early Reject Sound Sets
4.10. Conference System
4.10.1. Configuring Call Forward to Conference
4.10.2. Configuring Conference Sound Sets
4.10.3. Entering the Conference with a PIN
4.11. Malicious Call Identification (MCID)
4.11.1. Setup
4.11.2. Usage
4.11.3. Advanced configuration
4.12. Handling WebRTC Clients
4.13. SIP loop detection
4.14. Call-Through Application
4.14.1. Administrative Configuration
4.14.1.1. Subscriber provisioning
4.14.1.2. Forward to local user
4.14.1.3. Sound Set provisioning
4.14.2. Call Flow
4.14.2.1. Internal Header Parameters
4.14.2.2. Caller authorization
4.14.2.3. Outgoing call
4.14.2.4. CLI configuration
4.15. Calling card application
4.15.1. Administrative Configuration
4.15.1.1. Subscriber provisioning
4.15.1.2. Sound Set provisioning
4.15.1.3. CLI configuration
4.15.2. Call Flow
4.15.2.1. Internal Header Parameters
4.15.2.2. Caller authorization
4.15.2.3. Outgoing call
4.15.2.4. Voucher recharge
4.15.2.5. Billing
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. ngcp-faxserver system configuration
9.1. ngcp-faxserver mail2fax configuration
9.2. ngcp-faxserver per subscriber configuration
9.3. send faxes using email clients (mail2fax)
9.4. fax tests
9.5. Fax Debug
10. Provisioning interfaces
10.1. REST API
10.1.1. API Workflows
10.1.1.1. Managing Customers and Subscribers
10.2. SOAP and XMLRPC API
11. Configuration Framework
11.1. Configuration templates
11.1.1. .tt2 and .customtt.tt2 files
11.1.2. .prebuild and .postbuild files
11.1.3. .services files
11.2. config.yml, constants.yml and network.yml files
11.3. ngcpcfg and its command line options
11.3.1. apply
11.3.2. build
11.3.3. commit
11.3.4. decrypt
11.3.5. diff
11.3.6. encrypt
11.3.7. help
11.3.8. initialise
11.3.9. pull
11.3.10. push
11.3.11. services
11.3.12. status
12. Network Configuration
12.1. General Structure
12.2. Available Host Options
13. Advanced Network Configuration
13.1. Extra SIP Sockets
13.2. Extra SIP and RTP Sockets
14. Security and Maintenance
14.1. Sipwise SSH access to sip:carrier
14.2. Firewalling
14.3. Password management
14.4. SSL certificates.
14.5. Securing your sip:carrier against SIP attacks
14.5.1. Denial of Service
14.5.2. Bruteforcing SIP credentials
14.6. Backup and recovery
14.6.1. Backup
14.6.2. Recovery
14.7. Reset database
14.8. System requirements and performance
14.9. Troubleshooting
14.9.1. Collecting call information from logs
14.9.2. Collecting SIP traces
15. Monitoring and Alerting
15.1. Internal Monitoring
15.2. Statistics Dashboard
15.3. External Monitoring Using SNMP
15.3.1. Overview and Initial Setup
15.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
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. sshd
C.1.31. voisniff
C.1.32. www_admin