Try latest trunk.
I tried forcing the db update in real-time to avoid a race on the event.



 

On Wed, Jan 27, 2010 at 1:56 PM, Jerry Richards <jerry.richards@teotech.com> wrote:
There are two places in the XML body that are diffierent:
 
FS Rcvd PUBLISH has:  <rpid:away/> and <dm:note>Away</dm:note>
FS Sent NOTIFY   has:  <rpid:busy/> and <dm:note>Busy</dm:note>
 
This behavior (above) is why I'm not seeing the published presence at the subscribing softphone.  FS should be sending the new Away status in the NOTIFY message.
 
I did notice there is an "[ERR] sofia_presnece.c:674" FS log between the PUBLISH and the NOTIFY (please see Line 89 of http://pastebin.freeswitch.org/11953).  Line 674 is in the sofia_presence_event_thread_run() function where it calls switch_mutex_unlock(mod_sofia_globals.mutex).  Do you think this [ERR] is related to why FS sends the previous status and not updated status?
 
Thanks And Best Regards,
Jerry
 

From: Anthony Minessale [mailto:anthony.minessale@gmail.com]
Sent: Tuesday, January 26, 2010 1:22 PM

To: freeswitch-users@lists.freeswitch.org
Subject: Re: [Freeswitch-users] Presence Change Distribution

its sending a notify to them right away (line 174 of your PB)
the xml in the notify we send looks the same as what they sent except one thing

They send: <rpid:away/>
We send: <rpid:busy/>

everybody who implements this seems to have their own idea of what to say here.

This crazy xml presence crap is pure garbage so maybe that's it.

 

On Tue, Jan 26, 2010 at 3:02 PM, Jerry Richards <jerry.richards@teotech.com> wrote:
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_host,sip_subscriptions.sub_to_user,sip_subscriptions.sub_to_host,sip_subscriptions.event,sip_subscriptions.contact,sip_subscriptions.call_id,sip_subscriptions.full_from,sip_subscriptions.full_via,sip_subscriptions.expires,sip_subscriptions.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@192.168.72.150:34672>|ZTQ2ZWQwZGRlZjRiNTdkYTJjNGM5NTgzOWIyNmIwZmU.|"5382 on 79" <sip:5382@192.168.72.79>;tag=68bb4eb6|SIP/2.0/UDP 192.168.72.150:34672;branch=z9hG4bK-d8754z-eafc60166305eaef-1---d8754z-;rport=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_host,sip_subscriptions.sub_to_user,sip_subscriptions.sub_to_host,sip_subscriptions.event,sip_subscriptions.contact,sip_subscriptions.call_id,sip_subscriptions.full_from,sip_subscriptions.full_via,sip_subscriptions.expires,sip_subscriptions.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_host,sip_subscriptions.sub_to_user,sip_subscriptions.sub_to_host,sip_subscriptions.event,sip_subscriptions.contact,sip_subscriptions.call_id,sip_subscriptions.full_from,sip_subscriptions.full_via,sip_subscriptions.expires,sip_subscriptions.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@gmail.com]
Sent: Monday, January 25, 2010 11:05 AM

To: freeswitch-users@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@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@gmail.com]
Sent: Tuesday, December 29, 2009 12:02 AM
To: freeswitch-users@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@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@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@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@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900

_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@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@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900

_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@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@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
iax:guest@conference.freeswitch.org/888
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900