Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Submitted By: Thomas Gelf (thomas_gelf)
>Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: Other branches should not be CANCELed on "nonfinal" failures
Assume two branches, one of them making use of uac_auth(). As soon as 407 for that branch arrives, the other branch is CANCELed immediately by OpenSIPS. This is IMO not correct, and also RFC3261 states that "requests that are reattempted (see 22.214.171.124 -> 401, 407 etc) should not be considered failures".
NB: Yeah, I know this is a tricky one. However, could not resist posting it - as doing so I'm sure it doesn't get lost ;-)
Trying to follow up this report - if you have 2 ongoing branches (on
ringing state, let's assume), when receiving 407 on one of the branches
will not trigger a cancelling of the second pending branch - the current
implementation for parallel forking cancels pending branches only when a
2xx reply was received or for 6xx replies...otherwise, it will wait to get
a final reply from all pending branches...