---
title: Connect Cisco CUBE to TelecomsXchange
url: https://help.telecomsxchange.com/integrations/cisco-cube/
audience: Integrations
summary: On CUBE, add an outbound dial-peer to dns:sip01.telecomsxchange.com:5060
  over UDP with a translation profile that replaces + or 00 with the tech prefix,
  and authorise CUBE's public IP or add authentication username VOIP_LOGIN on the
  dial-peer. Trust 174.136.44.213, match it with voice class uri and incoming uri
  via, and route those calls to CUCM.
updated: '2026-10-23'
verified_commit: 83b4ebc96d0081a25213776d5a8871bd04941125
---

# Connect Cisco CUBE to TelecomsXchange

> On CUBE, add an outbound dial-peer to dns:sip01.telecomsxchange.com:5060 over UDP with a translation profile that replaces + or 00 with the tech prefix, and authorise CUBE's public IP or add authentication username VOIP_LOGIN on the dial-peer. Trust 174.136.44.213, match it with voice class uri and incoming uri via, and route those calls to CUCM.

## CUCM through CUBE to a purchased route

1. **CUCM**: Route pattern to the CUBE SIP trunk
2. **Cisco CUBE** (via `+447700900123`): Dial-peer with translation profile
3. **TelecomsXchange** (via `80039#447700900123`): sip01, UDP 5060
4. **Seller's route**: The route you purchased

This guide connects Cisco Unified Communications Manager (CUCM) to TelecomsXchange through a Cisco Unified Border Element (CUBE) on IOS XE: CUCM sends calls to CUBE, CUBE rewrites the number and sends it to a purchased route, and calls from TelecomsXchange come back through CUBE to CUCM. For the full list of TelecomsXchange values, see [Connect a SIP platform](https://help.telecomsxchange.com/integrations/connect-sip-platforms/).

!!! warning
    TelecomsXchange does not accept SIP REGISTER. Don't add a `registrar` or `credentials` line for it under `sip-ua`. CUBE is recognised by its **source IP** or by **digest authentication on the INVITE**.

## Before you start

- A [SIP account](https://help.telecomsxchange.com/buyers/create-your-first-account/) with CUBE's public IP, for example `203.0.113.10`, or a VoIP login and password from **Edit Account → Add SIP Digest Auth**. In this guide `VOIP_LOGIN` and `VOIP_PASSWORD` stand for them.
- A [purchased route](https://help.telecomsxchange.com/buyers/find-and-buy-routes/) and its tech prefix from **My Interconnections**, for example `80039#`. In this guide `TECH_PREFIX` stands for that value.
- A CUBE-licensed router on IOS XE (ISR 1000, ISR 4000, Catalyst 8000 or CSR 1000v/Catalyst 8000V) with a public interface, here `GigabitEthernet0/0/0`, and an internal interface towards CUCM, here `GigabitEthernet0/0/1`. The CUCM node in the examples is `10.1.1.10`.
- To sell: a [route](https://help.telecomsxchange.com/sellers/add-your-first-route/) with **IP Address:Port** set to CUBE, for example `203.0.113.10:5060`, and the values in [Interconnect Info](https://help.telecomsxchange.com/sellers/interconnect-info/).

## How do I send calls to TelecomsXchange?

1. Set the global voice settings. The trusted list is CUBE's toll-fraud protection: it only accepts SIP from addresses listed here.

```text
voice service voip
 ip address trusted list
  ipv4 174.136.44.213 255.255.255.255
  ipv4 10.1.1.10 255.255.255.255
 allow-connections sip to sip
 sip
  early-offer forced
!
voice class codec 1
 codec preference 1 g729r8
 codec preference 2 g711ulaw
 codec preference 3 g711alaw
```

TelecomsXchange passes codecs through without transcoding, so list the codecs your route supports (as in the Purchased Route Confirmation email).

2. Add the translation rule that turns the E.164 number into `TECH_PREFIX` + number. Each rule replaces a leading `+` or `00` with the tech prefix:

```text
voice translation-rule 100
 rule 1 /^\+/ /80039#/
 rule 2 /^00/ /80039#/
!
voice translation-profile TCXC-OUT
 translate called 100
```

Check it before you use it. The output should show `80039#447700900123`:

```text
test voice translation-rule 100 +447700900123
```

3. Add the outbound dial-peer to TelecomsXchange. It matches E.164 numbers from CUCM (`\+T`), applies the translation after it's selected, and sends the INVITE to sip01 over UDP:

```text
dial-peer voice 100 voip
 description Outbound to TelecomsXchange
 destination-pattern \+T
 session protocol sipv2
 session target dns:sip01.telecomsxchange.com:5060
 session transport udp
 translation-profile outgoing TCXC-OUT
 voice-class codec 1
 voice-class sip bind control source-interface GigabitEthernet0/0/0
 voice-class sip bind media source-interface GigabitEthernet0/0/0
 dtmf-relay rtp-nte
 no vad
```

If CUCM sends international numbers with `00` instead of `+`, change the destination pattern to `00T`. Don't add `voice-class sip options-keepalive` to this dial-peer: TelecomsXchange answers OPTIONS only within a call.

**Digest variant.** If CUBE sends from an IP that isn't on the account, add the VoIP login and password to the dial-peer. CUBE answers TelecomsXchange's 401 or 407 challenge with them; the challenge realm is `174.136.44.213`:

```text
dial-peer voice 100 voip
 authentication username VOIP_LOGIN password 0 VOIP_PASSWORD realm 174.136.44.213
```

On older releases without per-dial-peer authentication, put the same `authentication username ... password 0 ... realm 174.136.44.213` line under `sip-ua` instead.

!!! tip
    To pick routes per destination, add one dial-peer and translation rule per route, for example `destination-pattern \+44T` with `rule 1 /^\+/ /80039#/`, and a catch-all dial-peer with a [routing group](https://help.telecomsxchange.com/buyers/routing-groups-and-route-testing/) prefix such as `444101#`.

4. Add the inbound dial-peer for calls from CUCM, so CUBE applies the right settings on that leg:

```text
voice class uri CUCM sip
 host ipv4:10.1.1.10
!
dial-peer voice 110 voip
 description Inbound from CUCM
 session protocol sipv2
 incoming uri via CUCM
 voice-class codec 1
 voice-class sip bind control source-interface GigabitEthernet0/0/1
 voice-class sip bind media source-interface GigabitEthernet0/0/1
 dtmf-relay rtp-nte
 no vad
```

5. In CUCM Administration, point calls at CUBE:
   - **Device → Trunk → Add New**, type **SIP Trunk**, with **Destination Address** `10.1.1.20` (CUBE's inside address) and port `5060`.
   - **Call Routing → Route/Hunt → Route Pattern**: add `\+!` (or `00!` if your dial plan isn't globalised) pointing at the CUBE trunk or a route list containing it.
   - Send the called number as E.164 with `+`, so it matches `destination-pattern \+T` on CUBE.

## How do I receive calls from TelecomsXchange?

Calls on routes you sell, and on numbers you bought, come from `174.136.44.213` over UDP, from source ports 5060 to 5072, with the number in E.164 format without `+`, such as `14165551234`.

1. Allow `174.136.44.213` on any firewall or ACL in front of CUBE for UDP 5060 and the RTP range (CUBE uses UDP 8000 to 48198 by default). `174.136.44.213` is already in the trusted list from step 1.
2. Match TelecomsXchange with a URI class on the Via header, and send those calls to CUCM:

```text
voice class uri TCXC sip
 host ipv4:174.136.44.213
!
dial-peer voice 200 voip
 description Inbound from TelecomsXchange
 session protocol sipv2
 incoming uri via TCXC
 voice-class codec 1
 voice-class sip bind control source-interface GigabitEthernet0/0/0
 voice-class sip bind media source-interface GigabitEthernet0/0/0
 dtmf-relay rtp-nte
 no vad
!
dial-peer voice 210 voip
 description Outbound to CUCM
 destination-pattern [1-9]T
 session protocol sipv2
 session target ipv4:10.1.1.10:5060
 session transport udp
 voice-class codec 1
 voice-class sip bind control source-interface GigabitEthernet0/0/1
 voice-class sip bind media source-interface GigabitEthernet0/0/1
 dtmf-relay rtp-nte
 no vad
```

3. On the CUCM SIP trunk to CUBE, set the **Calling Search Space** for inbound calls to one that reaches your directory numbers, and use **Significant Digits** or a called-party transformation to map `14165551234` to the extension. If your route has an **Outgoing Prefix** or strips digits (**Edit Route → Outgoing Number Translation Parameters**), match the number in that format.

!!! warning
    Keep `174.136.44.213` and your CUCM nodes as the only entries in `ip address trusted list`. Calls from any other address are rejected before they reach a dial-peer, which stops toll fraud on CUBE's public interface.

## How do I receive calls on numbers I bought?

Set the number's **SIP Endpoint (Primary)** in **DID Settings** to CUBE, for example `sip:14165551234@203.0.113.10:5060`. TelecomsXchange sends the INVITE from `174.136.44.213`, dial-peer 200 matches it, and dial-peer 210 sends it to CUCM.

## How do I test it?

1. Turn on SIP debugging: `debug ccsip messages` (with `terminal monitor` on an SSH session). Add `debug voice translation` to see the rewrite.
2. Place a call from a CUCM phone to `+447700900123`.
3. In the debug, look for the INVITE to `80039#447700900123` (or `80039%23447700900123`) and the reply. `show call active voice brief` shows the call legs and the dial-peers used; `show dial-peer voice summary` shows whether dial-peer 100 is up.
4. In the TelecomsXchange portal, watch the call in **Live Calls** and find its SIP code in **Logs → CDR (Voice)**. Turn debugging off with `undebug all`.

## What if something goes wrong?

| You see | What to do |
|---|---|
| 401 or 407 repeated, then the call fails | CUBE isn't answering the challenge. Add `authentication username VOIP_LOGIN password 0 VOIP_PASSWORD realm 174.136.44.213` to the dial-peer and check the login on **Edit Account**. |
| 403 Forbidden | CUBE's public IP isn't authorised and no credentials were sent. Compare the source IP in the debug with the account's **IP Address** and **Additional Allowed IPs**; check the account isn't blocked or out of balance. |
| 404 Not Found | Missing or wrong tech prefix. Run `test voice translation-rule 100 +447700900123`, and check `translation-profile outgoing TCXC-OUT` is on dial-peer 100. |
| 408 Request Timeout | No reply from sip01. Check outbound UDP 5060 and that the router resolves the name (`ip name-server` and `ip domain lookup`). |
| 503 Service Unavailable | The route is blocked or failed on the seller's side. Check **My Interconnections**; try another route or a routing group. |
| One-way or no audio | Media isn't bound to the public interface, or RTP is blocked. Check `voice-class sip bind media` on both dial-peers and the RTP range on the firewall. |
| Inbound calls rejected with 403 | `174.136.44.213` isn't in `ip address trusted list`. |
| Inbound call matches the wrong dial-peer | Check `show voice class uri TCXC` and that dial-peer 200 has `incoming uri via TCXC`; the default dial-peer 0 doesn't apply your codec and DTMF settings. |

## References

- [Cisco: CUBE configuration guide](https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube/configuration/cube-book.html)
- [Cisco: Number translation using voice translation profiles](https://www.cisco.com/c/en/us/support/docs/voice/call-routing-dial-plans/64020-number-voice-translation-profiles.html)
- [Cisco: Voice translation rules](https://www.cisco.com/c/en/us/support/docs/voice/call-routing-dial-plans/61083-voice-transla-rules.html)
- [Cisco: CUBE configuration guide, Configure Dial Peers (IOS XE 17.6 onwards)](https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/voice/cube/ios-xe/config/ios-xe-book/m_cube-dp.html)

## Frequently asked questions

**Q: Can CUBE register to TelecomsXchange?**

A: No. TelecomsXchange is peering only and does not accept REGISTER, so don't configure credentials or a registrar under sip-ua for it. CUBE is recognised by its source IP, or by answering the digest challenge with authentication username on the dial-peer.

**Q: Does CUBE send the # as %23?**

A: It may. TelecomsXchange accepts the tech prefix either way: it decodes %23 back to # before matching the prefix.

**Q: Do I need SIP OPTIONS keepalive on the dial-peer?**

A: No. TelecomsXchange answers OPTIONS only within a call, so leave voice-class sip options-keepalive off the TelecomsXchange dial-peer or CUBE will mark it busied out.

**Q: Does TelecomsXchange support TLS or SRTP to CUBE?**

A: No. TelecomsXchange uses SIP over UDP with RTP. Keep TLS and SRTP on the CUCM side of CUBE if you need them, and use UDP and RTP towards TelecomsXchange.
