Difference between revisions of "DUM Overview"

From reSIProcate
Jump to navigation Jump to search
(Combined info on DUM found in ReSIProcate-Intro (TMC VoIP).ppt with this overview)
Line 1: Line 1:
The DialogUsageManager (or dum) is the main interface to the dum library used by the application. Any dum application needs to create a dum object. In typical applications there would be a single dum object for the entire application. This single dum object could manage multiple user agents. By default the construction of the dum object creates a SipStack. dum has the following roles and responsibilities:
+
The Dialog Usage Manager (also known as DUM) makes writing user agents easy by hiding complex SIP specifics. DUM provides user agent functionality (both UAC and UAS), including the handling of INVITE and SUBSCRIBE/NOTIFY dialogs, registration, and instant messaging. DUM is the main interface to the [http://www.estacado.net/resip/sip/resiprocate/dum/html/ dum library] used by your application. With DUM you can create applications like softphones, back-to-back user agents, and load generators.  
* Manages profiles
+
 
* Manages AppDialogSetFactory
+
DUM provides the following benefits:
* Manages and stores Handlers (DialogSetHandler, InviteSessionHandler, ClientRegistrationHandler, ServerRegistrationHandler, ClientSubscriptionHandler, ServerSubscriptionHandler, ClientPublicationHandler, ServerPublicationHandler, OutOfDialogHandler, ClientPagerMessageHandler, ServerPagerMessageHandler, RegistrationPersistenceManager)
+
* Manages refreshes for you:
 +
** Just set up registration binding and keep it active
 +
** Set up a subscription and keep it active. DUM will let you know when new updates come in via ** NOTIFY requests
 +
** Keep an INVITE session active
 +
** Handles forking for you
 +
** Merged requests
 +
** GRUU
 +
* Implements Offer/Answer (rfc 3264)
 +
* Manages profile information such as authorization
 +
* Manages AppDialogSetFactory, which enables DUM to create your derived AppDialogSet object instead of the default one. An AppDialogSet is equivalent to a call. It is created when a call starts.
 +
* Manages and stores Handlers, which are a way of referencing usages: DialogSetHandler, InviteSessionHandler, ClientRegistrationHandler, ServerRegistrationHandler, ClientSubscriptionHandler, ServerSubscriptionHandler, ClientPublicationHandler, ServerPublicationHandler, OutOfDialogHandler, ClientPagerMessageHandler, ServerPagerMessageHandler, RegistrationPersistenceManager
 
* Manages redirections (RedirectManager)
 
* Manages redirections (RedirectManager)
 
* Manages client authentication (ClientAuthManager)
 
* Manages client authentication (ClientAuthManager)
Line 10: Line 20:
 
* Provides interfaces to create new sessions as a UAC (invite, subscription, publication, registration, pager, others)
 
* Provides interfaces to create new sessions as a UAC (invite, subscription, publication, registration, pager, others)
 
* Provides interfaces to find particular usages based on a DialogId
 
* Provides interfaces to find particular usages based on a DialogId
 +
 +
A dum application creates a dum object, typically a single dum object for the entire application. This single dum object can manage multiple user agents. By default, the construction of the dum object creates a SipStack.
 +
  
 
== Working with the Dialog Usage Manager ==
 
== Working with the Dialog Usage Manager ==

Revision as of 14:51, 22 March 2007

The Dialog Usage Manager (also known as DUM) makes writing user agents easy by hiding complex SIP specifics. DUM provides user agent functionality (both UAC and UAS), including the handling of INVITE and SUBSCRIBE/NOTIFY dialogs, registration, and instant messaging. DUM is the main interface to the dum library used by your application. With DUM you can create applications like softphones, back-to-back user agents, and load generators.

DUM provides the following benefits:

  • Manages refreshes for you:
    • Just set up registration binding and keep it active
    • Set up a subscription and keep it active. DUM will let you know when new updates come in via ** NOTIFY requests
    • Keep an INVITE session active
    • Handles forking for you
    • Merged requests
    • GRUU
  • Implements Offer/Answer (rfc 3264)
  • Manages profile information such as authorization
  • Manages AppDialogSetFactory, which enables DUM to create your derived AppDialogSet object instead of the default one. An AppDialogSet is equivalent to a call. It is created when a call starts.
  • Manages and stores Handlers, which are a way of referencing usages: DialogSetHandler, InviteSessionHandler, ClientRegistrationHandler, ServerRegistrationHandler, ClientSubscriptionHandler, ServerSubscriptionHandler, ClientPublicationHandler, ServerPublicationHandler, OutOfDialogHandler, ClientPagerMessageHandler, ServerPagerMessageHandler, RegistrationPersistenceManager
  • Manages redirections (RedirectManager)
  • Manages client authentication (ClientAuthManager)
  • Manages server authentication (ServerAuthManager)
  • Interface to add new Transports
  • Manages handles to Usages (HandleManager)
  • Provides interfaces to create new sessions as a UAC (invite, subscription, publication, registration, pager, others)
  • Provides interfaces to find particular usages based on a DialogId

A dum application creates a dum object, typically a single dum object for the entire application. This single dum object can manage multiple user agents. By default, the construction of the dum object creates a SipStack.


Working with the Dialog Usage Manager