<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">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><br class=""><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><br class=""><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="">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="">sip:192.168.1.12:5062</a>"</span>);</div><div class="">    <span style="color: #c586c0;" class="">end</span></div><br class=""><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><div class=""><br class=""></div><div class="">Here’s the log when calling ksr_route_relay:</div><div class=""><br class=""></div><div class=""><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/msg_translator.c:162]: check_via_address(): (192.168.1.12, 192.168.1.12, 0)</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:489]: sr_lua_reload_script(): No need to reload [/etc/kamailio/kamaili</div><div class="">o.lua] is version 0</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:673]: app_lua_run_ex(): executing Lua function: [[ksr_onsend_route]]</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:675]: app_lua_run_ex(): lua top index is: 0</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: tm [t_funcs.c:376]: t_relay_to(): new transaction forwarded</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1003]: sr_kemi_lua_exec_func_ex(): param[0] for: dbg is str: EP: ksr_r</div><div class="">oute_relay Check for Base Route</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/kemi.c:85]: sr_kemi_core_dbg(): EP: ksr_route_relay Check for Base Route</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1003]: sr_kemi_lua_exec_func_ex(): param[0] for: dbg is str: EP: ksr_r</div><div class="">oute_relay Base Route (DU)</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/kemi.c:85]: sr_kemi_core_dbg(): EP: ksr_route_relay Base Route (DU)</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1003]: sr_kemi_lua_exec_func_ex(): param[0] for: setdsturi is str: sip</div><div class="">:192.168.1.12:5062</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1003]: sr_kemi_lua_exec_func_ex(): param[0] for: sets is str: $du</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1003]: sr_kemi_lua_exec_func_ex(): param[1] for: sets is str: <a href="sip:192" class="">sip:192</a>.</div><div class="">168.1.12:5062</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/kemi.c:2906]: sr_kemi_pv_sets(): pv set: $du</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/pvapi.c:371]: pv_cache_add(): pvar [$du] added in cache</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1003]: sr_kemi_lua_exec_func_ex(): param[0] for: dbg is str: EP: ksr_r</div><div class="">oute_relay exit</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/kemi.c:85]: sr_kemi_core_dbg(): EP: ksr_route_relay exit</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:1837]: sr_kemi_lua_exit(): script exit call</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_api.c:729]: app_lua_run_ex(): ksr error call from Lua: ~~ksr~exit~~</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: app_lua [app_lua_mod.c:167]: sr_kemi_config_engine_lua(): execution of route type 1 with no n</div><div class="">ame returned 1</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) INFO: LUA {INVITE}: <core> [core/receive.c:515]: receive_msg(): request-route executed in: 1335 usec</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/usr_avp.c:637]: destroy_avp_list(): destroying list (nil)</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/xavp.c:541]: xavp_destroy_list(): destroying xavp list (nil)</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: LUA {INVITE}: <core> [core/receive.c:606]: receive_msg(): cleaning up</div><div class="">Oct 17 23:42:48 ol-vm1 kamailio[2416]: 3(2419) DEBUG: <core> [core/udp_server.c:493]: udp_rcv_loop(): received on udp socket: (112/100/661) [[INVITE <a href="sip:service@" class="">sip:service@</a></div><div class="">192.168.1.15:5060 SIP/2.0 0D  0A Record-Route: <<a href="sip:192.168.1.15;lr=on" class="">sip:192.168.1.15;lr=on</a>> 0D  0A Via: SIP/2.0/U]]</div></div><div class=""><br class=""></div><div class="">Any idea how we can route this message?</div><div class=""><br class=""></div><div class="">Thanks!</div></body></html>