<span style>Hi Daniel,</span><div style><br></div><div style>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. </div>
<div style><br></div><div style>Regards</div><div style><br></div><div style>Javi</div><br><div class="gmail_quote">On Fri, Feb 17, 2012 at 10:25 AM, Daniel-Constantin Mierla <span dir="ltr"><<a href="mailto:miconda@gmail.com">miconda@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hello Javier,<br>
<br>
one question about redis, can it do longest prefix matching or all
prefixes match?<br>
<br>
Cheers,<br>
Daniel<div class="im"><br>
<br>
On 2/16/12 2:51 PM, Javier Gallart wrote:
</div><blockquote type="cite"><div><div class="h5">Hello Uri
<div><br>
</div>
<div>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 <span>$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.</span></div>
<div><span>Hope it helps.</span></div>
<div><span><br>
</span></div>
<div><span>Regards</span></div>
<div><span><br>
</span></div>
<div><span>Javi</span></div>
<div><br>
<div class="gmail_quote">On Thu, Feb 16, 2012 at 12:00 PM, <span dir="ltr"><<a href="mailto:sr-users-request@lists.sip-router.org" target="_blank">sr-users-request@lists.sip-router.org</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send
sr-users mailing list submissions to<br>
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:sr-users-request@lists.sip-router.org" target="_blank">sr-users-request@lists.sip-router.org</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:sr-users-owner@lists.sip-router.org" target="_blank">sr-users-owner@lists.sip-router.org</a><br>
<br>
When replying, please edit your Subject line so it is more
specific<br>
than "Re: Contents of sr-users digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. how to match exact string value in mtree (Uri Shacked)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 16 Feb 2012 12:54:50 +0200<br>
From: Uri Shacked <<a href="mailto:ushacked@gmail.com" target="_blank">ushacked@gmail.com</a>><br>
Subject: [SR-Users] how to match exact string value in mtree<br>
To: "SIP Router - Kamailio (OpenSER) and SIP Express Router
(SER) -<br>
Users Mailing List" <<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>><br>
Message-ID:<br>
<CAMMbDhTFNXAE-K88=<a href="mailto:AeMjO7AnA_QJV3Ajj3AH-AxemXN3ze6HQ@mail.gmail.com" target="_blank">AeMjO7AnA_QJV3Ajj3AH-AxemXN3ze6HQ@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Hi,<br>
<br>
I am using Mtree to match prefix numbers, some of them
starts with 0 or<br>
characters like D for example.<br>
so, the mtree param is like this:<br>
<br>
modparam("mtree", "db_url", CFGDB)<br>
modparam("mtree", "mtree",
"name=nts;dbtable=service_numbers_view;type=0;")<br>
modpmodparam("mtree", "char_list",
"0123456789*+#YMDabcdefgh")<br>
modparam("mtree", "pv_value", "$avp(mtval)")<br>
modparam("mtree", "pv_values", "$avp(mtvals)")<br>
<br>
The thing is, that i tried all:<br>
<br>
if(!mt_match("nts", "$avp(DID)","1"))<br>
if(!mt_match("nts", "$avp(DID)","2"))<br>
if(!mt_match("nts", "$avp(DID)","0"))<br>
<br>
and lets say i have the both prefix in the nts mtree:<br>
09555<br>
09555333<br>
<br>
And the prefix i search for is $avp(DID)=09555444<br>
<br>
I allwasy get the 09555 because it is the longest match.<br>
I need exact match.....<br>
<br>
how do i do that?<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <<a href="http://lists.sip-router.org/pipermail/sr-users/attachments/20120216/9d2eb778/attachment.html" target="_blank">http://lists.sip-router.org/pipermail/sr-users/attachments/20120216/9d2eb778/attachment.html</a>><br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
sr-users mailing list<br>
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a><br>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><br>
<br>
<br>
End of sr-users Digest, Vol 81, Issue 40<br>
****************************************<br>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><pre>_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>
<a href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<br><div class="im">
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
<a href="http://linkedin.com/in/miconda" target="_blank">http://linkedin.com/in/miconda</a> -- <a href="http://twitter.com/miconda" target="_blank">http://twitter.com/miconda</a></pre>
</div></div>
</blockquote></div><br>