[Asterisk-Users] SIP client<->NAT<->Asterisk<->NAT<->SIP client. only works with canreinvite=no.

Jose Ildefonso Camargo Tolosa icamargo at unet.edu.ve
Thu Sep 11 08:55:28 MST 2003


Hi!

I have this configuration:

SIP client A <-> NAT box A (real external IP) <-> Asterisk server (real 
IP) <-> (real external IP) NAT box B <-> SIP client B

The echo test form any of the clients to the asterisk server is working 
just fine, even without canreinvite=no.

When I try to call from SIP client A to B, wihtout the canreinvite=no in 
the sip.conf, the call doesn't even ring.

Then I add the canreinvite=no to BOTH clients on the sip.conf, it starts 
to work.  The problem is that all voice data goes through my asterisk 
server, so the delay is longer.

Also, this config doesn't work:

SIP client A <-> NAT box A (real external IP, only one) <-> Asterisk 
server (real IP)
SIP client C <-> NAT box A (real external IP, only one) <-> Asterisk 
server (real IP).

When I try to call from A to C or C to A, the phone doesn't even ring, 
again, the echo test work just fine. 

SIP client A and SIP client C are in the same LAN, and both goes through 
NAT box A to the same asterisk server.

In the case of clients A and C, the native bridge would be great, 
because it would save bandwith to both, my client, and me, and the voice 
delay would be almost nothing.

My problem is: According to the data I got from the sip debug and the 
X-lite debug outputs, I don't see any reazon why the native bridge can't 
work, both clients gets different ports on the outside IP of the nat 
box, and that port is correctly recognized, and the reinvite packet is 
correctly sent.

Can anybody explain me what does canreinvite=yes really does?

Any ideas on the client A to C (same LAN, same NAT box, unique outside 
IP, same * server)?

Thanks in advance,

Sincerely,

Ildefonso Camargo
icamargo at unet.edu.ve





More information about the asterisk-users mailing list