Configuring a Cisco CUBE/CUCM SIP Trunk

Here we will walk you through configuring a Cisco CUBE/CUCM SIP user/pass trunk with Telnyx.

Written by Customer Success
Updated over a week ago

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


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:


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
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 !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
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" "" ! Public IP; 172.x.y.z Private IP of the CUBE
request ANY sip-header Contact modify "172.x.y.z" ""
response ANY sdp-header Audio-Connection-Info modify "172.x.y.z" ""
response ANY sdp-header Connection-Info modify "172.x.y.z" ""
response ANY sdp-header Session-Owner modify "172.x.y.z" ""
request ANY sdp-header Audio-Connection-Info modify "172.x.y.z" ""
request ANY sdp-header Connection-Info modify "172.x.y.z" ""
request ANY sdp-header Session-Owner modify "172.x.y.z" ""

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

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:
dtmf-relay rtp-nte cisco-rtp sip-kpml sip-notify

Required for username/password authentication - Not needed if using IP authentication:

Configure registration with using username and password set up on as follows:

In global configuration mode

credentials username <connection_username> password <connection_password> realm
authentication username <connection_username> password <connection_password> realm  

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:

Did this answer your question?