[OpenSER-Users] Why can't I "append_branch()" in FAILURE_ROUTE if reply is 6XX ??

Iñaki Baz Castillo ibc at in.ilimit.es
Wed May 21 13:45:28 CEST 2008


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 at in.ilimit.es




More information about the sr-users mailing list