<div dir="ltr">Hello Everyone,<div><br></div><div>I'm trying to solve a problem where there is a 3-4 second delay before audio is connected when using RTPEngine between two external users.  In this scenario OpenSIPS/RTPEngine is used as sort of an SBC for remote users, and there is a PBX behind OpenSIPS that just proxies the call (it's not creating a 2nd call and bridging them).  The server is multihomed (has a public and private IP).  Trying to visualize it (excuse my poor ASCII art):</div><div><br></div><div><font face="monospace">         ___________       _________<br>UAC --> |           | --> |         |<br>        | OpenSIPS  |     |  PBX    |<br>        | RTPEngine |     | (Proxy) |<br>UAC <-- |___________| <-- |_________|</font><br></div><div><br></div><div>It seems like since the call ID stays the same RTPEngine is having trouble establishing the interfaces, even when using any of the "to-tag" or "via-branch=(1|2|extra)" flags.  So the call connects, and I get audio after about 3-4 seconds.  During that time the RTPEngine log shows a bunch of entries like:</div><div><br></div><font face="monospace">INFO: [...]: Switching local interface to </font>x.x.x.x:31000<font face="monospace"><br>INFO: [...]: Switching local interface to </font>x.x.x.x:30966<font face="monospace"><br>WARNING: More than 30 duplicate packets detected, dropping packet to avoid potential loop<br>WARNING: More than 30 duplicate packets detected, dropping packet to avoid potential loop<br></font><div><br></div><div>After 3-4 seconds with a ton of those messages it confirms peer addresses back and forth several times, and audio is connected fine for the rest of the call.  The only way I have been able to get it working properly is to use the "call-id=" flag and set a custom call-id for each.  Can anyone recommend the way this should be handled?  Or is setting a custom call-id the appropriate way to handle this?</div><div><br></div><div>Thanks,<br></div><div>Nate</div></div>