PSTNgine – An Open-Platform PSTN Alternative
One of the items that has long perplexed me in our industry is the stranglehold the carriers have on the market. In many market’s there is only one reasonable option for service and they all work in what feels like an archaic fashion. For instance, I’ve always found the idea of porting numbers between carriers to be strange and that I should be able to own my number and do what I please with it.
I’ve always thought there was big innovation to be had in this space. With the telecommunications market consolidation the past 15 years, they can charge whatever they want for what is essentially internet traffic. We have seen cord-cutting of cable providers in mass, and the PSTN will be next.
Last year, I had some long sleepless nights and I started building a small prototype of something I have been calling PSTNgine. It is powered by SIP and it’s more of a self-registration and ownership platform that lives in the public cloud. It works off current E.164 numbers and provides an alternative path home for the same numbers. Think of it like DNS for public phone numbers.
The general concept is the more companies and individuals who join the network, the more power the carrier loses over the PSTN. The apps and integration points integrate with the traditional PSTN making it seamless for users to adopt with no downside.
I’m sure the first question your asking is, “Why would I even want this?”.
Lucky for you. I’ve compiled a short list of reasons which by no means represents every use case of the platform.
- Flexibility: You own your numbers and what happens to them, there is no more ‘porting’ you just point your numbers to the IP address or endpoint you want, when you want. Think of it like an Open-Source PSTN or a DNS system for PSTN numbers.
- Ease of use: Our mobile apps will let you register any number you can prove you own, including land-lines or small business toll-free, right to your cell phone.
- Cost Savings: Since all traffic is sent over the public internet you’re using the bandwidth you already own, whether that call is going to Asia or a cell phone. We will obviously be charging for this service, but overall, way cheaper than using traditional PSTN for many types of calls such as international or toll-free. As the network grows everyone on it will save more.
- Developer Friendly: Our platform is a full SIP Stack in the cloud including support for registration and WebRTC. This will allow you to harness the PSTN more like a PBX and use our APIs to develop applications that live in the middle of conversations.
- Cloud Apps: Imagine being able to use the full suite of services that were developer for the business user, on your PSTN/Toll-Free number. You’ll be able to power a deep SIP experience with APIs.
- Open Platform: We don’t want to become the next carrier either, we want to build a new type of network, so we’ll offer access to our E.164 registration data for qualified partners who want to integrate into our SIP network. Terms and conditions will apply to prevent maliciousness.
Before you read more about it, see it in action!
I thought the best way to bring all this together was to list out the most important components of the solutions and explain how each of them will be used / implemented.
SIP Core – Proxy
At the heart of PSTNgine is farm of SIP proxies which obviously may need to grow or adapt over-time but for this first couple million users will do just fine. Enough to prove the concept works. The general idea is simple you can send any E164 number to us by shooting a call to @proxy.pstngine.com (ie. +email@example.com) and we will try and get it home for you. If we can’t, you will get a 404 like normal.
A requirement for the enterprise customers is that you must have a public termination point for SIP and RTP. This would be a Proxy or Gateway that has a public IP address or in Cisco, an expressway. Our service lives in the public internet and we expect your on-ramp to be public.
Our SIP registration platform does support NAT if your equipment is configured properly. We can help you determine this and easily give you free testing endpoints. 95% of NAT devices will work fine with no changes to routers.
Phone Number Registration
Anyone can stand up a SIP proxy but the trick here was making it scale and be manageable. At the core of this is a DNS like database that takes an E.164 number and figures out what IP to send the request to (and if any translations should be applied). For example when you call +firstname.lastname@example.org, it will eventually make its way home to email@example.com. The default without a translation would be +19802180991@. Your domain is defined at an organizational level in PSTNgine.
If you call my cell phone, +firstname.lastname@example.org you will eventually make it to my iPhone app running call kit. It’s a native IOS, nice experience. We will of course release a similar Android app.
Once you build an account on our site you can register numbers or ranges of numbers with some two-factor like auth. (We dial the numbers you put in and you enter in the code we tell you, to confirm you own it). For large enterprises, it will be easier to provide us with billing records from your carriers. We will configure it all per your requests and then give you access to your portal for management.
The unique opportunity here is for a Cisco PBX for example there is a single integration point to bring your entire network of phones and DID’s onto our network and enabling least-cost routing with out entire network of users. Let’s walk through it with Cisco.
Pre-Requisites with Cisco:
- Communications Manager.
- Register your egress/ingress point with PSTNgine.
- DNS records for your endpoints (if using DNS).
Inbound: For any DID you own you will receive requests to your expressway in the format of @<yourdomain/ip>. It’s your job to get those URIs home to your phones just like normal PSTN calls.
Outbound: This is where we do a bit of magic. You’re going to route every single call that would normally go to the carrier to PSTNgine to see if it exists on the network. If we don’t have it we will respond with a 404 and you will go to your normal carrier, here is what that would look like.
- Create a Route Group with the trunk to Expressway.
- Create a Route Group with the trunk to your CUBE/Carrier.
- Create a trunk in your expressway with the creds we have given you.
- Create a translation in Expressway to append @proxy.pstngine.com and fire off the calls to PSTNgine.
- Create a Route List with the Expressway Route Group first, and your normal carrier second.
You may want to lower your SIP Retry timers to 250ms just in case our service ever has an issue, that would make an outage seamless to your users.
Every-time a company joins or a person registers a number, every other user on the network gets seamless access to cheaply calling them. The network will grow exponentially every-time a new business joins.
Mobile / Land Line integrations
At launch, an iOS and Android app will be available that sets your mobile phone up on the network with just a couple clicks. This will allow businesses to easily access their employees on the network as well as allowing any individuals access to the network for least-cost calling.
Businesses adopting this for Toll-Free numbers may see greatly reduced costs as the network grows.
The platform also includes a full SIP Registrar which can support everything from Cisco Phones to WebRTC clients (SIP-WS, such as sip.js library), to our mobile clients. This means if you don’t have your own PBX or are looking to move to IP Phones or to cloud registration, you can use us directly as you voice backend. (Voicemail, transfer, conferencing, IVR, contact center available).
We have brought a few carriers into our network for use on our platform. As our design calls for, our PBX / direct registered users would want access to the traditional PSTN for calling outside of our network. These services will be available for consumptions by our SIP registered users and for businesses who request access because it may be cheaper than their current carriers for some countries.
Security on our platform will work very closely to how firewalls on AWS operate. You will be required to provide us with your public IP addresses and ports for receiving SIP and RTP. We also offer VPN services for customers trying to connect to our cloud more securely or with a private network
Unlike every carrier, our system allows self-provisioning through an easy to use, web interface. This means you can build SIP Trunks or change your firewall settings without the help of us. You can register devices, build WebRTC clients and do mostly everything on the platform yourself.
The one thing that would be very time-consuming would be registering ranges of DID’s. You can register a few manually for testing and we recommend working with us over Email to get large blocks added.
Open Data and APIs
If we are going to change the PSTN game, we can’t set out to be the next carrier. We’ll provide access to the E.164 least-cost routing database through an open access API for other carriers or users who want to build services that are like-minded or work with our service.
API’s for call interactions will be capable on the platform. The including starting SIP sessions and controlling them from the cloud which should allow all types of neat integration. These will be powered by REST calls or Webhooks depending on activity required.
The future of the PSTN and of telecommunications is awesome and its pure cloud. There is just way more bandwidth out there then it takes to make a phone call nowadays. 15 years ago, having all this on your LAN mattered, but I argue it doesn’t anymore.
What this change is doing is breeding incredibly innovative solutions, because supporting the development of cloud solutions is just way more efficient. Support organizations get smaller and dev teams with innovation get bigger. What we’re doing is introducing this to the PSTN, an old archaic industry.
We are still building this out, but as we have, you get a feel that not only is the PSTN outdated, but SIP has much bigger dreams in the cloud, than behind your firewall.
I’d love to get your feedback and would be happy to let you use our cloud to do some least-cost routing or register some devices to do some test calling. We have a Cisco Phone builder for our cloud and Cloverhound has been using the platform for about a month for basic inbound and outbound. Not all of the above plans are implemented yet so things are at best, an early alpha.