Am 14.01.2011 16:52, schrieb Prelle, Stefan:
Hi folks,
I have a problem with a scenario where an incoming INVITE is forwarded to a redirect
server
which responds with 302 and a new target in the Contact header (B). The call is being
forwarded
to the new contact correctly. All responses from B that are either provisional or a 200
OK
are being routed back to the caller. If B responds with any code>=400 the 302 from
the
redirect server is being returned to the caller instead of the received code.
A B C
|--INVITE->| |
| |--INVITE->|
| |<---302---| D
| |----INVITE--->|
| |<-----404-----|
|<---302---|
Is this intended? And if so, is there any way to change this behaviour so the latest
received
response is returned?
Yes - it is intended. The lowest response code of all branches will used
(RFC conform).
You can change this behavior by either (I think b is what you look for).
a) load another failure route in the existing failure route. in the new
failure route use t_reply() to set a proper failure route
b) play around with tm module parameters, especially failure_reply_mode():
http://www.kamailio.org/docs/modules/3.1.x/modules/tm.html#failure_reply_mo…
regards
klaus