Dear Sir,
I did 2 calls from the same endpoint to the same number and get 2
different IDs but still forwarding the calls to X.X.X.X as follow:
Call1:
call-id for this call 56549e09d94c1430Jul 30 17:00:32 [10607]
DBG:carrierroute:get_route_tree_by_id: searching in carrier default, id 5
Jul 30 17:00:32 [10607] DBG:carrierroute:get_route_tree_by_id: tree
default, domain 0 : 0
Jul 30 17:00:32 [10607] DBG:carrierroute:rewrite_on_rule: searching for
matching routing rulesJul 30 17:00:32 [10607] DBG:core:hash_func: hash:
1307293616 % -2147483648 = 1307293616
Jul 30 17:00:32 [10607] INFO:carrierroute:cr_do_route: uri 009613089187
was rewritten to sip:001232333333@X.X.X.X
Call2:
call-id for this call 063197524438d55dJul 30 17:02:18 [10605]
DBG:carrierroute:get_route_tree_by_id: searching in carrier default, id 5
Jul 30 17:02:18 [10605] DBG:carrierroute:get_route_tree_by_id: tree
default, domain 0 : 0
Jul 30 17:02:18 [10605] DBG:carrierroute:rewrite_on_rule: searching for
matching routing rulesJul 30 17:02:18 [10605] DBG:core:hash_func: hash:
931879127 % -2147483648 = 931879127
Jul 30 17:02:18 [10605] INFO:carrierroute:cr_do_route: uri 009613089187
was rewritten to sip:001232333333@X.X.X.X
Any suggestions?
Regards
On Thu, Jul 30, 2009 at 5:17 PM, Uriel Rozenbaum <
uriel.rozenbaum(a)gmail.com> wrote:
The random value is based on the Call-ID, use
debug=4 and add an XLOG as
follows before every call to cr_route:
xlog("L_ERR", "call-id for this call $ci");
Check the call-id is different every time and the CRC32 algorithm to
calculate the hash values gives a different answer.
On Thu, Jul 30, 2009 at 9:49 AM, michel freiha <michofr(a)gmail.com>wrote;wrote:
> When restarting kamailio I found out that it reads both routes
>
> Jul 30 11:46:40 [9165] INFO:carrierroute:rule_fixup_recursor: hashless
> rule with host Y.Y.Y.Y hash hash_index 1
> Jul 30 11:46:40 [9165] INFO:carrierroute:rule_fixup_recursor: hashless
> rule with host X.X.X.X hash hash_index 2
>
> I jjst do not know why it's not reading the prob
>
>
>
> On Thu, Jul 30, 2009 at 3:39 PM, michel freiha <michofr(a)gmail.com>wrote;wrote:
>
>> Dear Sir,
>>
>> Please find below carrierroute table...
>>
>>
+----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
>> | id | carrier | domain | scan_prefix | flags | mask | prob | strip |
>> rewrite_host | rewrite_prefix | rewrite_suffix | description |
>>
>>
+----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
>> | 1 | 5 | 0 | 00 | 0 | 0 | 0.1 | 0 |
>> X.X.X.X | | | NULL |
>> | 2 | 5 | 0 | 00 | 0 | 0 | 0.9 | 0 |
>> Y.Y.Y.Y | | | NULL |
>>
>>
+----+---------+--------+-------------+-------+------+------+-------+--------------+----------------+----------------+-------------+
>>
>>
>> on kamailio.conf:
>>
>> if(!cr_route("default", "0", "$rU",
"$rU", "call_id")){
>>
>> sl_send_reply("403", "Not allowed");
>> } else {
>> # In cas of failure, re-route the request
>> t_on_failure("1");
>> # Relay the request to the gateway
>> t_relay();
>> }
>>
>>
>> When trying to call 00123456666 the call is forwarded all the time to
>> X.X.X.X IP and never to Y.Y.Y.Y IP...why this happening? It's like Kamailio
>> is not reading prob field
>>
>> Regards
>>
>>
>>
>>
>>
>> On Thu, Jul 30, 2009 at 3:13 PM, Uriel Rozenbaum <
>> uriel.rozenbaum(a)gmail.com> wrote:
>>
>>> I'm really not sure how it works when you use a 0 prob.
>>>
>>> Try something like 50/50 and check if the requests go to both
>>> servers.
>>>
>>> Also, some extract from /var/log/messages will help.
>>>
>>>
>>> On Thu, Jul 30, 2009 at 4:38 AM, michel freiha
<michofr(a)gmail.com>wrote;wrote:
>>>
>>>> Dear Sir,
>>>>
>>>> My tables are defined as below:
>>>>
>>>> *carrierroute table:*
>>>>
>>>> id carrier domain scan_prefix flags mask
>>>> prob strip rewrite_host
>>>> 19 5 1 00 0
>>>> 0 0 0 IP_address1
>>>> 19 5 1 00 0
>>>> 0 1 0 IP_Address1
>>>>
>>>> *route_tree table:*
>>>>
>>>> id carrier
>>>> 5 default
>>>>
>>>> *In kamalio.cfg:*
>>>>
>>>> if(!cr_route("default", "1", "$rU",
"$rU", "call_id")){
>>>>
>>>>
>>>> The issue is that kamailio is forwarding all calls to IP_Address1
>>>> and never to IP_Address2 even if prob is 1 for IP_Address2 and 0 for
>>>> IP_Address1
>>>>
>>>>
>>>> Any help please?
>>>>
>>>>
>>>>
>>>> On Wed, Jul 29, 2009 at 6:45 PM, Uriel Rozenbaum <
>>>> uriel.rozenbaum(a)gmail.com> wrote:
>>>>
>>>>> Michel,
>>>>>
>>>>> The prob field is to set the proportion of a certain entry to be
>>>>> taken when you are load balancing between carriers.
>>>>>
>>>>> To perform an overflow operation you have to use the domain field.
>>>>>
>>>>> Check the samples on the module documentation; it's preety clear
>>>>> there; if you have further questions just post them here.
>>>>>
>>>>> Rgds,
>>>>> Uriel
>>>>>
>>>>> On Wed, Jul 29, 2009 at 10:39 AM, michel freiha
<michofr(a)gmail.com
>>>>> > wrote:
>>>>>
>>>>>> Hi all,
>>>>>>
>>>>>> I'm using carrierroute module and ie seems that it's not
working
>>>>>> well...Suppose I have 2 entries in carrierroute table...Entry 1
with scan
>>>>>> prefix 00 and prob 0 and a second entry with scan prefix 00 and
prob=1...As
>>>>>> soon as i make a call, this call will be forwarded to the entry
with prob 0
>>>>>> because i guess it appears before the one with prob 1 in the
table...
>>>>>>
>>>>>> When starting Kamailio I got the below:
>>>>>>
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> 1, prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: domain
0
>>>>>> not found, add it
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_tree: tree
>>>>>> default has 1 trees
>>>>>> Jul 29 12:30:11 [23143] DBG:carrierroute:add_route_tree: tree
0Jul
>>>>>> 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: created
route tree: 0,
>>>>>> with id 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> , prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> 011, prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> 00, prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> 111, prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> 00, prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> , prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> 011, prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> 011, prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: adding
prefix
>>>>>> , prob -14931260.000000
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:get_route_tree: found
>>>>>> domain 0
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route: found
route,
>>>>>> now adding
>>>>>> Jul 29 12:30:11 [23143] INFO:carrierroute:add_route_rule: no
>>>>>> backed up rules
>>>>>>
>>>>>> It seems that kamailio is not reading probability entry in
carrier
>>>>>> route table
>>>>>>
>>>>>> Please find below carrierroute table structure:
>>>>>>
>>>>>> CREATE TABLE IF NOT EXISTS `carrierroute` (
>>>>>> `id` int(10) unsigned NOT NULL auto_increment,
>>>>>> `carrier` int(10) unsigned NOT NULL default '0',
>>>>>> `domain` varchar(64) NOT NULL default '',
>>>>>> `scan_prefix` varchar(64) NOT NULL default '',
>>>>>> `flags` int(11) unsigned NOT NULL default '0',
>>>>>> `mask` int(11) unsigned NOT NULL default '0',
>>>>>> `prob` float NOT NULL default '0',
>>>>>> `strip` int(11) unsigned NOT NULL default '0',
>>>>>> `rewrite_host` varchar(128) NOT NULL default '',
>>>>>> `rewrite_prefix` varchar(64) NOT NULL default '',
>>>>>> `rewrite_suffix` varchar(64) NOT NULL default '',
>>>>>> `description` varchar(255) default NULL,
>>>>>> PRIMARY KEY (`id`)
>>>>>> ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=23 ;
>>>>>>
>>>>>>
>>>>>> Can someone help me to find this issue?
>>>>>>
>>>>>> Regards
>>>>>>
>>>>>> _______________________________________________
>>>>>> Kamailio (OpenSER) - Users mailing list
>>>>>> Users(a)lists.kamailio.org
>>>>>>
http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>>>>>>
http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>