Peer to peer with NAT

Hi folks

I have some questions about NATint.
My Asterisk box is behind NAT and I’m DNATing 5060 and the range 7000:30000 in the router/gateway, connected directly to Internet. So what happens when a user who is behind NAT call another user, also behind another NAT? If I put nat=yes, canreinvite=no, quality=yes in sip.conf for both of the users the call is established, everyone is happy. Except the Asterisk box. It must stay in the middle. How can I made the call to be peer-to-peer? The users are using softphones, IP phones, ATA adapters. And the gateway/router, who is NATing them is a device, not a *NIX box.

And another question, when users are using the same codec and when Asterisk is in the middle of the RTP it just relay the stream, right? I mean it do not transcode the audio, just a network bandwidth is used, not the CPU?


for the first question I’m not able to find a better answer than your, the setup you chose to me is the only possible, perhaps someone more skilled will tell us some more about; regarding the second question I think you are right, but here too I would be pleased to have other opinions.


I’m researching about Symmetric RTP ( … +Symmetric). I think it could help. Do anyone has experience with this?