[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openser-users
Subject:    Re: [SR-Users] Routing dialogs (INVITE) from Lua
From:       Daniel-Constantin Mierla <miconda () gmail ! com>
Date:       2021-10-18 6:42:55
Message-ID: 8386e767-cd23-be02-87db-70cae000953d () gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hello,

On 18.10.21 06:08, Emilio Panighetti wrote:
> Hello,
>
> Based on kamailio-basic-kemi.cfg and kamailio-basic-kemi-lua.lua,
> I’m trying to get a simple test to go through using SIPp built-in UAC
> and UAS scenarios, using LUA config:
>
> 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.
>
> SIPp UAC: 192.168.1.12:5060
> SIPp UAS: 192.168.1.12:5062
> Kamailio 5.5.2: 192.168.15.:5060
>
> Part of the Kamailio.lua config:
>
> -- wrapper around tm relay function
> function ksr_route_relay()
> -- enable additional event routes for forwarded requests
> -- - serial forking, RTP relaying handling, a.s.o.
> if KSR.is_method_in("IBSU") then
> if KSR.tm.t_is_set("branch_route")<0 then
> KSR.dbg("EP: ksr_route_relay Set for branch_route\n");
> KSR.tm.t_on_branch("ksr_branch_manage");
> end
> end
> if KSR.is_method_in("ISU") then
> if KSR.tm.t_is_set("onreply_route")<0 then
> KSR.dbg("EP: ksr_route_relay Set for onreply_route\n");
> KSR.tm.t_on_reply("ksr_onreply_manage");
> end
> end
> if KSR.is_INVITE() then
> if KSR.tm.t_is_set("failure_route")<0 then
> KSR.dbg("EP: ksr_route_relay Set for failure\n");
> KSR.tm.t_on_failure("ksr_failure_manage");
> end
> end
> if KSR.tm.t_relay()<0 then
> KSR.dbg("EP: ksr_route_relay Set for reply_error\n");
> KSR.sl.sl_reply_error();
> end
> -- EP: Base route
> KSR.dbg("EP: ksr_route_relay Check for Base Route\n");
> if KSR.is_INVITE() then
> KSR.dbg("EP: ksr_route_relay Base Route (DU)\n");
> --KSR.sl.send_reply("503", "Debug");
> KSR.setdsturi("sip:192.168.1.12:5062 <sip:192.168.1.12:5062>");
> KSR.pv.sets("$du", "sip:192.168.1.12:5062 <sip:192.168.1.12:5062>");
> end
> KSR.dbg("EP: ksr_route_relay exit\n");
> KSR.x.exit();
> end
>
> 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.
> If I comment out the 503 reply, then that’s what the UAC gets back.

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.

Cheers,
Daniel


[...]

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Online
Nov 08-11, 2021 (Europe Timezone) - Nov 22-25, 2021 (America Timezone)
  * https://www.asipto.com/sw/kamailio-advanced-training-online/


[Attachment #5 (text/html)]

<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, &quot;Courier New&quot;, 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>)&lt;<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>)&lt;<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>)&lt;<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>()&lt;<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>



__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
  * sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender!
Edit mailing list options or unsubscribe:
  * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic