[OpenSIPS-Users] Help with big amount of data for routing

Bogdan-Andrei Iancu bogdan at opensips.org
Wed Oct 12 14:33:45 CEST 2016


Why don't you use DR for that translation. Make a routing group where 
you put all DIDs (as prefixes) in dr_rules and have the NET_ID as 
attribute for the rule. And when looking it up:
     do_routing("group","LC");
See :
http://www.opensips.org/html/docs/modules/2.2.x/drouting.html#id295067

DR is more memory efficient and much much faster in the lookup.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 12.10.2016 15:30, Miha wrote:
> yes. I have in redis like: KEY (DID) and VALUE (NETID), than I am 
> doing lookup in opensips script.
>
>  I was looking what is the most a appropriate way to do this. As redis 
> is quite good in this cases I choose it but the issue is memory :(
>
>
> tnx
>
> miha
>
>
> On 12/10/2016 14:25, Bogdan-Andrei Iancu wrote:
>> So basically you need to determine the NET_ID based on the DID number 
>> ? this is what you do in REDIS now ?
>>
>> Regards,
>>
>> Bogdan-Andrei Iancu
>> OpenSIPS Founder and Developer
>> http://www.opensips-solutions.com
>>
>> On 12.10.2016 15:09, Miha wrote:
>>> Hi Bogdan
>>>
>>> i missed your email, sorry...
>>>
>>> Operator need to have number like NET_ID + DID. So routing is based 
>>> on NET_ID. I manage to get all number in redis (quite a big amount 
>>> of memory is used :) ).So first I do lookup in redis, get NET_ID and 
>>> then I am using d_routing based od NET_IDs.
>>>
>>> br
>>> miha
>>> On 05/10/2016 15:17, Bogdan-Andrei Iancu wrote:
>>>> Hi Miha,
>>>>
>>>> so you have 120M records (NET_ID + DID) - how do you use them from 
>>>> OpenSIPS ? As I fail to understand what are the operations you want 
>>>> to perform over this data.
>>>>
>>>> Regards,
>>>>
>>>> Bogdan-Andrei Iancu
>>>> OpenSIPS Founder and Developer
>>>> http://www.opensips-solutions.com
>>>>
>>>> On 05.10.2016 09:44, Miha wrote:
>>>>> HI
>>>>>
>>>>> the is not really opensips issue:) I need somehow to store big 
>>>>> amount of data for routing.
>>>>>
>>>>> To every telephone operator I must send RURI like 
>>>>> Net_ID+Telephone_number (value indicates to who number belongs 
>>>>> to). In this country they have around 120 millions of numbers.
>>>>>
>>>>> After i have all NET_IDs with numbers I will use drouting for 
>>>>> routing numbers to right operator based on NET_ID.
>>>>>
>>>>> Here is the issue:
>>>>> - I tried this with redis (lookup must be quick) but this takes so 
>>>>> much memory that basically redis brakes everytime in between 50 
>>>>> millions and 70 millions entries
>>>>> - I tried with hash (hset) in redis but did not do any good
>>>>>
>>>>>
>>>>> Do you have any suggestion how to deal with this, what would be 
>>>>> the best thing to use?
>>>>>
>>>>>
>>>>>
>>>>> tnx
>>>>>
>>>>> miha
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Users mailing list
>>>>> Users at lists.opensips.org
>>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>>
>>>>
>>>>
>>>
>>
>>
>




More information about the Users mailing list