We have a dialplan where incoming SIP connections are internally redirected via a Dial() command to an external SIP provider calling a mobile phone:
Dialplan:
extsip is the same SIP provider as the originating.
The problem is that no audio is available on both the mobile phone and the calling party. Calling a mobile phone directly from asterisk works just fine.
External SIP provider (ext) gives us an incoming call
We do not pick up the phone but instead dial (with Dial) a mobile number that using that same SIP provider.
No audio for both parties, calls are established though
Incoming and outgoing calls are handled correctly, no problems there. Also when we pick-up the phone and then transfer the call manually all works fine as well.
This is very similar with some soft phones, behind firewall. That problem I solved putting STUN.
I think you could play little with sip.conf especially cancallforward, nat.
If all this don’t work may be you should start capturing packets in your Asterisk server hoping you will see UDP packages with wrong address.