<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">Hi </span></div>

<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br>

</span></div><div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">I need some &quot;guidelines&quot; to troubleshoot the following issue:</span></div>

<div><span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br>

</span></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">a) A is behind NAT</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>

</span></font></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">b) B is not behind NAT</span></font></div>

<div><span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br></span></div>

<div><span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">c) A calls B, SIP INVITE is sent over TCP</span></div>

<div><span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br></span></div>

<div><span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; color: rgb(34, 34, 34); -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; ">d) A&#39;s firewall does NAT and changes the source port to let&#39;s say p1 </span></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>

</span></font></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">e) B releases the call and sends BYE over UDP</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>

</span></font></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">f) Kamailio sends the BYE to A, over UDP, to the NATed source port p1 ?!</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>

</span></font></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">2 comments:</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">- This scenario works perfectly when A is the one who disconnects the call. and of course when no NAT is involved everything works ok</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">- if works when I comment the line &quot;fix_nated_contact()&quot; in the route[NAT] block:</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>

</span></font></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><div>

<div>route[NAT]{</div><div>#!ifdef WITH_NAT</div><div>        force_rport();</div><div>        #if (nat_uac_test(&quot;19&quot;)) {</div><div>        if (nat_uac_test(&quot;3&quot;)) {</div><div>                if (method==&quot;REGISTER&quot;) {</div>

<div>                        setbflag(10);</div><div>                        fix_nated_register();</div><div>                } else {</div><div>                        #fix_nated_contact();</div><div>[...]</div></div></span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><br>

</span></font></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">Any hint is very welcome.</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;"><br>

</span></font></div><div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">Cheers</span></font></div>

<div><font class="Apple-style-span" color="#222222" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px;">Pascal</span></font></div>