Hi, when I receive a 480 or 603 from a local user I run "on_failure_route" and create new branch to forward the INVITE to a media server in which I reply an early-media "The number you are calling is not available now...".
It works perfectly if the error is 4XX but it doesn't work if it's a 6XX. I get this error:
--------------------- ## onreply_route[ON_REPLY_TO_USER]: 603: Decline
## failure_route[ON_FAILURE_TO_USER] --- TO_MEDIA_SERVER: Destino user_not_available May 21 12:25:25 [8502] ERROR:tm:t_forward_nonack: discarding fwd for a cancelled/6xx transaction May 21 12:25:25 [8502] ERROR:tm:w_t_relay: t_forward_nonack failed ----------------------
My code is very simple:
---------------------- failure_route[ON_FAILURE_TO_USER] {
if (t_check_status("480|603")) { $rU = "user_not_available"; route(ROUTE_TO_MEDIA_SERVER); exit; } }
route[ROUTE_TO_MEDIA_SERVER] { rewritehostport("MEDIA_SERVER_IP:MEDIA_SERVER_PORT"); append_branch(); t_relay(); } ---------------------
It seems that if the reply is a 6XX then OpenSer can't generate a new_branch in failure_route. May 21 12:25:25 [8502] ERROR:tm:t_forward_nonack: discarding fwd for a cancelled/6xx transaction
Why? doesn't it make sense to forward to some destination even if the negative reply is a 4XX or 6XX?
Thanks a lot for any help.