Hello,
hmmm, quite interesting that the ack takes longer, because invite is typically larger and also in kamailio likely to be transaction processing, while ack is just sent out stateless.
Anyhow, I can't remember any changes in ack processing that could add to this. Are you doing accounting of ACK requests?
As of a solution, perhaps hash table comes handy again, filter on this customer and then of the ack and 2nd invite are received in really short time in between, then add some usleep() for invite, that should take the cpu from the process handling it.
Cheers, Daniel
On 04/08/15 11:59, Daniel Tryba wrote:
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.
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users