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

Re: [reSIProcate-users] differentiating multiple dialogs


Thanks.

One thing that is yet not clear to me is why there is AppDialog and AppDialogSet. At first guess I would think that there may be several AppDialog objects related to an AppDialogSet object, but the examples all have a 1:1 mapping.

Also I found out that the makeRegistration() method does not take an AppDialog, but an AppDialogSet as parameter, which also lets me think that a REGISTER creates an DialogSet which maybe relates to several dialogs. Or am I completely wrong?

Thanks
Klaus

Am 28.06.2010 15:46, schrieb Scott Godin:
...inline...

On Mon, Jun 28, 2010 at 8:44 AM, Klaus Darilion
<klaus.mailinglists@xxxxxxxxx <mailto:klaus.mailinglists@xxxxxxxxx>> wrote:

    Hi Scott!

    I have some problems to understand how the AppDialog concept works.
    What if I have different kinds of dialogs, e.g. INVITE dialogs and
    SUBSCRIBE dialog - is it possible to different classes, e.g
    InvAppDialog class and SubAppDialog Class to support different user
    data depending on the dialog type?


Yes it is possible.  For outbound dialogs just pass whatever AppDialog
Subclass you want to the makeXXXX calls.  For inbound dialogs you need
to look at the message used to create the Dialog in your
AppDialogSetFactory and then create the appropriate class of your
choosing.  Have a look at the UserAgentAppDialogSetFactory class in the
recon project (/resip/recon).

    Further, is it possible to bind user data to a registration and have
    this user data available in the UAS INVITE session handler? (= how
    do I map incoming calls to the respective registration?)


You can create a RegistrationAppDialogSet and pass it to your
makeRegistration call for this purpose.  If you want to map incoming
INVITES to a particular registration the easiest way is to use the same
UserProfile for the registration and the calls.  You will need logic to
assign a profile to an incoming call (by matching the To header to your
UserProfile AOR, or request line to your registration contacts).  Once
again, check out the recon project, in particular:
  RemoteParticipantDialogSet::selectUASUserProfile
(http://www.resiprocate.org/Dealing_with_Multiple_User_Profiles),
and UserAgent::getIncomingConversationProfile.


    Thanks
    Klaus

    Am 09.06.2010 18:09, schrieb Scott Godin:

        You need to use AppDialogSets - check out:
        
http://www.resiprocate.org/DUM_Associating_Application_Data_with_DialogSets_and_Dialogs

        
<http://www.resiprocate.org/DUM_Associating_Application_Data_with_DialogSets_and_Dialogs>The
        recon application is good example of how to use this.

        Scott

        On Wed, Jun 9, 2010 at 11:49 AM, Klaus Darilion
        <klaus.mailinglists@xxxxxxxxx
        <mailto:klaus.mailinglists@xxxxxxxxx>
        <mailto:klaus.mailinglists@xxxxxxxxx
        <mailto:klaus.mailinglists@xxxxxxxxx>>> wrote:

            Hi!

            I wonder what is the best way to identify concurrent dialogs.

            For example the application registers and receives 2
        incoming calls
            concurrently. Somehow in my application I have to represent
        the 2
            calls, and in the inviteHandler I have to correlate the
        onXXXevent
            to one of the calls. How is this usually done? How should my
            application hold reference to the dialog? Or is there a way to
            associate some "userdata" with a dialog and access the
        userdata in
            the callback?

            Is there somewhere a sample code which I should read?

            thanks
            Klaus
            _______________________________________________
            resiprocate-users mailing list
        resiprocate-users@xxxxxxxxxxxxxxx
        <mailto:resiprocate-users@xxxxxxxxxxxxxxx>
        <mailto:resiprocate-users@xxxxxxxxxxxxxxx
        <mailto:resiprocate-users@xxxxxxxxxxxxxxx>>

            List Archive:
        http://list.resiprocate.org/archive/resiprocate-users/