Hi Alex,

I was thinking of asking something similiar...

Any workaround for something setup like that to work?

But in case of “no”: if Kamailio1 dies could kamailio2 take over the call and terminate the dialog when finished some how?

AFAIK dmq will replicate the dialogs between nodes, but only the “creating dialog” node can “tear a specific dialog down” so kamailio2 would be aware the dialog is there, but as K2 didn’t create it it will not remove it. Am I wrong?

Or even a restart of Kamailio1 would leave its “dialogs” in orphaned state as K2 didn’t create them, and K1 (because of the restart) doesn’t know the dialogs belongs to him because they just came replicated back again via DMQ...?



On Wed, Oct 24, 2018 at 02:17 Alex Balashov <abalashov@evaristesys.com> wrote:
Short answer: no, there is no replication of transaction state.

--
Sent from mobile. Apologies for brevity and errors.

-----Original Message-----
From: Phillman25 Kyriacou <phillman25@gmail.com>
To: sr-users@lists.kamailio.org
Sent: Wed, 24 Oct 2018 4:56 AM
Subject: [SR-Users] DMQ and DIALOG

Hi List!

I currently have 3 Kamailio's (Version 5.1) in an ACTIVE-ACTIVE-ACTIVE
scenario behind a load balancer all 3 nodes are listening and advertising
the same virtual ip of the load balancer. Im using dmq module together with
dialogue module to sync the state of the dialog to all 3 nodes. Is there a
way or module that i can use to also sync every transaction?

Problem that im facing right now is that an INVITE will come to Kamailio1
and the 100 TRYING or 183 RINGING or  200OK will go to Kamailio2 and since
Kamailio1 hasn't received a response will retransmit the INVITE. Or is
there a way with dmq to also update the other nodes for responses like 100
,183 or 200 OK so that Kamailio1 knows not to retransmit?

Maybe im going down the wrong path? :)

Any assistance would be greatly appreciated

My config for dmq and dialog:

#=====================DIALOG====================================
modparam("dialog", "enable_dmq", 1)

#=====================DMQ=======================================
modparam("dmq", "server_address", "sip:x.x.x.x:5080")
modparam("dmq", "notification_address", "sip:y.y.y.y:5080")
modparam("dmq", "multi_notify", 1)
modparam("dmq", "num_workers", 4)
modparam("dmq", "ping_interval", 30)

request_route {

    # MANAGE ALL DIALOGS
       dlg_manage();

if(is_method("KDMQ"))
        {
                dmq_handle_message();
        }

Thanks!
Phillip

_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users