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
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
--
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