Hello,
thanks for the detailed e-mail. As also indicated in the module documentation, the dialog
module DMQ replication will not replicate everything, its main use-case is for profile
data sharing.
https://kamailio.org/docs/modules/5.8.x/modules/dialog.html#dialog.p.enable…
In the past months there have been some other discussions on the users lists about similar
scenarios (I think related to billing/accounting) and dialog with DMQ, which might be
interesting for you in this regard.
If you find issues where the DMQ synchronisation is lacking some functionality in the
dialog module, you can create a feature request in our issue tracker. There is of course
no guarantee that this limitation is also timely addressed.
Regarding the INVITE and CANCEL scenario, this is usually not related to dialog but to the
tm module. As you also mentioned, there is no replication of transaction state in tm.
Cheers,
Henning
--
Henning Westerholt –
https://skalatan.de/blog/
Kamailio services –
https://gilawa.com
-----Original Message-----
From: Björn Klasen via sr-users <sr-users(a)lists.kamailio.org>
Sent: Dienstag, 7. Mai 2024 11:18
To: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>
Cc: Björn Klasen <bklasen(a)tng.de>
Subject: [SR-Users] Failover with dialog dmq while dialog state 2
Hello @all
as we want to enhance our VoIP-Plattform with DMQ functionalities for
replication of Userlocation, Dialog and Hash Tables I made a lot of tests durings
the last week.
For testing I use two Debian 12 Server with Kamailio 5.7.4 (latest git)
Both server have their own floating IP so in case one server fails the floating
changes to the working server. This is done via keepalived
On both servers Kamailio is active and use ip_free_bind=1 so both Kamailio
instances can listen to all necessary IPs.
So we have following network configuration:
Server1:
static IP: 192.168.253.201
floating IP: 192.168.253.200
Server2:
static IP: 192.168.253.202
floating IP: 192.168.253.210
Now I test some calls while I trigger a failover, so Server1 takes over
192.168.253.10
Message
Test
Result
CustomerA -> Proxy -> CustomerB
Failover while Dialogstate 4
BYE is relayed correctly. Dialog is changing to state 5 CDR needs to be
written manually -> no problem at all CustomerA -> Proxy -> CustomerB
Failover while Dialogstate 2
200 OK is relayed correctly although no transaction exist an therefore no
t_reply route is triggered. This is not a big deal because i can use default
onreply_route so all necessary variables can be used via hash table.
BUT Big Problem: Dialog state stays 2, so a following ACK is a bogus event and
the dialog state is never changed to 4. Even worse: after 300 seconds the
dialog is cleaned away by the timer, so I have no chance to do any kind of
accounting.
Test 2 is a real mess, because for me there is only one solution. I have to check
after a failover on incoming replies to an INVITE that was handled on Server2 if
these current dialog state is < 4 and cancel them.
But I can't see how to do it? Are there other ways than using t_cancel?
Or is it even some kind of a bug that a 200 OK does not trigger state 3 on
dialog (although I have in mind that it has to be something to do with missing
transaction data, that are not replicated because of missing replication
capabilities of tm module)?
If none of the above is possible I really asking myself of a real use case of
dialog dmq replication.
--
Björn Klasen, Teamleitung NGN VoIP-Backbone TNG Stadtnetz GmbH, TNG-
Technik Gerhard-Fröhler-Straße 12
24106 Kiel・Deutschland
T +49 431 7097-10
F +49 431 7097-555
bklasen(a)tng.de
https://www.tng.de
Executive board (Geschäftsführer):
Dr. Sven Willert (CEO/Vorsitz),
Gunnar Peter, Sven Schade,
Carsten Tolkmit, Bernd Sontheimer
Amtsgericht Kiel HRB 6002 KI
USt-ID: DE225201428
Die Information über die Verarbeitung Ihrer Daten gemäß Artikel 12 DSGVO
können Sie unter
https://www.tng.de/datenschutz/ abrufen.
___________________________________________________________________
___
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe
send an email to sr-users-leave(a)lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the
sender!
Edit mailing list options or unsubscribe: