[OpenSIPS-Devel] [OpenSIPS-Users] [RELEASES] Planing OpenSIPS 1.9.0 major release

Dan Pascu dan at ag-projects.com
Mon Nov 5 16:40:05 CET 2012


On 31 Oct 2012, at 21:59, Ryan Bullock wrote:

> These would make pinging a bit more complicated but may help avoid races:
> 
> 1.  Have the ping aware of when the last INVITE was seen in the dialog (sent from anyone) and only issue its own re-INVITE if it has not seen an INVITE for X seconds in the dialog. Perhaps X could be a lower value if the previous re-INVITE had a negative reply (many clients locally end the call when they receive a negative reply to an INVITE, but may not issue a BYE). Add a little session timer awareness and you may be able to avoid most races.

This will not solve anything. Client behavior is unpredictable from the server point of view. You cannot estimate when the client will send the next re-INVITE in order to avoid the race.

> 
> 2. Combine 1 with OPTIONS between INVITES. For example, send an OPTION ping every minute, but you also want to see a re-INVITE every 15 minutes. This could allow quick detection for clients that support OPTION properly and the re-INVITE would help detect dead calls when the client is a bit buggy.

It doesn't matter if you send in-dialog OPTIONs or INVITEs. Two in-dialog requests cannot overlap, no matter if it's an OPTION or an INVITE. The issue is the same regardless of the method you use.

--
Dan







More information about the Devel mailing list