[OpenSIPS-Users] Issue Drouting prefix overlap

Mickael HUBERT mickael at winlux.fr
Wed Mar 6 14:30:59 CET 2013


Thanks to your response.

I will testing this solution

bye

Le 06/03/2013 11:54, Bogdan-Andrei Iancu a écrit :
> Hi Mickael,
>
> In this case I would suggest using 2 groups of rules - one for the 
> short numbers, one for the normal numbers.
>
> First try the short numbers and enforce the matching based on the len 
> of the number (I guess the premium numbers have some fix len) ; also 
> consider the L flag (see 
> http://www.opensips.org/html/docs/modules/1.9.x/drouting.html#id293614).
>
> If this first matching failed -> try in the second group with the long 
> numbers.
>
> More or less, your approach seems correct, I would say.
>
> Regards,
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 03/06/2013 12:09 PM, Mickael HUBERT wrote:
>> Hi,
>> It's not OK for me, look:
>>
>> If I have:
>> +33 366985475 (landline number in France)
>>
>> and
>>
>> +33 3669 (premium rate number in France)
>>
>> In my DB in dr_rules table I have:
>>
>> INSERT INTO `dr_rules` (`ruleid`, `groupid`, `prefix`, `timerec`, 
>> `priority`, `routeid`, `gwlist`, `attrs`, `description`) VALUES
>> (1, '1', '333', '', 1, '', '#1', NULL, 'all number 3XYZ'),
>>
>> but landline number match with rule 1.
>>
>> how to differentiate this two prefixes?
>>
>> Actualy I've coded:
>>
>> 560      if(uri=~"^sip:3[0-9]{3}@" || uri=~"^sip:10[0-9]{2}@" || 
>> uri=~"^sip:118[0-9]{3}@") *# premium rate number**FRANCE no E164 format*
>> 561      {
>> 562         if(!do_routing("3"))
>> 563         {
>> 564             send_reply("503","No Rules matching the URI");
>> 565             xlog("L_ERR","$ci No DR_RULES matching the URI for 
>> DR_GROUP 3\n");
>> 566             exit;
>> 567         }
>> 568      }
>> 569      else *# other number E164 format*
>> 570      {
>> 571             strip(1);
>> 572             setflag(29);
>> 573
>> 574             if(!do_routing("1"))
>> 575             {
>> 576                 send_reply("503","No Rules matching the URI");
>> 577                 xlog("L_ERR","$ci No DR_RULES matching the URI 
>> for DR_GROUP 1\n");
>> 578                 exit;
>> 579             }
>> 580      }
>>
>> Should I continue with this code ? I will wish improve this code and 
>> make it simple ;)
>>
>>
>> Le 05/03/2013 14:07, Bogdan-Andrei Iancu a écrit :
>>> Hi  Mickael,
>>>
>>> I guess your overlapping happens because the prefixes are not 
>>> consistent as format. The 3669 is a France national number and 36xxx 
>>> is international format.
>>>
>>> If you want to put those numbers in the same routing group, you 
>>> should consider having all in the same international format, to 
>>> avoid collisions :
>>>     +33 3669
>>>     +36 xxxx
>>>
>>> Regards,
>>> Bogdan-Andrei Iancu
>>> OpenSIPS Founder and Developer
>>> http://www.opensips-solutions.com
>>>
>>> On 03/05/2013 11:25 AM, Mickael HUBERT wrote:
>>>> Hi list,
>>>> I have a issue in my drouting module.
>>>>
>>>> In fact I have many prefixes and overlap is not OK to me.
>>>>
>>>> _Example:_
>>>>
>>>> Prefix: 3669 (In France is premium rate number, 4 digits is talking 
>>>> clock service)
>>>>
>>>> Prefix: 36.... (is prefix hungary)
>>>>
>>>> In my dr_rule table is:
>>>>
>>>> /INSERT INTO `dr_rules` (`ruleid`, `groupid`, `prefix`, `timerec`, 
>>>> `priority`, `routeid`, `gwlist`, `attrs`, `description`) VALUES//
>>>> //(1, '1', '3', '', 1, '', '#1', NULL, 'All numbers 3XYZ'),//
>>>> //(2, '1', '36', '', 1, '', '#2', NULL, 'Hungary prefixe');/
>>>>
>>>> If +36 1 398 0344 (to hungary destination), Drouting module choose 
>>>> id 2 no ?
>>>> if 3669 (to clock service), drouting module choose id 2 too ?
>>>>
>>>> how to differentiate this two prefixes?
>>>>
>>>> thanks in advance
>>>>
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130306/c4f4cf9f/attachment.htm>


More information about the Users mailing list