Just to follow this up with more recent results. I've simplified things and have been testing calling from a Kamailio registered UA to a phone on the PSTN. There's only 1 dialog in Kamailio for this and the results are just as strange. BLF works for a while and then breaks. In this particular case, the light does not go off after the call.
I have set subs_db_mode to 3 (new config below) and I can consistently reproduce the BLF light not turning off after the call has ended (the phone does not get sent a terminate). As soon as I truncate pua and presentity tables in the DB, the next call works fine.
modparam("presence", "subs_db_mode", 3) modparam("presence", "notifier_processes", 0) modparam("presence", "db_url", DBURL) modparam("presence", "send_fast_notify", 0) modparam("presence", "db_update_period", 20) modparam("presence_xml", "db_url", DBURL) modparam("presence_xml", "force_active", 1) modparam("presence_dialoginfo", "force_single_dialog", 1) modparam("presence_dialoginfo", "force_dummy_dialog", 1) modparam("pua", "db_url", DBURL) modparam("pua", "db_mode", 2) modparam("pua", "update_period", 20) modparam("pua_dialoginfo", "send_publish_flag", FLT_DLGINFO) modparam("pua_dialoginfo", "override_lifetime", 124)
Before I truncate, the tables both a good number of rows in each (70ish).
Is it that they're not being correctly cleaned up here?
Thanks
Phil
From: sr-users [mailto:sr-users-bounces@lists.sip-router.org] On Behalf Of Phil Lavin Sent: 19 January 2016 18:11 To: miconda@gmail.com; Kamailio (SER) - Users Mailing List sr-users@lists.sip-router.org Subject: Re: [SR-Users] Strange PUA Behaviour
Below is the relevant presence/pua stuff. Let me know if I should be examining other tables.
When the call ends, there are no dialogs remaining in the dialog table. A few things do hang around in the presentity and pua tables for a short period of time.
Regarding CLI changing, it does seem to do so. When the call is routed onto the billing platform, the CLI is changed to the local "extension" (e.g. 9989) on the leg that comes back to Kamailio, destined for the callee.
Regarding only advertising the leg going to the callee, not all calls will terminate on a UA registered against Kamailio (e.g. calls from a Kamailio registered UA to the PSTN). The more I think about it, determining the correct leg in all scenarios will be difficult.
mysql> SELECT * FROM presentity\G *************************** 1. row *************************** id: 1 username: 441164969989 domain: 185.28.212.118 event: dialog etag: a.1453224139.18802.144.0 expires: 1453226868 received_time: 1453226743 body: <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:441164969989@185.28.212.118"> <dialog id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" call-id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" direction="initiator"> <state>Trying</state> <remote> <identity>sip:9988@185.28.212.118;user=phone</identitysip:9988@185.28.212.118;user=phone%3c/identity> <target uri="sip:9988@185.28.212.118;user=phone"/> </remote> <local> <identity>sip:441164969989@185.28.212.118</identitysip:441164969989@185.28.212.118%3c/identity> <target uri="sip:441164969989@185.28.212.118"/> </local> </dialog> </dialog-info>
sender: priority: 0 *************************** 2. row *************************** id: 2 username: 441164969988 domain: 185.28.212.118 event: dialog etag: a.1453224139.18803.173.0 expires: 1453226869 received_time: 1453226744 body: <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:441164969988@185.28.212.118"> <dialog id="b2d95153-ea311679-84b889bb@172.31.17.81~2o<mailto:b2d95153-ea311679-84b889bb@172.31.17.81~2o>" call-id="b2d95153-ea311679-84b889bb@172.31.17.81~2o<mailto:b2d95153-ea311679-84b889bb@172.31.17.81~2o>" local-tag="8D404FC4-3EB13CE3" remote-tag="sl4pzhsqvrpk4wqa.o" direction="recipient"> <state>early</state> <remote> <identity>sip:9989@91.228.242.21</identitysip:9989@91.228.242.21%3c/identity> <target uri="sip:91.228.242.21:5061"/> </remote> <local> <identity>sip:441164969988@185.28.212.118</identitysip:441164969988@185.28.212.118%3c/identity> <target uri="sip:441164969988@185.28.212.246:51415"/> </local> </dialog> </dialog-info>
sender: priority: 0 *************************** 3. row *************************** id: 3 username: 441164969989 domain: 185.28.212.118 event: dialog etag: a.1453224139.18816.93.0 expires: 1453226869 received_time: 1453226744 body: <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:441164969989@185.28.212.118"> <dialog id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" call-id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" local-tag="72DEDDC3-BABA2049" remote-tag="hu7u5gyrvjx5ebvc.i" direction="initiator"> <state>early</state> <remote> <identity>sip:9988@185.28.212.118;user=phone</identitysip:9988@185.28.212.118;user=phone%3c/identity> <target uri="sip:91.228.242.21:5061"/> </remote> <local> <identity>sip:441164969989@185.28.212.118</identitysip:441164969989@185.28.212.118%3c/identity> <target uri="sip:441164969989@185.28.212.246:7816"/> </local> </dialog> </dialog-info>
sender: priority: 0 *************************** 4. row *************************** id: 4 username: 9988 domain: 185.28.212.118 event: dialog etag: a.1453224139.18804.132.0 expires: 1453226869 received_time: 1453226744 body: <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:9988@185.28.212.118;user=phone"> <dialog id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" call-id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" local-tag="hu7u5gyrvjx5ebvc.i" remote-tag="72DEDDC3-BABA2049" direction="recipient"> <state>early</state> <remote> <identity>sip:441164969989@185.28.212.118</identitysip:441164969989@185.28.212.118%3c/identity> <target uri="sip:441164969989@185.28.212.246:7816"/> </remote> <local> <identity>sip:9988@185.28.212.118;user=phone</identitysip:9988@185.28.212.118;user=phone%3c/identity> <target uri="sip:91.228.242.21:5061"/> </local> </dialog> </dialog-info>
sender: priority: 0 *************************** 5. row *************************** id: 5 username: 441164969988 domain: 185.28.212.118 event: dialog etag: a.1453224139.18802.145.0 expires: 1453226881 received_time: 1453226756 body: <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:441164969988@185.28.212.118"> <dialog id="b2d95153-ea311679-84b889bb@172.31.17.81~2o<mailto:b2d95153-ea311679-84b889bb@172.31.17.81~2o>" call-id="b2d95153-ea311679-84b889bb@172.31.17.81~2o<mailto:b2d95153-ea311679-84b889bb@172.31.17.81~2o>" direction="recipient"> <state>confirmed</state> <remote> <identity>sip:9989@91.228.242.21</identitysip:9989@91.228.242.21%3c/identity> <target uri="sip:91.228.242.21:5061"/> </remote> <local> <identity>sip:441164969988@185.28.212.118</identitysip:441164969988@185.28.212.118%3c/identity> <target uri="sip:441164969988@185.28.212.118"/> </local> </dialog> </dialog-info>
sender: priority: 0 *************************** 6. row *************************** id: 6 username: 441164969989 domain: 185.28.212.118 event: dialog etag: a.1453224139.18803.174.0 expires: 1453226881 received_time: 1453226756 body: <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:441164969989@185.28.212.118"> <dialog id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" call-id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" direction="initiator"> <state>confirmed</state> <remote> <identity>sip:9988@185.28.212.118;user=phone</identitysip:9988@185.28.212.118;user=phone%3c/identity> <target uri="sip:9988@185.28.212.118;user=phone"/> </remote> <local> <identity>sip:441164969989@185.28.212.118</identitysip:441164969989@185.28.212.118%3c/identity> <target uri="sip:441164969989@185.28.212.246:7816"/> </local> </dialog> </dialog-info>
sender: priority: 0 *************************** 7. row *************************** id: 7 username: 9988 domain: 185.28.212.118 event: dialog etag: a.1453224139.18800.126.0 expires: 1453226881 received_time: 1453226756 body: <?xml version="1.0"?> <dialog-info xmlns="urn:ietf:params:xml:ns:dialog-info" version="0" state="full" entity="sip:9988@185.28.212.118;user=phone"> <dialog id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" call-id="b2d95153-ea311679-84b889bb@172.31.17.81<mailto:b2d95153-ea311679-84b889bb@172.31.17.81>" direction="recipient"> <state>confirmed</state> <remote> <identity>sip:441164969989@185.28.212.118</identitysip:441164969989@185.28.212.118%3c/identity> <target uri="sip:441164969989@185.28.212.246:7816"/> </remote> <local> <identity>sip:9988@185.28.212.118;user=phone</identitysip:9988@185.28.212.118;user=phone%3c/identity> <target uri="sip:9988@185.28.212.118;user=phone"/> </local> </dialog> </dialog-info>
sender: priority: 0 7 rows in set (0.00 sec)
mysql> SELECT * FROM pua\G *************************** 1. row *************************** id: 1 pres_uri: sip:441164969989@185.28.212.118 pres_id: DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81mailto:DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81 event: 32 expires: 1453226868 desired_expires: 1453226867 flag: 1024 etag: a.1453224139.18802.144.0 tuple_id: watcher_uri: call_id: to_tag: from_tag: cseq: 0 record_route: contact: remote_contact: version: 0 extra_headers: *************************** 2. row *************************** id: 3 pres_uri: sip:441164969989@185.28.212.118 pres_id: DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81mailto:DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81 event: 32 expires: 1453226869 desired_expires: 1453226868 flag: 1024 etag: a.1453224139.18816.93.0 tuple_id: watcher_uri: call_id: to_tag: from_tag: cseq: 0 record_route: contact: remote_contact: version: 0 extra_headers: *************************** 3. row *************************** id: 4 pres_uri: sip:9988@185.28.212.118;user=phone pres_id: DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81mailto:DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81 event: 32 expires: 1453226869 desired_expires: 1453226868 flag: 1024 etag: a.1453224139.18804.132.0 tuple_id: watcher_uri: call_id: to_tag: from_tag: cseq: 0 record_route: contact: remote_contact: version: 0 extra_headers: *************************** 4. row *************************** id: 6 pres_uri: sip:441164969989@185.28.212.118 pres_id: DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81mailto:DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81 event: 32 expires: 1453226881 desired_expires: 1453226880 flag: 1024 etag: a.1453224139.18803.174.0 tuple_id: watcher_uri: call_id: to_tag: from_tag: cseq: 0 record_route: contact: remote_contact: version: 0 extra_headers: *************************** 5. row *************************** id: 7 pres_uri: sip:9988@185.28.212.118;user=phone pres_id: DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81mailto:DIALOG_PUBLISH.b2d95153-ea311679-84b889bb@172.31.17.81 event: 32 expires: 1453226881 desired_expires: 1453226880 flag: 1024 etag: a.1453224139.18800.126.0 tuple_id: watcher_uri: call_id: to_tag: from_tag: cseq: 0 record_route: contact: remote_contact: version: 0 extra_headers: 5 rows in set (0.00 sec)
Phil Lavin Telecoms Systems Manager CloudCall by SYNETY www.cloudcall.comhttp://www.cloudcall.com/
T: +44 (0) 330 335 0000 / +1 617 982 1600 D: +44 (0) 116 424 4790 / +1 617 982 4790 SM: LinkedInhttps://uk.linkedin.com/pub/phil-lavin/25/422/750 READ OUR BLOG FOR SMARTER COMMUNICATIONShttp://t.sidekickopen03.com/e1t/c/5/f18dQhb0S7lC8dDMPbW2n0x6l2B9nMJW7t5XX43M2cMvVRrZGW2zq9tRVd0tpR56dKNHf2gJW-W02?t=http%3a%2f%2fwww.synety.com%2fblog&si=4668581662425088&pi=98b5dc7b-6a3f-4319-9221-c422f106ebf9
Confidentiality: This e-mail transmission, including any attachments, is intended only for the named recipient(s) and may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you have received this transmission in error, or are not the named recipient(s), please notify the sender immediately by return e-mail and permanently delete this transmission, including any attachments. Security: This e-mail and any attachments are believed to be free from any virus but it is the responsibility of the recipient to ensure this is so. E-mail is not a 100% secure communication.
From: Daniel-Constantin Mierla [mailto:miconda@gmail.com] Sent: 19 January 2016 17:49 To: Phil Lavin <phil.lavin@synety.commailto:phil.lavin@synety.com>; Kamailio (SER) - Users Mailing List <sr-users@lists.sip-router.orgmailto:sr-users@lists.sip-router.org> Subject: Re: [SR-Users] Strange PUA Behaviour
Hello,
is any of these two dialogs staying not terminated when the call is ended?
I would only advertise the dialog info states for the call leg going to callee, because it is the one for call pickup.
On the other hand for shared line appearance, the caller is watched as well. Is the caller id changed in the middle?
Cheers, Daniel On 19/01/16 11:25, Phil Lavin wrote: Hi Daniel,
The multiple records are because we are routing calls between UAs which are both registered against Kamailio via an external SIP server (our billing engine). That is causing there to be 2 dialogs created.
We have put in a quick hack to not call dlg_manage() when the $fU is "9989". This does not create 2 records in the dialogs table and the BLF functionality works as expected.
What do you propose as the correct fix for this situation?
Thanks
Phil
From: Phil Lavin Sent: 19 January 2016 09:42 To: 'miconda@gmail.commailto:miconda@gmail.com' miconda@gmail.commailto:miconda@gmail.com; Kamailio (SER) - Users Mailing List sr-users@lists.sip-router.orgmailto:sr-users@lists.sip-router.org Subject: RE: [SR-Users] Strange PUA Behaviour
Hi Daniel,
Thanks for your response. There are 2 records in the database. They are below:
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com