[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