Saturday, May 3, 2008

SIP Roles and Activities

Session Initiation Protocol (SIP) specification (RFC 3261) describes four main types of roles. The user agent client (UAC), the user agent server (UAS), the redirect servers and proxies. There are also many activities defined such as registration, querying for capabilities, dialogs, initiation of a session, modification of an existing session and termination of a session.

Many commercial and non-commercial operating systems are now embedding the SIP protocol stack. These are often accompanies by APIs to implement any one of the various roles in any one of the activities described in RFC 3261. The trick then becomes to conceive of applications. Many of the authors of RFC 3261 have done exactly that. For example, you can take a look at Henning Schulzrinne's many papers in this area, describing various use models explored in his labs at Columbia University.

SIP is about to become the de facto session initiation and control signaling protocol dominating the converged world of Internet-based communications technologies and services such as VoIP. (On the related subject of VoIP, see the recent post by Richard Giles on VoIP on Java. There's of course much more that can be said about VoIP and SIP.)

In the JCP, there are several SIP-related JSRs. These are JSR 32 (JAIN SIP API Specification), JSR 116 (SIP Servlet API) and JSR 125 (JAIN SIP Lite).

No comments: