Design and implementation of SIP network and client services
Abstract
Session Initiation Protocol (SIP) is being widely adopted for VoIP, IM and other collaborative applications due to its simple yet rich functional design. However, one of the main drawbacks has been its per-application deployment (each application using its own SIP stack), leading to narrowly focussed development of SIP based services. In this paper, we propose a client-side SIP service and supporting network infrastructure blocks that provide unified mechanisms to execute generic SIP functions. The composition of these building blocks allows for creating richer applications, e.g. a conferencing server coupled with a gaming server provides dynamic conferencing between current occupants of a game room. The main feature of our framework is its availability to all applications including the ones not inherently based on SIP. Also, the SIP service API is designed to be extensible and in addition to providing novel higher level functional primitives like adhoc conferencing and seamless transition of sessions, it also exports a low level interface for specialized applications. Another feature of the service is that it allows a user to plug-in an end device of his/her choice on a per-session basis. We demonstrate the richness of the API by describing prototypes for enhancing various applications as well as new converged applications.