Cisco Unified CM with CUBE
This guide outlines the steps to configure Cisco Unified CM with CUBE to make and receive phone calls using the didlogic trunks. Before placing or receiving a call, ensure you have an active phone number and a SIP account created on your didlogic account.
Components used
- Cisco Cloud Services Router 1000v with IOS XE Release 17.03.05, CUBE Version 14.1
- Cisco Unified CM Release 14.0.1.12900-161
Configure Cisco Unified CM
This guide assumes you have already set up Cisco Unified CM, registered phones, and configured the basic dial plan. The following checklist contains recommended settings for interoperability between didlogic platform and CUCM.
Menu | Value |
|---|---|
System → Service Parameters → [CUCM Server] → Cisco CallManager (Active) → Advanced → Clusterwide Parameters (System — Location and Region) | |
Preferred G.711 Millisecond Packet Size | 20 |
Preferred G.729 Millisecond Packet Size | 20 |
G.722 Codec Enabled | Enabled for All Devices |
System → Service Parameters → [CUCM Server] → Cisco CallManager (Active) → Advanced → Clusterwide Parameters (Service) | |
Duplex Streaming Enabled | True |
Media Exchange Timer | 5 |
System → Service Parameters → [CUCM Server] → Cisco CallManager (Active) → Advanced → Clusterwide Parameters (Device SIP) | |
Retry Count for SIP Invite | 1 |
SIP Session Expires Timer | 86400 |
System → Enterprise Parameters | |
Advertise G.722 Codec | Enabled |
System → Service Parameters → [CUCM Server] → Cisco IP Voice Media Streaming App (Active) | |
Supported MOH Codec | G711alaw/G711ulaw, G729 Annex A |
System → Security → SIP Trunk Security Profile → Add New: “Non Secure SIP Trunk Profile for CUBE” | |
Incoming Transport Type | TCP + UDP |
Outgoing Transport Type | TCP |
Device → Device Settings → SIP Profile → Add New: “SIP Profile PRACK EO OPTIONS SENDRECV” | |
SIP Rel1XX Options | Send PRACK for 1xx Messages |
Early Offer support for voice and video | Best Effort (no MTP Inserted) |
Enable OPTIONS Ping | Checked |
Ping Interval for In-service and Partially In-service Trunks (seconds) | 60 |
Ping Interval for Out-of-service Trunks (seconds) | 5 |
Send send-receive SDP in mid-call INVITE | Checked |
Device → Trunk → Add New: “CUBE DDL” | |
Redirecting Diversion Header Delivery - Inbound | Checked |
Destination Address | 192.168.240.1 (CUBE LAN IP) |
SIP Trunk Security Profile | Non Secure SIP Trunk Profile for CUBE |
SIP Profile | SIP Profile PRACK EO OPTIONS SEND-RECV |
Call Routing → Route/Hunt → Route Pattern → Add new | |
Route Pattern | 00! or +! |
Gateway/Route List | CUBE DDL |
Call Classification | OffNet |
Configure SIP Trunk on Cisco Unified Border Element
Basic CUBE configuration
Use the following template to configure global voice parameters and set interoperability options.
voice call send-alert
voice rtp send-recv
voice service voip
! Permit IP addresses of CUCM servers
ip address trusted list
ipv4 192.168.240.10
ipv4 192.168.240.11
rtp-port range 16384 32766
address-hiding
media statistics
media bulk-stats
media disable-detailed-stats
media stats-disconnect
allow-connections sip to sip
no supplementary-service sip handle-replaces
sip
min-se 900 session-expires 1800
no update-callerid
midcall-signaling passthru media-change
sip-profiles inbound
audio forced
header-passing
error-passthru
no pass-thru content custom-sdp
privacy-policy passthru
This configuration template was thoroughly tested in the didlogic interoperability lab. Although your current settings on CUBE might be different, we recommend using this template in case you experience issues while configuring the didlogic SIP Trunk.
Register SIP Account
To be able to receive inbound calls, you need to register your SIP Account at one of the regional didlogic gateways. You may find the list of gateways here:

Choose a regional gateway that is closer to your location (for this guide, it is sip.nl.didlogic.net) and configure registrar parameters:
sip-ua
! Register SIP Account using its 5-digit numeric ID as username
credentials number 39554 username 39554 password 0 <strong password> realm
sip.nl.didlogic.net
! Configure registrar
registrar dns:sip.nl.didlogic.net expires 3600
! Configure gateway for outbound calls
sip-server dns:sip.nl.didlogic.net
! SIP transport connections will use single local port
connection-reuse
! As this is PSTN connection we don't send RPID
no remote-party-id
Note:
- For this configuration to work, DNS server should be configured on the CUBE
- Authentication realm is different for each gateway and equals its hostname
- SIP Registration is carried over UDP by default. You can switch transport to tcp by using the
respective parameter in the registrar command:registrar dns:sip.nl.didlogic.net expires 3600
tcp
Once the configuration is completed, you can verify SIP Account registration using the show sip-ua register status command:

If registration is successful, you will see yes in the reg column for your SIP Account Line.
Configure Inbound calls
For inbound calls to work, your SIP Account must be registered as described in the 'Register SIP Account' section.
Starting from Cisco IOS Release 15.1(2)T, the 'Toll Fraud Prevention' feature is enabled by default to enhance the security posture of the device. To allow incoming calls from a didlogic regional gateway, add its IP Address to the trusted list in the voice service voip section:
voice service voip
ip address trusted list
! Add IP Address of regional gateway sip.nl.didlogic.net
ipv4 185.118.63.77
If you configure a session target for an outgoing dial-peer in the form of an IP address, i.e., 'session target ipv4:185.118.63.77', you don't need to explicitly add it to the trusted list, as it will be automatically allowed based on the dial-peer configuration. You can verify the current trust list by using the show ip address trusted list command.
Define the list of preferred codecs:
voice class codec 1
codec preference 1 g711ulaw
codec preference 2 g711alaw
codec preference 3 g722-64
codec preference 4 g729r8
To correctly match inbound calls and set desired preferences, the incoming dial-peer should be configured:
! Define e164 pattern map – add all DIDs you purchased from DID Logic
voice class e164-pattern-map 1010
e164 61272534418
dial-peer voice 2011 voip
description *** Incoming from DID Logic ***
session protocol sipv2
! Match incoming dial-peer based on e164-pattern-map
incoming called e164-pattern-map 1010
voice-class codec 1
dtmf-relay rtp-nte
no vad
Configure the outgoing dial-peer to route calls to CUCM
! Define preference for CUCM servers
voice class server-group 1000
description *** CUCM Server Group ***
ipv4 192.168.240.11 preference 1
ipv4 192.168.240.10 preference 2
dial-peer voice 1011 voip
description *** Outgoing to CUCM ***
huntstop
session protocol sipv2
session transport tcp
! Match outgoing dial-peer based on e164-pattern-map
destination e164-pattern-map 1010
! Route calls based on the server group
session server-group 1000
voice-class codec 1
dtmf-relay rtp-nte
no vad
Authenticate your CUBE
By default, didlogic responds with 407 Proxy Authentication Required to every SIP INVITE. Configure the authentication username under the sip-ua section to support this authentication option.
sip-ua
authentication username 39554 password 0 <your strong password> realm sip.nl.didlogic.net
The actual realm specified must match the hostname of the regional didlogic you'd be routing your calls to.
Alternatively, you can enable IP Authentication for your SIP Account. In this case, the didlogic gateway will accept all outbound calls from the IP address you specify without further authentication. To set up IP Authentication, please contact support at [email protected] and provide the public IP Address you will be sending outbound calls from.
SIP Accounts with IP Authentication enabled cannot be used as the destination assigned to DIDs on the portal. SIP URI addresses must be used instead.
In terms of CUBE configuration, there are no additional commands you need to add for the IP Authentication to work.
Configure Outbound Calls
In case your users dial with a prefix (e.g., 0, 00, or 011), configure a translation profile to strip the leading digits as all destination numbers routed to didlogic must be in E.164 format. Note that you may also need to insert the country code if numbers are dialed in the domestic format. The example below shows how you can strip the leading 00.
voice translation-rule 1
! Strips 00
rule 1 /^00/ //
!
voice translation-profile PSTN-OUT
translate called 1
Although didlogic will send the Caller ID configured on the user portal, we will translate Caller IDs coming from CUCM to SIP Account ID for consistency and faster troubleshooting.
! Replace any Caller ID coming from CUCM by SIP Account ID
voice translation-rule 2
rule 1 /.*/ /39554/
!
voice translation-profile PSTN-OUT
translate calling 2
Add an incoming dial-peer to match calls originated from the CUCM cluster.
! Define voice class uri with IP addresses of CUCM cluster nodes
voice class uri CUCMIN sip
host ipv4:192.168.240.10
host ipv4:192.168.240.11
dial-peer voice 1001 voip
description *** Incoming from CUCM ***
session protocol sipv2
session transport tcp
! Match incoming dial-peer based on host in the VIA header
incoming uri via CUCMIN
voice-class codec 1
dtmf-relay rtp-nte
no vad
Add outgoing dial-peer towards the didlogic gateway.
! Define E164 pattern map for outbound calls
voice class e164-pattern-map 2000
! Prefix dialing pattern
e164 00T
! Emergency services
e164 000
e164 112
! E164 dialing pattern
e164 +T
dial-peer voice 2001 voip
description *** Outgoing to DID Logic ***
huntstop
session protocol sipv2
session transport tcp
! Use sip-server configured in sip-ua section to route outbound calls
session target sip-server
! Strip prefix for international dialing
translation-profile outgoing PSTN-OUT
! Match outgoing dial-peer based on e164-pattern-map
destination e164-pattern-map 2000
dtmf-relay rtp-nte
no vad
-
Session transports supported are: UDP, TCP, and TLS.
-
Session target can also point to selected regional gateway: 'session target dns:sip.nl.didlogic.net'
or 'session target ipv4: 185.118.63.77'.
Configure Caller ID Passthrough
When you configure SIP Account settings on the didlogic portal, you normally assign one of the purchased DID numbers as the Caller ID.
If you want to use your own A-numbers and send them directly from CUCM, first you need to contact your account manager or send an email to [email protected] and request Caller ID passthrough to be activated. Note that this feature may or may not be available depending on individual eligibility.
Once your request is approved and the feature is enabled, you will need to remove the Caller ID assigned to your SIP Account to allow Custom Caller ID passthrough.
Update SIP Account settings
Log in to the didlogic Portal, go to the SIP section, and click Edit on the SIP Account. Remove Caller ID and click Update:

You should see your SIP Account updated:

If there is no Caller ID associated with the SIP Account while Caller ID passthrough is disabled, your outbound calls will be passed over the public network with Anonymous Caller ID. Anonymous calls tend to be routinely deprioritized and may even be barred by carriers.
Configure Custom Caller ID on Cisco Unified CM
There are multiple ways to set Caller ID on Cisco Unified CM:
- External Phone Number Mask on Phone DN
- Calling Party Transform Mask on Route List Member
- Calling Party Transformation CSS applied on SIP Trunk
Additionally, you can manipulate Caller ID directly on CUBE. We will use this method in the guide for simplicity.
Configure voice translation rule to replace Called IDs coming from CUCM with the desired Caller ID and modify translation-profile PSTN-OUT by adding a calling number translation rule:
voice translation-rule 2
! Replace Caller IDs coming from CUCM with desired Caller ID
rule 1 /.*/ /61272534418/
!
voice translation-profile PSTN-OUT
translate calling 2
As this translation-profile is already assigned to outgoing dial-peers, you don't need to modify the associated configuration.
Set up failover routing
To ensure continuity of business operations and protect from potential service interruption, SIP Trunk failover scenarios should be considered. In this guide, we provide configuration options for failover of both incoming and outgoing calls.
Inbound call failover
To protect against inbound call disruptions, we'll use dual registrars. First, let's allow CUBE to process incoming calls from both regional gateways:
voice service voip
ip address trusted list
! Add IP Address of primary regional gateway sip.nl.didlogic.net
ipv4 185.118.63.77
! Add IP Address of secondary regional gateway sip.de.didlogic.net
ipv4 157.230.96.24
Next, configure dual registrars under the sip-ua section:
sip-ua
! Define SIP Account details for primary registrar
credentials number 39554 username 39554 password 0 <SIP Account strong password> realm
sip.nl.didlogic.net
! Define SIP Account details for secondary registrar
credentials number 39554 username 39554 password 0 <SIP Account strong password> realm
sip.de.didlogic.net
! Authentication username is used to authenticate outbound calls
authentication username 39554 password 0 <your strong password> realm sip.nl.didlogic.net
! Authentication username is used to authenticate outbound calls
authentication username 39554 password 0 <your strong password> realm sip.de.didlogic.net
! Configure primary registrar
registrar 1 dns:sip.nl.didlogic.net expires 3600
! Configure secondary registrar
registrar 2 dns:sip.de.didlogic.net expires 3600
Once the configuration is completed, you can verify SIP Account registration with didlogic gateways using show sip-ua register status command:

If registration is successful, you will see yes in the reg column for your SIP Account Line on both regional gateways.
Outbound call failover
In this guide, we will use the Server Group option to define a single outgoing dial-peer with multiple peers. Peers are configured with the preference keyword so you can prioritize the primary gateway:
! Define preference for regional gateways
voice class server-group 1001
description *** Regional gateway Server Group ***
ipv4 185.118.63.77 preference 1
ipv4 157.230.96.24 preference 2
dial-peer voice 1000 voip
description *** Outbound to DID Logic ***
! Strip prefix for international dialing
translation-profile outgoing PSTN-OUT
! Match outgoing dial-peer based
destination e164-pattern-map 2000
session protocol sipv2
session transport tcp
session server-group 1001
voice-class codec 1
dtmf-relay rtp-nte
no vad
Common issues
Common issues with outbound calls
- 603 Declined response might be caused by the lack of active registration. Check sip-ua register status as outlined below.
- Another typical reason for the 603 Declined is a call to the destination with the per-minute rate higher than the Max rate set for your account. You can find your effective Max rate on the SIP tab. If you would like to have it changed, please contact [email protected].
- Incorrect destination number format. For example, dial the full international number (E.164): 12125551212 (US), 442085000000 (UK). Dialing 2125551212 won't work. Do not dial with 0, 00, or 011 in front. This guide explains how you can strip the leading digits before the call is routed to didlogic.
Common issues with inbound calls
- Make sure IP addresses of didlogic regional gateways are either explicitly added to the trust list under 'voice service voip' section or dynamically allowed via dial-peer session targets.
- Make sure you have a translation profile or num-exp configured to translate incoming called numbers from E.164 format to internal DN or hunt-group.
Troubleshooting SIP Trunk connectivity
Confirm SIP Account registration using show sip-ua register status command:

You should see SIP Account is registered with the regional gateway(s).
Verify that the IP Addresses of the didlogic regional gateways are allowed for incoming calls using show ip address trusted list command:

If you are still experiencing issues, enable the following debugs on CUBE, make a test call, and review debug output:
- debug voice ccapi inout
- debug ccsip messages
- debug ccsip non-call
- debug voice translation
If you are using TCP transport, you may want to try the following command:
- debug ip tcp transaction
For CUCM troubleshooting and trace analysis, you need to install the Real-Time Monitoring Tool. You can download it from Unified CM Administration → Application -> Plugins.