Hello Uri
I had similar needs and I found the ndb_redis module more suited for that type of task. Instead of a tree you have a hash like this: tname tprefix tvalue. If you do a hget nts $avp(DID) and you get a not null value you have found your exact match. It works very well for me and the time it takes for that "query" is barely noticeable. Of course redis does not address items like persistence, etc the same way a rdbms does. Hope it helps.
Regards
Javi
On Thu, Feb 16, 2012 at 12:00 PM, sr-users-request@lists.sip-router.orgwrote:
Hello,
On 2/16/12 2:51 PM, Javier Gallart wrote:
for hash tables in config, the alternative is using htable module. Then the selection is done on exact match, no prefix matching. mtree is suitable for storing keys that are composed from a limited set of characters (like numbers, 0-9 digits only), otherwise becomes too memory consuming. For keys that are composed from any character and need exact match, hash table structures are more suitable, no matter if it is via htable module or something else like redis.
Cheers, Daniel
Hi
Maybe I didn't understand your scenario, but I don't see how to do it with the dialplan module. Let's say you have two entries in your dialplan table: 09555333 (this should go first) 09555* If your string is 09555444 you will still get the second entry....
Regards
Javi
On Fri, Feb 17, 2012 at 3:11 PM, Uri Shacked ushacked@gmail.com wrote:
i think that if i set the match_op in the dialplan table to 0, it will only find the exact match...
On Fri, Feb 17, 2012 at 4:22 PM, Javier Gallart jgallartm@gmail.com wrote:
Hi Daniel,
no, in order to find the best match we do a manual trick using the s.prefixes transformation (I think you suggested that). We start with the full number and stop when we find a non-null value. This kamailio is serving many thousands of calls per hour, and the response time is pretty much the same as when we used the mtree module. For us , using redis has the advantage of being able to load the tree data faster than when we used postgres without the need to perform a mtree reload.
Regards
Javi
On Fri, Feb 17, 2012 at 10:25 AM, Daniel-Constantin Mierla < miconda@gmail.com> wrote: