Hi Matteo, Your route must return some negative value in order to drop the matching - use return(-1); from the DR invoked route.
Regards, Bogdan [email protected] wrote: > Hi all. > I'm testing the dynamic routing module. I read its documentation, but I have > some doubt on the Routing Rule Processing. > After finding the rule, if the route ID is different from zero, which is the > flag to be set that stops the process after the executing of the indicated > route? > > In my example, the dr_rules table is: > > ruleid:1 groupid:1 prefix:30 timerec:20090119T104000 > priority:0 routeid:2 gwlist:1 description: Rule 1 > > The part of the opensips.cfg is: > > 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(); > } > } > > **** > **** > route(1); > } > > > route[1] { > # for INVITEs enable some additional helper routes > if (is_method("INVITE")) { > t_on_branch("2"); > t_on_reply("2"); > t_on_failure("1"); > } > > if (!t_relay()) { > sl_reply_error(); > }; > exit; > } > > route[2] { > if (!t_relay()) { > sl_reply_error(); > > };http://webmail.interfree.it/cgi-bin/nrmail05.cgi?mailfolder=in&new_message_to=new&new=1 > exit; > } > > branch_route[2] { > xlog("new branch at $ru\n"); > } > > > onreply_route[2] { > xlog("incoming reply\n"); > } > > failure_route[1] { > if (t_was_cancelled()) { > exit; > } > } > > When I try to call a user (i.e.3000) I get the error 500. > In the syslog I have: > > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: Method is an > INVITE > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: Call to PSTN > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_new_result: allocate 28 bytes for result set at 0x81b21a0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: 1 columns returned from the query > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_allocate_columns: allocate 4 bytes for result names at 0x81b1cf0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_allocate_columns: allocate 4 bytes for result types at 0x81b21c8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: allocate 8 bytes for RES_NAMES[0] at > 0x81b21$ > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: RES_NAMES(0x81b21d8)[0]=[groupid] > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: use DB_INT result type > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_convert_rows: allocate 8 bytes for rows at 0x81b21e8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: 1 columns returned from the query > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_allocate_columns: allocate 4 bytes for result names at 0x81b1cf0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_allocate_columns: allocate 4 bytes for result types at 0x81b21c8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: allocate 8 bytes for RES_NAMES[0] at > 0x81b21$ > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: RES_NAMES(0x81b21d8)[0]=[groupid] > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_get_columns: use DB_INT result type > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_convert_rows: allocate 8 bytes for rows at 0x81b21e8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_convert_row: allocate 20 bytes for row values at > 0x81b21f$ > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_str2val: converting INT [1] > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing 1 columns > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing RES_NAMES[0] at 0x81b21d8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing result names at 0x81b1cf0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing result types at 0x81b21c8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_rows: freeing 1 rows > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_convert_row: allocate 20 bytes for row values at > 0x81b21f$ > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:db_mysql:db_mysql_str2val: converting INT [1] > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing 1 columns > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing RES_NAMES[0] at 0x81b21d8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing result names at 0x81b1cf0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_columns: freeing result types at 0x81b21c8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_rows: freeing 1 rows > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_row: freeing row values at 0x81b21f8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_rows: freeing rows at 0x81b21e8 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:db_free_result: freeing result set at 0x81b21a0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:drouting:do_routing: using dr group 1 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:drouting:internal_check_rt: found rgid 1 (rule list 0xb5bb5288) > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:drouting:ac_tm_fill: ---> fill = Mon Jan 19 13:55:25 2009 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:t_newtran: transaction on entrance=(nil) > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:parse_headers: flags=ffffffffffffffff > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:get_hdr_field: content_length=309 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:get_hdr_field: found end of header > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:parse_headers: flags=78 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:t_lookup_request: start searching: hash=55704, isACK=0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:matching_3261: RFC3261 transaction matching failed > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:t_lookup_request: no transaction found > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:run_reqin_callbacks: trans=0xb5bbc0e8, callback type 1, id 1 entered > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:parse_headers: flags=40 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:run_reqin_callbacks: trans=0xb5bbc0e8, callback type 1, id 0 entered > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:parse_headers: flags=78 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:rr:is_direction: param ftag not found > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:parse_headers: flags=ffffffffffffffff > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:check_via_address: params 10.10.45.102, 10.10.45.102, 0 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:_shm_resize: resize(0) called > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:_reply_light: reply sent out. buf=0x81b22d8: SIP/2.0 1..., > shmem=0xb5bbd$ > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:tm:_reply_light: finished > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:mk_proxy: doing DNS lookup... > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:sip_resolvehost: no port, no proto -> do NAPTR lookup! > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4869]: > DBG:core:udp_rcv_loop: probing packet received from 10.10.45.102 50451 > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:get_record: lookup(mysip.com, 35) failed > Jan 19 13:55:25 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:sip_resolvehost: no valid NAPTR record found for mysip.com, trying > direct SRV lookup... > Jan 19 13:55:26 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:get_record: lookup(_sip._udp.mysip.com, 33) failed > Jan 19 13:55:26 opensips-lab /usr/local/sbin/opensips[4871]: > DBG:core:sip_resolvehost: no valid SRV record found for _sip._udp.mysip.com, > trying A record lookup... > > Any suggestion? > > 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 > [email protected] > http://lists.opensips.org/cgi-bin/mailman/listinfo/users > > _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
