The server is Fedora release 15 (Lovelock), Asterisk 1.8.5.0, installed trough “yum install asterisk” from Fedora rep.
The net is as follows:
Server side:
Asterisk external IP: 215.121.158.147
Asterisk internal IP: 192.168.0.77
Asterisk SIP port: 45789
Asterisk RTP ports: 10000 to 10036
Open ports in the Router: 45789 and from 10000 to 10036
Client side:
Client external IP: 77.78.2.79
Client internal IP: 192.168.0.102
Client rtp port: 3333
Configuration files:
sip.conf
udpbindaddr=0.0.0.0:45789
matchexternaddrlocally = no
localnet=192.168.0.0/255.255.255.0
externaddr = 215.121.158.147:45789
nat = force_rport
media_address = 215.121.158.147
directmedia=no
rtp.conf:
rtpstart=10000
rtpend=10036
The problem:
When making calls all controls are OK,
But the rtp packets from the server to the client are transmitted not to external IP of the client, but to the internal IP. This is visible when at CLI I have issued command “rtp set debug on”:
Sent RTP packet to 192.168.0.102:3333 (type 00, seq 063049, ts 009280, len 000160)
At one of every 50 cases the server transmits rtp packets to the right address of the client (external) and the voice can be heard, but at other cases there is no voice.
When there is a voice, the debug shows following:
Sent RTP packet to 77.78.2.79:3333 (type 00, seq 063049, ts 009280, len 000160)
Please, if I have mistake on configuration of the Asterisk or the net, help me to resolve it.
Is it possible this to be a bug of the version?
It is very strange, that from time to time rtp packets are transmitted to the right destination…