[OpenSIPS-Devel] [ opensips-Bugs-2762270 ] Other branches should not be CANCELed on "nonfinal" failures

SourceForge.net noreply at sourceforge.net
Tue Sep 1 15:12:07 CEST 2009


Bugs item #2762270, was opened at 2009-04-14 18:19
Message generated for change (Settings changed) made by bogdan_iancu
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2762270&group_id=232389

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.
>Category: modules
>Group: trunk
>Status: Closed
>Resolution: Invalid
Priority: 5
Private: No
Submitted By: Thomas Gelf (thomas_gelf)
Assigned to: Bogdan-Andrei Iancu (bogdan_iancu)
Summary: Other branches should not be CANCELed on "nonfinal" failures

Initial Comment:
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 8.1.3.5 -> 401, 407 etc) should not be considered failures".

Regards,
Thomas Gelf

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 ;-)


----------------------------------------------------------------------

>Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-09-01 16:12

Message:
Hi Thomas,

again, the scenario you describe should work (as opensips will cancel the
pending branches only on 2xx or 6xx, but not on 407).

I thing the problem is on the perception on what is going on, as you get
into failure route (to process the 407) only if the all the branches are
completed.

Nevertheless, if you find something more on this, please reopen the report
- in the mean while I will close it as invalid.

Regards,
Bogdan

----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-07-21 13:12

Message:
1) using minor branch stuff ? 

2) is the media server branch hunging up or it keeps the call on 183 until
proxy cancels it?

maybe attaching a file with the trace will help.

Regards,
Bogdan

----------------------------------------------------------------------

Comment By: Thomas Gelf (thomas_gelf)
Date: 2009-07-21 13:05

Message:
Hi Bogdan,

If it does so, everything is fine. This has been some time ago, so I don't
remember all the details. AFAIR I did the following:
- if a user being low on credit issued a call to PSTN, a parallel branch
was forked to an announcement server, saying "Hey, you should..."
- PSTN call was uac_authenticated, 183 replies where thought to be
"converted" to 180 (perl module)
- the problem was: as soon as the 407 arrived, the second branch got
canceled - and that's why I opened this ticket

If this is not how OpenSIPS should behave I could try to recreate the
scenario.

Best regards,
Thomas


----------------------------------------------------------------------

Comment By: Bogdan-Andrei Iancu (bogdan_iancu)
Date: 2009-07-21 12:30

Message:
Hi Thomas,

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...

Maybe your scenario is a bit different....??

Regards,
Bogdan

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=1086410&aid=2762270&group_id=232389



More information about the Devel mailing list