I have a softphone app on my cell (tried both GS Wave and Zoiper), which will connect to freePBX using a domain both on the same LAN as the pbx and externally, but for some reason will only have call audio (in most cases) when on the LAN. There is no change in config, the app always routes through the public domain and never through a private IP, but I can only get audio when on the same LAN as the pbx. Interestingly enough, before this issue had popped up, I made several calls to my cell phone number (same device that the app is on). Now even though the softphone cannot play audio from voicemail, other numbers, etc, it can still play audio when calling my cell, regardless of its connection.
In every case, a connection is established, there is just a lack of audio.