Difference between revisions of "How to use dum"

From reSIProcate
Jump to navigation Jump to search
m (Removed redundant link back to DUM overview)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
=== Introduction to the DialogUsageManager ===
 
=== Introduction to the DialogUsageManager ===
The DialogUsageManager(or DUM) is the class that keeps track of all of the Dialog related data structures and sits on top of the transaction layer of the SIP stack. It keeps track of multiple DialogSets which contain Dialogs. Each DialogSet contains all the Dialogs that were created by a common initial request. They all share the same SIP Call-Id and from tag from the orginal request. Inside a specific DialogSet there can be some type of BaseCreator that represents the intial request that generated the dialog. This will only exist on the UAC side. The DialogSet also contains several objects derived from BaseUsage that are using this particular dialog. There are several types of things that are a Usage of a dialog. There can be one InviteSession, one Registration, one Publication, multiple Subscriptions and multiple OutOfDialogRequests. Note the name OutOfDialog is a little weird - OutOfDialog requests are actually in a thing a lot like a dialog but are transactions that are not in one of the other categories. Typically messages that result in OutOfDialogRequests are MESSAGE and OPTIONS.  
+
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.
  
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 will be called to notify the application about the incoming events. 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.
 
 
=== [[DUM Definitions|Definitions]] ===
 
=== [[DUM Definitions|Definitions]] ===
  
Line 9: Line 10:
 
*[[DUM Application Initialization|Application Initialization]]
 
*[[DUM Application Initialization|Application Initialization]]
 
*[[DUM Application Shutdown|Application Shutdown]]
 
*[[DUM Application Shutdown|Application Shutdown]]
 +
*[[DUM Registering and Authenticating]]
 
*[[DUM Creating New Sessions and Requests|Creating New Sessions and Requests]]
 
*[[DUM Creating New Sessions and Requests|Creating New Sessions and Requests]]
 
*[[DUM Ending an Invite Session|Ending an Invite Session]]
 
*[[DUM Ending an Invite Session|Ending an Invite Session]]
 +
*[[DUM Creating New Client Subscriptions|Creating New Client Subscriptions]]
 
*[[DUM Associating Application Data with DialogSets and Dialogs|Associating Application Data with DialogSets and Dialogs]]
 
*[[DUM Associating Application Data with DialogSets and Dialogs|Associating Application Data with DialogSets and Dialogs]]
 
*[[DUM Configuration and Profiles|Configuration and Profiles]]
 
*[[DUM Configuration and Profiles|Configuration and Profiles]]
Line 18: Line 21:
 
*[[DUM Exception Handling|Exception Handling]]
 
*[[DUM Exception Handling|Exception Handling]]
 
*[[DUM Threading|Threading]]
 
*[[DUM Threading|Threading]]
 +
*[[DUM Application Timers]]
 
*[[DUM Common Errors|Common Errors]]
 
*[[DUM Common Errors|Common Errors]]
 +
*[[DUM Client Outbound Support|Client Outbound Support (RFC 5626)]]

Latest revision as of 11:15, 27 February 2011

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.

Definitions[edit]

How to use DUM[edit]