Hi Forum,
I want to use carrierroute to terminate 50,000 preffixes to a PSTN gw and block 100,000. So I created 50,000 records with gw ip as rewrite_host. However I only was able to start kamailio with no more than about 2,200 records in carrierroute mysql table.
Is it possible to use carrierroute in such a way?
Find below log with error:
Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:bind_data_loader: use database as configuration source Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:load_route_data: name default, id 0, trees: 1 Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_carrier_tree: add carrier default Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_carrier_tree: carrier default not found, add it Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_tree: tree default has internal id 0 Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_carrier_tree: created carrier tree: default, with id 0 and 1 trees Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_convert_row: no private memory left Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_convert_rows: error while converting row #2282 Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_convert_result: error while converting rows Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_store_result: error while converting result Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:core:db_do_query: error while storing result Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:carrierroute:load_route_data: Failed to query database. Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:carrierroute:prepare_route_tree: could not load routing data Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:carrierroute:mod_init: could not prepare route tree Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:core:init_mod: failed to initialize module carrierroute Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:core:main: error while initializing modules
Hello,
Pablo Bertuzzi wrote:
Hi Forum,
I want to use carrierroute to terminate 50,000 preffixes to a PSTN gw and block 100,000. So I created 50,000 records with gw ip as rewrite_host. However I only was able to start kamailio with no more than about 2,200 records in carrierroute mysql table.
Is it possible to use carrierroute in such a way?
Find below log with error:
Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:bind_data_loader: use database as configuration source Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:load_route_data: name default, id 0, trees: 1 Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_carrier_tree: add carrier default Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_carrier_tree: carrier default not found, add it Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_tree: tree default has internal id 0 Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: INFO:carrierroute:add_carrier_tree: created carrier tree: default, with id 0 and 1 trees Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_convert_row: no private memory left Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_convert_rows: error while converting row #2282 Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_convert_result: error while converting rows Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:db_mysql:db_mysql_store_result: error while converting result Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:core:db_do_query: error while storing result Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:carrierroute:load_route_data: Failed to query database. Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:carrierroute:prepare_route_tree: could not load routing data Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:carrierroute:mod_init: could not prepare route tree Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:core:init_mod: failed to initialize module carrierroute Sep 29 13:36:22 sip-proxy /usr/local/sbin/kamailio[2569]: ERROR:core:main: error while initializing modules
What version are you using? Try to play with fetch row parameter: http://www.kamailio.org/docs/modules/1.4.x/carrierroute.html#id2506738
Cheers, Daniel
On Friday 03 October 2008, Daniel-Constantin Mierla wrote:
I want to use carrierroute to terminate 50,000 preffixes to a PSTN gw and block 100,000. So I created 50,000 records with gw ip as rewrite_host. However I only was able to start kamailio with no more than about 2,200 records in carrierroute mysql table.
Is it possible to use carrierroute in such a way?
What version are you using? Try to play with fetch row parameter: http://www.kamailio.org/docs/modules/1.4.x/carrierroute.html#id2506738
Hi Pablo,
the error you facing happens because the default private memory size of the server is not sufficient to load all routing rules during startup. As Daniel wrote, if you use the 1.4.1 version, it should work out ouf the box, as the default fetch row size is 2000.
But i think you use a 1.3.x version, so you need to increase the PKG_MEM_POOL size. Try to use a pool size of 13 MB, it should work then with 50k entries, i did some tests. Alternativly you could also backport the fetch row support to the 1.3 branch, but just increasing the size is probably easier.
I also updated the 1.3 module documentation, to point out this problems you run into.
Cheers,
Henning