[Freeswitch-users] Presence Change Distribution

Jerry Richards jerry.richards at teotech.com
Tue Jan 26 13:02:08 PST 2010


Okay, I setup my FS to force SUBSCRIBE Expires to 3600 seconds.  Then I
captured a FS console trace of a Bria softphone changing it's presence state
from 'Busy' to 'Away' (see http://pastebin.freeswitch.org/11953) and
observed that the subscribing Bria softphone did not update to 'Away'.  At
the same time, I executed the sqlite3 app and pasted each of the 3 SQL
select statements I saw in the FS console log, and pasted them below.  I'm
new to sqlite3.  Do you see what my issue is?
 
sqlite>
sqlite> select
sip_subscriptions.proto,sip_subscriptions.sip_user,sip_subscriptions.sip_hos
t,sip_subscriptions.sub_to_user,sip_subscriptions.sub_to_host,sip_subscripti
ons.event,sip_subscriptions.contact,sip_subscriptions.call_id,sip_subscripti
ons.full_from,sip_subscriptions.full_via,sip_subscriptions.expires,sip_subsc
riptions.user_agent,sip_subscriptions.accept,sip_subscriptions.profile_name,
'Away','away','192.168.72.79',sip_presence.status,sip_presence.rpid from
sip_subscriptions left join sip_presence on
(sip_subscriptions.sub_to_user=sip_presence.sip_user and
sip_subscriptions.sub_to_host=sip_presence.sip_host and
sip_subscriptions.profile_name=sip_presence.profile_name) where
sip_subscriptions.expires > -1 and (event='presence' or event='presence')
and sub_to_user='5401' and (sub_to_host='192.168.72.79' or presence_hosts
like '%192.168.72.79%') and (sip_subscriptions.profile_name = 'internal' or
sip_subscriptions.presence_hosts != sip_subscriptions.sub_to_host);
sip|5382|192.168.72.79|5401|192.168.72.79|presence|"5382 on 79"
<sip:5382 at 192.168.72.150:34672>|ZTQ2ZWQwZGRlZjRiNTdkYTJjNGM5NTgzOWIyNmIwZmU.
|"5382 on 79" <sip:5382 at 192.168.72.79>;tag=68bb4eb6|SIP/2.0/UDP
192.168.72.150:34672;branch=z9hG4bK-d8754z-eafc60166305eaef-1---d8754z-;rpor
t=34672|1264546204|Teo Softphone release 2.5.4 stamp
55958||internal|Away|away|192.168.72.79|Away|away
sqlite>
sqlite>
sqlite>
sqlite>
sqlite>
sqlite>
sqlite>
sqlite>
sqlite> select
sip_subscriptions.proto,sip_subscriptions.sip_user,sip_subscriptions.sip_hos
t,sip_subscriptions.sub_to_user,sip_subscriptions.sub_to_host,sip_subscripti
ons.event,sip_subscriptions.contact,sip_subscriptions.call_id,sip_subscripti
ons.full_from,sip_subscriptions.full_via,sip_subscriptions.expires,sip_subsc
riptions.user_agent,sip_subscriptions.accept,sip_subscriptions.profile_name,
'Away','away','192.168.72.79',sip_presence.status,sip_presence.rpid from
sip_subscriptions left join sip_presence on
(sip_subscriptions.sub_to_user=sip_presence.sip_user and
sip_subscriptions.sub_to_host=sip_presence.sip_host and
sip_subscriptions.profile_name=sip_presence.profile_name) where
sip_subscriptions.expires > -1 and (event='presence' or event='presence')
and sub_to_user='5401' and (sub_to_host='192.168.72.79' or presence_hosts
like '%192.168.72.79%') and (sip_subscriptions.profile_name =
'internal-ipv6' or sip_subscriptions.presence_hosts !=
sip_subscriptions.sub_to_host);
sqlite>
sqlite>
sqlite>
sqlite>
sqlite>
sqlite>
sqlite>
sqlite> select
sip_subscriptions.proto,sip_subscriptions.sip_user,sip_subscriptions.sip_hos
t,sip_subscriptions.sub_to_user,sip_subscriptions.sub_to_host,sip_subscripti
ons.event,sip_subscriptions.contact,sip_subscriptions.call_id,sip_subscripti
ons.full_from,sip_subscriptions.full_via,sip_subscriptions.expires,sip_subsc
riptions.user_agent,sip_subscriptions.accept,sip_subscriptions.profile_name,
'Away','away','192.168.72.79',sip_presence.status,sip_presence.rpid from
sip_subscriptions left join sip_presence on
(sip_subscriptions.sub_to_user=sip_presence.sip_user and
sip_subscriptions.sub_to_host=sip_presence.sip_host and
sip_subscriptions.profile_name=sip_presence.profile_name) where
sip_subscriptions.expires > -1 and (event='presence' or event='presence')
and sub_to_user='5401' and (sub_to_host='192.168.72.79' or presence_hosts
like '%192.168.72.79%') and (sip_subscriptions.profile_name = 'external' or
sip_subscriptions.presence_hosts != sip_subscriptions.sub_to_host);
sqlite>

Thanks and Best Regards,
Jerry


  _____  

From: Anthony Minessale [mailto:anthony.minessale at gmail.com] 
Sent: Monday, January 25, 2010 11:05 AM
To: freeswitch-users at lists.freeswitch.org
Subject: Re: [Freeswitch-users] Presence Change Distribution


the notify will be instant after the publish
the notify you see are not triggered by the publish or they would be
instant.

Same drill, turn on presence debugging in sofia.conf.xml 
and look at the sql stmts and see why



On Mon, Jan 25, 2010 at 12:30 PM, Jerry Richards
<jerry.richards at teotech.com> wrote:


Okay, I notice that if I reduce the Presence SUBSCRIBE Expires duration
(from 3600 seconds to 60 seconds), then the delay between PUBLISH's and
NOTIFY's is reduced, but FS still waits nearly 45 seconds to send the
NOTIFY's after it receives a PUBLISH.
 
Can a change be made in FS so that NOTIFYs are sent as a direct result of
receipt of the PUBLISH message?  And not tied to the SUBSCRIBE expiration?
I really don't want to configure all my phones to re-subscribe every 30 or
15 seconds.
 
Thanks and Best Regards,
Jerry
 


  _____  

From: RobertT [mailto:siniypin at gmail.com] 
Sent: Tuesday, December 29, 2009 12:02 AM
To: freeswitch-users at lists.freeswitch.org
Subject: Re: [Freeswitch-users] Presence Change Distribution


You can try to reduce your registration time. 
I for one made my client apps send PUBLISH message every minute in addition
to reduced registration time.

Regards, Robert.


2009/12/28 Jerry Richards <jerry.richards at teotech.com>


Is there a setting to control how fast FS distributes presence changes to
subscribers?  Currently, it appears to take several minutes before I see
presence changes.  I would like to see them almost instantaneously, if
possible.

Thanks and Best Regards,
Jerry


_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org




_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
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
<mailto:MSN%3Aanthony_minessale at hotmail.com> 
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
<mailto:PAYPAL%3Aanthony.minessale at gmail.com> 
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
<mailto:sip%3A888 at conference.freeswitch.org> 
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org
<mailto:googletalk%3Aconf%2B888 at conference.freeswitch.org> 
pstn:+19193869900


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20100126/50712ca0/attachment-0002.html 


More information about the FreeSWITCH-users mailing list