<p>Vadim Lebedev - you are chasing the wrong direction here. If you look at the docs, there is a global parameter tcp_reuse_port for this purpose, setting SO_REUSEPORT if available in the OS. However, the discussion here is in the context of a collision of ports as mentioned again by <a class="user-mention" data-hovercard-user-id="5343171" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Forty-Tw0">@Forty-Tw0</a>  in the comment:</p>
<ul>
<li><a class="issue-link js-issue-link" data-error-text="Failed to load issue title" data-id="323398961" data-permission-text="Issue title is private" data-url="https://github.com/kamailio/kamailio/issues/1532" href="https://github.com/kamailio/kamailio/issues/1532#issuecomment-399254671">#1532 (comment)</a></li>
</ul>
<p>So to conclude:</p>
<ul>
<li>kamailio is reusing the connection from REGISTER to send back traffic to the device, it is no other way if the device is behind a non-port forwarding NAT (e.g., symmetric NAT)</li>
<li>if it doesn't, then the pcap should help to see if the INVITE created some other connection or uses a different Contact address so the REGISTER connection is not matching anymore</li>
</ul>
<p>The reason I closed here is because this seems like a specific use case issue that can be discussed on sr-users once we see pcaps, rather than an issue in the code. Based on conclusion there, we can chase futher the code or config options. We do not use issue tracker as a discussion forum to decide if it is a bug or not, the issue here have to be opened when it is clear a bug in the code (or a feature request).</p>
<p><a class="user-mention" data-hovercard-user-id="5343171" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Forty-Tw0">@Forty-Tw0</a> - as suggested, let's discuss this use case scenario on sr-users mailing list. Again, there are many aspects that might not use a clear terminology, like <code>Device A receives a SIP message with a contact telling them to respond to Kamailio on 5062, which causes it to create a new TCP connection</code> -- what to respond on 5062? The SIP response or follow up requests? These are either Via or Record-Route or Contact headers ... so a lot to clarify and can be just config things that needs to be tuned, sr-users is the right place to discuss and get to a conclusion of how it can be fixed.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />You are receiving this because you commented.<br />Reply to this email directly, <a href="https://github.com/kamailio/kamailio/issues/1532#issuecomment-399382420">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AF36ZS6-oXfPeeRWawdGRV5N7lfeibaVks5t_Lj4gaJpZM4UAV3q">mute the thread</a>.<img src="https://github.com/notifications/beacon/AF36ZQs47f1mfT2zUSuizAbFd89Te2Tiks5t_Lj4gaJpZM4UAV3q.gif" height="1" width="1" alt="" /></p>
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","potentialAction":{"@type":"ViewAction","target":"https://github.com/kamailio/kamailio/issues/1532#issuecomment-399382420","url":"https://github.com/kamailio/kamailio/issues/1532#issuecomment-399382420","name":"View Issue"},"description":"View this Issue on GitHub","publisher":{"@type":"Organization","name":"GitHub","url":"https://github.com"}}</script>
<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://assets-cdn.github.com/images/email/message_cards/header.png","avatar_image_url":"https://assets-cdn.github.com/images/email/message_cards/avatar.png","action":{"name":"Open in GitHub","url":"https://github.com/kamailio/kamailio"}},"updates":{"snippets":[{"icon":"PERSON","message":"@miconda in #1532: Vadim Lebedev - you are chasing the wrong direction here. If you look at the docs, there is a global parameter tcp_reuse_port for this purpose, setting SO_REUSEPORT if available in the OS. However, the discussion here is in the context of a collision of ports as mentioned again by @Forty-Tw0  in the comment:\r\n\r\n  * https://github.com/kamailio/kamailio/issues/1532#issuecomment-399254671\r\n\r\nSo to conclude:\r\n\r\n  * kamailio is reusing the connection from REGISTER to send back traffic to the device, it is no other way if the device is behind a non-port forwarding NAT (e.g., symmetric NAT)\r\n  * if it doesn't, then the pcap should help to see if the INVITE created some other connection or uses a different Contact address so the REGISTER connection is not matching anymore\r\n\r\nThe reason I closed here is because this seems like a specific use case issue that can be discussed on sr-users once we see pcaps, rather than an issue in the code. Based on conclusion there, we can chase futher the code or config options. We do not use issue tracker as a discussion forum to decide if it is a bug or not, the issue here have to be opened when it is clear a bug in the code (or a feature request).\r\n\r\n@Forty-Tw0 - as suggested, let's discuss this use case scenario on sr-users mailing list. Again, there are many aspects that might not use a clear terminology, like `Device A receives a SIP message with a contact telling them to respond to Kamailio on 5062, which causes it to create a new TCP connection` -- what to respond on 5062? The SIP response or follow up requests? These are either Via or Record-Route or Contact headers ... so a lot to clarify and can be just config things that needs to be tuned, sr-users is the right place to discuss and get to a conclusion of how it can be fixed.\r\n\r\n"}],"action":{"name":"View Issue","url":"https://github.com/kamailio/kamailio/issues/1532#issuecomment-399382420"}}}</script>
<script type="application/ld+json">{
"@type": "MessageCard",
"@context": "http://schema.org/extensions",
"hideOriginalBody": "false",
"originator": "AF6C5A86-E920-430C-9C59-A73278B5EFEB",
"title": "Re: [kamailio/kamailio] t_relay() sending packets from the wrong TCP socket (#1532)",
"sections": [
{
"text": "",
"activityTitle": "**Daniel-Constantin Mierla**",
"activityImage": "https://assets-cdn.github.com/images/email/message_cards/avatar.png",
"activitySubtitle": "@miconda",
"facts": [

]
}
],
"potentialAction": [
{
"name": "Add a comment",
"@type": "ActionCard",
"inputs": [
{
"isMultiLine": true,
"@type": "TextInput",
"id": "IssueComment",
"isRequired": false
}
],
"actions": [
{
"name": "Comment",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"IssueComment\",\n\"repositoryFullName\": \"kamailio/kamailio\",\n\"issueId\": 1532,\n\"IssueComment\": \"{{IssueComment.value}}\"\n}"
}
]
},
{
"targets": [
{
"os": "default",
"uri": "https://github.com/kamailio/kamailio/issues/1532#issuecomment-399382420"
}
],
"@type": "OpenUri",
"name": "View on GitHub"
},
{
"name": "Unsubscribe",
"@type": "HttpPOST",
"target": "https://api.github.com",
"body": "{\n\"commandName\": \"MuteNotification\",\n\"threadId\": 335633898\n}"
}
],
"themeColor": "26292E"
}</script>