Lightweight Telephony
There is a tide in the affairs of men, Which taken at the flood, leads on to fortune
- Brutus, Shakespeare's Julius Caesar
The Pipe and the Service
Whenever a new technology emerges it requires a number of supporting services to help it along.
For cars to become a success, you also required tar roads, affordable gas, car mechanics, etc.
Every new technology brings with it the need for an infrastructure as its delivery channel.
Edison not only invented the light bulb — he had to provide poles and run wires as well.
As the infrastructure becomes commonly available, different sets of players specialize in doing different things. Some make bulbs, others wires, and yet another set of people get onto laying the wires and keeping electricity flowing through them.
Therefore, as the industry matures, different people take on different responsibilities and do them better than any one single organization that does everything. These changes are usually brought in either by a new set of laws or by a newer technology.It appears that we now stand at such a critical time in the business of telephony.
There are two sets of laws and two technological changes that are propelling us towards a new type of telephony.
- Internet is (almost) free
- Significant parts of the wireless spectrum is are being delicensed (e.g. those used by IEEE 802.1x technologies)
- Mobile phones can access the Internet and download software.
- Moore's Law makes these kinds of phones cheaper by the day.
If you thread these four together, it can read as follows: With Phones turning into computers and being able to access the Internet practically for free, the capability to of streaming voice over Internet stares in your face and promises to turn into a bad headache for traditional telephony operators and carriers. This will only get worse with time (point 4).
The more expensive phones (a.k.a. smartphones) already have WiFi and you can download software onto these phones from the Internet. Given that these phones can access the Internet through WiFi access points, telephone companies will eventually not be able to charge more than a small flat- fee for mobile Internet.
As more and more people and their phones become Internet connected, the idea of using VoIP to talk to each other becomes more and more attractive. Bandwidth is continuously increasing, data rates are increasing, CPU power of mobile phones is increasing. All this leads us to the obvious conclusion that VoIP will be how people will talk to each other in the not too distant future (a few years). With voice in the IP domain, new applications and services incorporating it will become an integral part of the internet.
The coming of mobile VoIP will convert the typical mobile phone company into being becoming a wireless ISP. Just as your local ISP is almost never your e-mail provider, neither will your local mobile phone company need to be your voice service provider. The service provider could be Skype or Spokn sitting half-way across the globe while your local mobile phone company provides you with the bandwidth to connect to them. It appears that mobile operators and carriers really don't have a choice. If one company refuses to this model, another one certainly will agree and in the end all of them will have to collectively compete with the fixed Internet provider's charges (accessible in homes and offices through WiFi access points).
This has some potentially drastic implications for the mobile users as well as the service providers.
The All-in-one Communicating Identity.
Before the advent of mobile telephony, phone numbers were associated to places. You remembered a phone number as "My Department", "Alice's house" and "The Bank". Now, you will store them as belonging to people who carry phones with them (even to bed). With the coming of mobile VoIP, the phone number can be the same as the instant messaging ID which can be the same as your e-mail address. You could receive your voice mail in your inbox, or make a phone call to someone's email address.
Almost free global communications.
A VoIP call of three minutes consumes as much bandwidth as checking your yahoo e-mail account. It is not an unreasonable idea thatit should cost as much as an e-mail does. Which is very little, or almost nothing. This is where competition and technology (more about that later) will drive the prices down.
Show your presence.
As bandwidth costs continue their downward spiral, your address book on the phone can become a dynamic, live contact list. A mobile phone can broadcast its user's state to all the contacts in the list. So if you flipped open your phone, you could see that Ram is at the dentist's (ouch!) and Yang is busy at in the his office.
Saying it in many ways
When you notice (on your contacts list) that Ram is at the dentist, it is probably not a good idea time to disturb him with a call or a message. Being the worrying sort, he is sure to jump out of the chair to check the message. So, instead, you decide to send him a push-to-talk message. You press a button and say "Ram, this is me, just to say hi and be brave. Let's have coffee later! I will be in the office, bye". Ram didn't have to move from the chair to listen to your message.
With Yang you can see he is online from a desktop and there is small "busy" sign next to his name. It is best to send him an instant message if you need to remind him that the client is waiting for his call.
These are services with universal appeal. They mark the next generation of Always Communicating networks that will emerge from the shadows of today's primitive and isolated VoIP providers, proprietary instant messaging networks, e-mail providers and tyrannosaurian telcos.
Amazingly, today's phones and computers already have the capability to do this (connect to the Internet, run software installed by the user herself and support sound and graphics).
The Mobile Internet is available on GPRS, EVDO, EDGE, 3G as well as Wifi and WiMax. The data connectivity prices are continuing downwards with pressure from Wifi alternatives.
The great divide has begun. The Pipe will irrevocably separate from the Service.
Where is the technology?
What is the technological challenge in building these networks? Do we already have the technology, or do we need to build something new?
What about Skype?
A few years ago, Skype came out of nowhere and captured the popular imagination. While Skype did nothing new in terms of technology, it was a marvel of outstanding packaging, decent user interface and really excellent "it just works" technology that brought VoIP into the computers of both grandmothers and board chairmen alike. Its rise was meteoric. It has placed Internet telephony into mainstream's discourse.
Can Skype be the network of the future? It could have been the one, but unfortunately it appears to lack some essentials...
The core of the problem is that Skype uses unsuspecting users' computers to relay data between two people behind firewalls. If we knew the protocol used by Skype, most users would probably choose to turn off this "feature". Perhaps more worrying is the prospect that some users could eavesdrop on voice conversations that are being relayed by their computers! Skype has such a large installed base that it does not have the option of scrapping its current network to change this. They appear, therefore, to have no choice but to keep their protocol hidden from others. The Skype network would be completely compromised if their protocol is was made public.
On the other hand, if you think about it, the Web is all about interconnections. One page links to another, and that page to yet another, and so on. Given that Skype's protocol will most likely always remain unknown (as long as it has to survive in its current form) the nerds (that's us!) will not be able to develop any cool services on their own and therefore Skype can never really grow beyond being a single company's proprietary business. Anybody remember AOL?
In summary, it appears difficult for Skype to qualify.
What about SIP?
SIP is a standard protocol that has become the work-horse of the VoIP industry. It is a robust and well thought-through protocol that has some very advanced features. A large number of free and open source programs are available that you can freely use to build SIP networks. Vonage, Free World Dialup, etc. are some examples and almost everybody from Microsoft to Yahoo are building SIP products and services. Despite this momentum, it hasn't really taken off. In fact, we are already seeing a fragmentation of SIP driven by different interested parties. Why did Skype succeed where SIP with all the heavyweights behind it failed to catch-on in popularity?
The answer could be that SIP is designed primarily as a signaling protocol between two telecom operators rather than between two end users. Its fundamental problem is that "Ring", "Answer", "Hangup" type of messages (called "signaling" in telecom parlance) travel over a different path than the actual voice (called "media" in telecom speak). This is quite useful for telcos where calls have to be controlled by the telephone exchange (for billing), but the media can directly flow between the communicating end-points. This "feature" becomes an obstacle in configuring such a service on computers and mobile phones that are behind firewalls (like almost all of us are). Firewalls don't understand that the media arriving at one gate is actually a "friend" of the signal which went out through the other. If you ever tried to get into a party where the invitation cards were with your friend who was already inside the party hall, you know what I am talking about.
SIP also caters to an almost infinite variety of voice formats which causes endless complications in getting two endpoints to agree on a common voice format (called codec) so that the call can proceed. In many cases it just cannot agree on a common codec and the call fails. Usually, configuring a SIP device requires a PhD (preferably from Columbia University!). Now, compare that with how easy it is to use the web browser. You just type in a website's name and off you go. Why couldn't using SIP be as easy as using a browser or at least as easy to use as Skype? Well it isn't, and it won't change anytime soon.
SIP has also bloated into a truly gigantic protocol with hundreds of pages describing just the simple process of setting up a call between two end-points. Messaging and Presence are not even part of basic SIP and are completely separate documents. Understanding and interpreting SIP is now a career. It is not a weekend project. This means very few understand it, fewer implement it and even fewer try to play with it further — reducing the chances of anything exciting ever happening to it.
Something Fresh
It is clear that a new technology foundation is required that not only offers an alternative to ageing protocols like SIP (and xenophobic closed/proprietary networks like Skype) but also caters to the needs of the next generation of VoIP users who could look like this:
- Regular users who just want to download and login. Who don't understand what an "outbound sip proxy" is and what is the choice of "preferred codec" should be.
- As they can e-mail anyone from any e-mail account, so should they be able to call anyone from any account regardless of the network they are on.
- The users should be in control. If they want a feature (like voicemail), they get it by downloading a better VoIP software, not by paying a telephone company for it.
- They should seamlessly be able to move between the desktop and mobile, while changing connectivity at will between various options like GPRS, Wifi, DSL etc.
The Lightweight Telephony Protocol (LTP) was created to address these needs and help build the Always Connected Communications Network.
The New Something
The LTP protocol is an open protocol that anyone can use to build VoIP applications that are easily and quickly configured on all types of Internet devices and computers. All aspects of this protocol including the codecs are freely available to all.
It just works
The LTP software is easily downloaded and requires just a User ID and password to get going. It eliminates issues of complex configuration and traverses NATs and firewalls by design.
Works everywhere
The LTP software has been implemented in Symbian, Pocket PC, Linux, Windows and Mactinosh OS X. It can work on very constrained devices just as well as it works on large Linux clusters.
Voice, Push-to-talk, Instant Messaging, Presence, ...
As opposed to SIP which cannot do instant messaging and presence natively, or Jabber that doesn't include voice, the LTP delivers voice, PTT, instant messaging and presence as a part of the basic service. It can easily expand to deliver video, stock quotes, news, weather — just about any information that changes quickly.
Free and Open
The entire technology of the LTP (including the codecs) is available without restrictive copyrights and patents. The LTP is also available as a cross-platform source code that will work on everything from Microsoft Windows, Pocket PCs, Nokia and Sony Ericsson's Symbian Phones, Linux and Mac OS X. The entire stack is freely downloadable from www.lightweighttelephony.org.
Light on resources
The keyword "lightweight" implies that you don't need to deploy large server farms to run a VoIP service. The VoIP clients distribute most of the work amongst themselves, while the servers only coordinate things between the clients. To exemplify: The Packetcell Networks LTP service clocked 250 million PSTN terminated call minutes out of a single, rented, Dual CPU Pentium Server.
Developer Friendly
It is very easy to create new services and applications with the LTP. A "C" developer has to read a twenty-page LTP protocol documentation, spend an hour or two going through the software APIs, and within a day she is ready to write LTP applications.
How it Works
The LTP protocol is a binary protocol. Which means that it transmits information in a format natively spoken by computers. It entirely eliminates the need for a 'parser' — simplifying the protocol implementation by a magnitude. It also means that the protocol can now get inside very small mobile devices for the developing world and mobile value phones.
In a blink:
- An LTP network consists of an LTP server, one or more LTP relays and maybe millions of LTP clients (ordinary users).
- The clients communicate with each other via relays by sending each other packets containing voice, text, or signalling.
- Each packet contains its own routing information, so the relays are kept simple and don't have to remember anything (also called 'stateless behaviour').
- If a relay goes out of service, the traffic is redistributed among other relays.
- All users are authenticated at the relays by querying the server. Therefore the server only works to authenticate users.
- The users keep 'pinging' each other to update each other's status (peer to peer presence).
The LTP network is designed to be robust, and it borrows the best of the peer-to-peer methodology (like making clients more intelligent, using stateless networks etc.) and centralized networks (like authenticating servers, dedicated and secure relays etc.). The relays are self-healing, very simple applications that consume very little resource. A single server can handle millions of users as it only has to authenticate them once upon each login.
The Business of Free
It is usually a source of great concern for businesspeople when they confront a "free" model. Free usually implies zero-charge in their minds. Whereas "Free" in LTP's context really means the freedom to build any kind of telephony business you want to by just writing code rather than spending money to buy licenses for spectrum, getting telephone number series and hiring armies of programmers. So, what LTP really delivers is this:
- Protect your long term investment by using a technology that is open and therefore easily self-maintained.
- Scale your business without requiring any pay per-use or royalties at all. The more users you get, the lower your operating costs.
- Jump-start your idea by using the commoditized LTP VoIP technology that you can quickly customize to your business requirement.
- Interconnect with other LTP providers to form your own ecosphere.
Getting started with the LTP is quite easy. Unlike SIP or H.323, you can expect a regular programmer to quickly and easily start using the LTP stack as standard clients are already available.
Your first step is to join the LTP group on Yahoo where you can interact with and get help from other LTP developers.
The second step is to download one of the several LTP clients from www.lightweighttelephony.org and see how they work. You can quickly customize an LTP client to behave just the way you want it to.
Conclusion
The LTP network is inexpensive to maintain. We estimate, given today's bandwidth costs, that it would cost a service provider less than half a cent per month to carry 1000 call minutes. It opens up large opportunities for all kinds of service providers, developers and device manufacturers to explore the new world of switchless, always comunicating, freely usable telephony.