<p>Looked in the code and the flags are resync'ed on t_relay() (or the similar relay functions), that happens because of:</p>
<ul>
<li><a href="https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_lookup.c#L1327">https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_lookup.c#L1327</a></li>
</ul>
<p>And t_newtran() is executed inside t_relay_to():</p>
<ul>
<li><a href="https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_funcs.c#L241">https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_funcs.c#L241</a></li>
</ul>
<p>The behaviour is coming via SER project, based on the comments there.</p>
<p>I am going to add the same for xflags.</p>
<p>On the other hand, the t_flush_flags() might still be useful for the case when the transaction is created, but not forwarded (e.g., local handling or, even I haven't checked the code, could be the case of suspending the transaction), so I am going to keep the functions, but document that they are not needed if the transaction is forwarded with t_relay() or similar functions.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you are subscribed to this thread.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/issues/1490#issuecomment-380444664">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZZ39e4UbgqBup2LGtkntGhnA91ceks5tnf_MgaJpZM4TDN_v">mute the thread</a>.<img src="https://github.com/notifications/beacon/AF36Zb2ZRlMisom8EpvobwT8Fh-o6nTDks5tnf_MgaJpZM4TDN_v.gif" height="1" width="1" alt="" /></p>
<div itemscope itemtype="http://schema.org/EmailMessage">
<div itemprop="action" itemscope itemtype="http://schema.org/ViewAction">
  <link itemprop="url" href="https://github.com/kamailio/kamailio/issues/1490#issuecomment-380444664"></link>
  <meta itemprop="name" content="View Issue"></meta>
</div>
<meta itemprop="description" content="View this Issue on GitHub"></meta>
</div>

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/kamailio/kamailio","title":"kamailio/kamailio","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"PERSON","message":"@miconda in #1490: Looked in the code and the flags are resync'ed on t_relay() (or the similar relay functions), that happens because of:\r\n\r\n  * https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_lookup.c#L1327\r\n\r\nAnd t_newtran() is executed inside t_relay_to():\r\n\r\n  * https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_funcs.c#L241\r\n\r\nThe behaviour is coming via SER project, based on the comments there.\r\n\r\nI am going to add the same for xflags.\r\n\r\nOn the other hand, the t_flush_flags() might still be useful for the case when the transaction is created, but not forwarded (e.g., local handling or, even I haven't checked the code, could be the case of suspending the transaction), so I am going to keep the functions, but document that they are not needed if the transaction is forwarded with t_relay() or similar functions."}],"action":{"name":"View Issue","url":"https://github.com/kamailio/kamailio/issues/1490#issuecomment-380444664"}}}</script>