[Asterisk-Users] phone calls betweens phones behind the same nat

Rich Adamson radamson at routers.com
Fri Jun 11 08:09:39 MST 2004

> I have 5 phones behind the same nat (canreinvite=yes). it works fine to
> receive calls and to make calls.  sound quality is good, so everything
> works fine.
> The poblem is that the phone behind nat cant call each other. It works
> if canreinvite=no. But i want to do this.

That is what would be expected.

The isssue is that remote phone A attempts to contact remove phone B
(invite) directly, and the firewall/nat box at phone B is blocking that 
inbound attempt (that's what the nat box is suppose to do).

In some cases there are ways to work around that, but it does require
a full understanding of exactly how your nat boxes work, how your sip
phones work, typically a sniffer at the remote locations to "see"
exactly what is going on, and a good understanding of the sip protocol.

Alternatives include:
 - use iax2-based phones
 - deploy an * box at each location
 - use canreinvite=no
 - "possible" use of sip-aware nat box (lots of other questions need to
   be answered first)

The bottom line for sip use is the protocol dictates the phones get to
pick rtp ports (audio) on their own using whatever udp port numbers
the manufacturer preprogrammed into the phone, and your nat boxes aren't
aware of that negotiation. Lots of documentation on this in the archives
and the wiki.

More information about the asterisk-users mailing list