I have an issue where when I “forward” a call from my ITSP back to my ITSP there is no audio.
I’ve tried using Progress() and Answer() before dialing the ITSP without much luck.
What’s weird is … when I Playback() and audio file right before Dial()'ing the ITSP the prompt is heard and the two-way audio between the parties works just fine. This is where I’m getting confused … what would Playback() do to the channel?
Also, I’m using MixMonitor() here as well and although it reports in the CLI that the recording has started, the file is 0 bytes unless I do the above.
I assumed that Progress would be where to go to get the RTP packets flowing but no luck.
Some NAT devices won’t forward incoming traffic until traffic actually goes out it. In the ITSP scenario Asterisk acts as a media forwarder and doesn’t generate any media itself, so if the NAT device is behaving that way you get no audio. This is also why playing audio allows it to work since that is generated by Asterisk.
Another option is set to rtp_keepalive which will cause Asterisk to produce an RTP keepalive packet, which can open it up and allow media flow.