The sip:provider PRO Handbook mr4.5.11


Table of Contents

1. Introduction
1.1. About this Handbook
1.2. What is the sip:provider PRO?
1.3. The Advantages of the sip:provider PRO
1.4. Who is the sip:provider PRO for?
1.5. Getting Help
1.5.1. Phone Support
1.5.2. Ticket System
2. Architecture
2.1. SIP Signaling and Media Relay
2.1.1. SIP Load-Balancer
2.1.2. SIP Proxy/Registrar
2.1.3. SIP Back-to-Back User-Agent (B2BUA)
2.1.4. SIP App-Server
2.1.5. Media Relay
2.2. MySQL Database
2.3. Redis Database
2.4. High Availability and Fail-Over
2.4.1. Overview
2.4.2. Core Concepts and Configuration
2.4.3. Administration
3. Platform Deployment
3.1. Hardware Specifications
3.1.1. Dimensions and Weight
3.1.2. Front View
3.1.3. Rear View
3.1.4. Power Supply Units (PSU)
3.2. Installation Prerequisites
3.3. Rack-Mount Installation
3.4. Power Supply Cabling
3.5. Network Cabling
3.5.1. Internal Communication
3.5.2. External Communication
4. VoIP Service Configuration Scenario
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.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
4.6.8. Call Routing Verification
5. Features
5.1. Managing System Administrators
5.1.1. Configuring Administrators
5.1.2. Access Rights of Administrators
5.2. Access Control for SIP Calls
5.2.1. Block Lists
5.2.2. NCOS Levels
5.2.3. IP Address Restriction
5.3. Call Forwarding and Call Hunting
5.3.1. Setting a simple Call Forward
5.3.2. Advanced Call Hunting
5.4. Local Number Porting
5.4.1. Local LNP Database
5.4.2. External LNP via LNP API
5.5. Emergency Mapping
5.5.1. Emergency Mapping Description
5.5.2. Emergency Mapping Configuration
5.6. Header Manipulation
5.6.1. Header Filtering
5.6.2. Codec Filtering
5.6.3. Enable History and Diversion Headers
5.7. SIP Trunking with SIPconnect
5.7.1. User provisioning
5.7.2. Inbound calls routing
5.7.3. Number manipulations
5.7.4. Registration
5.8. Trusted Subscribers
5.9. Fax Server
5.9.1. Fax2Mail Architecture
5.9.2. Sendfax and Mail2Fax Architecture
5.10. Voicemail System
5.10.1. Accessing the IVR Menu
5.10.2. IVR Menu Structure
5.10.3. Type Of Messages
5.10.4. Folders
5.10.5. Flowcharts with Voice Prompts
5.11. Configuring Subscriber IVR Language
5.12. Sound Sets
5.12.1. Configuring Early Reject Sound Sets
5.13. Conference System
5.13.1. Configuring Call Forward to Conference
5.13.2. Configuring Conference Sound Sets
5.13.3. Joining the Conference
5.13.4. Conference Flowchart with Voice Prompts
5.14. Malicious Call Identification (MCID)
5.14.1. Setup
5.14.2. Usage
5.14.3. Advanced configuration
5.15. Subscriber Profiles
5.15.1. Subscriber Profile Sets
5.16. SIP Loop Detection
5.17. Call-Through Application
5.17.1. Administrative Configuration
5.17.2. Call Flow
5.18. Calling Card Application
5.18.1. Administrative Configuration
5.18.2. Call Flow
5.19. Invoices and Invoice Templates
5.19.1. Invoices Management
5.19.2. Invoice Templates
5.19.3. Invoices Generation
5.20. Email Reports and Notifications
5.20.1. Email events
5.20.2. Initial template values and template variables
5.20.3. Password reset email template
5.20.4. New subscriber notification email template
5.20.5. Invoice email template
5.20.6. Email templates management
5.21. The Vertical Service Code Interface
5.21.1. Vertical Service Codes for PBX customers
5.21.2. Configuration of Vertical Service Codes
5.21.3. Voice Prompts for Vertical Service Code Configuration
5.22. Handling WebRTC Clients
5.23. XMPP and Instant Messaging
6. Customer Self-Care Interface and Menus
6.1. The Customer Self-Care Web Interface
6.1.1. Login Procedure
6.1.2. Site Customization
6.2. The Voicemail Menu
7. Billing Configuration
7.1. Billing Profiles
7.1.1. Creating Billing Profiles
7.1.2. Creating Billing Fees
7.1.3. Creating Off-Peak Times
7.2. Prepaid Accounting
7.3. Fraud Detection and Locking
7.3.1. Fraud Lock Levels
7.4. Billing Customizations
7.4.1. Billing Networks
7.4.2. Profile Mapping Schedule
7.4.3. Profile Packages
7.4.4. Vouchers
7.4.5. Top-up
7.4.6. Balance Overviews
7.4.7. Usage Examples
7.5. Notes on Billing and Call Rating
7.6. Billing Data Export
7.6.1. Glossary of Terms
7.6.2. File Name Format
7.6.3. File Format
7.6.4. File Transfer
8. Provisioning REST API Interface
8.1. API Workflows for Customer and Subscriber Management
9. Configuration Framework
9.1. Configuration templates
9.1.1. .tt2 and .customtt.tt2 files
9.1.2. .prebuild and .postbuild files
9.1.3. .services files
9.2. config.yml, constants.yml and network.yml files
9.3. ngcpcfg and its command line options
9.3.1. apply
9.3.2. build
9.3.3. commit
9.3.4. decrypt
9.3.5. diff
9.3.6. encrypt
9.3.7. help
9.3.8. initialise
9.3.9. pull
9.3.10. push
9.3.11. services
9.3.12. status
10. Network Configuration
10.1. General Structure
10.1.1. Available Host Options
10.1.2. Interface Parameters
10.2. Advanced Network Configuration
10.2.1. Extra SIP Sockets
10.2.2. Extra SIP and RTP Sockets
11. Software Upgrade
11.1. Release Notes
11.2. Preparing for a Software Upgrade
11.3. Upgrade sip:provider PRO from previous mr4.4/mr4.5 versions to mr4.5.11 LTS version
11.3.1. Switch to the new repositories
11.3.2. Download the new packages into the approx cache (on standby node only)
11.3.3. Install the package used to upgrade C5
11.3.4. Upgrade the first PRO node
11.3.5. The customtt files handling (if necessary)
11.3.6. Promote inactive node to active.
11.3.7. Upgrade the second PRO node
11.4. Upgrade sip:provider PRO from previous mr3.8 LTS version to mr4.5.11 LTS version
11.4.1. Verify APT source lists
11.4.2. Switch to new repositories
11.4.3. Upgrade the first PRO node
11.4.4. The customtt files handling (if necessary)
11.4.5. Promote inactive node to active.
11.4.6. Upgrade the second PRO node
12. Backup, Recovery and Database Maintenance
12.1. sip:provider PRO Backup
12.1.1. What data to back up
12.1.2. The built-in backup solution
12.2. Recovery
12.3. Reset Database
12.4. Synchronize database
12.5. Accounting Data (CDR) Cleanup
12.5.1. Cleanuptools Configuration
12.5.2. Accounting Database Cleanup
12.5.3. Exported CDR Cleanup
13. Platform Security, Performance and Troubleshooting
13.1. Sipwise SSH access to sip:provider PRO
13.2. Firewalling
13.3. Password management
13.4. SSL certificates.
13.5. Securing your sip:provider PRO against SIP attacks
13.5.1. Denial of Service
13.5.2. Bruteforcing SIP credentials
13.6. Topology Hiding
13.6.1. Introduction to Topology Hiding on NGCP
13.6.2. Configuration of Topology Hiding
13.6.3. Considerations for Topology Hiding
13.7. System Requirements and Performance
13.8. Troubleshooting
13.8.1. Collecting call information from logs
13.8.2. Collecting SIP traces
14. Monitoring and Alerting
14.1. Internal Monitoring
14.2. Statistics Dashboard
14.3. External Monitoring Using SNMP
14.3.1. Overview and Initial Setup
14.3.2. Details
15. Extensions and Additional Modules
15.1. Cloud PBX
15.1.1. Configuring the Device Management
15.1.2. Preparing PBX Rewrite Rules
15.1.3. Creating Customers and Pilot Subscribers
15.1.4. Creating Regular PBX Subscribers
15.1.5. Assigning Subscribers to Devices
15.1.6. Configuring Sound Sets for the Customer PBX
15.1.7. Configuring Auto Attendant
15.1.8. Configuring Call Queues
15.1.9. Device Auto-Provisioning Security
15.1.10. Device Bootstrap and Resync Workflows
15.1.11. Device Provisioning and Deployment Workflows
15.1.12. List of available pre-configured devices
15.1.13. Phone features
15.2. Sipwise sip:phone App (SIP client)
15.2.1. Zero Config Launcher
15.2.2. Mobile Push Notification
15.3. Lawful Interception
15.3.1. Introduction
15.3.2. Architecture and Configuration of LI Service
15.3.3. X1, X2 and X3 Interface Specification
A. Basic Call Flows
A.1. General Call Setup
A.2. Endpoint Registration
A.3. Basic Call
A.4. Session Keep-Alive
A.5. Voicebox Calls
B. NGCP configs overview
B.1. config.yml Overview
B.1.1. apps
B.1.2. asterisk
B.1.3. autoprov
B.1.4. backuptools
B.1.5. cdrexport
B.1.6. checktools
B.1.7. cleanuptools
B.1.8. cluster_sets
B.1.9. database
B.1.10. faxserver
B.1.11. general
B.1.12. heartbeat
B.1.13. intercept
B.1.14. kamailio
B.1.15. lnpd
B.1.16. mediator
B.1.17. nginx
B.1.18. ntp
B.1.19. ossbss
B.1.20. pbx (only with additional cloud PBX module installed)
B.1.21. prosody
B.1.22. pushd
B.1.23. qos
B.1.24. rate-o-mat
B.1.25. redis
B.1.26. reminder
B.1.27. rsyslog
B.1.28. rtpproxy
B.1.29. security
B.1.30. sems
B.1.31. snmpagent
B.1.32. sshd
B.1.33. voisniff
B.1.34. www_admin
B.2. constants.yml Overview
B.3. network.yml Overview
C. NGCP-Faxserver Configuration
C.1. Faxserver Components
C.2. Enabling Faxserver
C.3. Fax Templates Configuration
C.4. Fax Services Configuration per Subscriber
C.5. Fax2Mail and SendFax Settings
C.6. Mail2Fax Settings
C.7. Sending Fax from Web Panel
C.8. Faxserver Mail2Fax Configuration
C.9. Sending Fax Using E-mail Clients
C.10. Managing Faxes via the REST API
C.10.1. Configuring Fax Settings
C.10.1.1. Retrieving Fax Settings
C.10.1.2. Updating Fax Settings
C.10.2. Sending a Fax
C.10.3. Receiving a Fax
C.10.4. Configuring Mail2Fax Settings
C.10.4.1. Retrieving Mail2Fax Configuration
C.10.4.2. Updating Mail2Fax Configuration
C.10.5. Using Advanced Faxserver and Mail2Fax Settings via the REST API
C.11. Troubleshooting
C.11.1. Session ID (SID)
C.11.2. Fax Storage Location
D. RTC:engine
D.1. Overview
D.2. RTC:engine enabling
D.2.1. Enabling services via CLI
D.2.2. Enabling via Panel for resellers and subscribers
D.2.3. Create RTC:engine session
D.2.3.1. Create sessions
D.2.3.2. Receive sessions
D.3. RTC:engine protocol details
D.3.1. Terminology
D.3.1.1. Connector
D.3.1.2. Router
D.3.1.3. User
D.3.1.4. App
D.3.1.5. Network
D.3.1.6. Session
D.3.1.7. Account
D.3.1.8. Browser SDK
D.3.2. Messages
D.3.2.1. Fields
D.3.2.2. method
D.3.2.3. from
D.3.2.4. to
D.3.2.5. session
D.3.2.6. body
D.3.3. Account
D.3.3.1. Flow
D.3.3.2. Messages
D.3.3.3. account.connect
D.3.3.4. account.state
D.3.3.5. State reasons
D.3.3.6. States
D.3.4. Call
D.3.4.1. Flow
D.3.4.2. call.start
D.3.4.3. Body properties
D.3.4.4. id
D.3.4.5. gcid
D.3.4.6. account
D.3.4.7. replace
D.3.4.8. trickle
D.3.4.9. target
D.3.4.10. sdp
D.3.4.11. call.alive
D.3.4.12. call.ringing
D.3.4.13. call.accept
D.3.4.14. call.ack.accept
D.3.4.15. call.candidate
D.3.4.16. call.fullsdp
D.3.4.17. call.change….
D.3.4.18. call.change.lock.reset
D.3.4.19. call.change.lock
D.3.4.20. call.change.lock.ok
D.3.4.21. call.change.offer
D.3.4.22. call.change.answer
D.3.4.23. call.dtmf
D.3.4.24. call.end
D.3.4.25. call.ack.end
D.3.5. Session
D.3.5.1. Flow
D.3.5.2. Messages
D.3.5.3. session.open
D.3.5.4. session.validated
D.3.5.5. Reason types
E. NGCP Internals
E.1. Pending reboot marker
E.2. Redis id constants
E.2.1. Redis monitoring keys
E.3. Enum preferences