[HELP] Asterisk 11, NAT, intermittent audio


I just replaced an existing Asterisk 1.4 system with a new Asterisk 11.16.0 (FreePBX based)

We had a number of remote phones (behind NAT) and they were all working fine until the new PBX was installed…
Asterisk is behind the same (unchanged) firewall (ports forwarded: 5060, 10000-20000) and the remote phone (Snom) is behind a firewall as well.

Now the remote phones are registered, however there is no audio.
I have added the external IP and internal networks ( dual NIC’s, so both and added) to sip.conf
NAT is set to yes in sip.conf
NAT Mode is set to force_rport,comedia in the extension settings
In fact I have tried every Nat mode for the extension and they do not appear to make any difference.

Running rtp debug, I see the PBX sending the RTP to the wrong IP address (internal IP of remote phone) instead of the IP address of remote firewall.

This problem is intermittent, make a call, no audio, hangup, call again, audio works and is shown correctly in the rtp debug.

Using rtp debug, the only difference I see on a call WITH audio is that there is a line with

Sent RTP packet to ext.ip.addr:51956 (type 00, seq 007971, ts 000160, len 000160) > 0xb4e5a990 -- Probation passed - setting RTP source address to ext.ip.addr:51956

When there is NO audio, there is no line like this and the rtp debug just starts with

where int.ip.addr is the local internal address of the outside phone.

I have researched and tried enabling and disabling strictrtp without any difference.
It appears to be completely random when the audio works or doesn’t/

Internal calls work perfectly.

I am completely baffled at what could be causing this - I would really appreciate any thoughts or suggestions?