Hi all
We do have a strange problem with loosing rtp in case of carrierroute - failureroute. If we send traffic directly to the failure gateway, we do have rtp without any problem
Situation: Ua --> Freeswitch --> kamailio 3.3 --> gw 1 Error 404 --> failureroute --> media gateway voiceprompt for error 404 ==> this does not work
Ua --> Freeswitch --> kamailio 3.3 rewrite to dest for voiceprompt 404 -->media gateway voiceprompt for error 404 ==> this works!!
Any idea? For me it seems being a problem with branching or so.
Regards, Oli
Configs below:
Main routing block
request_route { --- do all the checks
route(CARRIERROUTE); route(RELAY); }
route[RELAY] { xlog(, "L_INFO", "RELAY: Outbound sent via $avp(s:trunk_out)"); # enable additional event routes for forwarded requests # - serial forking, RTP relaying handling, a.s.o. if (is_method("INVITE|SUBSCRIBE")) { t_on_branch("MANAGE_BRANCH"); t_on_reply("MANAGE_REPLY"); xlog(,"L_INFO", "RELAX - Manage branch ...\n"); } if (is_method("INVITE")) { t_on_failure("MANAGE_FAILURE"); }
if (!t_relay()) { sl_reply_error(); } exit; }
# carrierroute route[CARRIERROUTE] { xlog(,"L_INFO","Carrierroute module start \n"); $avp(s:tree) = "default"; # lookup from user and from domain cr_user_carrier("$fU", "$avp(s:trunk_in)", "$avp(s:cr_pref_carr)");
if($avp(s:cr_pref_carr) == 0){ # lookup from domain cr_user_carrier("", "$avp(s:trunk_in)", "$avp(s:cr_pref_carr)"); }
if(!cr_route("$avp(s:cr_pref_carr)", "$avp(s:tree)", "$rU", "$rU", "call_id", "$avp(s:todirection)" )){ xlog("cr_route 403 no route found $avp(s:cr_pref_carr)"); sl_send_reply("403", "Not allowed"); exit; } $avp(s:trunk_out) = $avp(s:todirection); route(ALTERHEADER);
}
failure_route[MANAGE_FAILURE] { if (t_grep_status("486")){ xlog("L_INFO", "Status 486 - busy"); t_reply("486", "Busy"); }
#revert_uri(); route(NATMANAGE);
if (t_is_canceled()) { exit; }
xlog("L_INFO", "failure_route $rd $T_reply_code $avp(s:trunk_in), $avp(s:tree), $rU, $rd, $T_reply_code, $avp(s:tree) \n");
if(!cr_next_domain("$avp(s:cr_pref_carr)", "$avp(s:tree)", "$rU", "$avp(s:trunk_in)", "$T_reply_code", "$avp(s:tree)" )){ xlog("cr_next_domain failed"); exit; }
if(!cr_route("$avp(s:cr_pref_carr)", "$avp(s:tree)", "$rU", "$rU", "call_id", "$avp(s:todirection)" )){ xlog("cr_route failed"); exit; } $avp(s:trunk_out) = $avp(s:todirection);
if (is_method("INVITE")) { setflag(FLT_ACC); # do accounting setflag(FLT_ACCMISSED); # oro 28.10.13 }
route(ALTERHEADER);
t_on_failure("MANAGE_FAILURE");
if (!t_relay()) { xlog("failureroute t_relay failed"); exit; }
}
No idea?
-----Ursprüngliche Nachricht----- Von: sr-users-bounces@lists.sip-router.org [mailto:sr-users-bounces@lists.sip-router.org] Im Auftrag von Oliver Roth Gesendet: Dienstag, 29. Oktober 2013 12:50 An: Kamailio (SER) - Users Mailing List Betreff: [SR-Users] Loosing rtp only in carrierroute failureroute
Hi all
We do have a strange problem with loosing rtp in case of carrierroute - failureroute. If we send traffic directly to the failure gateway, we do have rtp without any problem
Situation: Ua --> Freeswitch --> kamailio 3.3 --> gw 1 Error 404 --> failureroute --> media gateway voiceprompt for error 404 ==> this does not work
Ua --> Freeswitch --> kamailio 3.3 rewrite to dest for voiceprompt 404 -->media gateway voiceprompt for error 404 ==> this works!!
Any idea? For me it seems being a problem with branching or so.
Regards, Oli
Configs below:
Main routing block
request_route { --- do all the checks
route(CARRIERROUTE); route(RELAY); }
route[RELAY] { xlog(, "L_INFO", "RELAY: Outbound sent via $avp(s:trunk_out)"); # enable additional event routes for forwarded requests # - serial forking, RTP relaying handling, a.s.o. if (is_method("INVITE|SUBSCRIBE")) { t_on_branch("MANAGE_BRANCH"); t_on_reply("MANAGE_REPLY"); xlog(,"L_INFO", "RELAX - Manage branch ...\n"); } if (is_method("INVITE")) { t_on_failure("MANAGE_FAILURE"); }
if (!t_relay()) { sl_reply_error(); } exit; }
# carrierroute route[CARRIERROUTE] { xlog(,"L_INFO","Carrierroute module start \n"); $avp(s:tree) = "default"; # lookup from user and from domain cr_user_carrier("$fU", "$avp(s:trunk_in)", "$avp(s:cr_pref_carr)");
if($avp(s:cr_pref_carr) == 0){ # lookup from domain cr_user_carrier("", "$avp(s:trunk_in)", "$avp(s:cr_pref_carr)"); }
if(!cr_route("$avp(s:cr_pref_carr)", "$avp(s:tree)", "$rU", "$rU", "call_id", "$avp(s:todirection)" )){ xlog("cr_route 403 no route found $avp(s:cr_pref_carr)"); sl_send_reply("403", "Not allowed"); exit; } $avp(s:trunk_out) = $avp(s:todirection); route(ALTERHEADER);
}
failure_route[MANAGE_FAILURE] { if (t_grep_status("486")){ xlog("L_INFO", "Status 486 - busy"); t_reply("486", "Busy"); }
#revert_uri(); route(NATMANAGE);
if (t_is_canceled()) { exit; }
xlog("L_INFO", "failure_route $rd $T_reply_code $avp(s:trunk_in), $avp(s:tree), $rU, $rd, $T_reply_code, $avp(s:tree) \n");
if(!cr_next_domain("$avp(s:cr_pref_carr)", "$avp(s:tree)", "$rU", "$avp(s:trunk_in)", "$T_reply_code", "$avp(s:tree)" )){ xlog("cr_next_domain failed"); exit; }
if(!cr_route("$avp(s:cr_pref_carr)", "$avp(s:tree)", "$rU", "$rU", "call_id", "$avp(s:todirection)" )){ xlog("cr_route failed"); exit; } $avp(s:trunk_out) = $avp(s:todirection);
if (is_method("INVITE")) { setflag(FLT_ACC); # do accounting setflag(FLT_ACCMISSED); # oro 28.10.13 }
route(ALTERHEADER);
t_on_failure("MANAGE_FAILURE");
if (!t_relay()) { xlog("failureroute t_relay failed"); exit; }
}
_______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
----- E-Mail ist virenfrei. Von AVG überprüft - www.avg.de Version: 2014.0.4158 / Virendatenbank: 3615/6784 - Ausgabedatum: 26.10.2013