Help Center
All integration guides

Connect 3CX to TelecomsXchange

Guide 10 of 285-minute readUpdated 23 October 2026

In short: In 3CX V20, add a Generic SIP Trunk pointing at sip01.telecomsxchange.com port 5060 with authentication set to Do not require (IP based), and authorise 3CX's public IP on your TelecomsXchange account. Add an outbound rule that strips + or 00 and prepends the route's tech prefix, so calls leave as 80039#447700900123.

3CX to a purchased route
  1. Your 3CXGeneric SIP trunk, IP based, no registration
  2. then, 80039#447700900123, TelecomsXchangesip01, UDP 5060
  3. Seller's routeThe route you purchased
On this page
  1. Before you start
  2. How do I send calls to TelecomsXchange?
  3. How do I receive calls from TelecomsXchange?
  4. How do I receive calls on numbers I bought?
  5. How do I test it?
  6. What if something goes wrong?
  7. References
  8. Common questions

This guide connects 3CX V20 to TelecomsXchange with a generic SIP trunk: outbound calls to a purchased route, and inbound calls on numbers you bought or routes you sell. For the full list of TelecomsXchange values, see Connect a SIP platform.

Warning

TelecomsXchange does not accept SIP REGISTER. Don't pick Register/Account based authentication on the trunk. 3CX is recognised by its source IP, so set authentication to Do not require (IP based).

Before you start#

  • A SIP account with 3CX's public IP, for example 203.0.113.10, in IP Address or Additional Allowed IPs.
  • A purchased route and its tech prefix from My Interconnections, for example 80039#. In this guide TECH_PREFIX stands for that value.
  • 3CX V20 with a static public IP (or a fixed NAT address) and a licence that allows a generic SIP trunk.
  • To receive calls on numbers you bought: a phone number whose SIP endpoint points at 3CX, for example sip:14165551234@203.0.113.10:5060.

How do I send calls to TelecomsXchange?#

  1. In the 3CX Admin Console, go to Voice & Chat and click Add Trunk. Choose the Generic country and Generic SIP Trunk as the provider, enter a Main Trunk No (any number you will present, for example one you bought), and click OK.
  2. On the trunk's General tab, enter:
Field Value
Name TelecomsXchange
Registrar/Server/Gateway Hostname or IP sip01.telecomsxchange.com
Port 5060
Outbound Proxy Leave empty
Type of Authentication Do not require (IP based)
Authentication ID / Password Leave empty, or any placeholder if the form requires a value
Number of SIM calls The number of concurrent calls you expect
  1. Under the trunk's options, keep the codecs your route supports (G.729 and G.711, as listed in the Purchased Route Confirmation email). TelecomsXchange doesn't transcode, so the route and 3CX must share a codec. Save the trunk.
  2. Go to Outbound Rules and click Add. Create one rule for numbers dialled with 00 and one for numbers dialled with +:
Field Rule for 00 Rule for +
Rule Name TCXC 00 TCXC plus
Calls to numbers starting with prefix 00 +
Calls from extension(s) The extensions or groups allowed to call out Same
Route 1 The TelecomsXchange trunk Same
Strip Digits 2 1
Prepend 80039# (your TECH_PREFIX) 80039#

With these rules, a user who dials 00447700900123 or +447700900123 sends 80039#447700900123 to TelecomsXchange. 3CX may write the # as %23 in the Request-URI; TelecomsXchange decodes it.

  1. Move the rules above any other rule that matches the same numbers. 3CX checks outbound rules from the top and uses the first match.

Tip

To send different destinations to different routes, add one rule per destination prefix (for example 0044) with that route's tech prefix in Prepend. Or prepend a routing group prefix such as 444101# and let TelecomsXchange choose the route.

3CX records the number after Prepend, so call history and reports show 80039#447700900123. That is cosmetic: the call is routed correctly.

How do I receive calls from TelecomsXchange?#

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

  1. Allow 174.136.44.213 on the firewall in front of 3CX for UDP 5060, and forward the 3CX RTP range (by default UDP 9000 to 10999) to 3CX.
  2. 3CX matches an incoming INVITE to a trunk by comparing its source IP with the trunk's host. sip01.telecomsxchange.com resolves to 174.136.44.213, so calls from TelecomsXchange land on the TelecomsXchange trunk. If they don't, enter 174.136.44.213 as the trunk's Registrar/Server/Gateway Hostname or IP.
  3. On the trunk's DIDs tab, add each number TelecomsXchange delivers, in the E.164 format it arrives in, for example 14165551234.
  4. Assign each DID to its destination: a user, a ring group, a queue or an IVR, in that object's DID settings. In V20 there is no separate inbound rules page; the DID is routed by the object it's assigned to, and unassigned DIDs follow the trunk's default route.

3CX is a PBX, not a softswitch. As a seller, it can terminate calls to its own users and numbers, but it isn't designed to carry wholesale transit traffic on to another carrier.

How do I receive calls on numbers I bought?#

Set the number's SIP Endpoint (Primary) in DID Settings to 3CX, for example sip:14165551234@203.0.113.10:5060. TelecomsXchange sends the INVITE from 174.136.44.213 with 14165551234 in the Request-URI, which 3CX matches against the trunk's DIDs tab.

How do I test it?#

  1. Place a call from a 3CX extension to an international number covered by the route, for example 00447700900123.
  2. In the Admin Console, open Advanced → Activity Log and look for the call: the outbound rule that matched, the trunk it used and the SIP reply.
  3. For the full SIP exchange, run a capture from Advanced → Troubleshooting (or tcpdump -n -i any udp port 5060 on a Linux install) and look for the INVITE to 80039#447700900123 (or 80039%23447700900123).
  4. In the TelecomsXchange portal, watch the call in Live Calls and find its SIP code in Logs → CDR (Voice).

What if something goes wrong?#

You see What to do
401 or 407 from TelecomsXchange, then the call fails 3CX's source IP isn't authorised, so TelecomsXchange asks for credentials. Add 3CX's public IP to the account's IP Address or Additional Allowed IPs.
403 Forbidden The source IP isn't authorised. Compare the public IP in your capture with the account; check the account isn't blocked or out of balance.
404 Not Found Missing or wrong tech prefix, or +/00 left in the number. Check Strip Digits and Prepend on the outbound rule and the Request-URI in the capture.
408 Request Timeout No reply from sip01. Check outbound UDP 5060 on your firewall and that 3CX resolves sip01.telecomsxchange.com.
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 3CX's public IP is wrong in its network settings, or the RTP range isn't forwarded. Check the public IP 3CX advertises and open UDP 9000 to 10999.
Inbound calls rejected with 407 3CX didn't match the call to the trunk, so it challenged it; TelecomsXchange doesn't answer challenges. Set the trunk host to 174.136.44.213 and check the firewall.
Inbound call arrives but goes nowhere The number isn't on the trunk's DIDs tab in the format it arrives in, or the DID isn't assigned to a destination.

References#

Common questions

Can 3CX register to TelecomsXchange?

No. TelecomsXchange is peering only and does not accept REGISTER. Set the trunk's authentication to Do not require (IP based); the Register/Account based option makes 3CX send REGISTER, which TelecomsXchange rejects.

Can 3CX use the VoIP login and password instead of its IP?

Use IP authentication with 3CX. Its IP-based trunk type is built for providers that recognise the PBX by source IP, and the account-based type registers. If 3CX's public IP changes, add the new one under Additional Allowed IPs.

Why do my call logs show the tech prefix?

3CX applies the outbound rule's Prepend before the call is logged, so call history shows 80039#447700900123. It's cosmetic; the call is routed correctly.

Which 3CX edition do I need?

Generic, non-template SIP trunks are limited on some 3CX editions. Check that your licence allows a generic SIP trunk before you start.

Can 3CX register to TelecomsXchange?
No. TelecomsXchange is peering only and does not accept REGISTER. Set the trunk's authentication to Do not require (IP based); the Register/Account based option makes 3CX send REGISTER, which TelecomsXchange rejects.
Can 3CX use the VoIP login and password instead of its IP?
Use IP authentication with 3CX. Its IP-based trunk type is built for providers that recognise the PBX by source IP, and the account-based type registers. If 3CX's public IP changes, add the new one under Additional Allowed IPs.
Why do my call logs show the tech prefix?
3CX applies the outbound rule's Prepend before the call is logged, so call history shows 80039#447700900123. It's cosmetic; the call is routed correctly.
Which 3CX edition do I need?
Generic, non-template SIP trunks are limited on some 3CX editions. Check that your licence allows a generic SIP trunk before you start.