Hi,
I have a question regarding the presence + presence_dialoginfo modules
of Kamailio (tested with version 3.2.x and 3.3.x).
My SIP user agents are generating SIP PUBLISH requests for the event
"dialog" and some of these PUBLISH requests contain multiple dialog
elements in the message body. Kamailio is accepting content of these
messages and storing that information in the "presentity" table of the
corresponding DB. Taking a look into the presentity table is confirming
that both dialog elements of the PUBLISH request are stored (as body
content).
However, why does the SIP NOTIFY request, which is sent to the
"active_watchers" of this event, contain only one of these dialog
entries -- even that the modparam "force_single_dialog" is set to "0"
or
(for comparison) unset (using default value "0")? Are multiple dialog
entries not / no longer supported by the Kamailio "presence_dialoginfo"
module? The README of this module (through all versions incl. 4.1.x) is
explaining the opposite:
[...]
This module by default does body aggregation. [...] e.g. if the entity
has multiple dialogs the pua_dialoginfo will send multiple PUBLISH), the
module will parse all the received (and still valid, depending on the
Expires header in the PUBLISH request) XML documents and generate a
single XML document with multiple "dialog" elements.
[...]
Exemplary content of a PUBLISH request looks like this:
PUBLISH sip:117104@172.31.60.87 SIP/2.0
Via: SIP/2.0/UDP 172.31.60.54:5060;rport;branch=z9hG4bK1118069411
From: <sip:117104@172.31.60.87>;tag=4024173055-29882384-1398422652889
To: <sip:117104@172.31.60.87>
Call-ID: 4044398119-29882384-1398422652889(a)172.31.60.54
CSeq: 21 PUBLISH
Max-Forwards: 70
Content-Disposition: render;handling=required
Expires: 600
Event: dialog
Content-Type: application/dialog-info+xml
Content-Length: 1053
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="00000000004" state="full"
entity="sip:117104@172.31.60.87">
<dialog id="4044468572-29882384-1398422652855(a)172.31.60.54"
call-id="4044468572-29882384-1398422652855(a)172.31.60.54"
direction="initiator">
<state>terminated</state>
<remote>
<identity>sip:1101015004@172.31.60.13</identity>
<target uri="sip:1101015004@172.31.60.13"/>
</remote>
<local>
<identity>sip:117104@172.31.60.87</identity>
<target uri="sip:117104@172.31.60.87"/>
</local>
</dialog>
<dialog id="2310720239-29882384-1398422648572(a)172.31.60.54"
call-id="2310720239-29882384-1398422648572(a)172.31.60.54"
direction="initiator">
<state>confirmed</state>
<remote>
<identity>sip:117103@172.31.60.87</identity>
<target uri="sip:117103@172.31.60.87"/>
</remote>
<local>
<identity>sip:117104@172.31.60.87</identity>
<target uri="sip:117104@172.31.60.87"/>
</local>
</dialog>
</dialog-info>
Exemplary content of the NOTIFY request looks like this:
NOTIFY sip:117101@172.31.60.54:5060 SIP/2.0
Via: SIP/2.0/UDP
172.31.60.87;branch=z9hG4bKaeb3.066c77d0000000000000000000000000.0
To: sip:117101@172.31.60.87;tag=827287863-29882384-1398420840764
From: sip:117104@172.31.60.87;tag=1f98950b7b1f526eff73c08f9ffc96bd-947a
CSeq: 152 NOTIFY
Call-ID: 1176683682-29882384-1398420840764(a)172.31.60.54
Content-Length: 600
User-Agent: kamailio (3.2.4 (i386/linux))
Max-Forwards: 70
Event: dialog
Contact: <sip:172.31.60.87:5060>
Subscription-State: active;expires=1370
Content-Type: application/dialog-info+xml
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="00000000004" state="full"
entity="sip:117104@172.31.60.87">
<dialog id="4044468572-29882384-1398422652855(a)172.31.60.54"
call-id="4044468572-29882384-1398422652855(a)172.31.60.54"
direction="initiator">
<state>terminated</state>
<remote>
<identity>sip:1101015004@172.31.60.13</identity>
<target uri="sip:1101015004@172.31.60.13"/>
</remote>
<local>
<identity>sip:117104@172.31.60.87</identity>
<target uri="sip:117104@172.31.60.87"/>
</local>
</dialog>
</dialog-info>
In other words: it is not inserting all (stored) dialog elements into
the notification request. Please give me a hint, what there could be
wrong.Maybe it is just a misunderstanding of the description.....
Br
Klaus