<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hello,</p>
    <p>not aware of such option in mtree to get the matched prefix.
      Someone has to write some C code to get it.</p>
    <p>Cheers,<br>
      Daniel<br>
    </p>
    <br>
    <div class="moz-cite-prefix">On 19.02.18 10:17, Francisco Valentin
      Vinagrero wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:D344618A4B7B0F4ABA8047A07E92D47401F67462FB@CERNXCHG51.cern.ch">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        color:black;}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;
        color:black;}
span.EmailStyle22
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.EmailStyle23
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
span.EmailStyle24
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1510025990;
        mso-list-type:hybrid;
        mso-list-template-ids:43963732 -38355674 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:31;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Calibri",sans-serif;
        mso-fareast-font-family:Calibri;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Symbol;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Courier New";}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:\F0A7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span style="color:#1F497D">Hello,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">So far, the
            mtree + dispatcher option is working perfectly.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Is there any
            AVP to retrieve the prefix that was matched when querying
            the mtree table? I’d like to have a record of this to
            identify missing prefixes in my table or wrong
            configurations for longest-prefix matches.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">I have had a
            look at the documentation but I couldn’t find if this is
            stored in an AVP.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Cheers,
            Francisco.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> Francisco Valentin Vinagrero
                <br>
                <b>Sent:</b> Monday, February 12, 2018 16:59<br>
                <b>To:</b> '<a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a>'
                <a class="moz-txt-link-rfc2396E" href="mailto:miconda@gmail.com"><miconda@gmail.com></a>; Kamailio (SER) - Users
                Mailing List <a class="moz-txt-link-rfc2396E" href="mailto:sr-users@lists.kamailio.org"><sr-users@lists.kamailio.org></a><br>
                <b>Subject:</b> RE: [SR-Users] LCR options as of 2018<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="FR">Thanks
            Daniel,<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D" lang="FR"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Mtree +
            Dispatcher makes a lot of sense for my use case. I will try
            to implement the LCR with that.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D">Cheers,
            Francisco.<o:p></o:p></span></p>
        <p class="MsoNormal"><span style="color:#1F497D"><o:p> </o:p></span></p>
        <div>
          <div style="border:none;border-top:solid #E1E1E1
            1.0pt;padding:3.0pt 0in 0in 0in">
            <p class="MsoNormal"><b><span style="color:windowtext">From:</span></b><span
                style="color:windowtext"> Daniel-Constantin Mierla [<a
                  href="mailto:miconda@gmail.com" moz-do-not-send="true">mailto:miconda@gmail.com</a>]
                <br>
                <b>Sent:</b> Monday, February 12, 2018 14:22<br>
                <b>To:</b> Kamailio (SER) - Users Mailing List <<a
                  href="mailto:sr-users@lists.kamailio.org"
                  moz-do-not-send="true">sr-users@lists.kamailio.org</a>>;
                Francisco Valentin Vinagrero <<a
                  href="mailto:francisco.valentin.vinagrero@cern.ch"
                  moz-do-not-send="true">francisco.valentin.vinagrero@cern.ch</a>><br>
                <b>Subject:</b> Re: [SR-Users] LCR options as of 2018<o:p></o:p></span></p>
          </div>
        </div>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p>Hello,<span style="font-size:12.0pt"><o:p></o:p></span></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <div>
          <p class="MsoNormal">On 12.02.18 13:52, Francisco Valentin
            Vinagrero wrote:<o:p></o:p></p>
        </div>
        <blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
          <p class="MsoNormal">Hello,<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">I am configuring a Kamailio node that
            will interface with 3 carriers and will implement Least Cost
            Routing for around 900 destinations.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">I have already implemented a quick
            prototype with the LCR module and I have been reading the
            CarrierRoute doc and the CGrates site.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">I don’t really need advanced
            functionality, just:<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span><!--[endif]-->Re-routing to a backup carrier
            when the main one is not available.<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span><!--[endif]-->Ping with OPTIONS to all
            carriers so I can detect if any of them is not available (à
            la Dispatcher)<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span><!--[endif]-->Translate prices from a
            central DB to routing priorities.<o:p></o:p></p>
          <p class="MsoListParagraph"
            style="text-indent:-.25in;mso-list:l0 level1 lfo2"><!--[if !supportLists]--><span
              style="mso-list:Ignore">-<span style="font:7.0pt
                "Times New Roman"">         
              </span></span><!--[endif]-->Get some accounting post-call
            info about the routing decision (acc module)<o:p></o:p></p>
          <p class="MsoListParagraph"> <o:p></o:p></p>
          <p class="MsoNormal">So far, while testing the LCR module I
            have had some issues with the rule IDs being integers that
            auto-increment, so the LCR rules need to be referenced from
            the rule_target table using this numeric ID. I can see some
            issues when scaling this to 900 lcr_rules and 2700
            lcr_rule_targets with 3 priorities.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">In addition to that, I think the OPTIONS
            mechanism is just used by the lcr module when a gateway is
            marked as defunct, but the gateways are not actively
            monitored in the normal status. Is this correct?<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">I have been considering CarrierRoute,
            which has a slightly simpler table structure, but I can’t
            find any other advantage for my use case. Regarding CGrates,
            it looks great but it looks like it exceeds my current
            needs.<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">For those who have implemented LCR in
            your kamailios, am I missing something regarding
            performance, scalability, etc?<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal">Are there any newer modules that can
            implement this, or maybe just a dispatcher-on-steroids setup
            will do the trick?<o:p></o:p></p>
          <p class="MsoNormal"> <o:p></o:p></p>
          <p class="MsoNormal"><span
              style="font-size:12.0pt;font-family:"Times New
              Roman",serif"><o:p> </o:p></span></p>
        </blockquote>
        <p class="MsoNormal" style="margin-bottom:12.0pt"><span
            style="font-size:12.0pt;font-family:"Times New
            Roman",serif">Look also at drouting module, the latest
            version should do OPTIONS keep alives using keepalive
            module, otherwise it is a lcr implementation as well -- I
            haven't tested myself the keep alive feature, though.<br>
            <br>
            As for me, typically I go in this case for a combination of
            mtree + dispatcher. I have mtree translating from longest
            prefix to a dispatcher group id, inside dispatcher group you
            can use priority based routing. This works just fine even
            when you end up in several dispatcher groups with same
            destinations but different order based on priority per
            group.<br>
            <br>
            You can even map the prefix in mtree to dispatcher group +
            dispatching algorithm, latest version supports having many
            columns loaded in the value and then you can use script
            operations to split.<br>
            <br>
            Cheers,<br>
            Daniel<o:p></o:p></span></p>
        <pre>-- <o:p></o:p></pre>
        <pre>Daniel-Constantin Mierla<o:p></o:p></pre>
        <pre><a href="http://www.twitter.com/miconda" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" moz-do-not-send="true">www.linkedin.com/in/miconda</a><o:p></o:p></pre>
        <pre>Kamailio Advanced Training - March 5-7, 2018, Berlin - <a href="http://www.asipto.com" moz-do-not-send="true">www.asipto.com</a><o:p></o:p></pre>
        <pre>Kamailio World Conference - May 14-16, 2018 - <a href="http://www.kamailioworld.com" moz-do-not-send="true">www.kamailioworld.com</a><o:p></o:p></pre>
      </div>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla
<a class="moz-txt-link-abbreviated" href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 5-7, 2018, Berlin - <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
Kamailio World Conference - May 14-16, 2018 - <a class="moz-txt-link-abbreviated" href="http://www.kamailioworld.com">www.kamailioworld.com</a></pre>
  </body>
</html>