RTP traffic being sent to wrong address

One of our users is able to place calls but has no audio.

Here’s the sip.conf entry + call log with verbose 3, SIP debugging, and RTP debugging turned on:

http://pastebin.com/6kNvrByW

I can see that RTP traffic is being sent to the wrong address - this even though “nat=yes” is set. None of our other users has this problem, so what could it be?

When I run “sip show peers,” the user’s public IP address is shown, so SIP, at least, is working.

nat=yes does not enable NAT processing for the case when Asterisk is inside NAT and the peer is outside. It is a deprecated shorthand that roughly corresponds to nat=force_port,comedia, which are workrounds for Asterisk outside and the peer inside.

There is a big section in the sample configuration file about out to tell Asterisk how to find its public address and how to know which peers require this.

Also, type=peer is more secure, and almost certainly better behaved, than type=friend.