AOL has opened up it's AOL Voice Services by offering the Open Voice API. This API allows any client application which supports the following industry standards to 'just work' with AOL Voice Services:
- RFC 3261 - Session Initiation Protocol
- RFC 2833 - RTP Payload for DTFM Digits, Telephony Tones and Telephony Signals
- RFC 4028 - Session Timers in SIP
- ITU-T E.164 - Formatted Telephone Numbers
- RFC 2617 - Basic and Digest Access Authentication
Go to this page for a list of devices and softphones that have been tested with AIM Call Out.
While it is of course great that a variety of devices and programs now work out of the box with AOL Voice, it is even greater that developers now only have to learn the appropriate standards in order to have their own applications work with AOL Voice. The main specification to learn about is RFC 3261, the SIP standard. Part of the Open Voice program is AIM Call Out. The AIM Call Out API will allow developers to extend their applications to make calls to regular phonenumbers.
For those who don't know about the SIP protocol here is a snippit from Wikipedia describing the protocol:
The Session Initiation Protocol (SIP) is a signalling protocol, widely used for setting up and tearing down multimedia communication sessions such as voice and video calls over the Internet. Other feasible application examples include video conferencing, streaming multimedia distribution, instant messaging, presence information and online games. In November 2000, SIP was accepted as a 3GPP signaling protocol and permanent element of the IMS architecture for IP based streaming multimedia services in cellular systems.
The protocol can be used for creating, modifying and terminating two-party (unicast) or multiparty (multicast) sessions consisting of one or several media streams. The modification can involve changing addresses or ports, inviting more participants, adding or deleting media streams, etc.
The SIP protocol is situated at the session layer in the OSI model, and at the application layer in the TCP/IP model. SIP is designed to be independent of the underlying transport layer; it can run on TCP, UDP, or SCTP. It was originally designed by Henning Schulzrinne (Columbia University) and Mark Handley (UCL) starting in 1996. The latest version of the specification is RFC 3261 [1] from the IETF SIP Working Group.[2]
SIP has the following characteristics:
- Transport-independent, because SIP can be used with UDP, TCP, SCTP, etc.
- Text-based, allowing for humans to read and analyze SIP messages.
Now, very few developers will have the time to implement the SIP in a brand new programming stack, luckily there is an abundance of frameworks already developed, some free and open source, others come as commercial packages. A list of SIP programming stacks can be found here.
A resource worth checking out is PJSIP.org which offers a lightweight C based open source stack.
As a .NET developer I'm of course mostly interested in .NET based SIP frameworks. I've found two that look promising, the first is a free implementation on CodeProject contributed by Ivar Lumi. The second is a commercial offering by Independent Software in Germany called SIP.NET. If you have experience with a particular SIP framework, don't be shy, drop a comment!
I'll be diving in deeper, stay tuned.
Happy coding!
- Mark Blomsma

Links
http://www.disruptivetelephony.com/2008/04/aol-launches-op.html
http://nerdvittles.com/index.php?p=215
- Mark Blomsma