This document is a configuration guide for Ribbon SBC Series (Session Border Controller) when you connect to Cisco UCM (CUCM) with SPiDR or Kandy Link. It describes the signaling flows, media flows, and configuration steps for providing registration, call functionality, presence watching, MWI, and voicemail deposit and retrieval between SPiDR/Kandy Link, Ribbon SBC, and CUCM when SPiDR/Kandy Link works as proxy. It also describes CUCM redundancy and fallback support.
The call flows and required configurations have been tested with Web clients, Cisco Phones, PSTN, SPiDR/Kandy Link, Ribbon SBC, Cisco UCM, and Cisco Unity Communication (Voicemail).
For additional information on the Cisco UCM, please visit https://cisco.com.
For additional information on the Ribbon SBC, please visit https://ribboncommunications.com
Date | Name | Comment |
---|---|---|
December 2020 |
This is a technical document intended for telecommunications engineers who configure the Ribbon SBC, SPiDR/Kandy Link, and the Cisco UCM. There will be steps that require navigating third-party as well as the Ribbon 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 Ribbon customers. The specifications and information regarding the products 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.
Equipment | Software Version | |
---|---|---|
Ribbon Networks | SBC | 8.2 and above |
Third-party Equipment | Cisco UCM Cisco 8845 phone Cisco 8865 phone Cisco 9971 phone | 11.5 sip8845_65.12-0-1SR1-1 sip8845_65.12-0-1SR1-1 sip9971.9-4-2SR4-1 |
Other software | n/a | n/a |
The following reference configurations show network topology and equipment used for the Cisco UCM interoperability testing with Ribbon SBC, connecting with SPiDR or Kandy Link.
SPiDR/Kandy Link provides CUCM redundancy and fallback and recovery support. When this feature is enabled, SPiDR/Kandy Link uses the red path first. If the red path is unreachable, SPiDR/Kandy Link tries the blue path.
Cisco UCM accepts only one registration from a SIP port for a user. To provide multiple registrations from the same SIP port (5060), SPiDR/Kandy Link acts as a proxy and sends a registration request with a Contact header. The Contact header contains a unique host-part FQDN composed of a username and a domain name (or an IP address ending in .com) and Path header (specifying the VIP). The same Contact header and Path header are used for re-registrations and de-registration.
For other SIP requests, SPiDR/Kandy Link sends a request with a Contact header that contains a unique host-part FQDN composed of a username and a domain name or an IP address and a Record-Route header that specifies the VIP.
NOTE: The SIP domain can be an IP address.
The following figures illustrate the media flows.
For questions regarding this document or the content herein, please contact your maintenance and support provider.
Use the following steps to create a new Interop Profile:
For each External Provider FQDN:
Enter a FailoverTimeout in seconds to set a server as down if there is no response to the SIP request during this time frame. The value should be equal to or greater than 5 seconds for Cisco UCM Redundancy and Fallback/Recovery Support.
Enter an FQDN in the Configuration screen. The FQDN is used when redundancy mode is enabled.
Create two Address Configuration entries (Name, Address, Port, etc.) for each FQDN. These two entries represent the two Cisco UCM servers that the FQDN resolves to. The two entries will appear in the Address List section of the configuration screen.
On the Generic SIP tab, enter the FQDN of the External Provider. The FQDN must be configured as an entry in the Call Server Redundancy Service.
On the Domains tab, associate the domain with the generic SIP external provider.
The following steps should be performed in the customer-xxx.conf
file during Kandy Link installation.
wae.conf
should be external IPs like EXT_OAM_GATEWAY to reach to SBC side.
NOTE: In all EXT_TELEPHONY_ROUTES definitions in the customer-xxx.conf
file, the telephony network gateway address should be used instead of the load balancer address.
NOTE: If a static route is added in system.conf
, the telephony network gateway address should be used instead of the load balancer address.
Example system.conf
:
SBC software version 8.0 was used to test this configuration. For compatibility, some configurations should be replaced as follows.
Go to Transparency Profile > SIP Header > Event. Set the parameters as shown the figure below.
Go to Transparency Profile > SIP Header > Contact. To transparently pass the Contact header through the SBC for Register, Subscribe, and Invite methods, set the parameters as shown the figure below.
Go to IP Signaling Profile > Common IP Attributes > Flags.
Enable the flag Customized Session Timer Behavior.
Enable End to End Re Invite.
Enable End To End Update.
Disable Re Query PSX On Register Refresh.
Go to IP Signaling Profile > Common IP Attributes > Relay Flags.
Enable Update Without SDP.
Go to IP Signaling Profile > Egress IP Attributes > SIP Headers And Parameters.
Set the parameter Session Expires Refresher to Uas.
Go to IP Signaling Profile > Common IP Attributes > Flags
Enable Create Path Header so that the SBC creates a Path header in outgoing SIP REGISTER messages.
Enable Customized Session Timer Behavior.
Enable End To End Re Invite.
Enable End To End Update.
Disable Re Query PSX On Register Refresh.
Go to IP Signaling Profile > Common IP Attributes > Relay Flags.
Enable Update Without SDP.
Go to IP Signaling Profile > Egress IP Attributes > SIP Headers And Parameters.
Set Session Expires Refresher to Uac.
On the Packet Service Profile tab, set Preferred Rtp Payload Type For DTMF Relay to 101.
Go to Packet Service Profile > DTLS > Flags.
To allow audio transcoding for video calls, enable Allow Audio Transcode For Multi Stream Call.
On the Packet Service Profile tab, set Preferred Rtp Payload Type For DTMF Relay to 101.
Go to Packet Service Profile > DTLS > Flags.
To allow audio transcoding for video calls, enable Allow Audio Transcode For Multi Stream Call.
Go to SIP Trunk Group > Media.
Enable SDP Attributes Selective Relay.
Enable Relay SDP Attributes For Transcode.
Enable Relay Unknown Attrs For Audio Trancode Calls.
Enable App Specific Bandwidth.
On the Signaling tab, enable Relay Non Invite Request.
On the Timers tab, set the parameter Session Keepalive to 1800. This parameter is the SIP protocol session keep-alive timer (in seconds). When the timer is set to 0, Session Keepalive is disabled.
The parameter Session Min SE specifies the minimum session expires. The minimum allowed value is 90 seconds.
Go to SIP Trunk Advanced > Call Routing.
Set the parameter Use Route Set to Received so that the request is routed using the routeset received in the request.
On the Media tab, set Late Media Support to Passthru.
Disable Source Address Filtering.
Enable SDP Attributes Selective Relay.
Enable Relay SDP Attributes for Transcode.
Enable Relay Unknown Attrs For Audio Trancode Calls. This parameter is required so that the x-webrtc attribute will be relayed on transcoded calls.
Enable App Specific Bandwidth.
On the Signaling tab, enable the parameters Relay Non Invite Request and Skip DTGLookup For Route Hdr.
Disable Use Port Range Flag.
Set the Retry Counters as shown below.
On the Timers tab, set the parameter Session Keepalive to 2400. This parameter is the SIP protocol session keep-alive timer (in seconds). When the timer is set to 0, session keepalive is disabled.
The parameter Session Min SE specifies the minimum session expires. The minimum allowed value is 90 seconds.
Go to Signaling > Methods.
Set the Update parameter to Reject.
Create an IP Signaling Peer Group. Enter the IP address of SPiDR/Kandy Link in the IP address field.
In the SPiDR/Kandy Link SIP trunk group, parameter IP Signaling Peer Group, select KL_IPSPG.
In Signaling Ports, set the SIP Sig port number to 5060.
Enter route information for the Cisco UCM as shown in the following figures.
Use following CLI syntax to configure a SIP Adaptor Profile to pass the parameter maddr
in the Contact header.
set profiles signaling sipAdaptorProfile "passMaddrIN" state "enabled" advancedSMM "enabled" profileType "messageManipulation" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" criterion "3" type "parameter" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" criterion "3" parameter condition "exist" paramType "generic" name "maddr" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" criterion "2" type "header" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" criterion "2" header name "Contact" condition "exist" hdrInstance "all" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" criterion "1" type "message" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" criterion "1" message messageTypes "all" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" action "1" type "header" operation "store" headerInfo "headerValue" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" action "1" to type "variable" variableValue "var1" variableScopeValue "message" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1" action "1" from type "header" value "Contact" set profiles signaling sipAdaptorProfile "passMaddrIN" rule "1"
To apply the SMM rule for passMddrIN, set the parameters as shown the figure below.
Use following CLI syntax to configure a SIP Adaptor Profile to remove the Require: path header and the last Record-Route header in the outgoing requests sent to the Cisco UCM. This syntax also allows the maddr
parameter to be passed in the Contact header.
set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR state enabled advancedSMM enabled profileType messageManipulation set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 1 criterion 1 type message set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 1 criterion 1 message messageTypes request methodTypes register set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 1 criterion 2 type header set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 1 criterion 2 header name Require condition exist hdrInstance all set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 1 action 1 type header operation delete set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 1 action 1 to type header value Require set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 2 criterion 1 type message set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 2 criterion 1 message messageTypes requestAll set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 2 criterion 2 type header set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 2 criterion 2 header name Record-Route condition exist hdrInstance all set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 2 applyMatchHeader last set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 2 action 1 type header operation delete set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 2 action 1 to type header value Record-Route set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 criterion 1 type message set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 criterion 1 message messageTypes all set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 criterion 2 type variable variable condition exist variableID var1 set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 criterion 2 type variable set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 criterion 3 type header set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 criterion 3 header name Contact condition exist hdrInstance all set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 action 1 type variable operation regpredel set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 action 1 to type variable variableValue var1 set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 action 1 regexp string ;maddr set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 action 2 type header operation regappend headerInfo headerValue set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 action 2 to type header value Contact set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 action 2 regexp string ">" set profiles signaling sipAdaptorProfile passMaddrRmReqPathAndRR rule 3 action 2 from type variable variableValue var1
To apply the SMM rule for passMaddrRmReqPathAndRR, set the parameters as shown the figure below.
Use the following steps to configure the Kandy Link network to interop with Ribbon SBC (minimum version 8.2) and Call Server without an IP load balancer, for SIP signaling between Kandy Link/SPiDR and Ribbon SBC.
Set the flag to Enabled. This flag is used to disable the checking of a single source IP address for the SIP messages from different Kandy Link SLB instances.
NOTE: The flag Mask Port for Rcb must be disabled to use this flag. Both flags cannot be enabled at the same time.
2. Go to IP Signaling Profile > Flags > Store Path Header.
Enable the Store Path Header to process and store the path header in the register on SBC side.
3. Go to Call Routing > Use Route Set.
Set Use Route Set to Stored. The request is routed using the Path or Service-Route stored during registration with this configuration.
4. Go to DNS Group.
Create a DNS group with settings as shown below.
5. Go to Local Record.
Create a Local Record with the FQDN defined on Kandy Link as EXT_TELEPHONY_SIP_PROXY_VIP.
6. Go to Data.
Create Data entries for each EXT_TELEPHONY_IP on the App Tiers. Set Priority to 0.
7. Go to IP Peer.
Create IP Peers for each App Tier in your Kandy Link system. The IP Address must be the EXT_TELEPHONY_IP in the App Tier's wae.conf
file. Set the SIP Port to 5060.
8. Go to Path Check Profile.
Create a Path Check Profile for SIP Options, as shown below.
9. Go to IP Peer > Path Check.
Create a Path Check for each IP Peer.
10. Go to SIP ARS Profile.
Create a SIP ARS Profile as shown below.
Set the parameter SIP Session Expires Timer to 2400.
This Application Note describes the configuration steps required for the Ribbon SBC and SPiDR/Kandy Link to successfully interoperate with CUCM.