[SR-Users] Re: Failover with dialog dmq while dialog state 2

2024-05-27 Thread Henning Westerholt via sr-users
Hello Björn,

understand, sure. You could create a feature request for this topic on our 
tracker, but of course this does not mean that it will be implemented by 
somebody.
If you have some stricter business requirements around this topic, maybe you 
could also speak with one of the companies on the business directory for 
support:
https://www.kamailio.org/w/business-directory/

Cheers,

Henning

From: Björn Klasen via sr-users 
Sent: Freitag, 17. Mai 2024 10:34
To: Kamailio (SER) - Users Mailing List 
Cc: Björn Klasen 
Subject: [SR-Users] Re: Failover with dialog dmq while dialog state 2


Hello Henning,

unfortunately I'm not experienced in C-Programming. But an enhancement to DMQ 
would be cool anyway as I really like the concept behind this although I've 
testet it only in our Lab, so have no clue how good it works (DMQ for usrloc, 
htable and dialog) together in a high load enviroment with approx 1 
parallel Calls and 100 CPS on a signalling only system with some SQL.

BR
Björn
Am 15.05.24 um 17:54 schrieb Henning Westerholt:
Hello Björn,

Thanks for the update. This sounds indeed a like a somewhat ugly hack. 
It should be probably fixed in the code instead of manually creating KDMQ 
messages to update the dialog module state in the cfg.

Cheers,

Henning

From: Björn Klasen via sr-users 
<mailto:sr-users@lists.kamailio.org>
Sent: Freitag, 10. Mai 2024 13:27
To: sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
Cc: Björn Klasen <mailto:bkla...@tng.de>
Subject: [SR-Users] Re: Failover with dialog dmq while dialog state 2

Hi Henning,

thank you for your reply. I did a lot testings during the past days and I think 
I found a solution that is working, although it's very dirty...

I found out it is possible to send a manual KDMQ-Message to all Proxy-Nodes 
including the one that it sending die KDMQ-Message. So I create a dialog state 
4 message on ACK and indeed the Dialog on all Peers are Updated correctly to 
state 4. I also tried this for state 3 on 200 OK, but this does not work. I 
haven't had a look into the code yet but my experiments shows, that there is 
never is state 3 update via DMQ, so I think it's not implemented.

Interestingly the TM-Timer still times out after 300 seconds but in normal 
circumstances this doesn't bother, because either the failed Kamailio will not 
trigger this, because the Software or the Server crashed, or it tries to send a 
CANCEL that is denied because we are in dialog state 4.

The only thing is your really have to be careful about your hash tables. You 
have to delete them at the correct point.

I really need to test a lot at this point, but till now, billing seems to be OK 
even on failover scenarios.

This is why I really like Kamailio :)

BR, Björn
Am 09.05.24 um 20:57 schrieb Henning Westerholt:

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_dmq



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


--
Björn Klasen, Senior Specialist (VoIP)
TNG Stadtnetz GmbH, TNG-Technik
Gerhard-Fröhler-Straße 12
24106 Kiel・Deutschland

T +49 431 7097-10
F +49 431 7097-555
bkla...@tng.de<mailto:bkla...@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.
__
--
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
bkla...@tng.de<mailto:bkla...@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://w

[SR-Users] Re: Failover with dialog dmq while dialog state 2

2024-05-17 Thread Björn Klasen via sr-users

Hello Henning,

unfortunately I'm not experienced in C-Programming. But an enhancement to DMQ 
would be cool anyway as I really like the concept behind this although I've 
testet it only in our Lab, so have no clue how good it works (DMQ for usrloc, 
htable and dialog) together in a high load enviroment with approx 1 
parallel Calls and 100 CPS on a signalling only system with some SQL.

BR
Björn

Am 15.05.24 um 17:54 schrieb Henning Westerholt:
Hello Björn,

Thanks for the update. This sounds indeed a like a somewhat ugly hack. 
It should be probably fixed in the code instead of manually creating KDMQ 
messages to update the dialog module state in the cfg.

Cheers,

Henning

From: Björn Klasen via sr-users 
<mailto:sr-users@lists.kamailio.org>
Sent: Freitag, 10. Mai 2024 13:27
To: sr-users@lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
Cc: Björn Klasen <mailto:bkla...@tng.de>
Subject: [SR-Users] Re: Failover with dialog dmq while dialog state 2

Hi Henning,

thank you for your reply. I did a lot testings during the past days and I think 
I found a solution that is working, although it's very dirty...

I found out it is possible to send a manual KDMQ-Message to all Proxy-Nodes 
including the one that it sending die KDMQ-Message. So I create a dialog state 
4 message on ACK and indeed the Dialog on all Peers are Updated correctly to 
state 4. I also tried this for state 3 on 200 OK, but this does not work. I 
haven't had a look into the code yet but my experiments shows, that there is 
never is state 3 update via DMQ, so I think it's not implemented.

Interestingly the TM-Timer still times out after 300 seconds but in normal 
circumstances this doesn't bother, because either the failed Kamailio will not 
trigger this, because the Software or the Server crashed, or it tries to send a 
CANCEL that is denied because we are in dialog state 4.

The only thing is your really have to be careful about your hash tables. You 
have to delete them at the correct point.

I really need to test a lot at this point, but till now, billing seems to be OK 
even on failover scenarios.

This is why I really like Kamailio :)

BR, Björn
Am 09.05.24 um 20:57 schrieb Henning Westerholt:

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_dmq



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


--
Björn Klasen, Senior Specialist (VoIP)
TNG Stadtnetz GmbH, TNG-Technik
Gerhard-Fröhler-Straße 12
24106 Kiel・Deutschland

T +49 431 7097-10
F +49 431 7097-555
bkla...@tng.de<mailto:bkla...@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.
__

--
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
bkla...@tng.de<mailto:bkla...@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-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:


[SR-Users] Re: Failover with dialog dmq while dialog state 2

2024-05-15 Thread Henning Westerholt via sr-users
Hello Björn,

Thanks for the update. This sounds indeed a like a somewhat ugly hack. 
It should be probably fixed in the code instead of manually creating KDMQ 
messages to update the dialog module state in the cfg.

Cheers,

Henning

From: Björn Klasen via sr-users 
Sent: Freitag, 10. Mai 2024 13:27
To: sr-users@lists.kamailio.org
Cc: Björn Klasen 
Subject: [SR-Users] Re: Failover with dialog dmq while dialog state 2

Hi Henning,

thank you for your reply. I did a lot testings during the past days and I think 
I found a solution that is working, although it's very dirty...

I found out it is possible to send a manual KDMQ-Message to all Proxy-Nodes 
including the one that it sending die KDMQ-Message. So I create a dialog state 
4 message on ACK and indeed the Dialog on all Peers are Updated correctly to 
state 4. I also tried this for state 3 on 200 OK, but this does not work. I 
haven't had a look into the code yet but my experiments shows, that there is 
never is state 3 update via DMQ, so I think it's not implemented.

Interestingly the TM-Timer still times out after 300 seconds but in normal 
circumstances this doesn't bother, because either the failed Kamailio will not 
trigger this, because the Software or the Server crashed, or it tries to send a 
CANCEL that is denied because we are in dialog state 4.

The only thing is your really have to be careful about your hash tables. You 
have to delete them at the correct point.

I really need to test a lot at this point, but till now, billing seems to be OK 
even on failover scenarios.

This is why I really like Kamailio :)

BR, Björn
Am 09.05.24 um 20:57 schrieb Henning Westerholt:

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_dmq



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


--
Björn Klasen, Senior Specialist (VoIP)
TNG Stadtnetz GmbH, TNG-Technik
Gerhard-Fröhler-Straße 12
24106 Kiel・Deutschland

T +49 431 7097-10
F +49 431 7097-555
bkla...@tng.de<mailto:bkla...@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-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:


[SR-Users] Re: Failover with dialog dmq while dialog state 2

2024-05-10 Thread Björn Klasen via sr-users

Hi Henning,

thank you for your reply. I did a lot testings during the past days and I think 
I found a solution that is working, although it's very dirty...

I found out it is possible to send a manual KDMQ-Message to all Proxy-Nodes 
including the one that it sending die KDMQ-Message. So I create a dialog state 
4 message on ACK and indeed the Dialog on all Peers are Updated correctly to 
state 4. I also tried this for state 3 on 200 OK, but this does not work. I 
haven't had a look into the code yet but my experiments shows, that there is 
never is state 3 update via DMQ, so I think it's not implemented.

Interestingly the TM-Timer still times out after 300 seconds but in normal 
circumstances this doesn't bother, because either the failed Kamailio will not 
trigger this, because the Software or the Server crashed, or it tries to send a 
CANCEL that is denied because we are in dialog state 4.

The only thing is your really have to be careful about your hash tables. You 
have to delete them at the correct point.

I really need to test a lot at this point, but till now, billing seems to be OK 
even on failover scenarios.

This is why I really like Kamailio :)

BR, Björn

Am 09.05.24 um 20:57 schrieb Henning Westerholt:

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_dmq

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



--
Björn Klasen, Senior Specialist (VoIP)
TNG Stadtnetz GmbH, TNG-Technik
Gerhard-Fröhler-Straße 12
24106 Kiel・Deutschland

T +49 431 7097-10
F +49 431 7097-555
bkla...@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-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe:


[SR-Users] Re: Failover with dialog dmq while dialog state 2

2024-05-09 Thread Henning Westerholt via sr-users
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_dmq

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 
> Sent: Dienstag, 7. Mai 2024 11:18
> To: Kamailio (SER) - Users Mailing List 
> Cc: Björn Klasen 
> 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
> bkla...@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-le...@lists.kamailio.org
> Important: keep the mailing list in the recipients, do not reply only to the
> sender!
> Edit mailing list options or unsubscribe:
__
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to sr-users-le...@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the 
sender!
Edit mailing list options or unsubscribe: