[OpenSIPS-Users] Problem with new version of Dynamic Routing

mmarzuola at interfree.it mmarzuola at interfree.it
Thu Jan 22 12:57:36 CET 2009


Hi.
I deleted append_branch by the script, but the failure route does not work.
In the syslog there is:

Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: Method is an INVITE
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: Call to PSTN
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_new_result: allocate 28 bytes for result set at 0x81b2958
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:db_mysql:db_mysql_get_columns: 1 columns returned from the query
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_allocate_columns: allocate 4 bytes for result names at 0x81b2400
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_allocate_columns: allocate 4 bytes for result types at 0x81b2980
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:db_mysql:db_mysql_get_columns: allocate 8 bytes for RES_NAMES[0] at 0x81b2990
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:db_mysql:db_mysql_get_columns: RES_NAMES(0x81b2990)[0]=[groupid]
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:db_mysql:db_mysql_get_columns: use DB_INT result type
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:db_mysql:db_mysql_convert_rows: allocate 8 bytes for rows at 0x81b29a0
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:db_mysql:db_mysql_convert_row: allocate 20 bytes for row values at 0x81b29b0
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:db_mysql:db_mysql_str2val: converting INT [0]
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_columns: freeing 1 columns
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_columns: freeing RES_NAMES[0] at 0x81b2990
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_columns: freeing result names at 0x81b2400
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_columns: freeing result types at 0x81b2980
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_rows: freeing 1 rows
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_row: freeing row values at 0x81b29b0
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_rows: freeing rows at 0x81b29a0
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:db_free_result: freeing result set at 0x81b2958
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:drouting:do_routing: using dr group 0
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:drouting:internal_check_rt: found rgid 0 (rule list 0xb5b1af68)
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:drouting:ac_tm_fill: ---> fill = Thu Jan 22 11:52:45 2009
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:drouting:ac_tm_fill: ---> fill = Thu Jan 22 11:52:45 2009
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: messagge outbound
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:parse_headers: flags=ffffffffffffffff
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:get_hdr_field: content_length=285
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:core:get_hdr_field: found end of header
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:drouting:do_routing: adding gw [1] as avp "sip:2223000 at 10.10.45.102"
Jan 22 11:52:45 opensips-lab /usr/local/sbin/opensips[3645]: DBG:drouting:do_routing: setting the gw [0] as ruri "sip:2223000 at 10.10.45.78"


The proxy tries to deliver the call to the first gateway that is down specially to test the failover


Jan 22 11:53:15 opensips-lab /usr/local/sbin/opensips[3647]: failure route 2
Jan 22 11:53:15 opensips-lab /usr/local/sbin/opensips[3647]: DBG:drouting:use_next_gw: setting new RURI <>
Jan 22 11:53:15 opensips-lab /usr/local/sbin/opensips[3647]: selected new gateway
Jan 22 11:53:15 opensips-lab /usr/local/sbin/opensips[3647]: ERROR:tm:t_forward_nonack: no branch for forwarding
Jan 22 11:53:15 opensips-lab /usr/local/sbin/opensips[3647]: ERROR:tm:w_t_relay: t_forward_nonack failed

The URI of the second gateway is not set and then I get a 408 messagge.
 
What's wrong?

 route {

 *****
 ***

 if (is_method("INVITE")) {
                 xlog("L_INFO", "Method is an INVITE\n");
                 #setflag(4);
                 setflag(1); # do accounting
                 if($rU=~"3.*") {
                         xlog("L_INFO", "Call to PSTN\n");
                         do_routing();
                         t_relay();
                         t_on_failure("2");
                         exit;
                 }
 }

 *****
 ***
 }

 route [2] {
 #route triggered by DR
         xlog("L_INFO","messagge outbound\n");
         append_hf("P-hint: outbound\r\n");

         exit;
 }

 failure_route[2] {
         xlog("L_INFO","failure route 2\n");
         if (use_next_gw()) {
                 t_relay();
                 exit;
         }
 }

Thanks in advance.

Matteo Marzuola




<Hi Matteo,

<You do not have to do append_branch() in failure route - if 
"use_next_gw" returns true, do t_relay directly.

<Regards,
<Bogdan

mmarzuola at interfree.it wrote:
> Hi all.
> I have download only the source with the last changes of the dynamic routing module.
> 	
> With the previous version I had problems with the configuration of the script, but ultimately I was able to make it work.
> Now the configuration seems to no longer work, because I have no more response from the selected gateway and I get a 408 request timeout.
>
> This is the script:
>
> route {
>
> *****
> ***
>
> if (is_method("INVITE")) {
>                 xlog("L_INFO", "Method is an INVITE\n");
>                 #setflag(4);
>                 setflag(1); # do accounting
>                 if($rU=~"3.*") {
>                         xlog("L_INFO", "Call to PSTN\n");
>                         do_routing();
>                         t_relay();
>                         t_on_failure("2");
>                         exit;
>                 }
> }
>
> *****
> ***
> }
>
> route [2] {
> #route triggered by DR
>         xlog("L_INFO","messaggio per altra destinazione\n");
>         append_hf("P-hint: outbound\r\n");
>
>         exit;
> }
>
> failure_route[2] {
>         xlog("L_INFO","failure\n");
>         if (use_next_gw()) {
>                 append_branch();
>                 t_relay();
>                 exit;
>         }
> }
>
> I noticed that something has changed lately on the branch manipulation in failure route.
> It may be the problem or is there an error in the script? 
>
> Thanks in advance.
> Marzuola Matteo
>
>
>
> ----------------------------------------------------------------------------
> Vuoi essere presente online? 
> Vuoi dare voce alla tua attivita`? 
> Acquista un dominio su domini.interfree.it.
> A partire da 18,59 euro
> ----------------------------------------------------------------------------
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>   




----------------------------------------------------------------------------
Vuoi essere presente online? 
Vuoi dare voce alla tua attivita`? 
Acquista un dominio su domini.interfree.it.
A partire da 18,59 euro
----------------------------------------------------------------------------




More information about the Users mailing list