[OpenSIPS-Users] [OpenSIPS-Devel] [RELEASES] Planing OpenSIPS 1.9.0 major release
Ovidiu Sas
osas at voipembedded.com
Wed Oct 31 20:15:33 CET 2012
On Wed, Oct 31, 2012 at 3:03 PM, Dan Pascu <dan at ag-projects.com> wrote:
>
> On 29 Oct 2012, at 12:11, Bogdan-Andrei Iancu wrote:
>
>> Hi Saul,
>>
>> We were thinking at re-INVITE pinging from OpenSIPs level towards the caller and callee. There will be 2 modes (at least this is the current plan).
>> 1) remember all the time the last SDPs from each side and re-use them when pining the other sides (just to trick the SDP negotiation)
>> 2) start with a lateSDP negotiation on one side and do normal SDP on the other side (to avoid SDP storing), but this means at least one of the parties should support late SDP negotiations
>> 3) open to other suggestions....
>
> I think this invites trouble as it is prone to race conditions. If any of the clients send a re-INVIVITE of their own while OpenSIPs does it's pinging, it will fail as there is already an active unanswered re-INVITE in progress. The client will be confused as it didn't send another re-INVITE itself and the negative reply to its own re-INVITE will probably just prompt the client to terminate the session thinking there is some issue with it.
>
> I cannot see this working without a full B2BUA, where OpenSIPs would queue the client requests if there is a ping in progress and only forward them after it has finished the ping transaction.
Yes, it is prone to race conditions :(
The UAS should detect such race and reply with 491 Request Pending in
order to clear out this race, but I wonder how many SIP implementation
are implementing this properly:
https://tools.ietf.org/html/rfc3261#section-21.4.27
https://tools.ietf.org/html/rfc3261#section-14.2
More information about the Users
mailing list