This document provides a configuration guide for Sonus SBC 1000/2000 series (Session Border Controller) when connecting to Skype for Business 2015 and Bell Canada SIP Trunk.
This configuration guide supports features provided in Microsoft Technet web page.
The interoperability compliance testing focuses on verifying inbound and outbound call flows between Sonus SBC 1000/2000 and Skype for Business 2015.
This is a technical document intended for telecommunications engineers with the purpose of configuring both the Sonus SBC and the third-party product. Steps in this app note will require navigating third-party as well as the Sonus SBC Command Line Interface (CLI). Understanding the basic concepts of TCP/UDP, IP/Routing, and SIP/RTP are also necessary to complete the configuration and for troubleshooting, if necessary.
This configuration guide is offered as a convenience to Sonus customers. The specifications and information regarding the product in this guide are subject to change without notice. All statements, information, and recommendations in this guide are believed to be accurate but are presented without warranty of any kind, express or implied, and are provided “AS IS.” Users must take full responsibility for the application of the specifications and information in this guide.
The following equipment and software were used for the sample configuration provided:
Requirements
Equipment | Software Version | |
---|---|---|
Sonus Networks | SBC 1000 | V5.0.3build407 |
Tenor AFM200 | P108-09-26 | |
Third-party Equipment
| Microsoft Skype for Business 2015 Mediation Server | 6.0.9319.0 |
Polycom CX600 SIP Phone | 4.0.7577.44455 | |
VentaFax | 7.6.243.597 I |
The following reference configuration shows connectivity between third-party and Sonus SBC 1000/2000:
Connectivity Between Third-Party and Sonus SBC 2000
For any questions regarding this document or the content herein, please contact your maintenance and support provider.
The following features were tested using the Bell Canada test plan:
No special licensing required.
The following new configurations are included in this section:
Topology Builder > Shared Components > PSTN Gateways
Define a new IP/PSTN Gateway
Define FQDN
Define IP Address
Define Root Trunk
Control Panel > Voice Routing > Voice Policy
Edit Voice Policy
Control Panel > Voice Routing > PSTN Usage
View PSTN Usage
Control Panel > Voice Routing > Route
Edit Voice Route
Control Panel > Voice Routing > Trunk Configuration
Edit Trunk Configuration
The following steps provide an example of how to configure Sonus SBC 1000/2000:
Select Settings > SIP > SIP Profiles
SIP Profiles control how the Sonus SBC 1000/2000 communicates with SIP devices. These control important characteristics such as session timers, SIP Header customization, SIP timers, MIME payloads, and option tags. The following figure shows the default SIP profile used for the SBC 1000/2000 for this testing effort:
SIP Profiles
Select Settings > SIP > SIP Server Tables
SIP Server Tables contain information about the SIP devices connected to the Sonus SBC 1000/2000. The entries in the tables provide information about the IP addresses, ports, and protocols used to communicate with each SIP server. The entries also contain links to counters that are useful for troubleshooting.
Skype
Fax
Bell Canada
Select Settings > Media > Media Profiles
Media Profiles specify the individual voice and fax compression codecs and their associated settings for inclusion into a Media List. Different codecs provide varying levels of compression, allowing the reduction of bandwidth requirements at the expense of voice quality. The following figures are the media profiles of the voice codecs used for the SBC 1000/2000 in this testing effort and are shown for reference only:
Voice Codec G711 A-Law
Voice Codec G711 U-Law
Voice Codec G729
Select Settings > Media > Media List
The Media List shows the selected voice and fax compression codecs and their associated settings.
Media Lists
Select Settings > Transformation
Transformation Tables facilitate the conversion of names, numbers and other fields when routing a call. For example, Transformation Tables can convert a public PSTN number into a private extension number, or into a SIP address (URI). Every entry in a Call Routing Table requires a Transformation Table, and are sequentially selected from there. In addition, Transformation tables are configurable as a reusable pool that Action Sets can reference.
From Bell Canada
From Skype
Select Settings > Telephony Mapping Tables > Cause Code Reroutes
Terminating ISDN calls return a Q.850 Cause Code when they end. These codes can be used to determine whether or not to reroute the call to another signalling group. A Cause Code Reroutes table contains one or more Q.850 Cause Codes that, when matched, trigger a reroute. To use a Cause Code Reroutes table, go to Call Routing Table, select create or modify, and then from a drop down menu, select the appropriate Cause Code Reroutes table.
Bell Canada ReRoute Table
Select Settings > Call Routing Table
Call Routing allows calls to be carried between signaling groups, thus allowing calls to be carried between ports, and between protocols (like ISDN to SIP). Routes are defined by Call Routing Tables, which allow for flexible configuration of which calls will be carried, and also how the calls are translated. These tables are one of the central connection points of the system, linking Transformation Tables, Message translations, Cause Code Reroutes, Media Lists and the three types of Signaling Groups (ISDN, SIP and CAS).
From Bell Canada to Skype
From Skype to Bell Canada
Select Settings > Message Manipulation > Condition Rule Tables
Condition rules are simple rules that apply to a specific component of a message (for example, diversion.uri.host, from.uri.host, etc.) the value of the field specified in the Match Type list box can be matched against a literal value, token, or REGEX.
Conditions Rule Tables
Select Settings > Message Manipulation > Message Rule Tables
Message Rule Tables are simply sets of Condition Rules and are applied in SIP Signaling Groups when Message Manipulation is enabled.
Bell Canada Outbound
Select Settings > Remote Authorization Tables
Remote Authorization Tables and their entries contain information used to respond to request message challenges by an upstream server. The Remote Authorization tables defined in this document appear as options in the Remote Authorization and Contacts Panel for SIP Servers.
Bell Canada
Select Settings > Signaling Groups
Signaling Groups allow telephony channels to be grouped together for the purposes of routing and shared configuration. These groups are the entity to which calls are routed, as well as the location from which Call Routes are selected. These are also the location from which Tone Tables and Action Sets are selected. In the case of SIP, this will specify protocol settings and link to server, media, and mapping tables.
Internal Side
External Side
Test Results
S.No | Procedure | Observation | Result | Comment |
---|---|---|---|---|
SIP Connectivity | ||||
1101 | Validate syntax of OPTIONS messages sent to service provider | Pass | ||
1102 | Validate syntax of OPTIONS messages sent from service provider | Pass | ||
1103 | Validate in service reponse codes to OPTIONS messages from provider | Pass | ||
1104 | Validate in service reponse codes to OPTIONS messages to provider | Pass | ||
1105 | Validate OPTIONS messages are not sent more than once every 10 seconds to provider | Pass | ||
Initial Calls To/From External Phones | ||||
2101 | Inbound call from an external phone to an enterprise extension. Hang-up at called party (enterprise extension). Wait for calling party to disconnect. Validate proper SIP header syntax, ringback tone, two-way audio and proper call clearance | Pass | ||
2102 | Inbound call from an external phone to an enterprise extension. Hang-up at calling party (PSTN phone). Wait for called party to disconnect. Validate proper SIP header syntax, ringback tone, two-way audio and proper call clearance | Pass | ||
2103 | Outbound call from an enterprise extension to an external phone. Hang-up at called party (PSTN phone). Wait for calling party to disconnect. Make sure originating party is properly identified (Diversion/History-Info, PAI or From- in that order), using exactly 10 digits for the user part and the domain matching this TN's "PBX" (to which its TG is assigned). Also validate "tgrp/trunk-context" in Contact, if doing explicit TG selection (usually for Toll-bypass). Validate ringback tone, two-way audio and proper call clearance | Pass | ||
2104 | Outbound call from an enterprise extension to an external phone. Hang-up at calling party (enterprise extension). Wait for called party to disconnect. Make sure originating party is properly identified (Diversion/History-Info, PAI or From- in that order), using exactly 10 digits for the user part and the domain matching this TN's "PBX" (to which its TG is assigned). Also validate "tgrp/trunk-context" in Contact, if doing explicit TG selection (usually for Toll-bypass). Validate ringback tone, two-way audio and proper call clearance | Pass | ||
2105 | Trunk Group Selection: test absense of explicit trunk group selection | Pass | ||
2106 | Trunk Group Selection: testtrunk group selection with tgrp tag | Pass | ||
2107 | Trunk Group Selection: testtrunk group selection with otg tag | Pass | ||
Incomplete Call Attempts | ||||
3101 | Inbound call from an external phone to an enterprise extension. Hang-up before far-end answers. | Pass | ||
3102 | Outbound call from an enterprise extension to an external phone. Hang-up before far-end answers. | Pass | ||
3103 | No Answer of inbound call from an external phone to an enterprise extension. (No explicit rules on CPE. Let extension ring.) | Pass | ||
3104 | No Answer of outbound call from an enterprise extension to an external phone. | Pass | ||
3105 | Inbound call from an external phone to an enterprise extension that is “Busy”. | NA | ||
3106 | Outbound call from an enterprise extension to an external phone that is “Busy”. | Pass | ||
3107 | Inbound call from an external phone to an unassigned enterprise extension. | Pass | ||
3108 | Outbound call from an enterprise extension to an invalid external number (Note that this also happens to test CPE support for early media) | Pass | ||
3109 | Validation of explicit treatments/terminating responses to basic conditions (busy, no circuit avail, bldn etc) | Pass | ||
Codec Support and Negotiation with Hard Phones | ||||
4101 | Whenever the CPE sends out SDP, the Content-Type must be "application/sdp" | Pass | ||
4102 | Validate inbound G.729 calls | Pass | ||
4103 | Validate outbound G.729 calls (annexb=no is required) | Pass | ||
Voicemail and DTMF Tone Support | ||||
5101 | Inbound call from an external phone to an enterprise extension, transfer to voicemail. Leave a message. | Pass | ||
5102 | Inbound call from an external phone to an enterprise extension, let ring for close to 2 minutes, then transfer to voicemail. Leave a message. | Pass | ||
5103 | Login to enterprise voicemail and retrieve message from 5102. | Pass | ||
5104 | Outbound call to an external number, transfer to voicemail. (Ex. Call office or cell phone with voicemail). Leave a message. | Pass | ||
5105 | Login to external voicemail and retrieve message from 5104. | Pass | ||
5106 | Test sending a fax (T.30 over G.711, up to 14.4 kbps - V.17) | Pass | ||
5107 | Test receiving a fax (T.30 over G.711, up to 14.4 kbps - V.17) | Pass | ||
5108 | RFC2833 DTMF sent from the CPE outbound to an external device are recognised by the recieving equipment | Pass | ||
5109 | RFC2833 DTMF sent from an external device inbound to the CPE are recognised by the recieving equipment | Pass | ||
5110 | Inband (Q.24) DTMF sent from the CPE outbound to an external device are recognised by the recieving equipment | Pass | ||
5111 | Inband (Q.24) DTMF sent from an external device inbound to the CPE are recognised by the recieving equipment | Pass | ||
PSTN Numbering Plans | ||||
6101 | Inbound Call | Pass | ||
6102 | Outbound Toll-Free Call | Pass | ||
6103 | Outbound Local Call | Pass | ||
6104 | Outbound International Calls (011)961-865-0650 | Pass | ||
6105 | Operator call (0) | Pass | ||
6106 | Operator Assisted Calls (e.g. 0+10 digits in US) | Pass | ||
6107 | Validation of e.164 handling on DID | Pass | ||
6108 | Validation number plan format is correct across all headers according to interop spec | Pass | ||
6109 | Operator Assisted International Call (e.g. 0+1 8 to 35 digits) | Pass | ||
6110 | Casual Dial: 101+xxxx+NDC call (from 13 to 40 digits) | Pass | ||
6111 | n11 call (e.g. 211) | Pass | ||
6112 | 911 call | Pass | ||
6113 | 1-xxx-555-1212 call | Pass | ||
6114 | 310-xxxx call | Pass | ||
6115 | 1-700-xxx-xxxx call | Pass | ||
6116 | (Optional) 1-900-xxx-xxxx call | NA | ||
6117 | (Optional) 1-976 -xxx-xxxx call | NA | ||
6118 | Operator-assisted long-distance call (00) | Pass | ||
Static ONND | ||||
7101 | Outbound call with Static ONND - using only the From header and a pre-provisioned number (with user=phone) | Pass | ||
7102 | Outbound call with Static ONND - using the P-Asserted-Identify header and a pre-provisioned number (with user=phone) | Pass | ||
7103 | Outbound call with Static ONND - using explicit trunk group selection (with user=phone) | Pass | ||
7104 | Outbound call with Static ONND - using the Diversion header without PAI (with user=phone) | Pass | ||
7105 | Outbound call with Static ONND - using the Diversion header (valid Bell number) with PAI (with user=phone) | Pass | ||
7106 | Outbound call with Static ONND - using the Diversion header (external number) with PAI (with user=phone and implicit trunk group selection) | Pass | ||
7107 | Outbound call with Static ONND - using the Diversion header (external number) with PAI (with user=phone and explicit trunk group selection) | Pass | ||
7108 | Validate proper syntax used in PAI, PPI, From and Diversion for CNAM/CLID display on outbound calls | Pass | ||
Dynamic ONND | ||||
7201 | Outbound call with Dynamic ONND - using the From header (without user=phone) | Pass | ||
7202 | Outbound call with Dynamic ONND - using the P-Asserted-Identify header (without user=phone) | Pass | ||
7203 | Outbound call with Dynamic ONND - using the Diversion header (with user=phone ) without PAI and using a valid Bell SIP Trunking number in both the Diversion and From | Pass | ||
7204 | Outbound call with Dynamic ONND - using the Diversion header (with user=phone ) without PAI and using an external number in either the Diversion or From | Pass | ||
7205 | Outbound call with Dynamic ONND - using the Diversion header (with user=phone) with PAI and using a valid Bell SIP Trunking number in both the Diversion and PAI | Pass | ||
7206 | Outbound call with Dynamic ONND - using the Diversion header (with user=phone) with PAI and using an external number in the Diversion | Pass | ||
7207 | Outbound call with Dynamic ONND to party A, transfer via tromboning to party B | Pass | ||
7208 | Outbound call with Dynamic ONND to party A, transfer via REFER to party B | Pass | ||
7209 | Validate proper syntax used in PAI, PPI, From and Diversion for CNAM/CLID display on outbound calls | Pass | ||
Private and Unknown Calls | ||||
7301 | Place an outbound private call. Validate privacy header syntax and interworking on outbound private call against Bell spec and document differences. | Pass | ||
7302 | Place an inbound private call. Validate privacy header syntax and interworking on inbound private call against Bell spec and document differences. CPE must respect the privacy header. | Pass | ||
7303 | Validate handling of incoming unknown calls | Pass | ||
7304 | Validate handling of incoming calls when not subscribed to Calling Line ID Delivery | Pass | ||
Supplementary Features – Call Hold | ||||
8101 | Inbound Call – PBX Hold and Resume (No music) – Short Hold Duration | Pass | ||
8102 | Inbound Call – PBX Hold and Resume (With music) – Short Hold Duration | Pass | ||
8103 | Outbound Call – PBX Hold and Resume No music) – Short Hold Duration | Pass | ||
8104 | Outbound Call – PBX Hold and Resume (With music) – Short Hold Duration | Pass | ||
8105 | Inbound Call – PSTN Hold and Resume (No music) – Short Hold Duration | Pass | ||
8106 | Inbound Call – PSTN Hold and Resume (With music) – Short Hold Duration | Pass | ||
8107 | Outbound Call – PSTN Hold and Resume (No music) – Short Hold Duration | Pass | ||
8108 | Outbound Call – PSTN Hold and Resume (With music) – Short Hold Duration | Pass | ||
8109 | Inbound Call - PBX Hold and Resume (No music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
8110 | Inbound Call - PBX Hold and Resume (With music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
8111 | Outbound Call - PBX Hold and Resume (No music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
8112 | Outbound Call - PBX Hold and Resume (With music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
8113 | Inbound Call - PSTN Hold and Resume (No music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
8114 | Inbound Call - PSTN Hold and Resume (With music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
8115 | Outbound Call - PSTN Hold and Resume (No music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
8116 | Outbound Call - PSTN Hold and Resume (With music) – Long Hold Duration that exceeds the SIP session timers (~10 min) | Pass | ||
Supplementary Features – Call Forward | ||||
8201 | Call Forwarding (All) to External Number (Off-net) - 302 | NA | ||
8202 | Call Forwarding (All) to External Number (Off-net) - Refer | NA | ||
8203 | Call Forwarding (All) to External Number (Off-net) - Tromboning | Pass | ||
8204 | Call Forwarding (No Answer) to External Number (Off-net) – 302 | NA | ||
8205 | Call Forwarding (No Answer) to External Number (Off-net) – Refer | NA | ||
8206 | Call Forwarding (No Answer) to External Number (Off-net) – Tromboning | Pass | ||
8207 | Call Forwarding (Busy) to External Number (Off-net) – 302 | NA | ||
8208 | Call Forwarding (Busy) to External Number (Off-net) – Refer | NA | ||
8209 | Call Forwarding (Busy) to External Number (Off-net) – Tromboning | Pass | ||
Supplementary Features – Call Transfer, Conference | ||||
8301 | Blind Call Transfer of inbound call: Transfer to External Number (Refer) | Pass | ||
8302 | Blind Call Transfer of inbound call: Transfer to External Number (Tromboning) | Pass | ||
8303 | Blind Call Transfer of inbound call: Transfer to Internal Number (Refer) | Pass | ||
8304 | Blind Call Transfer of inbound call: Transfer to Internal Number (Tromboning) | Pass | ||
8305 | Blind Call Transfer of outbound call: Transfer to External Number (Refer) | Pass | ||
8306 | Blind Call Transfer of outbound call: Transfer to External Number (Tromboning) | Pass | ||
8307 | Blind Call Transfer of outbound call: Transfer to Internal Number (Refer) | Pass | ||
8308 | Blind Call Transfer of outbound call: Transfer to Internal Number (Tromboning) | Pass | ||
8309 | Attended Transfer of inbound call: Transfer to External Number (Tromboning) | Pass | ||
8310 | Attended Transfer of inbound call: Transfer to Internal Number (Tromboning) | Pass | ||
8311 | Attended Transfer of outbound call: Transfer to External Number (Tromboning) | Pass | ||
8312 | Attended Transfer of outbound call: Transfer to Internal Number (Tromboning) | Pass | ||
8313 | Validate call park and unpark | Pass | ||
Failover | ||||
9101 | Validate handling of ICMP unreachable messages on a new call, by pointing CPE primary IP to unreachable IP | Pass | ||
9102 | Validate handling of bell SBC silently discarding packets on a new call, by pointing to 207.236.202.114:50505 | Pass | ||
9103 | Validate handling of SIP 503 responses on a new call, by pointing to 207.236.202.114:50503 | Pass | ||
9104 | Validate Handling of out service response codes to OPTIONS pings, out of service codes are anything other then 200 and 483 by pointing to 207.236.202.114:50504 | Pass | ||
9105 | Validate traffic to CPE from multiple Bell IPs in order to simulate SBC failover. Requires Bell participation. | Pass | ||
9106 | (Optional) Validate failover between multiple CPEs | NA | ||
Miscellaneous | ||||
10101 | Validate handling of multiple concurrent calls for the same number | Pass | ||
10102 | Long Duration Calls - Inbound | Pass | ||
10103 | Long Duration Calls - Outbound | Pass | ||
10104 | Outgoing call with wrong DID number or wrong PBX domain. | Pass | ||
10105 | (Optional) Validate handling of outbound call to full TG (403 Forbidden) | Pass | ||
10106 | Validate handling of session audits every 5 or 10 min (UPDATE or re-INVITE) | Pass | ||
10107 | Validate handling of CPE-initiated session audits | Pass |
These Application Notes describe the configuration steps required for Sonus SBC 1000/2000 to successfully interoperate with Skype for Business 2015. All feature and serviceability test cases were completed and passed with the exceptions/observations noted in Test Results.