January 2008 | Volume 11/ Number 1
Putting SIP in a Developer’s Toolkit
By: Richard “Zippy” Grigonis
The Session Initiation Protocol (SIP) is quite possibly the single most influential communications protocol since IP itself, having replaced the idea of a “call” with that of a multimedia “session” among endpoints. Whether you’re developing a presence manager, instant messaging application, videoconferencing system or a simple VoIP softphone, working with SIP’s signaling/call control methods is inescapable.
SIP is a high-level, application-layer protocol that runs over TCP, UDP and SCTP transport protocols and often calls upon services provided by its brethren application-layer protocols such as DNS, LDAP and RTP. After some extensions, SIP can now control multimedia sessions between users even if they and their media terminals are roaming about among various locations.
A high-level application layer protocol, SIP has been touted as a simple text-based protocol, unlike its more bloated, binary predecessor, H.323. Over time, of course, any protocol picks up some “baggage” and although adherence to the basic IETF SIP specification (RFC 3261 to 3265) has engendered interoperability, our new age of mobility and unified communications forces developers of SIP-based applications to keep in mind some novel, vendor-inspired extensions. As Sales Engineer Roland Auckenthaler of NMS Communications (http://www.nmscommunications.com) has written, “SIP application developers may still experience interoperability issues on enhanced SIP features due to the fact that various vendors may implement different versions of draft documents or have a different understanding of the described features.”
Auckenthaler recommends that developers start by examining the following documents:
• SIPPING (Session Initiation Protocol Investigation) Service Examples — provides a detailed description of PSTN calling features and how their call flows must be implemented in SIP.
• RFC 3665 SIP Basic Call Flow Examples — describes registration and proxying call flows to locate and connect two end devices via a central server.
• RFC 3666 SIP PSTN Call Flows — describes successful and unsuccessful use cases for PSTN-to-SIP and SIP-to-PSTN calls.
Auckenthaler of course puts in a good word for his company’s own tool, SIP for Natural Call Control (NCC), which enables SIP signaling for media processing elements within an IP network.
The rise (albeit a bit slowly) of IMS (IP-based Multimedia Subsystem) as the world’s common wireless and wireline infrastructure also needs to be taken into account, since the 3GPP (Third Generation Partnership Project) selected SIP is the IMS core signaling protocol. IMS SIP is even more complex (has more extensions) than the basic protocol, and so implementing applications for IMS deployment that sport advanced features can be something of a challenge.
The differences between IMS SIP and non IMS SIP include extensions on the access level, starting with SigComp (RFC 3320), P-headers (RFC 3455/3325), AKA-MD5 (RFC 3310),Security agreements (RFC 3329), IPsec, Media authorization (RFC 3313), Service-route mechanisms (RFC 3608), Registration-event package (RFC 3680), IPv6. Then there are various security extensions and miscellaneous extensions such as IMS resource reservation (RFC 3312), path headers (RFC 3327), SDP extensions (more attributes, grouping of media lines, more codec support, etc.), XML schemas usage including those in SIP message bodies (registration event package, XCAP, PIDF etc.). Finally, there are extensions by the IETF SIMPLE group with their work on presence and IM optimization (partial notifications/publications, notifications filtering, resource lists [RLS]/SIP exploders, and MSRP).
SIP Development Tools Galore
There is no shortage of SIP-related development tools and packages for those wanting to build next-gen applications. Vendors have opened up their APIs for third-party developers. For example, the Avaya SIP Application Server from Avaya (http://www.avaya.com) is both a carrier-class deployment platform and a programmable, standards-based Application Creation Environment (ACE). It has an open, standards-based SIP Servlet API along with a set of pre-built Application Building Blocks (ABBs) and non-SIP based connectors (ABB-C’s), which enables programmers to quickly develop real-time communications apps without any detailed knowledge of SIP or the underlying telecom network infrastructure.
Many programmers, however, would like to access a product’s capability using their own favored development platform. Inova IT (http://www.inova.si) a software development company that specializes in computer telephony application development and system integration, offers Microsoft .NET software that works with the Avaya SIP Application Server and allows .NET developers access to the same SIP service creation capabilities that are already available to Java developers. The combined SIP A/S and Inova IT product lines were probably the first major SIP-based telecom application creation environment for the .NET community.
Other tools include the following:
• A full SIP Stack from Aricent (formerly Hughes Software Systems).
• ASTA Technology Group’s SIP with Video Toolkit for .NET, VB6 (COM) and Delphi builds Download Evaluation; ASTA SIP VoIP Toolkit for Delphi and .NET including Winforms and PocketPC and Visual Basic 6 via COM; and the ASTA SIP Conferencing package for Delphi and .NET.
• The SIP-H.323 Converter by CoSystems.
• DC-SIP, a complete package of portable source code, sample applications, full reference designs, test applications, and customization tools, by Data Connection.
• The SIP Toolkit from ELUON
• eyeP Foundation from eyeP Media is a SIP-based SDK, bundled as an ActiveX control and available for in both Windows or Windows Mobile editions, enabling developers to develop complete software apps such as softphones, conferencing clients, and click-to-talk web pages, incorporating functionality such as telephony, video, instant messaging, presence and business functions such as hold, transfer or park/pickup.
• GL Communications’ many products that provide extensive SIP-based call emulation, analysis, SIP call trace, and call monitoring.
• The SIP Stack from HCL Technologies that smoothes the progress of SIP-based VoIP product and solution development. It comprises SIP User Agent and SIP Server reusable components that have been tested and ported to multiple platforms.
• An API to develop SIP-based applications from HelloSoft.
• The High-Performance SIP Stack from Jugphoon.
• A SIP stack from Mediatrix.
• Netbricks offers SIP-BRICKS, a high-performance SIP implementation. They also supply protocol conversion software packages like ISDN-to-SIP or SS7-to-SIP signaling converters needed by softswitches and gateway controllers.
• Nine-9s (http://www.nine-9s.com) their TeleSoft product
includes their CompactSIP SIP stack, 3GPP /
WiMAX / IMS SIP stack, SIP-ISDN and SIP-PSTN
• PJSIP, an Open Source SIP Stack, supporting many SIP
• MjSip is a complete Java-based implementation of a SIP stack available as open source under the GPL license.
• The VBVoice service creation environment from Pronexus.
• A powerful set of SIP tools from RADVISION . Their SIP stack provides all necessary SIP and SDP functionality, such as encoding, sending, parsing and receiving SIP messages over UDP, TCP, TLS, SCTP and IPsec, managing SIP calls and transactions, and ensuring reliability.
• The SIP control interface and a management agent from SandCherry.
• The HiPath Software Development Kit from Siemens.
• VQmon from Telchemy is integrated into IP Phones, VoIP Gateways, Residential Gateways, SLA monitoring systems, routers, OSS, Probes and Analyzers, and provides reporting metrics using SIP, RTCP, XR QoS Reports and other key protocols.
• The CompactSIP stack from TeleSoft International with versions for embedded systems and specific support for 3GPP mobile and cellular phone applications.
• The Fusion SIP Software Suite from Unicoi Systems, designed for use in embedded devices, has a small footprint and is completely ROMable and re-entrant.
• The SIP Protocol stack from Wind River.
Thus, developer’s have a plethora of tools from which to choose. Happy programming! IT
Richard Grigonis is Executive Editor of TMC’s IP Communications Group.
Today @ TMC
ITEXPO West 2012
October 2- 5, 2012
The Austin Convention Center
The World's Premier Managed Services and Cloud Computing Event
Click for Dates and Locations
Mobility Tech Conference & Expo
October 3- 5, 2012
The Austin Convention Center
Cloud Communications Summit
October 3- 5, 2012
The Austin Convention Center