Against The Tides: FonB Mobile Goes IAX

There was a time when people relied only on PSTN Lines in order to communicate with their distant loved ones. Today, things have changed. Though we can still have PSTN lines, they are seldom used in personal communications. Smartphones in our pockets, IP Phones on our desks, tablets and laptops in our backpacks have transformed us into a different communication era. Network Admins are forced now to adapt BYOD practices to enhance corporate productivities. It’s become almost mandatory to provide a mobile version of your application in order to provide your users with more flexible usage choices. Putting this vital requirement into consideration, it was part of our vision to provide our users access and availability of FonB at every device.

The development of FonB Mobile started four months ago. Our aim was to provide all the functionalities of FonB web right on your Android and iOS powered devices. The roadmap of mobile development was pretty obvious except one phase - Signalling Protocol. At the beginning, we planned to use SIP, a traditional VoIP signalling protocol and natural choice in most of the cases. We all know that SIP is one of the best signalling protocol and works almost everywhere. However, one complication with SIP is it’s deployment in NATed environment.

At protocol level, SIP doesn't provide any inbuilt support for Network Address Translation. This means that native SIP, without any external feature used by Server or Client side, won’t be able to handle NAT scenarios. External Protocols like STUN, TURN & ICE etc. are used to make SIP smooth and operational in NATed environment. In some cases, user end might have to induce port forwarding techniques on their Gateway Firewalls.

Although It’s not that complicated for technical users, we believe in keeping non technical user in mind while developing. So instead of embedding SIP protocol and asking our end users to configure SIP with NAT, we came up with the use of IAX as an alternative that suited us in such scenarios.The Usage of IAX incorporates NAT within the protocol definition itself and handles it natively without any external tool. This was an unpaved road for us especially the implementation & optimization of IAX library in iOS. This tough task however bears fruits for our users, for their will be no complex configuration in the application level for NAT traversal. Another advantage of IAX is the bandwidth & network optimization. While NAT configuration becomes complicated as SIP has to work with RTP on different ports, IAX carries data and signal both on same port. This kills any possible chances of mismatched ports and thus delivers smooth configuration-less installation on mobile devices.

So, in a nutshell.. we have replaced SIP signalling with IAX to facilitate our average users. We are currently polishing FonB mobile. Stay tuned to the news and updates and we will greet you back soon.