[Freeswitch-dev] Dialog events: full vs partial

Anthony Minessale anthony.minessale at gmail.com
Mon Oct 18 13:39:25 PDT 2010


I recommend getting latest where you should be closer to what you want
apart from the extra columns in the db then trying to get the new cols
in separately then work it into the select and into the dialog info
xml in incremental steps/patches.




On Fri, Oct 15, 2010 at 12:19 PM, Anthony Minessale
<anthony.minessale at gmail.com> wrote:
> Same answer as before.
>
> We are open to improvements but you cannot break any existing
> functionality and it cannot make FreeSWITCH slow an inflexible just
> because some RFC wants it.
>
> I think most of the presence implementations in SIP are fool hearty to
> begin with but we are trying to also normalize presence into an
> abstraction and we currently do not support one entity sending back
> multiple presence informations so that concept would need to go into
> the core abstraction before it could be realized into the sip
> endpoint.
>
>
>
>
>
> On Fri, Oct 15, 2010 at 11:59 AM, Beeton, Carolyn (Carolyn)
> <cbeeton at avaya.com> wrote:
>> That's interesting, but I'm not sure that it addresses the entire issue.
>>
>> I first observed this problem when working on another feature, where I want to monitor calls being handled by a Freeswitch app at a certain extension.  I was not getting the full list there, either.
>>
>> If Freeswitch was returning a proper "full" list and proper "partial" updates, conferences wouldn't need to be handled as a special case.  Doesn't the mismatch between the RFC and the behaviour warrant some investigation?
>>
>> Carolyn
>>
>>> -----Original Message-----
>>> From: freeswitch-dev-bounces at lists.freeswitch.org
>>> [mailto:freeswitch-dev-bounces at lists.freeswitch.org] On
>>> Behalf Of Anthony Minessale
>>> Sent: Friday, October 15, 2010 11:29 AM
>>> To: freeswitch-dev at lists.freeswitch.org
>>> Subject: Re: [Freeswitch-dev] Dialog events: full vs partial
>>>
>>> The conference has it's own presence feature for the
>>> conference as a whole.
>>>
>>> see conf/autoload_configs/conference.conf.xml
>>>
>>> <configuration name="conference.conf" description="Audio Conference">
>>>   <!-- Advertise certain presence on startup . -->
>>>   <advertise>
>>>     <room name="3001@$${domain}" status="FreeSWITCH"/>
>>>   </advertise>
>>>
>>> Then you can subscribe to conf+3001@<your domain> And the
>>> presence is announced for the conference as a whole.
>>>
>>>
>>>
>>>
>>> On Fri, Oct 15, 2010 at 10:16 AM, Beeton, Carolyn (Carolyn)
>>> <cbeeton at avaya.com> wrote:
>>> > I have started again on a fresh branch to investigate presence
>>> > monitoring of conference extensions, and I think I have discovered
>>> > another problem with the way that NOTIFYs containing dialog
>>> events are formulated.
>>> >
>>> > RFC4235 says:
>>> > "state: This attribute indicates whether the document contains the
>>> > full dialog information, or whether it contains only information on
>>> > those dialogs that have changed since the previous document
>>> > (partial)."
>>> >
>>> > and
>>> >
>>> > "Notifications do not normally contain full state; rather,
>>> they only
>>> > indicate the state of the dialog(s) whose state has changed.
>>> > The exceptions are a NOTIFY sent in response to a SUBSCRIBE, and a
>>> > NOTIFY that contains no dialog elements.  These NOTIFYs contain the
>>> > complete view of dialog state."
>>> >
>>> > But what I see the code doing is *never* sending a complete (full)
>>> > list of dialogs, even if there are more than one, and
>>> marking all the
>>> > presence event related NOTIFY events as "full" even though by the
>>> > definition above, they are all "partial".
>>> >
>>> > One observable effect is if you are monitoring a conference
>>> extension.
>>> > The light will begin to flash when one person joins the conference,
>>> > and goes solid when another joins, but then goes out when
>>> one person
>>> > leaves, even though others are still in.  This is because
>>> the NOTIFY
>>> > is sent with status "full" but only contains the one "terminated"
>>> > dialog, and none of the others which are still "confirmed".
>>> >
>>> > I'm not sure yet what is the best way to solve this.  I think that
>>> > sofia_presence_sub_callback is always generating "partial" updates,
>>> > because it is always considering only the most recent
>>> event. I think
>>> > that the sofia_presence_resub callback will have to generate one
>>> > event, containing all the rows retrieved from the query,
>>> rather than
>>> > what it does now (which is send a SWITCH_EVENT_PRESENCE_IN for each
>>> > row, which is handled by the sofia_presence_sub_callback and thus
>>> > results in a bunch of what are really "partial" NOTIFYs,
>>> instead of one "full" NOTIFY).
>>> >
>>> > Does this make sense?
>>> >
>>> > Carolyn
>>> > _______________________________________________
>>> > FreeSWITCH-dev mailing list
>>> > FreeSWITCH-dev at lists.freeswitch.org
>>> > http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>> >
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>> > http://www.freeswitch.org
>>> >
>>> >
>>>
>>>
>>>
>>> --
>>> Anthony Minessale II
>>>
>>> FreeSWITCH http://www.freeswitch.org/
>>> ClueCon http://www.cluecon.com/
>>> Twitter: http://twitter.com/FreeSWITCH_wire
>>>
>>> AIM: anthm
>>> MSN:anthony_minessale at hotmail.com
>>> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
>>> IRC: irc.freenode.net #freeswitch
>>>
>>> FreeSWITCH Developer Conference
>>> sip:888 at conference.freeswitch.org
>>> googletalk:conf+888 at conference.freeswitch.org
>>> pstn:+19193869900
>>>
>>> _______________________________________________
>>> FreeSWITCH-dev mailing list
>>> FreeSWITCH-dev at lists.freeswitch.org
>>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>>> http://www.freeswitch.org
>>>
>> _______________________________________________
>> FreeSWITCH-dev mailing list
>> FreeSWITCH-dev at lists.freeswitch.org
>> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
>> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
>> http://www.freeswitch.org
>>
>
>
>
> --
> Anthony Minessale II
>
> FreeSWITCH http://www.freeswitch.org/
> ClueCon http://www.cluecon.com/
> Twitter: http://twitter.com/FreeSWITCH_wire
>
> AIM: anthm
> MSN:anthony_minessale at hotmail.com
> GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:888 at conference.freeswitch.org
> googletalk:conf+888 at conference.freeswitch.org
> pstn:+19193869900
>



-- 
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900



More information about the FreeSWITCH-dev mailing list