I am not an Asterisk expert.
But in had a similar problem (using a softphone instead of your Cisco).
I corrected this issue modifying one parameter in the SOFTPHONE (not the
asterisk).
After changing this parameter all starts to be OK (RTP are send to the public
IP instead of the private one).
The softphone was "twinkle" for linux and the parameter is at
"edit/user
profile/nat" and select "use static configured ip address inside SIP
messages".
Before that change the SIP negotiation was OK but no RTP packets was arriving
at the phone (because the asterisk was sending those packets to the private
IP of the phone). You can see this with a sniffer or using "rtp debug"
in the
asterisk console.
Also note that I think that this problem can be solved using
"inteligent" NAT
devices.
This problem is similar to the FTP data connection in what the client tells
the server "I am listening for your connection in <IP> at
<PORT>", of course
the <IP> is the REAL IP of the client.
Today, all NAT devices are capable of changing this message at layer 7 to be
like:
"I am listening for your connection at <NAT_IP> at
<NAT_PORT>".
Hope this helps.
Regards
On Friday 02 November 2007 21:01, Hector Quiroz wrote:> Hi,
> I'm having a problem with my asterisk, trying to connect to a CISCO
2840
> IOS12.x ASterisk is behind firewall NATing, when it do the handshaking for
> RTP, it sends his internal IP instead of sending the external one. How can
> I tell the asterisk box, to modify that and send the external IP? I tryied
> with Sip.conf's externip=xxxx and localnet=xxxx, nat=yes
> Nothing seems to change the contact field on SIP protocol going out
> from the asterisk box..
>
> thanks.
> Hector.
>
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users