SIP API Developer's Guide

Exit Print View

Updated: July 2014
 
 

Overview of libsip

Applications that use SIP must initialize the Oracle Solaris SIP stack by registering certain mandatory and optional functions. These functions enable message exchanges and related functionalities between peers. If the application does not register any of the optional functions, the library uses the built-in equivalent when such an equivalent is available.

The SIP library is multithread-safe. Multiple threads can perform simultaneous operations on message headers. Each message maintains a reference count. The stack frees a message when the reference count is zero. The library does not protect messages against the case where an application thread reduces the reference count to 0. In this case, the stack can delete the message while other threads are using the message.


Note - An application cannot initialize the SIP stack more than once. Attempting to initialize an already initialized SIP stack returns an error.

The SIP stack consists of the following operational components:

  • Header management layer

  • Transaction management layer

  • Dialog management layer

  • Message formatting layer

  • Timer management layer

  • Connection manager