Hi Stas,
I checked with couple of SIP UACs and I found none using the "DOCTYPE"
line the published presence XML. So, I guess you should simply drop such
a line in your testing.
The "tuple" node is replacing your "atom" node (at least this is what I
noticed while trying other UACs). Here is an example of a PUBLISH xml
generated by Zoiper:
<?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf"
entity="sip:bog...@opensips.org;transport=UDP">
<tuple id="bogdan" >
<status><basic>open</basic>
</status>
<note>Busy</note>
</tuple>
</presence>
In regards to the crash, even if the XML is not properly formated, it
should not crash - can you send me the actual MI command + content to
try to reproduce the crash and have it fixed ?
Best regards,
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 04.01.2016 18:49, Stas Kobzar wrote:
Hello all and Happy New Year!
I have a problem with publishing application/xpidf+xml (Xpidf)
presence info with OpenSIPS mi (ver11).
It seems like it is not supported.
The xpidf xml body is something like this:
<?xml version="1.0"?>
<!DOCTYPE presence PUBLIC "-//IETF//DTD RFCxxxx XPIDF 1.0//EN"
"xpidf.dtd">
<presence>
<presentity uri="sip:244@199.182.134.149
<mailto:sip%3A244@199.182.134.149>;method=SUBSCRIBE" />
<atom id="*45244*600">
<address uri="sip:*45244*600@199.182.134.149
<mailto:600@199.182.134.149>;user=ip" priority="0.800000">
<status status="open" />
<msnsubstatus substatus="online" />
</address>
</atom>
</presence>
After browsing around the source I think there are two problems:
1. (in modules/pua/add_events.c:pres_process_body) function from
libxml2 xmlParseMemory returns NULL when finds the line <!DOCTYPE
presence PUBLIC "-//IETF//DTD RFCxxxx XPIDF 1.0//EN" "xpidf.dtd">
2. Another problem: when I remove the line above from body there is a
call to another function that is looking for "<tuple>" node in xml (in
modules/pua/add_events.c:pres_process_body):
node= xmlDocGetNodeByName(doc, "tuple", NULL);
But there is no "tuple" in xpidf document. So it returns error.
3. As an experiment, I added "<tuple>" inside my presence body and it
crashed OpenSIPS with:
CRITICAL:core:receive_fd: EOF on 18
Question:
Is there a way to make xpidf presence content type work with pua_mi
module?
Thank you,
--
Stas Kobzar
Developeur VoIP / VoIP Developer
ModulisĀ.ca Inc.
# Bureau / Office: 514-284-2020 x 246
Email: s <http://firstname.lastname>tas.kob...@modulis.ca
https://www.modulis.com <https://www.modulis.com/>
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users
_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users