JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
SIP API Developer's Guide
search filter icon
search icon

Document Information

Preface

1.  SIP Overview

2.  Solaris SIP Internals

SIP Stack Initialization

Generic Stack Parameters

Upper Layer Registrations

Connection Manager Interfaces

Custom Header Table

Header Management Layer

Writing Parsers For Custom Headers

Transaction Management Layer

Transaction Creation And Maintenance

Transaction Creation and ACK Signal Generation

Transaction Deletion

Transaction Lookup

Transaction Timers

Transaction And Network Errors

Dialog Management Layer

UAC Dialog Creation

UAS Dialog Creation

Dialog Caching

Dialog Termination, Deletion, and Notification

Message Formatting Layer

Receiving Messages

Sending Messages

Connection Manager

Connection Object

Caching a Connection Object

Freeing a Connection Object

Sending Messages

Receiving Messages

Transaction Layer and I/O Errors

Timer Management Layer

Generating Call-ID, From and To tags, Branch-ID and Cseq

Multithreading Support

3.  Multithreading and URI Support

4.  SIP API Functions

A.  Examples of Use

B.  Programming with the SIP API

C.  Transaction Timers

Index

Multithreading Support

The library is completely multithreaded with respect to handling headers and header values. Multiple application threads can work on the same header of a message. When the stack or the application deletes a header or one of the values in a header, the stack marks the header as deleted. Headers marked as deleted are not available via lookups.

Calling the sip_free_msg() function to free a SIP message deletes the message if the reference count for the message falls to zero. You can increment the reference count on a message by using the sip_hold_msg() function.