< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

Re: [reSIProcate-users] About AppDialogSet creation.


Comments inline...

On Wed, Feb 11, 2009 at 2:41 PM, Aurelien Grimaud <gstelzz@xxxxxxxx> wrote:
> Hi,
>
> I am running an application based on resiprocate 1.3.4.
>
> When I act as a UAC, I create an invite session with DUM->makeInviteSession.
> I want to pass it an appDialogSet I would store somewhere in order to
> properly end the calls.
>
> Since the AppDialogSet creator is private, what is the right way to create
> one ?
> I made a subclass to declare a public builder. Seems to work but why is
> creator private ?

The factory is only needed for DUM to create instances of your
AppDialogSet class - for UAS scenarios.  For UAC scenarios you can
just create an AppDialogSet yourself and pass to the makeXXXX fns.
Note sure if you've seen the following info on the wiki yet:
http://www.resiprocate.org/Associating_Application_Data_with_Dialogs/DialogSets

You can also checkout recon project for a sample way to use
AppDialogSet/AppDialog's.

> While I did not understand the purpose of AppDialogSet, I manage my own
> class for application related data storage.
> AppDialogSet is exactly the place where such data should be, right ?

Correct.

> When I act as a UAS, I store the DialogSet whenever InviteSessionHandler
> runs a onNewSession(ServerInviteSessionHandle, ...)
> Therefore, this DialogSet is not one I created (as in acting like a UAC).
>
> If I want to store all my data in AppDialogSet, I have to build an
> AppDialogSetFactory and override the createAppDialogSet function to return
> my own subclass.
>
> Then, I will have MyAppDialogSetFactory class and MyDialogSet class.
> Now, I want to makeInviteSession().
> I cannot use myAppDialogSetFactory->createAppDialogSet since I do not
> already have a sip message.
> What is the purpose of passing a sipmessage to createAppDialogSet method ?

I think the wiki page will help answer these questions.

> If I want to terminate all dialogs in this dialog set,  I use
> MyAppDialogSet->end() andd all dialog will be terminated, some by a BYE, the
> other (received provisional only) by CANCEL. right ?

If the InviteSession has not been answered yet, then it just sends a
CANCEL - this will end all legs.  More info here:
http://www.resiprocate.org/DUM_Ending_an_Invite_Session


> Thanks, resiprocate is really cool to use.
> Wiki may need some improvement, since browsing the code for comprehension
> sometimes gives furious headaches !
>
> Aurelien
>
> _______________________________________________
> resiprocate-users mailing list
> resiprocate-users@xxxxxxxxxxxxxxx
> List Archive: http://list.resiprocate.org/archive/resiprocate-users/
>