[OpenSIPS-Users] Issue Drouting prefix overlap
Mickael HUBERT
mickael at winlux.fr
Wed Mar 6 11:09:56 CET 2013
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20130306/cd03d5e1/attachment-0001.htm>
More information about the Users
mailing list