How to configure a Cisco Call Manager Express (CME) User/Pass Trunk

Our focus in this article is to achieve the connection between your CISCO/CME server, and our Mission Control Portal. We will describe a sample trunk configuration of the assuming that you already made the main CISCO/CME installation and telecommunication-applications deployment.

Once you have configured the following steps, you can take advantage of leveraging our Mission Control Portal to maximize your business operations.

Your trunk is ready to go on our side! We can move forward with the configurations on your CISCO/CME. The configurations are shown step-by-step on the subtitles below.

This is the layout of our set-up:


Configure a Dial-Peer to Telnyx as follows

In global configuration mode

dial-peer voice 100 voip        ! 100 is an arbitrary number
translation-profile incoming 100  ! Used to translate DIDs to extensions
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 pre-configured sip profile. Used to modify headers
session target ipv4:  ! or replace with
incoming called-number 1[2-9]..[2-9]......  !Pattern-match for incoming DIDs
dtmf-relay rtp-nte cisco-rtp sip-kpml sip-notify
voice-class codec 1      ! 1 Refers to a pre-configured ordered list of codecs

In some versions of IOS, you can whitelist SIP IPs as follows:

In global configuration mode

voice service voip
ip address trusted list
ipv4 !Media IP address

Specify general SIP parameters thus:

In global configuration mode

voice service voip
mode cme
allow connections sip to sip  ! Permit SIP to SIP calls
bind all source-interface  !Bind control and medial to an interface with a IP, if one is available
early-offer forced
midcall-signaling passthru

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 a public IP, you need to modify the IPs in the SIP messages to your public IP using SIP Profiles as shown below:

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 CME
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-Connectio (Not needed if using IP authentication):n-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 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 (Not needed if using IP authentication):
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

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.

Can't find what you're looking for? Click the chat bubble at your lower right hand corner and start a chat!

Did this answer your question?