<div dir="ltr">I have just edited kamctl in order to make lcr commands work. Hope that helps someone.<div><br></div><div>Using Kamailio 4.3.0</div><div><br></div><div>Please find kamctl attached also</div><div><div><br></div><div>







<p class=""><span class="">### LCR management</span></p>
<p class=""><span class="">#</span></p>
<p class=""><span class="">lcr() <b>{</b></span></p>
<p class=""><span class="">        <b>case</b> </span><span class="">$1</span><span class=""> <b>in</b></span></p>
<p class=""><span class="">                show_gws)</span></p>
<p class=""><span class="">#                       merr "command disabled"</span></p>
<p class=""><span class="">#                       exit 1</span></p>
<p class=""><span class="">                        require_dbengine</span></p>
<p class=""><span class="">                        mecho </span><span class="">"lcr gateways"</span></p>
<p class=""><span class="">                        QUERY=</span><span class="">"select * FROM lcr_gw ORDER BY id; "</span></p>
<p class=""><span class="">                        </span><span class="">$DBROCMD</span><span class=""> </span><span class="">"</span><span class="">$QUERY</span><span class="">"</span></p>
<p class=""><span class="">                        ;;</span></p>
<p class=""><span class="">                show_routes)</span></p>
<p class=""><span class="">#                       merr "command disabled"</span></p>
<p class=""><span class="">#                       exit 1</span></p>
<p class=""><span class="">                        require_dbengine</span></p>
<p class=""><span class="">                        mecho </span><span class="">"lcr routes"</span></p>
<p class=""><span class="">                        QUERY=</span><span class="">"select * FROM lcr_rule ORDER BY id;"</span></p>
<p class=""><span class="">                        </span><span class="">$DBROCMD</span><span class=""> </span><span class="">"</span><span class="">$QUERY</span><span class="">"</span></p>
<p class=""><span class="">                        ;;</span></p>
<p class=""><span class="">                reload)</span></p>
<p class=""><span class="">#                       merr "command disabled"</span></p>
<p class=""><span class="">#                       exit 1</span></p>
<p class=""><span class="">                        kamcmd lcr.reload</span></p>
<p class=""><span class="">                        ;;</span></p>
<p class=""><span class="">                dump_gws)</span></p>
<p class=""><span class="">#                       merr "command disabled"</span></p>
<p class=""><span class="">#                       exit 1</span></p>
<p class=""><span class="">                        kamcmd lcr.dump_gws</span></p>
<p class=""><span class="">                        ;;</span></p>
<p class=""><span class="">                dump_routes)</span></p>
<p class=""><span class="">#                       merr "command disabled"</span></p>
<p class=""><span class="">#                       exit 1</span></p>
<p class=""><span class="">                        kamcmd lcr.dump_rules</span></p>
<p class=""><span class="">                        <b>exit</b> 1</span></p>
<p class=""><span class="">                        ;;</span></p>
<p class=""><span class="">                eval_weights)</span></p>
<p class=""><span class="">                        <b>shift</b></span></p><p class=""><span class="">                       </span><span class="">$AWK</span><span class=""> </span><span class="">'BEGIN {</span></p><p class=""><span class="">                                if (ARGC < 2) {</span></p><p class=""><span class="">                                        printf("Usage: lcr eval_weights <list of weights (integers 1-254)>\n");</span></p><p class=""><span class="">                                        exit;</span></p><p class=""><span class="">                                }</span></p><p class=""><span class="">                                iters = 100000;</span></p><p class=""><span class="">                                for (i = 1; i < ARGC; i++) { counts[i] = 0; }</span></p><p class=""><span class="">                                for (i = 1; i <= iters; i++) {</span></p><p class=""><span class="">                                        for (j = 1; j < ARGC; j++) {</span></p><p class=""><span class="">                                                elem[j] = ARGV[j] * rshift(int(2147483647 * rand()), 8);</span></p><p class=""><span class="">                                        }</span></p><p class=""><span class="">                                        at = 1;</span></p><p class=""><span class="">                                        max = elem[at];</span></p><p class=""><span class="">                                        for (j = 2; j < ARGC; j++) {</span></p><p class=""><span class="">                                                if (elem[j] > max) {</span></p><p class=""><span class="">                                                        max = elem[j];</span></p><p class=""><span class="">                                                        at = j;</span></p><p class=""><span class="">                                                }</span></p><p class=""><span class="">                                        }</span></p><p class=""><span class="">                                        counts[at] = counts[at] + 1;</span></p><p class=""><span class="">                                }</span></p><p class=""><span class="">                                for (i = 1; i < ARGC; i++) {</span></p><p class=""><span class="">                                        printf("weight %d probability %.4f\n", ARGV[i], counts[i]/iters);</span></p><p class=""><span class="">                                }</span></p><p class=""><span class="">                        }'</span><span class=""> </span><span class="">$@</span></p><p class=""><span class="">                        ;;</span></p><p class=""><span class="">                *)</span></p><p class=""><span class="">                        usage_lcr</span></p><p class=""><span class="">                        <b>exit</b> 1</span></p><p class=""><span class="">        <b>esac</b></span></p><p class=""><span class="">





































</span></p><p class=""><span class=""><b>}</b></span></p></div></div></div>