Hi Ibrahim, I found a bug related to what you described - I made a fix on SVN - please update and test again.
Thanks and regards, Bogdan ibrahim tunali wrote: > Hi Bogdan, > > I have already set attr avp like you sent. The problem occured when > fill the attr field. If I leave blank attr field in DB it starts but > when i set something like "gw1" it crashed. > > My db row; > > +------+------+-------------------+-------+------------+-------+-------------+ > | gwid | type | address | strip | pri_prefix | attrs | description | > +------+------+-------------------+-------+------------+-------+-------------+ > | 1 | 1 | XX.XX.XXX.XX:XXXX | 0 | NULL | gw1 | main GW | > +------+------+-------------------+-------+------------+-------+-------------+ > > Crash dump; > > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: 6 > columns returned from the query > /usr/sbin/opensips[10261]: DBG:core:db_allocate_columns: allocate 48 > bytes for result names at 0x76a570 > /usr/sbin/opensips[10261]: DBG:core:db_allocate_columns: allocate 24 > bytes for result types at 0x76a5b0 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: allocate > 16 bytes for RES_NAMES[0] at 0x76a5d8 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: > RES_NAMES(0x76a5d8)[0]=[gwid] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: use > DB_INT result type > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: allocate > 16 bytes for RES_NAMES[1] at 0x76a5f8 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: > RES_NAMES(0x76a5f8)[1]=[address] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: use > DB_STRING result type > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: allocate > 16 bytes for RES_NAMES[2] at 0x76a618 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: > RES_NAMES(0x76a618)[2]=[strip] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: use > DB_INT result type > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: allocate > 16 bytes for RES_NAMES[3] at 0x76a638 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: > RES_NAMES(0x76a638)[3]=[pri_prefix] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: use > DB_STRING result type > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: allocate > 16 bytes for RES_NAMES[4] at 0x76a658 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: > RES_NAMES(0x76a658)[4]=[type] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: use > DB_INT result type > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: allocate > 16 bytes for RES_NAMES[5] at 0x76a678 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: > RES_NAMES(0x76a678)[5]=[attrs] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_get_columns: use > DB_STRING result type > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_fetch_result: > converting row 0 of 1 count 1 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_convert_row: allocate > 192 bytes for row values at 0x76a6b8 > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_str2val: converting INT [1] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_str2val: converting > STRING [69.XX.XXX.55:XXXX] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_str2val: converting INT [0] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_str2val: converting INT [1] > /usr/sbin/opensips[10261]: DBG:db_mysql:db_mysql_str2val: converting > STRING [gw1] > /usr/sbin/opensips[10261]: DBG:drouting:dr_load_routing_info: 1 > records found in dr_gateways > /usr/sbin/opensips[10261]: DBG:drouting:add_dst: new gw ip addr > [69.XX.XXX.55:XXXX] > /usr/sbin/opensips[10249]: INFO:core:handle_sigs: child process 10261 > exited by a signal 11 > /usr/sbin/opensips[10267]: DBG:core:init_mod_child: type=CHILD, > rank=4, module=registrar > /usr/sbin/opensips[10249]: INFO:core:handle_sigs: core was not generated > /usr/sbin/opensips[10267]: DBG:core:init_mod_child: type=CHILD, > rank=4, module=group > /usr/sbin/opensips[10249]: INFO:core:handle_sigs: terminating due to SIGCHLD > /usr/sbin/opensips[10267]: INFO:core:sig_usr: signal 15 received > /usr/sbin/opensips[10267]: Memory status (pkg): > /usr/sbin/opensips[10273]: INFO:core:sig_usr: signal 15 received > /usr/sbin/opensips[10273]: Memory status (pkg): > /usr/sbin/opensips[10267]: fm_status (0x72bbe0): > > Regards, > > Ibrahim TUNALI > > > On Thu, Jan 22, 2009 at 17:20, Bogdan-Andrei Iancu > <[email protected]> wrote: > >> Hi Ibrahim, >> >> have you set the attr avp? Something like: >> modparam("drouting", "attrs_avp", '$avp(s:dr_attrs)') >> >> Then after do_routing() or use_next_gw(), do : >> xlog("-----gw attr is $avp(s:dr_attrs)\n"); >> >> the value of the attr is whatever you want - the module does not interpret >> it - it is just reading it from DB and pass it to the AVP when you use the >> GW. It is your decision what to put there and how to use the value. >> >> >> Regards, >> Bogdan >> >> ibrahim tunali wrote: >> >>> Hello, >>> >>> I'm playing with the new module drouting on svn trunk and i need to >>> get "which gateway is used on last request". I might be able to get it >>> with "attrs_avp" and "attrs" field on dr_gateways table, i guess. I >>> try some values to attrs but opensips crashed. >>> >>> Could you give an example to use attrs_avp and what is the value >>> format of "attrs" fields. >>> >>> Regards, >>> >>> Ibrahim TUNALI >>> >>> _______________________________________________ >>> 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
