How to connect Restcomm to 300+ Voice carriers in Minutes ?

One API, 300+ Service Providers !

In this tutorial, I will show you how to connect your Restcomm Cloud to over 300 voice carriers around the world in just minutes !

You’ll be terminating voice calls directly to operators and tier1, tier2, tier3 carriers around the world at wholesale prices regardless of your current traffic volumes, after this tutorial you’ll be able to instantly pass up to 60% in cost savings for every call you terminate from now on using Restcomm Cloud “The only Full Stack CPaaS” and TelecomsXChange for carrier connectivity.

Before we start, Why Restcomm ?

Restcomm. The Only Full Stack CPaaS

What constitutes a Full Stack CPaaS? A CPaaS is a cloud communications platform that provides APIs to build real-time voice, video and messaging applications. A few CPaaS products also provide WebRTC mobile and web SDKs as well. Anything less than this does not qualify for Full Stack CPaaS

Restcomm Cloud is the commercial cloud-hosted offering of the Restcomm Open Source platform. It gives you a good way to try out some of the Restcomm features, without manually deploying and configuring everything yourself. You can sign up here.

After evaluating many CPaaS solutions out there, we instantly realized that Restcomm is an industry leader in CPaaS enablement and thats why we chose to endorse it.

TelecomsXChange

TelecomsXChange provides instant and transparent access to voice carriers around the world, you can instantly terminate calls at wholesale prices on Tier 1, Tier 2, Tier3 networks without paying any commission or markup for utilizing those routes, the platform covers everything from real-time billing to rate changes notifications and much more. all of this in exchange for a monthly membership fee buyers enjoy wholesale pricing from all carriers and no minimum volumes or revenues to get the best deal, our market study shows 60% less cost when terminating via TelecomsXChange vs. Twilio, Nexmo, Plivo and other popular CPaaS providers.

Enough intro talk and lets dive right into it !

If you’re not a reader you can watch below quick video tutorial or continue reading:

In order to be able to send calls from Restcomm Cloud to TelecomsXChange you’ll need both Restcomm Cloud Account and TelecomsXChange buyer account sign up for a buyer account here.

First you’ll need to login to your Restcomm Cloud account and click on Configure BYOC

Second you’ll need to select [Voice] from the termination options and fill TelecomsXChange IP information as shown below

Once you receive a notification from Restcomm cloud that your BYOC configuration ready for use, you can now head to TelecomsXChange Portalto allow Restcomm Cloud to send traffic via TelecomsXChange to termination carriers.

Third, login as a buyer in TelecomsXChange Portal and click on Accounts menu option

Now click on Add New to whitelist your Restcomm IP-Address on TelecomsXChange:

Finally you will need to subscribe to Termination providers (e.g TATA, AirTel, Verizon, IDT etc..) each carrier you subscribe (purchase route) you’ll receive an email notification with Tech Prefix to use in order to route the calls to, e.g TATA Tech prefix is 32270# while AirTel is 73297#, don’t worry we’ll come back to tech prefix in few minutes.

Subscribing to carrier’s routes is very simple, for example this blog post shows you how to subscribe to AirTel , once your done subscribing you’ll be able to send calls to AirTel immediately from your Restcomm Cloud.

Initiating Calls (Restcomm API):

Get your account SID and account token from Restcomm Cloud Portal:

now as per Restcomm Voice API documentation, to initiate voice calls via API, use below template and replace your account Sid and Token from the ones you have retrieved from your Restcomm Account.

curl -X POST https://<your account sid>:<your account token>@cloud.restcomm.com/restcomm/2012–04–24/Accounts/<your account sid>/Calls.json -d “From=%2b19542405000.” -d “To=73297%2319541235001” -d “Url=your RVD App URL that will be executed when call is made”

As we discussed before TelecomsXChange requires a special tech prefix to know which carrier to route the calls to, at this moment we’ll be using AirTel to terminate the call which requires us to send a tech prefix 73297# before the country code and telephone number, so to achieve that in the To parameter , we have to enter To=73297%23‭ which equals to 73297# , so if we’re calling 195412350000 it’ll look like this:

To is the number we’re dialing to)

To=73297%2319541235001.

From is the number we’re dialing from “Caller ID” The %2b represents the + sign before the number)

From=%2b19542405000.

The complete API request will look like this now:

curl -X POST https://ACcc38b3e0fcf3d2654cd73e210f542233ce:13dd0e03b368f49586428e7a5a3sc49a@cloud.restcomm.com/restcomm/2012-04-24/Accounts/ACcc38b3e0fcf3d2654cd73e210f5477ce/Calls.json -d “From=%2b19542405000” -d “To=73297%2319541235001” -d “Url=https://cloud.restcomm.com/restcomm-rvd/services/apps/AP1c9836a2f3d04e72a74f1e277d232e42/controller”

If you execute the API call, the call is now routed via TelecomsXChange to AirTel, if you want to switch calls instantly to another carrier for whatever reason you just need to change the Tech Prefix before the telephone number, e.g to send the same call to TATA instead of Airtel the To field will look like this“To=32270%2319541235001”.

You have just re-routed traffic from one carrier to another right from your code

, You can now build your own routing policies and logic right from your text editor.

if you still have balance with Twilio or like their rates to a specific destination you can still route traffic to Twilio via TelecomsXChange using the Tech prefix 32123#, “To=32123%2319541235001”.

If you have any questions on how to use RestcommOne with TelecomsXChange please email support@telecomsxchange.com for instant support.

--

--

--

Telecom Entrepreneur, Open Source Believer, CPaaS Evangelist — CTO @TelecomsXChange

Love podcasts or audiobooks? Learn on the go with our new app.

Multiple YAML defaults in Rails fixtures

Points Tracker Project

How to generate a UPC-A barcode as a PNG file in Java

Simple Display of Open Source License Info?

Summary of my understanding of Elasticsearch

AWS BugBust, bug fixing in the age of GameFi

Image Processing API: Compare two Images for Similarity with Java

Scraping with Python And Beautiful Soup for Live Prices

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Ameed Jamous

Ameed Jamous

Telecom Entrepreneur, Open Source Believer, CPaaS Evangelist — CTO @TelecomsXChange

More from Medium

Docker Compose :From local to AMAZON ECS

Simple App to fetch IP Address

Oracle Cloud Developer Solutions: HCM Cloud PaaS Extension

Application Frameworks Blog ( Maven&SpringBoot)