<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hello,<br>
    </p>
    <div class="moz-cite-prefix">On 18.10.21 06:08, Emilio Panighetti
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:65BE42F3-9F8C-4DD1-8345-D6C231C0205F@operalogic.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Hello,
      <div class=""><br class="">
      </div>
      <div class="">Based on kamailio-basic-kemi.cfg
        and kamailio-basic-kemi-lua.lua,</div>
      <div class="">I’m trying to get a simple test to go through using
        SIPp built-in UAC and UAS scenarios, using LUA config:</div>
      <div class=""><br class="">
      </div>
      <div class="">Commented out all the registration blocks and trying
        to run a simple proxy for now, but I can’t seem able to change
        the URI.</div>
      <div class=""><br class="">
      </div>
      <div class="">SIPp UAC: 192.168.1.12:5060</div>
      <div class="">SIPp UAS: 192.168.1.12:5062</div>
      <div class="">Kamailio 5.5.2: 192.168.15.:5060</div>
      <div class=""><br class="">
      </div>
      <div class="">Part of the Kamailio.lua config:</div>
      <div class=""><br class="">
      </div>
      <div class="">
        <div style="color: rgb(212, 212, 212); background-color: rgb(30, 30, 30); font-family: Menlo, Monaco, "Courier New", monospace; line-height: 18px; white-space: pre;" class=""><div class=""><span style="color: #6a9955;" class="">-- wrapper around tm relay function</span></div><div class=""><span style="color: #c586c0;" class="">function</span> <span style="color: #dcdcaa;" class="">ksr_route_relay</span>()</div><div class="">    <span style="color: #6a9955;" class="">-- enable additional event routes for forwarded requests</span></div><div class="">    <span style="color: #6a9955;" class="">-- - serial forking, RTP relaying handling, a.s.o.</span></div><div class="">    <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #dcdcaa;" class="">is_method_in</span>(<span style="color: #ce9178;" class="">"IBSU"</span>) <span style="color: #c586c0;" class="">then</span></div><div class="">        <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #9cdcfe;" class="">tm</span>.<span style="color: #dcdcaa;" class="">t_is_set</span>(<span style="color: #ce9178;" class="">"branch_route"</span>)<<span style="color: #b5cea8;" class="">0</span> <span style="color: #c586c0;" class="">then</span></div><div class="">            KSR.<span style="color: #dcdcaa;" class="">dbg</span>(<span style="color: #ce9178;" class="">"EP: ksr_route_relay Set for branch_route</span><span style="color: #d7ba7d;" class="">\n</span><span style="color: #ce9178;" class="">"</span>);</div><div class="">            KSR.<span style="color: #9cdcfe;" class="">tm</span>.<span style="color: #dcdcaa;" class="">t_on_branch</span>(<span style="color: #ce9178;" class="">"ksr_branch_manage"</span>);</div><div class="">        <span style="color: #c586c0;" class="">end</span></div><div class="">    <span style="color: #c586c0;" class="">end</span></div><div class="">    <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #dcdcaa;" class="">is_method_in</span>(<span style="color: #ce9178;" class="">"ISU"</span>) <span style="color: #c586c0;" class="">then</span></div><div class="">        <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #9cdcfe;" class="">tm</span>.<span style="color: #dcdcaa;" class="">t_is_set</span>(<span style="color: #ce9178;" class="">"onreply_route"</span>)<<span style="color: #b5cea8;" class="">0</span> <span style="color: #c586c0;" class="">then</span></div><div class="">            KSR.<span style="color: #dcdcaa;" class="">dbg</span>(<span style="color: #ce9178;" class="">"EP: ksr_route_relay Set for onreply_route</span><span style="color: #d7ba7d;" class="">\n</span><span style="color: #ce9178;" class="">"</span>);</div><div class="">            KSR.<span style="color: #9cdcfe;" class="">tm</span>.<span style="color: #dcdcaa;" class="">t_on_reply</span>(<span style="color: #ce9178;" class="">"ksr_onreply_manage"</span>);</div><div class="">        <span style="color: #c586c0;" class="">end</span></div><div class="">    <span style="color: #c586c0;" class="">end</span></div>
<div class="">    <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #dcdcaa;" class="">is_INVITE</span>() <span style="color: #c586c0;" class="">then</span></div><div class="">        <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #9cdcfe;" class="">tm</span>.<span style="color: #dcdcaa;" class="">t_is_set</span>(<span style="color: #ce9178;" class="">"failure_route"</span>)<<span style="color: #b5cea8;" class="">0</span> <span style="color: #c586c0;" class="">then</span></div><div class="">            KSR.<span style="color: #dcdcaa;" class="">dbg</span>(<span style="color: #ce9178;" class="">"EP: ksr_route_relay Set for failure</span><span style="color: #d7ba7d;" class="">\n</span><span style="color: #ce9178;" class="">"</span>);</div><div class="">            KSR.<span style="color: #9cdcfe;" class="">tm</span>.<span style="color: #dcdcaa;" class="">t_on_failure</span>(<span style="color: #ce9178;" class="">"ksr_failure_manage"</span>);</div><div class="">        <span style="color: #c586c0;" class="">end</span></div><div class="">    <span style="color: #c586c0;" class="">end</span></div>
<div class="">    <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #9cdcfe;" class="">tm</span>.<span style="color: #dcdcaa;" class="">t_relay</span>()<<span style="color: #b5cea8;" class="">0</span> <span style="color: #c586c0;" class="">then</span></div><div class="">        KSR.<span style="color: #dcdcaa;" class="">dbg</span>(<span style="color: #ce9178;" class="">"EP: ksr_route_relay Set for reply_error</span><span style="color: #d7ba7d;" class="">\n</span><span style="color: #ce9178;" class="">"</span>);</div><div class="">        KSR.<span style="color: #9cdcfe;" class="">sl</span>.<span style="color: #dcdcaa;" class="">sl_reply_error</span>();</div><div class="">    <span style="color: #c586c0;" class="">end</span></div><div class="">    <span style="color: #6a9955;" class="">-- EP: Base route</span></div><div class="">    KSR.<span style="color: #dcdcaa;" class="">dbg</span>(<span style="color: #ce9178;" class="">"EP: ksr_route_relay Check for Base Route</span><span style="color: #d7ba7d;" class="">\n</span><span style="color: #ce9178;" class="">"</span>);</div><div class="">    <span style="color: #c586c0;" class="">if</span> KSR.<span style="color: #dcdcaa;" class="">is_INVITE</span>() <span style="color: #c586c0;" class="">then</span></div><div class="">        KSR.<span style="color: #dcdcaa;" class="">dbg</span>(<span style="color: #ce9178;" class="">"EP: ksr_route_relay Base Route (DU)</span><span style="color: #d7ba7d;" class="">\n</span><span style="color: #ce9178;" class="">"</span>);</div><div class="">        <span style="color: #6a9955;" class="">--KSR.sl.send_reply("503", "Debug");</span></div><div class="">        KSR.<span style="color: #dcdcaa;" class="">setdsturi</span>(<span style="color: #ce9178;" class="">"<a href="sip:192.168.1.12:5062" class="" moz-do-not-send="true">sip:192.168.1.12:5062</a>"</span>);</div><div class="">        KSR.<span style="color: #9cdcfe;" class="">pv</span>.<span style="color: #dcdcaa;" class="">sets</span>(<span style="color: #ce9178;" class="">"$du"</span>, <span style="color: #ce9178;" class="">"<a href="sip:192.168.1.12:5062" class="" moz-do-not-send="true">sip:192.168.1.12:5062</a>"</span>);</div><div class="">    <span style="color: #c586c0;" class="">end</span></div>
<div class="">    KSR.<span style="color: #dcdcaa;" class="">dbg</span>(<span style="color: #ce9178;" class="">"EP: ksr_route_relay exit</span><span style="color: #d7ba7d;" class="">\n</span><span style="color: #ce9178;" class="">"</span>);</div><div class="">    KSR.<span style="color: #9cdcfe;" class="">x</span>.<span style="color: #dcdcaa;" class="">exit</span>();</div><div class=""><span style="color: #c586c0;" class="">end</span></div></div>
      </div>
      <div class=""><br class="">
      </div>
      <div class="">What’s happening here is that instead of forwarding
        the INVITE to the SIPp UAC, it creates a loop. Tried
        KSR.setdsturi() only (KSR.pv.sets commented out) and it’s still
        the same.</div>
      <div class="">If I comment out the 503 reply, then that’s what the
        UAC gets back.</div>
    </blockquote>
    <br>
    <p>You have to set dst uri before KSR.tm.relay(), because that's the
      function that sends to the next hop. If you set it after it, then
      it is not used.</p>
    <p>Cheers,<br>
      Daniel<br>
    </p>
    <br>
    [...]<br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla -- <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
<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 - Online
Nov 08-11, 2021 (Europe Timezone) - Nov 22-25, 2021 (America Timezone)
  * <a class="moz-txt-link-freetext" href="https://www.asipto.com/sw/kamailio-advanced-training-online/">https://www.asipto.com/sw/kamailio-advanced-training-online/</a></pre>
  </body>
</html>