<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Hi mates,<br><br></div>We are encountering a problem with some of our customers in the following situation:<br></div>* we are running Freeswitch with a public IP address, detecting far-end nat traversal when needed (customers behind NAT)<br></div>* our customers interconnects their IPBXes to our FS platform (we do only SIP trunking with FS)<br></div>* if the customer has its IPBX behind a NAT and sets a local redirect, there&#39;s no sound (and I completely understand why, I&#39;m just trying to find a solution, if any...)<br><br></div>So there are two distinct calls:<br></div><span style="font-family:courier new,monospace">PSTN_X         &lt;===&gt; FS &lt;===&gt; customer1 IPBX<br></span></div><span style="font-family:courier new,monospace">customer1 IPBX &lt;===&gt; FS &lt;===&gt; PSTN_Y (redirection)</span><br><br></div>When PSTN_Y answers the call, FS sends 200 OK w/ SDP to customer1 IPBX.<br></div>The IPBX then sends an empty RTP packet, I reckon to allow the remote platform (FS in this case) to be able to detect the IP/port couple where to send RTP packets. <br></div>The problem I have is that on the &#39;caller&#39; side, this single empty RTP packet is sent by the IPBX before sending the 200 OK (like, a few ms before) and then FS seems to not be ready for it and reply ICMP unreachable.<br><br>To make this whole stuff almost-work, I&#39;ve set &#39;rtp_auto_adjust_threshold&#39; to 1, otherwise FS will wait for far more than 1 RTP packet to detect NAT.<br><br></div>My idea is that the IPBX should send the 200 OK first and right after this empty RTP packet.<br>The problem is I&#39;m encountering the issue with two different constructors (on one of them we ended using STUN, but the other one has a terrible STUN implementation, hence I&#39;m really looking for a solution).<br><br>I know it&#39;s tricky (SIP, NAT, redirection and so on) but what do you think about this use case?<br></div>Would you know a way to solve this trouble? If you have any clue please share!<br><br></div>Thanks in advance<br></div>Florent<br></div>