I have no idea whats going wrong. Its easy dialplan,
answer(200)
echo
hangup
If I leave dialplan as above there is no RTP packets but if I put playback command between answer and echo then its all work good. Please help, where is problem ?
Nothing is going wrong in the dialplan. The problem will be with the channel driver and the external channel, and you haven’t provided information on what that channel driver is, let alone the debugging information that is showing what is going on.
Another possible SIP/RTP failure mode when there is no outbound media is that there is NAT present and the peer needs to use comedia rules, because the negotiated address or port is not the actual one it is seeing. Until it receives incoming media, it will send outgoing media to the negotiated address not the correct one.
The mechanism I was describing relates to the peer having the equivalent of that setting already and really needing it. Adjusting the Asterisk comedia settings would not help.
What settings do you have to ensure that Asterisk sends its external media address?
I configured transport and set external_media_address external_signalling_address and external_signalling_port and provide external/public IP address and set local_net to 127.0.0.1/255.255.255.255
The point with comedia is that, if it is to work at all, one side must be able to get through without it. At the moment, it looks like Asterisk is the one (and probably doesn’t need it setting on its side (although that is a security, rather than a functional, issue). As such, whether it is priming a NAT router, or priming comedia, the only thing you can really do is to ensure that Asterisk is the first to send media.