The intention is to not broadcast when they send "offline" try latest HEAD, it should work now.
It skips exactly at line 4213 in sofia_presence.c
.. if (count != 1) { ..
count is initialized with 1 and never overwritten because the check in line 4204
… if (sofia_test_pflag(profile, PFLAG_MULTIREG) && !open) { …
always evaluates to false because var open is initialized to 1 and never overwritten after the init.
This seems like a bug or is it intentional ?
However, looking at the code brings me to one question:
Is the table sip_presence intended to be filled when only one phone registred to one user changes its presence (so no multi registration is used) ?
Thanks
gw
Von: freeswitch-dev-bounces@lists.freeswitch.org [mailto:freeswitch-dev-bounces@lists.freeswitch.org] Im Auftrag von Anthony Minessale
Gesendet: Freitag, 26. Oktober 2012 19:34
An: freeswitch-dev@lists.freeswitch.org
Betreff: Re: [Freeswitch-dev] Question about sofia_presence.c
Well add some debug lines and try to see why it doesn't work. Probably the xml is not the same as the other supported phones or something silly. Just put log printf all over the place in the function to see where it skips.
On Fri, Oct 26, 2012 at 3:21 AM, Gerald Weber <gerald.weber@besharp.at> wrote:
I set presence debug to 10 and posted the output to pastebin:
http://pastebin.freeswitch.com/20131
Von: freeswitch-dev-bounces@lists.freeswitch.org [mailto:freeswitch-dev-bounces@lists.freeswitch.org] Im Auftrag von Gerald Weber
Gesendet: Freitag, 26. Oktober 2012 09:36
An: freeswitch-dev@lists.freeswitch.org
Betreff: Re: [Freeswitch-dev] Question about sofia_presence.c
I had that alread set in sip_profiles/internal.xml together with these values:
<param name="manage-presence" value="true"/>
<param name="send-presence-on-register" value="true"/>
<param name="presence-probe-on-register" value="true"/>
<param name="presence-proto-lookup" value="true"/>
<param name="manage-shared-appearance" value="true"/>
<param name="dbname" value="share_presence"/>
<param name="presence-hosts" value="$${domain}"/>
Still no rows in sip_presence
Von: freeswitch-dev-bounces@lists.freeswitch.org [mailto:freeswitch-dev-bounces@lists.freeswitch.org] Im Auftrag von Anthony Minessale
Gesendet: Freitag, 26. Oktober 2012 00:46
An: freeswitch-dev@lists.freeswitch.org
Betreff: Re: [Freeswitch-dev] Question about sofia_presence.c
err in sofia profile.
<param name="multiple-registrations" value="true"/>
On Thu, Oct 25, 2012 at 5:45 PM, Anthony Minessale <anthony.minessale@gmail.com> wrote:
then enable the multiple-registrations param in your sofia-presence
On Thu, Oct 25, 2012 at 1:40 AM, Gerald Weber <gerald.weber@besharp.at> wrote:
So you mean a sip packet like this ?
No. Time Source Destination Protocol Length Info
74 4.780876000 192.168.20.150 192.168.20.73 SIP/XML 1174 Request: PUBLISH sip:2001@192.168.20.73
Frame 74: 1174 bytes on wire (9392 bits), 1174 bytes captured (9392 bits) on interface 0
Ethernet II, Src: HewlettP_33:a8:77 (e8:39:35:33:a8:77), Dst: Vmware_8c:00:1c (00:50:56:8c:00:1c)
Internet Protocol Version 4, Src: 192.168.20.150 (192.168.20.150), Dst: 192.168.20.73 (192.168.20.73)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
Total Length: 1160
Identification: 0x1de8 (7656)
Flags: 0x02 (Don't Fragment)
Fragment offset: 0
Time to live: 128
Protocol: UDP (17)
Header checksum: 0x0000 [incorrect, should be 0x2e4d (may be caused by "IP checksum offload"?)]
Source: 192.168.20.150 (192.168.20.150)
Destination: 192.168.20.73 (192.168.20.73)
[Source GeoIP: Unknown]
[Destination GeoIP: Unknown]
User Datagram Protocol, Src Port: 16066 (16066), Dst Port: sip (5060)
Session Initiation Protocol
Request-Line: PUBLISH sip:2001@192.168.20.73 SIP/2.0
Message Header
Message Body
eXtensible Markup Language
<?xml
<presence
xmlns='urn:ietf:params:xml:ns:pidf'
xmlns:dm='urn:ietf:params:xml:ns:pidf:data-model'
xmlns:rpid='urn:ietf:params:xml:ns:pidf:rpid'
xmlns:c='urn:ietf:params:xml:ns:pidf:cipid'
xmlns:lt='urn:ietf:params:xml:ns:location-type'
xmlns:caps='urn:ietf:params:xml:ns:pidf:caps'
entity='sip:2001@192.168.20.73'>
<tuple
id='t7301aa0d'>
<status>
<basic>
</status>
</tuple>
<dm:person
id='p74c68736'>
<rpid:activities>
<rpid:busy/>
</rpid:activities>
<dm:note>
Do not disturb
</dm:note>
</dm:person>
</presence>
This i sent from a bria3 client to fs but i dont get any entry in sip_presence because of the check in line 4204.
Von: freeswitch-dev-bounces@lists.freeswitch.org [mailto:freeswitch-dev-bounces@lists.freeswitch.org] Im Auftrag von Anthony Minessale
Gesendet: Mittwoch, 24. Oktober 2012 20:01
An: freeswitch-dev@lists.freeswitch.org
Betreff: Re: [Freeswitch-dev] Question about sofia_presence.c
it has to send a publish to update sip_presence using the pidf method.
On Wed, Oct 24, 2012 at 10:55 AM, Gerald Weber <gerald.weber@besharp.at> wrote:
Hi all,
i’m currently extending my list_users command to show the presence status of registered sip devices.
I have a snom 360 and a bria softphone here to test with, calling one from the other shows 2 rows in sip_dialogs table so presence
is basically working.
Both phones have the ability to set the presence to, e.g. busy or meeting or whatever.
The only problem i have is, that there is no line in sip_presence table when i change the presence on the phone (or using presence in)
Digging through the code, i found that this is because of the if statement in src/mod/endpoints/mod_sofia/sofia_presence.c line 4204
Looks like a check for multiple registrations, but how is this intended to work with only one registration per user ?
I changed the if to if (count > 0) for testing and i can see the correct entries in sip_registrations.
I’m not quite sure if i understand the purpose of this code so i didn’t raise a jira.
Is this a bug ? If not, does the sip_presence table only get filled when there are more than one registration per user ?
Thanks
gw
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com
FreeSWITCH-dev mailing list
FreeSWITCH-dev@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@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com
FreeSWITCH-dev mailing list
FreeSWITCH-dev@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@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@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@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com
FreeSWITCH-dev mailing list
FreeSWITCH-dev@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@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900
_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com
FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com
Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com
FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org