The sip:carrier Handbook mr4.5.1
Table of Contents
1. Introduction
1.1. About this Handbook
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.2.1. Vertical Service Codes for PBX customers
6.2.2. Configuration of Vertical Service Codes
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. Local Number Porting
10.1. Local LNP Database
10.1.1. LNP Carriers
10.1.2. LNP Numbers
10.1.3. Enabling local LNP support
10.1.4. LNP Routing Procedure
10.1.4.1. Calls to non-authoritative Carriers
10.1.5. Transit Calls using LNP
10.1.6. CSV Format
10.2. External LNP via LNP API
11. ngcp-faxserver system configuration
11.1. ngcp-faxserver mail2fax configuration
11.2. ngcp-faxserver per subscriber configuration
11.3. sending faxes using email clients (mail2fax)
11.4. sending and receiving faxes via the REST API
11.4.1. configuring fax settings
11.4.2. sending a fax
11.4.3. receiving a fax
11.4.4. configuring the mail2fax settings
11.4.5. using advanced faxserver and mail2fax settings via the REST API
11.5. fax tests
11.6. Fax Debug
12. Provisioning REST API Interface
12.1. Managing Customers and Subscribers
13. Configuration Framework
13.1. Configuration templates
13.1.1. .tt2 and .customtt.tt2 files
13.1.2. .prebuild and .postbuild files
13.1.3. .services files
13.2. config.yml, constants.yml and network.yml files
13.3. ngcpcfg and its command line options
13.3.1. apply
13.3.2. build
13.3.3. commit
13.3.4. decrypt
13.3.5. diff
13.3.6. encrypt
13.3.7. help
13.3.8. initialise
13.3.9. pull
13.3.10. push
13.3.11. services
13.3.12. status
14. Network Configuration
14.1. General Structure
14.2. Available Host Options
15. Advanced Network Configuration
15.1. Extra SIP Sockets
15.2. Extra SIP and RTP Sockets
16. Security and Maintenance
16.1. Sipwise SSH access to sip:carrier
16.2. Firewalling
16.3. Password management
16.4. SSL certificates.
16.5. Securing your sip:carrier against SIP attacks
16.5.1. Denial of Service
16.5.2. Bruteforcing SIP credentials
16.6. Backup and recovery
16.6.1. Backup
16.6.1.1. What data to back up
16.6.1.2. The built-in backup solution
16.6.2. Recovery
16.7. Reset database
16.8. System requirements and performance
16.9. Troubleshooting
16.9.1. Collecting call information from logs
16.9.2. Collecting SIP traces
17. Monitoring and Alerting
17.1. Internal Monitoring
17.2. Statistics Dashboard
17.3. External Monitoring Using SNMP
17.3.1. Overview and Initial Setup
17.3.2. Details
17.3.2.1. Sipwise NGCP OIDs
17.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.6.4. Audiocodes Mediant Device Bootstrap and Configuration
A.6.4.1. Initial Bootstrapping
A.6.4.2. Device management basics
A.6.4.3. Parameterizing the Device Configuration Template
A.7. Device Provisioning and Deployment Workflows
A.7.1. Audiocodes Mediant Device Provisioning Workflow
A.7.1.1. Provisioning URL
A.7.1.2. Field Configuration
A.7.1.3. Network Configuration
A.7.2. Audiocodes Mediant Device Deployment Workflow
A.7.2.1. Pre-Configuration on Sipwise NGCP platform
A.7.2.2. Installation
A.7.2.3. Device Replacement
A.8. List of available pre-configured devices
A.8.1. Cisco Devices
A.8.1.1. IP Phones
A.8.1.2. Analog Adapters
A.8.1.3. Extension Boards
A.8.2. Panasonic Devices
A.8.2.1. IP Phones
A.8.3. Yealink Devices
A.8.3.1. IP Phones
A.8.4. Innovaphone Devices
A.8.4.1. IP Phones
A.8.4.2. Analog Adapters
A.8.4.3. Extension Boards
A.8.5. Audiocodes Devices
A.9. Phone features
A.9.1. Cisco phones
A.9.1.1. SPA301
A.9.1.2. SPA303
A.9.1.3. SPA501G
A.9.1.4. SPA502G
A.9.1.5. SPA504G
A.9.1.6. SPA512G
A.9.1.7. SPA514G
A.9.1.8. SPA509G
A.9.1.9. SPA508G
A.9.1.10. SPA525G
A.9.2. Yealink phones
A.9.2.1. T19P
A.9.2.2. T20P
A.9.2.3. T21P
A.9.2.4. T22P
A.9.2.5. T23P
A.9.2.6. T23G
A.9.2.7. T26P
A.9.2.8. T28P
A.9.2.9. T32G
A.9.2.10. T38G
A.9.2.11. T41P
A.9.2.12. T42G
A.9.2.13. T46G
A.9.2.14. T48G
A.9.2.15. W52P
A.9.3. Panasonic phones
A.9.3.1. KX-UT113
A.9.3.2. KX-UT123
A.9.3.3. KX-UT133
A.9.3.4. KX-UT136
A.9.3.5. KX-UT248
A.9.4. Innovaphone
A.9.4.1. IP222
A.9.4.2. IP232
A.9.4.3. IP111
A.9.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. The Configuration Checklist
B.1.2.3. Obtain the Trusted SSL Certificate
B.1.2.4. Create an Apple Account and Enable the Push Notification Service
B.1.2.5. Obtain an Apple SSL Certificate and a Private Key
B.1.2.6. Obtain the API Key for the App from Google
B.1.2.7. Provide the Required Information to Developers
B.1.2.8. Adjust the sip:carrier Configuration (Usually Performed by Sipwise)
B.1.2.9. Recheck Your DNS Zone Configuration
B.1.2.10. Add SRV Records to DNS
B.1.2.11. Check NTP Configuration
B.1.2.12. Enable Apple/Google Mobile Push
B.1.2.13. Perform Tests
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