Introduction
Session Initiation Protocols (SIP) is an application layer control protocol defined by the IETF in RFC 3261. SIP is used for creating, modifying and terminating sessions such as Voice over IP (VoIP), Instant messaging (IM) and presence.
The SIP API project delivers a set of C API for developing SIP applications on Solaris. The API will be a user library, which will also include the SIP stack compliant with RFC 3261.
--
Session Description Protocol (SDP) is a generic protocol described in RFC 4566 and is used to convey session information in Session Initiation Protocol (SIP), Streaming Media (Real Time Streaming Protocol, RTSP), Email and World Wide Web and Multicast Session Announcement. So this project has been designed in such a way that the provided interfaces are generic that not only SIP application developers benefit from it but also other application developers who use SDP.
The objective of the SDP Project is to provide a set of public interfaces that parses the SDP description and checks for syntax conformance (as defined in the Section 9 (SDP Grammar) of RFC 4566). Interfaces to generate SDP descriptions and convert it to byte-string will also be provided.
Project Status
*Integrated SIP into Solaris Nevada (ongoing development release) build 51.
*Integrated SIP into Solaris 10 Update 4.
*Integrated SDP (RFC 4566) parser to aid SIP application developers and other consumers of SDP into Solaris Nevada build 77
Documents
- Solaris SIP provides additional information about this project.
- SIP Design Document includes the design details - Updated on 08/17/2006.
- SIP API guide includes description of the API (work in progress) - Updated on 07/06/2006
- SIP API draft man pages includes draft man pages for all the API (work in progress) - Updated on 08/17/2006
- SDP parser requirements captures SDP parser requirements (ongoing project)
- SDP parser design specification captures SDP parser design specification (ongoing project)
- SDP API draft man pages includes draft man pages for all the API (Work in Progress) - Updated on 10/10/2007
Download
You can download the latest from the Mercurial repository. Check here to see how to download from Mercurial repository. Once downloaded the README file will guide
you through the process of compilation
Example
A small example which uses transactions and dialogs feature of the SIP stack
can be found at sip_exmaple.tar.gz
Compliance Matrix
This matrix provides detailed information on the RFC's the Solaris SIP stack supports and for every RFC what SIP methods and SIP message headers supported are noted.
Others
stack_stress_test_0817.tar.gz contains programs that stress test the stack, transaction and dialog layers specifically.
Relevant RFCs
The library supports all the headers in RFCs 3261 3262 3265 3323 and 3325 Further, the stack implements transactions and dialogs as specified in RFC 3261 and also supports creation of dialogs as specified in RFC 3265.