[SR-Users] Maintaining order of messages in a sip dialog on forwarding

Daniel Tryba d.tryba at pocos.nl
Tue Aug 4 11:59:38 CEST 2015


Since switching to 4.2.5 (from 3.x) a customer has problems with a buggy user 
agent (IMHO). What I am seeing now is:

provider  kamailio  customer
INVITE1-> 
          INVITE1->
                    <-Trying
          <-Trying
                    <-200 OK
          <-200 OK
ACK1->
INVITE2->
          INVITE2->
          ACK1->

ACK1 arrives 0.007s before INVITE2, but INVITE2 is send 0.004s before ACK1. It 
looks like this wasn't happening with Kamailio 3.x, it worked fine then 
(apparently).

Can this reordering be (gracefully) prevented somehow (ignoring the fact that 
during transport reordering can happen)? A Q&D hack looks to be just usleep 
the reinvite a little.

The endpoint is essentially ignoring the reinvite before (and after) the ACK. 
After a timeout INVITE2 is canceled and after that INVITE1 will be ended with 
a BYE from provider.

kamailio-customer communication is UDP
provider-kamailio is tcp when message >= 1300b. INVITE1 is TCP, INVITE2 and 
ACK1 are UDP.



More information about the sr-users mailing list