<p>I'll provide cleaner SIP traces in future.  Meanwhile if you can bear with the existing examples I'll use the Frame numbers to point a couple of things out.</p>
<p>The only difference in the config file between working and nonworking is commenting out these two lines:</p>
<p><code>loadmodule "topos.so" modparam("topos", "db_url", DBURL)</code><br>
As for the NAT handling, I've tested with a minimally modified default 4.4.5 kamailio.cfg which does use set_contact_alias().</p>
<p>In badcall-sanitized.txt, Frame 12 is expected, however Frame 13 is a duplicate that's missing the Contact: header.  That seems like a bug.  This doesn't happen in goodcall-sanitized.txt.</p>
<p>Without knowing how modules interact with the core of Kamailio, I'm wondering if topos.so and nathelper.so might be working on the packet in the wrong order causing the NAT processes to see the encoded headers rather than decoded and thus not act as it should.</p>
<p>Like I mentioned, everything goes to the right place without topos loaded.</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/1005#issuecomment-281817939">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZbHOY-7gJcURd7RxjAlXSp4Dmdlkks5rfK-igaJpZM4MG_mh">mute the thread</a>.<img alt="" height="1" src="https://github.com/notifications/beacon/AF36ZaOS43N2OckJG8x9XJFG3X961n0Aks5rfK-igaJpZM4MG_mh.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/1005#issuecomment-281817939"></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":"@dryvoip in #1005: I'll provide cleaner SIP traces in future.  Meanwhile if you can bear with the existing examples I'll use the Frame numbers to point a couple of things out.\r\n\r\nThe only difference in the config file between working and nonworking is commenting out these two lines:\r\n\r\n`loadmodule \"topos.so\"\r\nmodparam(\"topos\", \"db_url\", DBURL)\r\n`\r\nAs for the NAT handling, I've tested with a minimally modified default 4.4.5 kamailio.cfg which does use set_contact_alias().\r\n\r\nIn badcall-sanitized.txt, Frame 12 is expected, however Frame 13 is a duplicate that's missing the Contact: header.  That seems like a bug.  This doesn't happen in goodcall-sanitized.txt.\r\n\r\nWithout knowing how modules interact with the core of Kamailio, I'm wondering if topos.so and nathelper.so might be working on the packet in the wrong order causing the NAT processes to see the encoded headers rather than decoded and thus not act as it should.\r\n\r\nLike I mentioned, everything goes to the right place without topos loaded."}],"action":{"name":"View Issue","url":"https://github.com/kamailio/kamailio/issues/1005#issuecomment-281817939"}}}</script>