I have openser configured with asterisk as following:<br>If a sip REGISTER packet arrives,<br>&nbsp;&nbsp;&nbsp;&nbsp; fix_nated_register()<br>&nbsp;&nbsp;&nbsp;&nbsp; save(&quot;location&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp; exit;<br><br>If a sip packet arrives at openser with a source ip != asterisk ip, 
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; t_relay(to asterisk)<br>If a sip packet arrives from asterisk,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lookup(&quot;location&quot;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; force_rport()<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fix_nated_contact()<br>&nbsp; &nbsp; &nbsp; t_relay();<br><br>The asterisk dial plan says the following:<br>if inbound traffic arrives from openser's ip address, Dial(SIP/dstuser@dstdomain).<br><br>phones a and b are on separate networks behind a firewall, openser and asterisk are on public ip addresses.
<br><br>The sip traffc seems to work just fine.&nbsp; I.e. all the handshakes seem to be happening as they should.<br>However, rtp traffic does not.&nbsp; <br><br><br>Whether audio traffic will transmit or not is a crap shoot.<br>Sometimes, if a calls b, b hears a but not vice versa, while if b calls a, audio is two way.
<br>In this case, one audio stream is going through asterisk, the other is being directed to go point to point.<br>Sometimes, a calls b and b hears a, and a hears b for a second but a second INVITE comes to phone B that causes it to redirect rtp to be point to point.
<br>Sometimes there is no audio.<br>Sometimes, everything works fine.<br><br>At one point, rtp from a was going to asterisk, but asterisk was not sending the rtp on to b, and b was trying to send traffic point to point.<br>
<br><br>&nbsp;<br>