<p>Using dlg_manage() on my ACK caused the dialog state to be updated to 4, and my dialogs are no longer timing out early!</p>
<p>The timeout column in my SQL database now contains the correct unix epoch as well, is it intended to be much less than the start_time when the dialog state is 3? I guess it isn't really used if the ACK has not arrived.</p>
<hr>
<p>I am not using record-route headers; I think I had some trouble with the PBX preferring them over the contact header which resulted in lost packets. I will look at them again in the next stage of development, now that everything is working well enough as is.</p>
<p>My architecture relies heavily on an identifier in the URIs and contacts, this identifier is used to forward SIP to registered contacts associated with many PBXs contained behind NAT on physical hosts.<br>
It just so happens that for in-dialog SIP like ACK/PRACK/UPDATE/BYE there are no headers which contain this identifier when sent from the user's device. So for those I have to resort to using the contact stored in the dialog variables.</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/1182#issuecomment-314474454">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZT41Jzna_8-ZO6KS9U8MUitcWx2qks5sM49qgaJpZM4ORd8j">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AF36ZYQlP4AwMJl2gLugJbK5FXsslOFdks5sM49qgaJpZM4ORd8j.gif" width="1" /></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/1182#issuecomment-314474454"></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":"@Forty-Tw0 in #1182: Using dlg_manage() on my ACK caused the dialog state to be updated to 4, and my dialogs are no longer timing out early!\r\n\r\nThe timeout column in my SQL database now contains the correct unix epoch as well, is it intended to be much less than the start_time when the dialog state is 3? I guess it isn't really used if the ACK has not arrived.\r\n\r\n---------------------\r\n\r\nI am not using record-route headers; I think I had some trouble with the PBX preferring them over the contact header which resulted in lost packets. I will look at them again in the next stage of development, now that everything is working well enough as is.\r\n\r\nMy architecture relies heavily on an identifier in the URIs and contacts, this identifier is used to forward SIP to registered contacts associated with many PBXs contained behind NAT on physical hosts. \r\nIt just so happens that for in-dialog SIP like ACK/PRACK/UPDATE/BYE there are no headers which contain this identifier when sent from the user's device. So for those I have to resort to using the contact stored in the dialog variables."}],"action":{"name":"View Issue","url":"https://github.com/kamailio/kamailio/issues/1182#issuecomment-314474454"}}}</script>