[sr-dev] [kamailio/kamailio] dialog: failover database loading behaviour in shared DB scenario, expiration of dialogs (#2080)

Henning Westerholt notifications at github.com
Fri Sep 27 18:44:45 CEST 2019


The dialog module will expire dialogs that don't actually belong to the particular proxy.

Scenario: 2 proxies on 5.2.4 with a loadbalancer in front. Call was routed over proxy1, dialog timeout on proxy2 was shorter (to make it easier to reproduce it). The results:

  * Dialog synchronized with DMQ: proxy 2 would timeout the dialog
  * Dialog entry synchronized to proxy2 DB and proxy2 restarted: Proxy2 would timeout the dialog
  * Dialog entry synchronized to proxy2 DB and proxy2 not restarted: Proxy2 would _not_ timeout the dialog (I’ve tried both db_mode 1 and 2)

So the proxy2 would load the dialog into memory and then later expire it. So timeout routes, send_bye on timeout would not work correctly. 

One idea to solve this would be to check e.g. over the existing socket data if the dialog belongs to this proxy and skip loading it in this case. This could be also made configurable e.g. with a module parameter.

Any comments? Better ideas how to solve it?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/2080
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-dev/attachments/20190927/e267e5ea/attachment.html>


More information about the sr-dev mailing list