<div dir="ltr"><div>Nice! but I think I can invert the test and do it like this: <span style="font-family:monospace,monospace">'FULL_NUMBER' LIKE CONCAT(lr.prefix,'%')</span><br></div>Probably not as fast but should do the job!<br><div><span style="font-family:monospace,monospace"></span><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 6 September 2017 at 12:25, Alex Balashov <span dir="ltr"><<a href="mailto:abalashov@evaristesys.com" target="_blank">abalashov@evaristesys.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Indeed.<br>
<span class=""><br>
On September 5, 2017 10:24:07 PM EDT, Patrick Wakano <<a href="mailto:pwakano@gmail.com">pwakano@gmail.com</a>> wrote:<br>
>Thanks for the attention Alex, so this "prefix" add on for Postgresql<br>
>is<br>
>supposed to replace my lr.prefix SIMILAR TO '(|PREFIX%)' ? So then I<br>
>could<br>
>actually use a complete number against the LCR prefixes, instead of<br>
>having<br>
>to use a prefix in the test?<br>
><br>
>Cheers,<br>
>Patrick Wakano<br>
><br>
><br>
><br>
>On 6 September 2017 at 09:57, Alex Balashov <<a href="mailto:abalashov@evaristesys.com">abalashov@evaristesys.com</a>><br>
>wrote:<br>
><br>
>> <a href="https://github.com/dimitri/prefix" rel="noreferrer" target="_blank">https://github.com/dimitri/<wbr>prefix</a><br>
</span>><<a href="https://github.com/dimitri/prefixIt" rel="noreferrer" target="_blank">https://github.com/dimitri/<wbr>prefixIt</a>><br>
<div><div class="h5">>><br>
>><br>
>> Regardless of how many routes you have, you don't want to do it the<br>
>way<br>
>> you're doing it. Trust me.<br>
>><br>
>> -- Alex<br>
>><br>
>> On Sep 5, 2017, at 7:54 PM, Patrick Wakano <<a href="mailto:pwakano@gmail.com">pwakano@gmail.com</a>> wrote:<br>
>><br>
>> Thanks for the response guys!<br>
>> The link <a href="https://github.com/dimitri/prefixIt" rel="noreferrer" target="_blank">https://github.com/dimitri/<wbr>prefixIt</a> is returning 404....<br>
>> Regarding the performance itself I am not worried since this select<br>
>it is<br>
>> just for management and I don't expect having millions of rules.<br>
>> The idea is just to have an easy way to have a picture of how the LCR<br>
>will<br>
>> order and select the gateways based on a given prefix. The three LCR<br>
>tables<br>
>> are not so easy to handle and manage from command line so my idea was<br>
>to<br>
>> have a single SELECT or VIEW to return me all I need at once!<br>
>> From what I could check, I think the select I sent pretty much<br>
>translates<br>
>> what LCR module does internally, I am just trying to verify if it has<br>
>some<br>
>> flaw, which could mislead me in the rules management.<br>
>><br>
>> Cheers,<br>
>> Patrick Wakano<br>
>><br>
>><br>
>> On 6 September 2017 at 00:32, Dmitry Sinina<br>
><<a href="mailto:dmitry.sinina@onat.edu.ua">dmitry.sinina@onat.edu.ua</a>><br>
>> wrote:<br>
>><br>
>>> <a href="https://yeti-switch.org/demo.html" rel="noreferrer" target="_blank">https://yeti-switch.org/demo.<wbr>html</a><br>
>>><br>
>>><br>
>>> On 9/5/17 5:29 PM, Dmitry Sinina wrote:<br>
>>><br>
>>>> And you can try our opensource LCR engine. We use kamailio as load<br>
>>>> balancer and SEMS as SBC.<br>
>>>><br>
>>>> On 9/5/17 3:02 AM, Patrick Wakano wrote:<br>
>>>><br>
>>>>> Hello list,<br>
>>>>><br>
>>>>> Hope you all doing well!<br>
>>>>> I am trying to ease the management of LCR routing rules, since<br>
>once we<br>
>>>>> begin to have multiple prefixes, multiple GWs and so on, the<br>
>visualization<br>
>>>>> and management of the rules priorities becomes exponentially hard<br>
>to do.<br>
>>>>> So first thing I am trying to achieve is an easy way of retrieving<br>
>the<br>
>>>>> rules in an ordered manner. I couldn't find any tool to do such<br>
>thing and<br>
>>>>> source code was not very friendly.... so I've come up with this<br>
>Postgresql<br>
>>>>> query that I think retrieves all rules in the same order I expect<br>
>LCR to<br>
>>>>> select the GWs.<br>
>>>>><br>
>>>>> SELECT lr.lcr_id, lr.prefix, lrt.priority, lg.gw_name, lg.ip_addr<br>
>>>>> FROM lcr_rule lr<br>
>>>>> JOIN lcr_rule_target lrt ON lrt.lcr_id = lr.lcr_id AND lrt.rule_id<br>
>=<br>
>>>>> <a href="http://lr.id" rel="noreferrer" target="_blank">lr.id</a> <<a href="http://lr.id" rel="noreferrer" target="_blank">http://lr.id</a>><br>
>>>>> JOIN lcr_gw lg ON lg.lcr_id = lr.lcr_id AND <a href="http://lg.id" rel="noreferrer" target="_blank">lg.id</a> <<a href="http://lg.id" rel="noreferrer" target="_blank">http://lg.id</a>> =<br>
>>>>> lrt.gw_id<br>
>>>>> WHERE lr.enabled = 1 AND lg.defunct = 0 AND lr.lcr_id = ID AND<br>
>>>>> lr.prefix SIMILAR TO '(|PREFIX%)'<br>
>>>>> ORDER BY lr.lcr_id, LENGTH(lr.prefix) DESC, lrt.priority;<br>
>>>>><br>
>>>>> It is missing the weights calculation, but it is rather complex<br>
>and I<br>
>>>>> am not using it anyway.... Other than that does anyone did<br>
>something<br>
>>>>> similar to check if my query really matches what LCR engine does?<br>
>>>>><br>
>>>>> Thanks,<br>
>>>>> Patrick Wakano<br>
>>>>><br>
>>>>> ______________________________<wbr>_________________<br>
>>>>> Kamailio (SER) - Users Mailing List<br>
>>>>> <a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>
>>>>> <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/<wbr>cgi-bin/mailman/listinfo/sr-<wbr>users</a><br>
>>>>><br>
>>>>><br>
>>>><br>
>>><br>
>> ______________________________<wbr>_________________<br>
>> Kamailio (SER) - Users Mailing List<br>
>> <a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>
>> <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/<wbr>cgi-bin/mailman/listinfo/sr-<wbr>users</a><br>
>><br>
>><br>
>> ______________________________<wbr>_________________<br>
>> Kamailio (SER) - Users Mailing List<br>
>> <a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>
>> <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/<wbr>cgi-bin/mailman/listinfo/sr-<wbr>users</a><br>
>><br>
>><br>
<br>
<br>
</div></div>-- Alex<br>
<br>
--<br>
Principal, Evariste Systems LLC (<a href="http://www.evaristesys.com" rel="noreferrer" target="_blank">www.evaristesys.com</a>)<br>
<br>
Sent from my Google Nexus.<br>
<div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>_________________<br>
Kamailio (SER) - Users Mailing List<br>
<a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/<wbr>cgi-bin/mailman/listinfo/sr-<wbr>users</a><br>
</div></div></blockquote></div><br></div>