[SR-Users] DMQ with dialog: KDMQ messages being looped back to the source

Charles Chance charles.chance at sipcentric.com
Thu Jul 26 15:01:22 CEST 2018


Hello,

I have just pushed a fix to master branch and also backported to 5.1.

https://github.com/kamailio/kamailio/commit/a84a3ea618f0e602a8892c37fce7f4e72ab7371c
https://github.com/kamailio/kamailio/commit/e2eda1376def48ab1c78db7a766c1811d19205be

Please confirm if it fixes your issue.

Cheers,

Charles


On 25 July 2018 at 10:31, Patrick Murphy <patmurph7 at outlook.com> wrote:

> Another bit of data:
>
> KDMQ messages flow in the wrong direction i.e. (Node B to A) only for
> dialog state: 5 updates.
>
> And this happens after the actual KDMQ from A to B has already been ack'd
> with a 200 OK.
> ------------------------------
> *From:* sr-users <sr-users-bounces at lists.kamailio.org> on behalf of
> Patrick Murphy <patmurph7 at outlook.com>
> *Sent:* Tuesday, July 24, 2018 4:43:28 PM
>
> *To:* Kamailio (SER) - Users Mailing List
> *Subject:* Re: [SR-Users] DMQ with dialog: KDMQ messages being looped
> back to the source
>
>
> Hi Charles,
>
>
> Yes I exit after the handle_dmq function in the request route.
>
>
> I couldn't spot the looping this time (as it is intermittent), but here is
> the trace of messages that may indicate something weird or unexpected
> happening with DMQ:
>
>
> The following message came from Node B to A (which should never have
> originated because only A is receiving calls). I am assuming KDMQ will only
> flow from A --> B followed by their acks from B.
>
> KDMQ sip:dialog at no.de.a.ip:5060 SIP/2.0
> Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z9hG4bK22af.6d4559b5000000.0
> To: <sip:dialog at no.de.a.ip:5060>
> From: <sip:dialog at no.de.b.ip:5060>;tag=4d8de1338e3b915c083406d1267d5e
> 7bg-1424
> CSeq: 10 KDMQ
> Call-ID: 7db853960276b4a4-20185 at no.de.a.ip
> Content-Length: 50
> User-Agent: kamailio (5.1.1 (x86_64/linux))
> Max-Forwards: 1
> Content-Type: application/json
>
> {"action":3,"h_entry":3521,"h_id":23807,"state":5}
>
>
> And Node A correctly responded with a 500 because it was not expecting this
>
> SIP/2.0 500 Server Internal Error
> Via: SIP/2.0/UDP xx.xx.xx.xx:5060;branch=z9hG4bK22af.6d4559b5000000.0;
> received=no.de.b.ip
> To: <sip:dialog at no.de.a.ip:5060>;tag=7bf3c29789337c2087fcbd4083b8683d.147f
> From: <sip:dialog at no.de.b.ip:5060>;tag=4d8de1338e3b915c083406d1267d5e
> 7bg-1424
> CSeq: 10 KDMQ
> Call-ID: 7db853960276b4a4-20185 at no.de.b.ip
> User-Agent: kamailio (5.1.1 (x86_64/linux))
> Content-Length: 0
>
>
>
> Regards,
>
> Owais
>
>
> ------------------------------
> *From:* sr-users <sr-users-bounces at lists.kamailio.org> on behalf of
> Charles Chance <charles.chance at sipcentric.com>
> *Sent:* Tuesday, July 24, 2018 3:46 PM
> *To:* Kamailio (SER) - Users Mailing List
> *Subject:* Re: [SR-Users] DMQ with dialog: KDMQ messages being looped
> back to the source
>
> Hi Pat,
>
> In your config, do you exit immediately after handle_dmq_message()?
>
> Are you able to share with us one of the looped messages, both as it is
> received by B and then as it is sent back to A?
>
> Cheers,
>
> Charles
>
>
> On 24 July 2018 at 16:05, Patrick Murphy <patmurph7 at outlook.com> wrote:
>
> Hi,
>
> I am using Kamailio 5.1.1 with DMQ with the following config (relevant
> parts) on 2 nodes.
>
> Node A:
> modparam("dialog", "enable_dmq", 1)
> modparam("dmq", "server_address", "sip:no.de.a.ip:5060")
> modparam("dmq", "notification_address", "sip:myvoip.local")
> modparam("dmq", "multi_notify", 1)
>
>
> Node B:
> modparam("dialog", "enable_dmq", 1)
> modparam("dmq", "server_address", "sip:no.de.b.ip:5060")
> modparam("dmq", "notification_address", "sip:myvoip.local")
> modparam("dmq", "multi_notify", 1)
>
> "myvoip.local" is a DNS A record that resolves to both the IPs of A and B.
>
> I have the dmq_handle_message(); called if method is of type "KDMQ" in the
> request_route.
>
> Now, in order to test it, I only sent a few calls only on node A.
> KDMQ messages flowed to node B and dialog state replicated. But I noticed,
> node B was randomly sending one of the KDMQ dialog messages back to A and
> receiving a 500 "Server Internal Error" back from node A... (for a subset
> of those calls, not all).
>
> Why would this be the case when the nodes correctly recognize their local
> status by the "local: 1" set as seen from dmq.list_nodes
>
> Anyone else experienced this? What could I be doing wrong?
>
>
> Thanks,
> Pat.
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>
>
>
> Sipcentric Ltd. Company registered in England & Wales no. 7365592. Registered
> office: Faraday Wharf, Innovation Birmingham Campus, Holt Street,
> Birmingham Science Park, Birmingham B7 4BB.
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
>
>

-- 
Sipcentric Ltd.
                Company registered in England & Wales no. 
7365592. Registered
                office: Faraday Wharf, Innovation 
Birmingham Campus, Holt Street, Birmingham Science Park, Birmingham B7 4BB.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180726/3e2ca2a6/attachment.html>


More information about the sr-users mailing list