Cisco Unified Border Element (CUBE) provides highly secure voice and video connectivity from the enterprise IP network to a Telnyx SIP trunk. CUBE performs session control, security, interworking, and demarcation. You can deploy virtually on Cisco servers or integrate into a Cisco router. Cisco CUBE also provides multiple services on the same routing platform, and can scale to up to 64,000 sessions with box-to-box and in-box redundancy.
Additional documentation:
Instructions for integrating a Cisco CUBE with a Telnyx CUCM SIP trunk
This guide will help you establish a connection between your CISCO/CUCM server, and your Telnyx Mission Control Portal by showing you a sample trunk configuration. This assumes you've already completed the installation and telecommunication-applications deployment, per the pre-requisites.
In this activity you will
Pre-requisites
Cisco recommends that your system does not have Domain Name System (DNS) configuration
CUCM Version 8.6 through Version 12.x
Note that all CUCM versions below 11.x have reached end of life/end of support. And 11.x versions are no longer being sold
Cisco IOS® Version 15.1(2)T and later
To make outbound calls, Telnyx requires either a valid caller ID from your device or a caller ID override enabled on your SIP connection.
Have already made the main CISCO/CUCM installation and telecommunication-applications deployment.
Video Wakthrough
Setting up your Telnyx SIP trunk:
Note: Video walkthrough for Cisco CUBE to CUCM integration coming soon. Check back as we update our docs. |
1. Configure a Dial-Peer to Telnyx
This is the layout of our set-up:
Telnyx<--->CUBE<--->CUCM
Dial-peer configuration on CUBE:
In global configuration mode
dial-peer voice 100 voip ! 100 is an arbitrary number
translation-profile incoming 100 ! Used to translate DID to extension
destination-pattern 1[2-9]..[2-9]...... !general pattern for an outgoing 11 digit calling
session protocol sipv2
voice-class sip profiles 1 ! Refers to a pre-configured SIP Profile, used to modify headers in SIP Messages
session target sip.telnyx.com
incoming called-number 1[2-9]..[2-9]......
dtmf-relay rtp-nte cisco-rtp sip-kpml sip-notify
voice-class codec 1 ! 1 Refers to a pre-configured ordered list of codecs
Allow-list SIP IPs:
Note: This is only available in some versions of Cisco IOS |
In global configuration mode
voice service voip
ip address trusted list
ipv4 192.76.120.10
ipv4 64.16.240.36
ipv4 172.0.0.0 !Private IP address of CUCM
Specify general SIP parameters:
In global configuration mode
voice service voip
mode border-element ! Required if operating in CUBE mode, as opposed to CME
allow connections sip to sip ! Permit SIP to SIP calls
sip
early-offer forced
midcall-signaling passthru
sip-profiles 1 ! Refers to pre-configured sip profile
Configure codec preference:
In global configuration mode
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g711alaw
codec preference 3 g729br8
NAT Traversal:
If your CUBE is behind a NAT and does not have an interface with a public IP, you need to modify the IPs in the SIP messages to your public IP using SIP Profiles as follows:
In global configuration mode
voice class sip-profiles 1
response ANY sip-header Contact modify "172.x.y.z" "1.2.3.4" !1.2.3.4 Public IP; 172.x.y.z Private IP of the CUBE
request ANY sip-header Contact modify "172.x.y.z" "1.2.3.4"
response ANY sdp-header Audio-Connection-Info modify "172.x.y.z" "1.2.3.4"
response ANY sdp-header Connection-Info modify "172.x.y.z" "1.2.3.4"
response ANY sdp-header Session-Owner modify "172.x.y.z" "1.2.3.4"
request ANY sdp-header Audio-Connection-Info modify "172.x.y.z" "1.2.3.4"
request ANY sdp-header Connection-Info modify "172.x.y.z" "1.2.3.4"
request ANY sdp-header Session-Owner modify "172.x.y.z" "1.2.3.4"
This can then be applied either globally to the general sip config (sip profiles #) or under the dial-peer config using:
voice-class sip profiles 1
Additionally, it is advisable to define a loopback interface and configure it with your public IP address. Do not advertise this into your network though, as it may cause other problems.
In global configuration mode
interface loopback 0
ip address 1.2.3.4 255.255.255.0
Inbound calling:
Use translation rules and translation profiles to translate your DIDs to extensions.
Create a voice translation rule. For example, the rule below translates 13125489677 to 3005
In global configuration mode
voice translation-rule 100
rule 1 /13125489677/ /3005/ ! Several rules can be defined. In this case, 3005 is an extension on CUCM
Create a translation profile using the rule created:
In global configuration mode
voice translation-profile 100
translate called 100
Apply the translation profile to the dial-peer:
translation-profile incoming 100
Configure the dial-peer towards CUCM:
In global configuration mode
dial-peer voice 300 voip
destination-pattern 3... !Matches 3XXX numbers, as translated by the translation profile
session protocol sipv2
session target ipv4:172.16.8.10
dtmf-relay rtp-nte cisco-rtp sip-kpml sip-notify
Required for username/password authentication - Not needed if using IP authentication:
Configure registration with sip.telnyx.com using username and password set up on portal.telnyx.com as follows:
In global configuration mode
sip-ua
credentials username <connection_username> password <connection_password> realm sip.telnyx.com
authentication username <connection_username> password <connection_password> realm sip.telnyx.com
registrar dns:sip.telnyx.com
Note: To make outbound calls, Telnyx requires either a valid caller ID from your device or a caller ID override enabled on your SIP connection. Please view our caller ID number policy for information on enabling a caller ID override from within the Telnyx portal. |
That's it, you've now completed the configuration of your Cisco CUBE/CUCM SIP Trunk
Additional Resources
Review our getting started with guide to make sure your Telnyx Mission Control Portal account is setup correctly!
Additionally, check out: