Feature Requests item #1968908, was opened at 2008-05-21 18:31 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1968908&group_id=139143
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: core Group: ver devel Status: Open Resolution: None Priority: 5 Private: No Submitted By: IƱaki Baz (ibc_sf) Assigned to: Nobody/Anonymous (nobody) Summary: Allow "append_branch" in FAILURE_ROUTE if best reply is 6XX Initial Comment: Actually OpenSer doesn't allow "append_branch" in FAILURE ROUTE if the best negative reply received is a 6XX. It's done in this way to be RFC 3261 compliant since 6XX means "global failure and no further forking is allowed". In this way if we implement a voicemail forwarding system based of FAILURE ROUTE it just will work if the called user rejected the call with a 4XX code (480, 486...) but if it used a 6XX then OpenSer won't create a new branch to forward the INVITE to the voicemail. Also note that some UA's use 4XX and others 6XX to reject a call. But I'm really not sure that OpenSer would break the RFC 3261 if it allows creating a new branch **AFTER** choosing the best response even if it was a 6XX: FAILURE_ROUTE is executed when all the branches have finished, all of them with a negative response. Then the "best" response is chosen by OpenSer and its code is what we can see if we run: t_check_status("XXX") in FAILURE_ROUTE. So, I don't think that using "append_branch()" into FAILURE_ROUTE is anti-RFC3261, the steps are: - OpenSer receives an INVITE and forks it to the user locations. - OpenSer receives a 480, 486 and 603. - It chooses 603 as best response. - It runs the FAILURE_ROUTE in which a "append_branch" is executed. - The INVITE is forwarded to a media server. The new branch has been created **AFTER** choosing the best response from "real" branches. The FAILURE_ROUTE is part of our proxy logic, so IMHO those steps are not anti-RFC3261 at all. So I propose that OpenSer can generate a new branch in FAILURE ROUTE even if the best response was a 6XX. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=743023&aid=1968908&group_id=139143 _______________________________________________ Devel mailing list Devel@lists.openser.org http://lists.openser.org/cgi-bin/mailman/listinfo/devel