How to use dum

From reSIProcate
Jump to navigation Jump to search

Introduction to the DialogUsageManager[edit]

The DialogUsageManager (or DUM) class sits on top of the transaction layer of the SIP stack. It keeps track of all of the Dialog-related data structures in multiple DialogSets. Each DialogSet contains all the Dialogs created by an initial request, which share the same SIP Call-Id and From tag. Inside a specific DialogSet on the UAC side, a BaseCreator can represent the intial request that generated the dialog. The DialogSet also contains several objects derived from BaseUsage that are using this particular dialog. There are several Usages available to a dialog: one InviteSession, one Registration, one Publication, multiple Subscriptions and multiple OutOfDialogRequests. Note: OutOfDialogRequests resemble a dialog, but are actually transactions that do not fit of the other categories. Requests that result in OutOfDialogRequests are MESSAGE and OPTIONS.

An initial SIP request is created by calling the makeX interfaces on the DUM. It is then sent using the send interface on the DUM. When a response is returned for the request, a callback from one of the Handler classes notifies the application. This will pass up some type of client or server usages class that can be used to send aditional messages and responses in the context of this particularr usage of the dialog.


How to use DUM[edit]