Table of Contents


Document Overview

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

Document History

DateNameComment
December 2020

Audience

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.

Requirements

The following equipment and software were used for the sample configuration.


Equipment

Software Version

Ribbon Networks

SBC
Ribbon SPiDR or Kandy Link

8.2 and above
4.8

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

Reference Configuration

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.

Basic Network Configuration


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.

Network Diagram for Cisco UCM Redundancy and Fallback Support


Call Flows


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.

Call Flows


Media Flows

The following figures illustrate the media flows.

Basic Media Flow

Peer-To-Peer Media


Support

For questions regarding this document or the content herein, please contact your maintenance and support provider.

 

SPiDR/Kandy Link Configuration

Kandy Link Admin GUI Interop Profile

Use the following steps to create a new Interop Profile:

  1. Enable the parameter Session Refresh Support.
  2. Set Session Refresher to uac.
  3. Set Session Refresh Timer to 1800
  4. Enable the parameters Proxy Mode Enabled and Redundancy Enabled.


Interop Profile


Call Server Redundancy Service

For each External Provider FQDN:

  1. Enter a StatusTimeout in seconds to determine the status refresh period. The default value is 30 seconds. 
  2. 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.

    Call Server Redundancy

  3. 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.

    FQDN Configuration

External Provider

  1. 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.

    Generic SIP tab

  2. On the Domains tab, associate the domain with the generic SIP external provider.

    Domains tab

Kandy Link Configuration for Ribbon SBC as IP Load Balancer Using DNS

The following steps should be performed in the  customer-xxx.conf file during Kandy Link installation.

  • The parameter EXT_TELEPHONY_LB_ADDR should be set to the telephony network gateway address for routing. In the the standard configuration of Kandy Link, the parameter EXT_TELEPHONY_LB_ADDR indicates the source address of the load balancer.
    • For example: EXT_TELEPHONY_LB_ADDR=<EXAMPLE_EXTERNAL_GATEWAY_IP> → EXAMPLE_EXTERNAL_GATEWAY_IP is an IP which can go out of the internal networks.
  • The parameter  EXT_TELEPHONY_SIP_PROXY_VIP should be set to a FQDN which is same with SBC configuration.
    • For example: EXT_TELEPHONY_SIP_PROXY_VIP=test.com
  • EXT_TELEPHONY_IP addresses on 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 Configuration

SBC software version 8.0 was used to test this configuration. For compatibility, some configurations should be replaced as follows.

This comment is in a Confluence No Print macro.  The two figures that follow are also found in https://confluence.genband.com/display/A2APS/FD%3A++SBC+Interoperability+and+Transcoding+Support , which does not have a related App Note. 

Basic SBC Configuration

Configuration for CUCM Redundancy & Fallback/Recovery Support



Transparency Profile for SPiDR/Kandy Link Side

Go to Transparency Profile > SIP Header > Event. Set the parameters as shown the figure below.

Transparency Profile for SPiDR/Kandy Link Side

 


Transparency Profile for Cisco UCM Side

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.

Transparency Profile for Cisco UCM Side



  1. Go to IP Signaling Profile > Common IP Attributes > Flags.

  2. Enable the flag Customized Session Timer Behavior.

    Customized Session Timer Behavior

  3. Go to IP Signaling Profile > Common IP Attributes > Flags.
  4. Enable End to End Re Invite.

    End to End Re invite

  5. Enable End To End Update.

    End to End Update

  6. Disable Re Query PSX On Register Refresh.

    Re Query PSX On Register Refresh

     

  7.  Go to IP Signaling Profile > Common IP Attributes > Relay Flags.

  8.  Enable Update Without SDP.

    Update Without SDP

     

  9. Go to  IP Signaling Profile > Egress IP Attributes > SIP Headers And Parameters.

  10. Set the parameter Session Expires Refresher to Uas.

    Session Expires Refresher

IP Signaling Profile for Cisco UCM

  1. Go to IP Signaling Profile > Common IP Attributes > Flags

  2. Enable Create Path Header so that the SBC creates a Path header in outgoing SIP REGISTER messages.

    Create Path Header

  3. Enable Customized Session Timer Behavior.

    Customized Session Timer Behavior

  4. Enable End To End Re Invite

    End to End Re Invite

  5. Enable End To End Update.

    End to End Update

  6. Disable Re Query PSX On Register Refresh.

    Re Query PSX

  7. Go to IP Signaling Profile > Common IP Attributes > Relay Flags.

  8. Enable Update Without SDP.

    Update Without SDP

     

  9. Go to IP Signaling Profile > Egress IP Attributes > SIP Headers And Parameters.

  10. Set Session Expires Refresher to Uac.
     

    Session Expires Refresher

  1. On the Packet Service Profile tab, set Preferred Rtp Payload Type For DTMF Relay to 101.

    Preferred Rtp Payload Type For DTMF Relay


  2.  Go to Packet Service Profile > DTLS > Flags.

  3. To allow audio transcoding for video calls, enable Allow Audio Transcode For Multi Stream Call.

    Allow Audio Transcode For Multi Stream Call

    Packet Service Profile for Cisco UCM

  4.  On the Packet Service Profile tab, set Preferred Rtp Payload Type For DTMF Relay to 101.

    Preferred Rtp Payload Type For DTMF Relay

  5. Go to Packet Service Profile > DTLS > Flags.

  6.  To allow audio transcoding for video calls, enable Allow Audio Transcode For Multi Stream Call.

    Allow Audio Transcode For Multi Stream Call

  1. Go to SIP Trunk Group > Media.

  2. Enable SDP Attributes Selective Relay.

    SDP Attributes Selective Relay

  3. Enable Relay SDP Attributes For Transcode.  

    Relay SDP Attributes For Transcode

  4. Enable Relay Unknown Attrs For Audio Trancode Calls.

    Relay Unknown Attrs For Audio Trancode Calls

  5. Enable App Specific Bandwidth.

    App Specific Bandwidth

  6. On the Signaling tab, enable Relay Non Invite Request

    Relay Non Invite Request

     


  7.  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.    

  8. The parameter Session Min SE specifies the minimum session expires. The minimum allowed value is 90 seconds. 

    Session Keepalive

SIP Trunk Group for Cisco UCM

  1.  Go to SIP Trunk Advanced > Call Routing.

  2. Set the parameter Use Route Set to Received so that the request is routed using the routeset received in the request.

    Use Route Set

  3.  On the Media tab, set Late Media Support to Passthru.

    Late Media Support

  4. Disable Source Address Filtering.

    Source Address Filtering

  5. Enable SDP Attributes Selective Relay.

    SDP Attributes Selective Relay

  6. Enable Relay SDP Attributes for Transcode

    Relay SDP Attributes For Transcode


  7. Enable Relay Unknown Attrs For Audio Trancode Calls.  This parameter is required so that the x-webrtc attribute will be relayed on transcoded calls.

    Relay Unknown Attrs For Audio Trancode Calls

  8. Enable App Specific Bandwidth.

    App Specific Bandwidth

  9. On the Signaling tab, enable the parameters Relay Non Invite Request and Skip DTGLookup For Route Hdr.

    Relay Non Invite Request

    Skip DTGLookup For Route Hdr



  10.  Disable Use Port Range Flag. 

    Use Port Range Flag



  11. Set the Retry Counters as shown below.

    Retry Counters


  12.  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.  

  13. The parameter Session Min SE specifies the minimum session expires. The minimum allowed value is 90 seconds.

    Session Keepalive

  14. Go to Signaling > Methods.

  15. Set the Update parameter to Reject.

    Update

  1.  Create an IP Signaling Peer Group.  Enter the IP address of SPiDR/Kandy Link in the IP address field. 

    IP Signaling Peer Group

  2. In the SPiDR/Kandy Link SIP trunk group, parameter IP Signaling Peer Groupselect KL_IPSPG

    IP Signaling Peer Group

SIP Signaling Port for Cisco UCM

In Signaling Ports, set the SIP Sig port number to 5060.

SIP Sig Port Number


Route for Cisco UCM

   Enter route information for the Cisco UCM as shown in the following figures.

Route for CUCM

Route for CUCM


SIP Adaptor (SMM) Profile

  1. Use following CLI syntax to configure a SIP Adaptor Profile to pass the parameter maddr in the Contact header.

    passMaddrIN
    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"
  2. To apply the SMM rule for passMddrIN, set the parameters as shown the figure below.

    Applying the SMM rule for maddr

  3. 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.

    passMaddrRmReqPathAndRR
    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
  4. To apply the SMM rule for passMaddrRmReqPathAndRR, set the parameters as shown the figure below.

    Applying the SMM rule for passMaddrRmReqPathAndRR

SBC Configuration for Ribbon SBC as IP Load Balancer Using DNS

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. 

  1. Go to SIP Sig Port > Mask IP Address for Rcb.

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.

Enable Mask address for Rcb



 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. 

Enable Store Path header


 

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.

User Route Set


4. Go to DNS Group.

Create a DNS group with settings as shown below. 

Create DNS group


5.  Go to Local Record.

Create a Local Record with the FQDN defined on Kandy Link as EXT_TELEPHONY_SIP_PROXY_VIP.

Create Local Record


6.  Go to Data.

Create Data entries for each EXT_TELEPHONY_IP on the App Tiers.  Set Priority to 0

Create data entries


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

Create IP Peers


8. Go to Path Check Profile.

Create a Path Check Profile for SIP Options, as shown below. 

Create Path Check Profile


9.  Go to IP Peer > Path Check.

Create a Path Check for each IP Peer. 

Create Path Check for IP Peers


Create Patch Check for IP Peers


10. Go to SIP ARS Profile.

Create a SIP ARS Profile as shown below. 

Create a SIP ARS Profile



11. Apply the SIP ARS profile to the SIP Trunk Group as shown below.

Apply SIP ARS profile


Cisco UCM Configuration

Set the parameter SIP Session Expires Timer to 2400.

SIP Session Expires Timer

Conclusion

This Application Note describes the configuration steps required for the Ribbon SBC and SPiDR/Kandy Link to successfully interoperate with CUCM.