[SR-Users] [DMQ] Sync DLG_STATE_CONFIRMED_NA dialog state ?
hw at skalatan.de
Tue Jul 2 18:37:20 CEST 2019
I think as well that the right solution would be to add the missing states to the synchronisation. I could imagine that they maybe would be left out because of the additional implementation effort.
If you create a pull request we would happy to review and apply, if it fits.
Am 01.07.19 um 12:32 schrieb Mathieu Bodjikian:
We are using DMQ module to sync dialogs between 3 Kamailio boxes.
We are using last Kamailio version (5.2.3).
>From our understanding, the state DLG_STATE_CONFIRMED_NA is not synced over DMQ (https://github.com/kamailio/kamailio/blob/a84a3ea618f0e602a8892c37fce7f4e72ab7371c/src/modules/dialog/dlg_dmq.c#L464)
With containerized environement, the ACK's can go to any Kamailio instance, which lead to :
On first box :
-> INVITE received -> Dialog created + KDMQ sent (state DLG_STATE_UNCONFIRMED)
-> 180 | 183 received -> Dialog updated + KDMQ sent (state DLG_STATE_EARLY)
-> 200 received -> Dialog updated + KDMQ NOT sent (DLG_STATE_CONFIRMED_NA)
On second box :
-> ACK received :
- next_state_dlg(): bogus event 6 in state 2 for dlg
- dialog not updated
- KDMQ with state DLG_STATE_CONFIRMED not sent
On first box, after timeout :
-> After timeout :
- dialg with incorrect timeouts (since box2 didn't send dialog update)
- tm sends BYE in both ways
- bye_reply_cb(): inconsitent dlg timer data on dlg
We see two solutions :
- We add DLG_STATE_CONFIRMED_NA to states we sync on dlg_dmq_replicate_action
- We manage to route the ACK on the same instance that received first INVITE (could be tricky)
Which one is preferable ?
Kamailio (SER) - Users Mailing List
sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>
Henning Westerholt - https://skalatan.de/blog/
Kamailio services - https://skalatan.de/services
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the sr-users