reSIProcate
SIP stack, Dialog Usage Manager and related libraries
Loading...
Searching...
No Matches
The Dialog Usage Manager library (dum)

The Dialog Usage Manager (DUM) sits on top of the SIP stack as its resip::TransactionUser, and gives applications a much higher-level API for building SIP user agents and servers.

DUM tracks dialogs and dialog sets, generates requests and responses with the correct headers, handles authentication challenges, refreshes registrations and subscriptions, and runs the INVITE offer/answer state machine. It does no media handling; see The Conversation Manager library (recon) for that.

Concepts

Usage

resip/dum/test/basicRegister.cxx is a short, complete example, and basicClient (basicClientUserAgent.cxx and basicClientCall.cxx in the same directory) is a fuller user agent.

Threads

DUM is not thread-safe. Handlers are called from the thread that runs resip::DialogUsageManager::process(), and the application must call DUM, and use handles, only from that thread. To act from another thread, post a resip::DumCommand to the resip::DialogUsageManager; its executeCommand() runs on the DUM thread.

Extending DUM