[OpenSIPS-Users] LRN numbers

Bogdan-Andrei Iancu bogdan at opensips.org
Wed May 15 19:36:16 CEST 2013


Hello,

You get that error as signaling functions are not allowed in branch
route - you invoke there route[7] which tried to send back a reply - the
reply sending function is not allowed in branch route.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com


On 05/13/2013 04:28 PM, M.Khaled W Chehab wrote:
>
> Hi again,
>
>  
>
> I fix it using the below code but still there is a mistake since I can
> find the below error, please can you check if I am coding in correct way
>
>  
>
> CRITICAL:tm:w_t_reply: unsupported route_type (8)
>
> ERROR:signaling:sig_send_reply_mod: failed to send reply with tm module
>
>  
>
>  
>
> if ($rU=~"^.") {
>
>                 route(7);
>
>                 route(1);
>
>                 exit;
>
> route[1] {
>
>         if (subst_uri('/(sip:.*);nat=yes/\1/')) {
>
>                 setbflag(6);
>
>         }
>
>         if (isflagset(5)) {
>
>                search_append('Contact:.*sip:[^>[:cntrl:]]*', ';nat=yes');
>
>         }
>
>  
>
>         # for INVITEs enable some additional helper routes
>
>         if (is_method("INVITE")) {
>
>  
>
>                 t_on_branch("2");
>
>                 t_on_reply("2");
>
>                 t_on_failure("1");
>
>                 avp_db_query("UPDATE `opensips`.`invites` set
> `trunkip` ='$rd' where  `CALLID` = '$ci' ");
>
>         } else if (is_method("BYE")) {
>
>                 setflag(1); # do accounting ...
>
>                 setflag(3); #transaction falis
>
>                 setflag(4); #CDR Table
>
>                 xlog("----------------------------------------Route 1
> Bye---------------");
>
>                       
>
>         } else if (is_method("ACK")) {
>
>                 # call answered an ACKed, start billing here
>
>         } else if (is_method("CANCEL")) {
>
>                 # call cancelled by caller, do clean up here' ");
>
>         }
>
>         if (!t_relay()) {
>
>                 xlog("L_INFO", "--Debug Customer
> ID:$avp(Cusid)/IP:$si------#11###Reply: $T_reply_code\n");
>
>                 send_reply("500","Internal Error");
>
>         };
>
>         exit;
>
> }
>
>  
>
>  
>
>  
>
> route[7]{
>
> if (!do_routing("$avp(Cusid)","FW")) {
>
>                         send_reply("404","No PSTN Route found");
>
>                         exit;
>
>                 }
>
> }
>
>  
>
> route[6] {
>
> if ( use_next_gw() ) {
>
>                                 $var(prefix) =
> $(avp(gw_attrs){csv.value,1});
>
>                                 $rU = $var(prefix) + $avp(dst);
>
>                                 xlog("L_INFO", "--Debug Customer
> ID:$avp(Cusid)/IP:$si-----Calling number to Next Provier $rU\n");
>
>                                 setflag(26); #Missed calls
>
>                                 t_on_failure("1");
>
>                                 t_relay();
>
>                                 exit;
>
>                         }
>
> }
>
>  
>
> branch_route[2] {
>
>         xlog("L_INFO", "--Debug Customer ID:$avp(Cusid)/IP:$si-----new
> branch at $ru\n");
>
>                 route(7);
>
> }
>
>  
>
> failure_route[1] {
>
>  
>
>  
>
>          if (!t_check_status("302")) {
>
>                 if (!next_routing()){
>
>                         xlog("L_INFO", "LRN - Unable to DIP");
>
>                         t_reply("500","Unable to DIP");
>
>                         exit;
>
>                 }
>
>                 xlog("L_INFO", "LRN - Unable to DIP - Trying Next");
>
>                 t_on_failure("1");
>
>                 t_relay();
>
>                 exit; 
>
>         }
>
>         if (!$(<reply>ct.fields(uri){param.value,rn})){
>
>                 xlog("L_INFO", "LRN - No redirect information found");
>
>                         route(1);
>
>         }else if ($(<reply>ct.fields(uri){param.value,rn}) == $tU){
>
>                 xlog("L_INFO", "LRN - Returned same number, no need to
> redirect");
>
>              route(1);
>
>         }else{
>
>                         xlog("LRN-----$rU-------Else lRN 
> $avp(lrnct)---------");
>
>                         $rU=$avp(lrnct);
>
>                       
>
>                         xlog("LRN-----$rU-------Else lRN 
> $avp(lrnct)---------");
>
>                  route(1);
>
>                               
>
>         }
>
>  
>
>         if (t_was_cancelled()) {
>
>                 xlog("L_INFO", "--Debug Customer
> ID:$avp(Cusid)/IP:$si-----Call Canceled--SIP Reason:$T_reply_code\n");
>
>                 xlog("L_INFO", "##########==========End of invite for
> Customer ID:$avp(Cusid)/IP:$si--Over
> $rd====on_route_failure_1======##########3 \n");
>
>                 avp_db_query("delete   FROM `invites` WHERE `CALLID`
> ='$ci'");
>
>  
>
>                 exit;
>
>         }
>
>  
>
>  
>
>  
>
>         if (t_check_status("481") ) {
>
>                 acc_db_request("200 Dialog Timeout", "acc");
>
>                 xlog("-----Reply:
> $T_reply_code#----------481-422-487--#####$rm from $si
> (callid=$ci)######################################");
>
>         }
>
>         # If fr_timer expires t_check_status("408") is true, although
> $rs is <null>
>
>         if (t_check_status("(408)|(5[0-9][0-9])")) {
>
>                 #xlog("L_INFO", "--Debug Customer
> ID:$avp(Cusid)/IP:$rd-----Delete Invite #####$rd Reply:
> $T_reply_code#######14\n");
>
>                 xlog( "L_NOTICE", "[$Tf] FR: $ci -- TIMEOUT for
> Gateway $rd (marking as bad)\n" );
>
>         }
>
>         if( t_check_status("[4-6][0-9][0-9]")){
>
>                 xlog("L_INFO", "--Debug Customer
> ID:$avp(Cusid)/IP:$rd-----$si Reply: $T_reply_code#######13\n");
>
>                 xlog("L_INFO", "##########==========End of invite
> ID:$avp(Cusid)/IP:$rd###############\n");
>
>                 #xlog( "L_NOTICE", "[$Tf] FR: $ci
> ------$rd----------Delete 2--------------\n" );
>
>                 avp_db_query("delete   FROM `invites` WHERE `CALLID`
> ='$ci'");
>
>               
>
>                 if (!t_check_status("487")) {
>
>                         #$avp(failure_count) = $avp(failure_count) +
> 1;  480|486|603
>
>                         route(6);
>
>                 }
>
>         }
>
>  
>
> }
>
>  
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130515/1ff4028c/attachment-0001.htm>


More information about the Users mailing list