TringMe Conversations (Phweet, Aircell & TringMe Traffic Patterns)
Posted on August 26, 2008
Filed Under API, Disclosure
Since the launch of Aircell’s inflight WiFi service, one thing that’s getting discussed most is the ability to do VoIP when flying in the clouds (GigaOM, SkypeJournal, Andy, etc). Aircell had stated that it will not allow VoIP and that was good enough a reason for folks to see one could get around it. As Andy and others have noted, they were able to use Phweet to make a call. Phweet is a mashup that’s built on TringMe’s flash technology and it was TringMe’s widget that got past the Aircell’s in-flight service .
Same discussion was carried out earlier today during a Alec’s squawkbox. Dan York wrote a lengthy post analyzing TringMe’s traffic pattern. While all VoIP gurus have already provided a good information on traffic patterns of TringMe, here is the insight directly from TringMe designers for the benefit of the community:
TringMe uses TCP and it was a conscious decision. We developed a sophisticated congestion control and packet handling algorithms which allowed us to achieve the advantage of UDP over a reliable TCP connection at good extent. As Dan and others would have noticed, we send traffic in varying small and larger blocks depending on network conditions which is way different from a typical VoIP traffic patterns. This kind of pattern was not meant to break any VoIP blockages, however the goal was to get the best quality even on slower or congested links & we were able to meet the design goal successfully.
While we understand that TCP has its own overheads, a right algorithm can get the most juice out of it (sliding window is an example). We cater to Worldwide users calling from different networks and speed, using different technology (PPP, DSL, satellite etc), different MTU etc. TCP is better suited for such varied condition than UDP despite of its overhead. On today’s faster links - overhead can be ignored easily. On slower links, TCP stands out due to reliability and less retransmission and hence relatively better clarity.
As Andy Abrahamson pointed out in Alec’s Squawkbox call, TringMe’s quality was even better than Vonage which further validates our decision and algorithms. As you may already know, we are not alone in using TCP as there are companies like Yahoo which uses VoIP over TCP.
There are other reasons for using TCP like security (TLS) but we will share more details on it in future once we have released new updates which leverage those capabilities.
NAT is another reason where TCP has edge. As mentioned, this was a design goal of TringMe and our users or developers do not have to worry about NAT traversal or firewall when using TringMe Flash Client or API. TringMe’s design takes care of it beautifully. TringMe is NAT free.
In passing, please note that TringMe supports SIP and can interact with IAX2. As a matter of fact, we interconnect to various protocol including SIP, IAX2, Jingle, Skype (in lab) etc.
What TringMe offers to developers?
Phweet is a brilliant example of how a disruptive application was created using TringMe. Given TringMe’s platform capabilities, various innovative apps, mashups can be built. Whether you want to build a Web 2.0 application or a mashup that integrates voice or telephony from a PC or a phone, online or offline, TringMe can support all of that and more.
Whether you are a VoIP expert and need a specific codec or all you care about is a high quality voice, TringMe supports it all. Whether you have a billing backend or you want to not deal with it, TringMe can be used in either modes.
TringMe brings Voice 2.0 to you - All that matters now is the way you can use it.
Comments
4 Responses to “TringMe Conversations (Phweet, Aircell & TringMe Traffic Patterns)”
Leave a Reply
[…] more @ TringMe blog […]
[…] - Dan York tells us why you can use Phweet when Skype is blocked and TringMe’s CEO Yusuf Motivala shares more about Tringme’s traffic […]
[…] folks at Tringme posted “TringMe Conversations (Phweet, Aircell & TringMe Traffic Patterns)” which includes this interesting part (my emphasis added): TringMe uses TCP and it was a […]
Thanks for your kind words and links and for providing the further details on your algorithms. It’s definitely interesting to hear about what you all are doing in pursuit of high quality voice calls. Thanks for sharing.
I have one minor question about your post. Correct me if I’m wrong but doesn’t the fact that you work through NATs have less to do with your use of TCP then it does with the fact that you initiate and nail up an *outbound* connection from the TringMe client to whatever server it is connected to?
NAT boxes certainly do translate TCP sessions just as they do UDP. And NAT boxes with a firewall component can just as easily block TCP as they can UDP. However, most of them will allow an outbound connection to be established to an external server which is what you are doing.
Just curious. Thanks again for your description of how the TringMe client works.
Dan