[SR-Users] Asterisk re-INVITE race condition, error 500.

Klaus Darilion klaus.mailinglists at pernau.at
Tue Jun 4 02:20:02 CEST 2013


This is a known problem without simple solution. It can also happen if 
the ACK gets lost somewhere.

The proper solution is to fix Freeswitch. The reINVITE is an implicit 
ACK (as there wouldn't be a reINVITE if there wouldn't have been an 
ACK). Thus, FS should accept the reINVITE and implicitly behaves like 
the ACK was received. Later, when the ACK arrives, it should be ignored 
by FS.

Actually Asterisk should also handle the 500 correctly and try the 
reINVITE again (or works although the reINVITE failed).

regards
Klaus

On 03.06.2013 21:23, David K wrote:
> Hello all,
>
> So I have three machines, we don't care about audio for this problem, so
> everything I mention here is SIP related.
>
> Freeswitch <--> Kamailio 3.3.2 <--> Asterisk
>
> 1. Asterisk sends an INVITE to Freeswitch through the Kamailio proxy.
> 2. Kamailio replies 100 Trying and forwards to Freeswitch
> 3. Freeswitch replies 100 Trying
> 4. Freeswitch replies 180 Ringing to Kamailio
> 5. Kamailio routes the answer to Asterisk
> 6. Freeswitch replies 200 OK to Kamailio
> 7. Kamailio replies 200 OK to Asterisk
> 8. Asterisk replies ACK to Kamailio
> 9. Asterisk sends a re-INVITE to Freeswitch through Kamailio
> 10. Kamailio routes the re-INVITE to freeswitch
> 11. Kamailio routes the ACK to freeswitch.
> 12. Freeswitch replies 500 Server error because it got a re-INVITE
> before the ACK.
>
> So, my problem is that Kamailio seems to process my re-INVITE more
> quickly than the ACK. So Freeswitch replies an error because it got the
> re-INVITE before the ACK.
>
> So my "solution" is to add a usleep(20); for re-INVITEs on Kamailio, but
> I think this is a lousy solution.
>
> Has anyone here had to deal with problems where Kamailio routes a
> re-INVITE faster than an ACK causing endpoints to return error
> messages?  Has anyone had to deal with a similar issue?
>
> Thanks,
>
> David
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



More information about the sr-users mailing list