[sr-dev] Possible bug in xml body aggregation of presence_dialoginfo, presence_conference and presence_xml modules?

Klaus Feichtinger klaus.lists at inode.at
Wed May 7 15:48:59 CEST 2014


It seems that current implementation of the listed modules has a bug in the
"agregate_xmls" function in the "notify_body.c" files. Current implementation is
"allowing" a single event entry in the XML body of the NOTIFY messages only.
This is caused by "unlinking the XML node" in the for loop "for (node =
p_root->children; node; node = node->next) {". After unlinking it cannot point
to another node. Therefore, it will never enter the aggregation loop again and
stop adding XML childs.... That´s the reason why we have the problem that DB
"body" entries of the presentity table, which include more than one event entry
(e.g. dialog), cannot be fully added to SIP NOTIFY messages. It is always
inserting the first event entry only.

We have tested a workaround with up to three (3) dialog entries (with module
presence_dialoginfo) in a single message body. This is working fine!

According RFC4235 it is allowed using more than onle dialog entry in a single
message body. Therefore, I´d like to ask, if the current behaviour can be seen
as "bug" or not?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20140507/c2408abb/attachment.html>

More information about the sr-dev mailing list