From bfaf02242a98c464dfbdcd3c3ebf3fbb555bcc47 Mon Sep 17 00:00:00 2001 From: Vlad Paiu Date: Fri, 20 May 2016 13:43:13 +0300 Subject: [PATCH] Process sequential messages received in CONFIRMED_NA state Due to UDP race conditions, sequential messages may be received before the ACK confirming the initial INVITE ( eg. Re-INVITE sent immediately as the call is established in order to force a specific codec ) - also push these requests through the whole dialog processing in order to avoid any future issues ( eg. CSEQ updating which, if left unprocessed, will lead to generating out of order sequentials by OpenSIPS ) --- modules/dialog/dlg_handlers.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/dialog/dlg_handlers.c b/modules/dialog/dlg_handlers.c index 9f2b04dba81..9b3fb90c4dd 100644 --- a/modules/dialog/dlg_handlers.c +++ b/modules/dialog/dlg_handlers.c @@ -1595,7 +1595,7 @@ void dlg_onroute(struct sip_msg* req, str *route_params, void *param) } if ( (event==DLG_EVENT_REQ || event==DLG_EVENT_REQACK) - && new_state==DLG_STATE_CONFIRMED) { + && (new_state==DLG_STATE_CONFIRMED || new_state==DLG_STATE_CONFIRMED_NA) ) { LM_DBG("sequential request successfully processed (dst_leg=%d)\n", dst_leg);