<div dir="ltr">Hi Fuad,<div>without going too far in kamailio's internals, a resume route is equivalent to a failure route and, as such, it operates on a "fake" fresh message. </div><div>One solution is to use msg_apply_changes() but my general advice is that all headers and sdp mangling (aka rtpengine invocations) should be done in branch routes, especially if your routing logic includes async routes/failure routes.</div><div><br></div><div>Federico</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Mar 28, 2022 at 1:20 PM Fuad Trle <<a href="mailto:trle.fuad@gmail.com">trle.fuad@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Henning,<div><br></div><div>I have tried this, but without success. <b>This function can be used from REQUEST_ROUTE or core REPLY_ROUTE.</b> t_newtrans & http_async_query force me to enter a new routing block and call fail with "500 I'm terribly sorry, server error occurred (1/TM)". There is no explicit exit at the end of route(HTTP) but for some reason execution stopped and did not continue in request_route.</div><div><br></div><div>I don't think I can fulfil those requirements (call function in request route and before record_route). Suspend is the last option (after location lookup and parallel forking).</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Mar 27, 2022 at 10:51 PM Henning Westerholt <<a href="mailto:hw@gilawa.com" target="_blank">hw@gilawa.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="DE">
<div>
<p class="MsoNormal"><span>Hello,<u></u><u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">if you are not seeing them in the configuration later on directly, this is expected:
<a href="https://www.kamailio.org/wiki/tutorials/faq/main#why_changes_made_to_headers_or" target="_blank">
https://www.kamailio.org/wiki/tutorials/faq/main#why_changes_made_to_headers_or</a><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Cheers,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Henning<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">-- <u></u>
<u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Henning Westerholt –
</span><span><a href="https://skalatan.de/blog/" target="_blank"><span lang="EN-GB" style="color:rgb(5,99,193)">https://skalatan.de/blog/</span></a></span><span lang="EN-GB"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB">Kamailio services –
</span><span><a href="https://gilawa.com/" target="_blank"><span lang="EN-GB" style="color:rgb(5,99,193)">https://gilawa.com</span></a></span><span lang="EN-GB"><u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-GB"><u></u> <u></u></span></p>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal" style="margin-left:35.4pt"><b>From:</b> sr-users <<a href="mailto:sr-users-bounces@lists.kamailio.org" target="_blank">sr-users-bounces@lists.kamailio.org</a>>
<b>On Behalf Of </b>Fuad Trle<br>
<b>Sent:</b> Friday, March 25, 2022 4:08 PM<br>
<b>To:</b> <a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
<b>Subject:</b> [SR-Users] t_suspend / t_continue & insert_hf<u></u><u></u></p>
</div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Hello,<u></u><u></u></p>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">I'm inserting some headers after getting value from http_async_query. If a call is relayed, I see them. But If I t_suspend and t_continue call (before time out), I do not see added headers. Here is flow:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">route(START)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">t_newtran();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">#.. prep for query<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">http_async_query("url","HTTP");<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">route(HTTP)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">#.. collect and using data from query<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">insert_hf("$var(key): $var(value)\r\n");<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">t_store();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">if (registered("location") {<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">    route(RELAY);<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">} else {<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">    t_suspend();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">    exit;<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">}<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">route(AWAKE)<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">t_continue();<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">I see that the branch index ($T_branch_idx) is 0 at start. 1 after http query, +1 if there is forking or location. +1 after t_suspend. It looks like t_continue uses a branch with index after t_suspend. I tried
 with t_save_lumps() to carry over changes.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:35.4pt">Any idea how to do this? <u></u><u></u></p>
</div>
</div>
</div>
</div>

</blockquote></div>
__________________________________________________________<br>
Kamailio - Users Mailing List - Non Commercial Discussions<br>
  * <a href="mailto:sr-users@lists.kamailio.org" target="_blank">sr-users@lists.kamailio.org</a><br>
Important: keep the mailing list in the recipients, do not reply only to the sender!<br>
Edit mailing list options or unsubscribe:<br>
  * <a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" rel="noreferrer" target="_blank">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><br>
</blockquote></div>