Hello,
we use Kamailio 4.2 with Presence_DIALOGINFO module for BLF
notifications (blinking lamps on phone panel).
Since version 4.1 Kamailio has a new module parametr "
modparam("presence_dialoginfo", "force_dummy_dialog", 1)"
- this option generate first NOTIFY to Subscribed phone (without
PUBLISH message) and it's lamps became GREEN (
<state>terminated</state>).
Without this module parametr the first NOTIFY won't be sent to phone
and lamps will stay turned off until first PUBLISH will be handled
by presence server.
The first NOTIFY sip message with xml body look like this:
NOTIFY sip:1005@22.22.22.22:1120
SIP/2.0.
To: <sip:1005@11.11.11.11>;tag=867246696.
From: <sip:9095@11.11.11.11>;tag=495949c4c25d687c77ca707bd10a0818-5171.
CSeq: 2 NOTIFY.
Call-ID: 662126467-5060-6@BJC.BGI.E.CDD.
Route: <sip:10.60.1.3;r2=on;lr=on>,
<sip:11.11.11.11;r2=on;lr=on>.
Content-Length: 272.
User-Agent: kamailio (4.2.3 (x86_64/linux)).
Max-Forwards: 70.
Event: dialog.
Subscription-State: active;expires=600.
Content-Type: application/dialog-info+xml.
.
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="1" ух state="full" entity="sip:9095@10.60.1.3">
<dialog direction="recipient">
<state>terminated</state>
</dialog>
</dialog-info>
Especially pay attention on XML body.
But for some SIP phones this xml body with state = terminated is not
enough to turn the BLF lamp on. (for example Grandstream phones).
It requires one more or two more fields: "dialog id", "call-id".
<?xml version="1.0"?>
<dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info"
version="28" state="full" entity="sip:9093@10.60.1.3">
<dialog id="830b4fd4-c75d-1233-ca9f-0050569560f4"
call-id="830b4fd4-c75d-1233-ca9f-0050569560f4"
direction="recipient">
<state>terminated</state>
</dialog>
</dialog-info>
The question is how to modify this first NOTIFY XML body message to
add "dialog id" and "call-id" to </dialog>.
For example latest Kamailio Kazoo fixed that already. :)
Kind Regards
Ewgeny