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