When calling load_gws(), try putting $rU and $fu in double quotes, e.g. "$rU" rather than $rU bare.
-- Alex
-- Sent from my Samsung mobile, and thus lacking in the refinement one might expect from a proper keyboard.
Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 Tel: +1-678-954-0670 Web: http://www.evaristesys.com/Antanas Masevicius antanas.masevicius@ntt.lt wrote:Hello,
having trouble running LCR in kamailio 3.3 (head).
Here is my DB excerpt which i use to reproduce the problem: INSERT INTO `lcr_rule` VALUES (2617960,90,'118','.*',1,1,'.*'); INSERT INTO `lcr_rule_target` VALUES (7771454,90,2617960,1424,0,100); INSERT INTO `lcr_gw` VALUES (1424,90,'OP1','10.10.10.10','',5060,NULL,1,0,NULL,'11#',1,NULL,NULL);
I stripped all other LCR data from my DB and only this rule with from_uri and request_uri seems to bother me.
Tried this version on debian lenny and debian squeeze. On Lenny i am not able to load lcr tables at all, get a segfault. On squeeze, lcr tables loads up, but this rule gets marked as disabled. Here is config part which i use to load a rule: if (load_gws(90, $rU, $fu)) { if (next_gw()) { t_on_failure("FAIL_GW"); } else { route(NO_ROUTE); }
On squeeze, if i add following code to lcr_mod.c:1249 : LM_INFO("LOADING lcr rule <%u> \n", rule_id); right after: rule_id = (unsigned int)VAL_INT(ROW_VALUES(row));
rule_id is still printed, but i get segfault like this:
Jul 24 10:17:43 sp1 kernel: [23482626.105865] kamailio[15136]: segfault at a4 ip 00007fde15cb8802 sp 00007fff39d68320 error 4 in lcr.so[7fde15ca8000+23000]
Not sure what i do terribly wrong. Setting from_uri and request_uri to anythig but NULL makes the code to segfault with that print line added. Without print line, kamailio starts, but never loads that rule.
Any help would be appreciated.
best regards,
Antanas Masevicius NTT
_______________________________________________ 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
Hello,
thanks for the tip Alex, but still getting the same error:
lcr [hash.c:166]: could not find (disabled) rule with id <2617960>
if it helps, here is my ldd output for lcr.so:
linux-vdso.so.1 => (0x00007ffffe7ff000) libpcre.so.3 => /lib/libpcre.so.3 (0x00007faf0cfd1000) libsrdb1.so.1 => /usr/local2/lib64/kamailio/libsrdb1.so.1 (0x00007faf0cdbf000) libkcore.so.1 => /usr/local2/lib64/kamailio/libkcore.so.1 (0x00007faf0cbb3000) libc.so.6 => /lib/libc.so.6 (0x00007faf0c852000) /lib64/ld-linux-x86-64.so.2 (0x00007faf0d42e000)
Here is extended debug excerpt: Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:117]: converting STRING [118] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: lcr [lcr_mod.c:1236]: loading, cycle 0 with <1> rows Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:62]: freeing rows at 0x7f0dc4afe4d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[5] at 0x7f0dc4afaa50 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:118]: allocate 48 bytes for result set at 0x7f0dc4afdee8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[0] at 0x7f0dc4afaa50 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe420)[1]=[ip_addr] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[4] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe440)[5]=[params] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[12] at 0x7f0dc4afe3d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:73]: converting INT [0] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:56]: converting NULL value Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:56]: converting NULL value Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[1] at 0x7f0dc4afe420 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[4] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[12] at 0x7f0dc4afe3d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:62]: freeing rows at 0x7f0dc4afe488 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:155]: allocate 104 bytes for result names at 0x7f0dc4afe598 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[2] at 0x7f0dc4afe558 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe518)[4]=[transport] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[7] at 0x7f0dc4afe440 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[11] at 0x7f0dc4afe420 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afaa50)[12]=[id] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[3] at 0x7f0dc4afe538 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[8] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:94]: freeing result names at 0x7f0dc4afe598 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe400)[1]=[gw_id] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:73]: converting INT [0] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: lcr [hash.c:166]: could not find (disabled) rule with id <2617960>
Antanas NTT
On 2012.07.24 10:53, Alex Balashov wrote:
When calling load_gws(), try putting $rU and $fu in double quotes, e.g. "$rU" rather than $rU bare.
-- Alex
-- Sent from my Samsung mobile, and thus lacking in the refinement one might expect from a proper keyboard.
Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 Tel: +1-678-954-0670 Web: http://www.evaristesys.com/
Antanas Masevicius antanas.masevicius@ntt.lt wrote: Hello,
having trouble running LCR in kamailio 3.3 (head).
Here is my DB excerpt which i use to reproduce the problem: INSERT INTO `lcr_rule` VALUES (2617960,90,'118','.*',1,1,'.*'); INSERT INTO `lcr_rule_target` VALUES (7771454,90,2617960,1424,0,100); INSERT INTO `lcr_gw` VALUES (1424,90,'OP1','10.10.10.10','',5060,NULL,1,0,NULL,'11#',1,NULL,NULL);
I stripped all other LCR data from my DB and only this rule with from_uri and request_uri seems to bother me.
Tried this version on debian lenny and debian squeeze. On Lenny i am not able to load lcr tables at all, get a segfault. On squeeze, lcr tables loads up, but this rule gets marked as disabled. Here is config part which i use to load a rule: if (load_gws(90, $rU, $fu)) { if (next_gw()) { t_on_failure("FAIL_GW"); } else { route(NO_ROUTE); }
On squeeze, if i add following code to lcr_mod.c:1249 : LM_INFO("LOADING lcr rule <%u> \n", rule_id); right after: rule_id = (unsigned int)VAL_INT(ROW_VALUES(row));
rule_id is still printed, but i get segfault like this:
Jul 24 10:17:43 sp1 kernel: [23482626.105865] kamailio[15136]: segfault at a4 ip 00007fde15cb8802 sp 00007fff39d68320 error 4 in lcr.so[7fde15ca8000+23000]
Not sure what i do terribly wrong. Setting from_uri and request_uri to anythig but NULL makes the code to segfault with that print line added. Without print line, kamailio starts, but never loads that rule.
Any help would be appreciated.
best regards,
Antanas Masevicius NTT
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
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
Hello,
Looks like i finally got it. REGEXP patterns in from_uri and request_uri must be terminated between //. Maybe someone could add a notice about this in LCR documentation? Only got it after reading some documentation on pcre lib.
best regards,
Antanas NTT
On 2012.07.24 11:17, Antanas Masevicius wrote:
Hello,
thanks for the tip Alex, but still getting the same error:
lcr [hash.c:166]: could not find (disabled) rule with id <2617960>
if it helps, here is my ldd output for lcr.so:
linux-vdso.so.1 => (0x00007ffffe7ff000) libpcre.so.3 => /lib/libpcre.so.3 (0x00007faf0cfd1000) libsrdb1.so.1 => /usr/local2/lib64/kamailio/libsrdb1.so.1
(0x00007faf0cdbf000) libkcore.so.1 => /usr/local2/lib64/kamailio/libkcore.so.1 (0x00007faf0cbb3000) libc.so.6 => /lib/libc.so.6 (0x00007faf0c852000) /lib64/ld-linux-x86-64.so.2 (0x00007faf0d42e000)
Here is extended debug excerpt: Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:117]: converting STRING [118] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: lcr [lcr_mod.c:1236]: loading, cycle 0 with <1> rows Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:62]: freeing rows at 0x7f0dc4afe4d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[5] at 0x7f0dc4afaa50 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:118]: allocate 48 bytes for result set at 0x7f0dc4afdee8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[0] at 0x7f0dc4afaa50 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe420)[1]=[ip_addr] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[4] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe440)[5]=[params] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[12] at 0x7f0dc4afe3d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:73]: converting INT [0] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:56]: converting NULL value Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:56]: converting NULL value Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[1] at 0x7f0dc4afe420 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[4] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[12] at 0x7f0dc4afe3d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:62]: freeing rows at 0x7f0dc4afe488 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:155]: allocate 104 bytes for result names at 0x7f0dc4afe598 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[2] at 0x7f0dc4afe558 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe518)[4]=[transport] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[7] at 0x7f0dc4afe440 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[11] at 0x7f0dc4afe420 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afaa50)[12]=[id] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[3] at 0x7f0dc4afe538 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[8] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:94]: freeing result names at 0x7f0dc4afe598 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe400)[1]=[gw_id] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:73]: converting INT [0] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: lcr [hash.c:166]: could not find (disabled) rule with id <2617960>
Antanas NTT
On 2012.07.24 10:53, Alex Balashov wrote:
When calling load_gws(), try putting $rU and $fu in double quotes, e.g. "$rU" rather than $rU bare.
-- Alex
-- Sent from my Samsung mobile, and thus lacking in the refinement one might expect from a proper keyboard.
Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 Tel: +1-678-954-0670 Web: http://www.evaristesys.com/
Antanas Masevicius antanas.masevicius@ntt.lt wrote: Hello,
having trouble running LCR in kamailio 3.3 (head).
Here is my DB excerpt which i use to reproduce the problem: INSERT INTO `lcr_rule` VALUES (2617960,90,'118','.*',1,1,'.*'); INSERT INTO `lcr_rule_target` VALUES (7771454,90,2617960,1424,0,100); INSERT INTO `lcr_gw` VALUES (1424,90,'OP1','10.10.10.10','',5060,NULL,1,0,NULL,'11#',1,NULL,NULL);
I stripped all other LCR data from my DB and only this rule with from_uri and request_uri seems to bother me.
Tried this version on debian lenny and debian squeeze. On Lenny i am not able to load lcr tables at all, get a segfault. On squeeze, lcr tables loads up, but this rule gets marked as disabled. Here is config part which i use to load a rule: if (load_gws(90, $rU, $fu)) { if (next_gw()) { t_on_failure("FAIL_GW"); } else { route(NO_ROUTE); }
On squeeze, if i add following code to lcr_mod.c:1249 : LM_INFO("LOADING lcr rule <%u> \n", rule_id); right after: rule_id = (unsigned int)VAL_INT(ROW_VALUES(row));
rule_id is still printed, but i get segfault like this:
Jul 24 10:17:43 sp1 kernel: [23482626.105865] kamailio[15136]: segfault at a4 ip 00007fde15cb8802 sp 00007fff39d68320 error 4 in lcr.so[7fde15ca8000+23000]
Not sure what i do terribly wrong. Setting from_uri and request_uri to anythig but NULL makes the code to segfault with that print line added. Without print line, kamailio starts, but never loads that rule.
Any help would be appreciated.
best regards,
Antanas Masevicius NTT
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
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
-- Antanas Masevic(ius Technikos direktorius UAB "Nacionalinis telekomunikaciju tinklas" Tel. +370 5 2056000 Tel. +370 700 00031 (tiesioginis) Fax. +370 700 00034 el.p: antanas.masevicius@ntt.lt www.ntt.lt www.spykas.com
Hello once again,
It looks like core issue was not a termination of regexp. Was not getting segfaults, but did not get a match either. After changing rule_id from 2617960 to 0, rule got loaded properly:
sercmd> lcr.dump_rules { lcr_id: 90 rule_id: 0 prefix: 118 from_uri: sip:00000000@xx.xx.lt request_uri: 118 stopper: 1 } { gw_index: 1 priority: 0 weight: 100 } 3
I suspect that lcr code somehow a bit differently stores such rules internally and primary id fragmentation results in rules set loaded with improper rule_id:
sercmd> lcr.dump_rules { lcr_id: 90 rule_id: 0 prefix: 118 from_uri: sip:00000000@xx.xx.lt request_uri: 118 stopper: 1 }
Here, in dump above it should contain rule_id=2617960, but contains 0. Also for such rule gw fails to be identified.
Antanas NTT
On 2012.07.24 12:20, Antanas Masevicius wrote:
Hello,
Looks like i finally got it. REGEXP patterns in from_uri and request_uri must be terminated between //. Maybe someone could add a notice about this in LCR documentation? Only got it after reading some documentation on pcre lib.
best regards,
Antanas NTT
On 2012.07.24 11:17, Antanas Masevicius wrote:
Hello,
thanks for the tip Alex, but still getting the same error:
lcr [hash.c:166]: could not find (disabled) rule with id <2617960>
if it helps, here is my ldd output for lcr.so:
linux-vdso.so.1 => (0x00007ffffe7ff000) libpcre.so.3 => /lib/libpcre.so.3 (0x00007faf0cfd1000) libsrdb1.so.1 => /usr/local2/lib64/kamailio/libsrdb1.so.1
(0x00007faf0cdbf000) libkcore.so.1 => /usr/local2/lib64/kamailio/libkcore.so.1 (0x00007faf0cbb3000) libc.so.6 => /lib/libc.so.6 (0x00007faf0c852000) /lib64/ld-linux-x86-64.so.2 (0x00007faf0d42e000)
Here is extended debug excerpt: Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:117]: converting STRING [118] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: lcr [lcr_mod.c:1236]: loading, cycle 0 with <1> rows Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:62]: freeing rows at 0x7f0dc4afe4d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[5] at 0x7f0dc4afaa50 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:118]: allocate 48 bytes for result set at 0x7f0dc4afdee8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[0] at 0x7f0dc4afaa50 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe420)[1]=[ip_addr] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[4] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe440)[5]=[params] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[12] at 0x7f0dc4afe3d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:73]: converting INT [0] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:56]: converting NULL value Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:56]: converting NULL value Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[1] at 0x7f0dc4afe420 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[4] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[12] at 0x7f0dc4afe3d8 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:62]: freeing rows at 0x7f0dc4afe488 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:155]: allocate 104 bytes for result names at 0x7f0dc4afe598 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[2] at 0x7f0dc4afe558 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe518)[4]=[transport] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[7] at 0x7f0dc4afe440 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:136]: use DB1_STRING result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:85]: allocate 16 bytes for RES_NAMES[11] at 0x7f0dc4afe420 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afaa50)[12]=[id] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[3] at 0x7f0dc4afe538 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:85]: freeing RES_NAMES[8] at 0x7f0dc4afdf78 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_res.c:94]: freeing result names at 0x7f0dc4afe598 Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:92]: RES_NAMES(0x7f0dc4afe400)[1]=[gw_id] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: db_mysql [km_res.c:100]: use DB1_INT result type Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: <core> [db_val.c:73]: converting INT [0] Jul 24 11:12:54 xx /usr/local2/sbin/kamailio[26004] DEBUG: lcr [hash.c:166]: could not find (disabled) rule with id <2617960>
Antanas NTT
On 2012.07.24 10:53, Alex Balashov wrote:
When calling load_gws(), try putting $rU and $fu in double quotes, e.g. "$rU" rather than $rU bare.
-- Alex
-- Sent from my Samsung mobile, and thus lacking in the refinement one might expect from a proper keyboard.
Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 Tel: +1-678-954-0670 Web: http://www.evaristesys.com/
Antanas Masevicius antanas.masevicius@ntt.lt wrote: Hello,
having trouble running LCR in kamailio 3.3 (head).
Here is my DB excerpt which i use to reproduce the problem: INSERT INTO `lcr_rule` VALUES (2617960,90,'118','.*',1,1,'.*'); INSERT INTO `lcr_rule_target` VALUES (7771454,90,2617960,1424,0,100); INSERT INTO `lcr_gw` VALUES (1424,90,'OP1','10.10.10.10','',5060,NULL,1,0,NULL,'11#',1,NULL,NULL);
I stripped all other LCR data from my DB and only this rule with from_uri and request_uri seems to bother me.
Tried this version on debian lenny and debian squeeze. On Lenny i am not able to load lcr tables at all, get a segfault. On squeeze, lcr tables loads up, but this rule gets marked as disabled. Here is config part which i use to load a rule: if (load_gws(90, $rU, $fu)) { if (next_gw()) { t_on_failure("FAIL_GW"); } else { route(NO_ROUTE); }
On squeeze, if i add following code to lcr_mod.c:1249 : LM_INFO("LOADING lcr rule <%u> \n", rule_id); right after: rule_id = (unsigned int)VAL_INT(ROW_VALUES(row));
rule_id is still printed, but i get segfault like this:
Jul 24 10:17:43 sp1 kernel: [23482626.105865] kamailio[15136]: segfault at a4 ip 00007fde15cb8802 sp 00007fff39d68320 error 4 in lcr.so[7fde15ca8000+23000]
Not sure what i do terribly wrong. Setting from_uri and request_uri to anythig but NULL makes the code to segfault with that print line added. Without print line, kamailio starts, but never loads that rule.
Any help would be appreciated.
best regards,
Antanas Masevicius NTT
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
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
-- Antanas Masevic(ius Technikos direktorius UAB "Nacionalinis telekomunikaciju tinklas" Tel. +370 5 2056000 Tel. +370 700 00031 (tiesioginis) Fax. +370 700 00034 el.p: antanas.masevicius@ntt.lt www.ntt.lt www.spykas.com
-- Antanas Masevic(ius Technikos direktorius UAB "Nacionalinis telekomunikaciju tinklas" Tel. +370 5 2056000 Tel. +370 700 00031 (tiesioginis) Fax. +370 700 00034 el.p: antanas.masevicius@ntt.lt www.ntt.lt www.spykas.com
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
My lcr module *not* work in 3.3.x version if use from_uri data table. Only in 3.2 ! Check thread: http://lists.sip-router.org/pipermail/sr-users/2012-June/073712.html
2012/7/24 Antanas Masevicius antanas.masevicius@ntt.lt [skip]
--- С Уважением, Механошин Алексей
Antanas Masevicius writes:
It looks like core issue was not a termination of regexp. Was not getting segfaults, but did not get a match either. After changing rule_id from 2617960 to 0, rule got loaded properly:
i have been offline and will check this tomorrow.
-- juha
Antanas Masevicius writes:
It looks like core issue was not a termination of regexp. Was not getting segfaults, but did not get a match either. After changing rule_id from 2617960 to 0, rule got loaded properly:
i just tested and rule_id value 2617960 worked fine. can you give your lcr table contents (just the rows that are needed in the test) as mysql insert statements?
-- juha
Hello Juha,
i just posted my inserts in one of my previous emails. Here are inserts:
/INSERT INTO `lcr_rule` VALUES (2617960,90,'118','.*',1,1,'.*'); //INSERT INTO `lcr_rule_target` VALUES (7771454,90,2617960,1424,0,100); //INSERT INTO `lcr_gw` VALUES// (1424,90,'OP1','10.10.10.10','',5060,NULL,1,0,NULL,'11#',1,NULL,NULL);/
those are the only records in lcr tables. System i am running it on is was kamailio 3.3 head (debian squeeze).
best regards,
Antanas NTT
On 2012.07.26 11:54, Juha Heinanen wrote:
Antanas Masevicius writes:
It looks like core issue was not a termination of regexp. Was not getting segfaults, but did not get a match either. After changing rule_id from 2617960 to 0, rule got loaded properly:
i just tested and rule_id value 2617960 worked fine. can you give your lcr table contents (just the rows that are needed in the test) as mysql insert statements?
-- juha
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
Antanas Masevicius writes:
Looks like i finally got it. REGEXP patterns in from_uri and request_uri must be terminated between //.
that is not true. i just tested, and, for example, from_uri column value +35832345670 matched to from uri sip:+35832345670@test.fi.
-- juha