El Wednesday 21 May 2008 13:20:59 Bogdan-Andrei Iancu escribió:
Hi Iñaki,
because it is against RFC3261 - 6xx reply means global failure and no
further forking is allowed.
Thanks, I understand what you mean but I'm not sure about it, let me explain:
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.
Anyway, with the actual behaviour is then not possible to forward a INVITE to
a destination if OpenSer receives a 6XX? any workaround?
Thanks a lot.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es