[asterisk-bugs] [Asterisk 0014546]: [patch] Patch to improve NAT handling for Polycoms behind proxy

Asterisk Bug Tracker noreply at bugs.digium.com
Wed Mar 11 20:20:00 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=14546 
====================================================================== 
Reported By:                acunningham
Assigned To:                file
====================================================================== 
Project:                    Asterisk
Issue ID:                   14546
Category:                   Core/RTP
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     feedback
Asterisk Version:           1.6.0.6 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-02-24 19:42 CST
Last Modified:              2009-03-11 20:20 CDT
====================================================================== 
Summary:                    [patch] Patch to improve NAT handling for Polycoms
behind proxy
Description: 
Attached will be very similar patches to 1.4.21.1 and 1.6.0.6 to prevent
one-way audio in the following scenario:

1. A Polycom is behind NAT.

2. The Polycom registers to a SIP proxy outside NAT, such as OpenSIPS.

3. Asterisk calls the Polycom via the proxy. The sip.conf entry for the
proxy has net=yes set.

4. The Polycom is slow to start sending RTP.

5. Asterisk starts sending RTP to the port in the SDP.

6. The Polycom then starts sending RTP. The NAT device changes the RTP
source port.

7. Because the proxy isn't behind NAT, Asterisk fails to recognize that
the Polycom is behind NAT, and doesn't change the RTP destination to the
port it's receiving RTP from on the NAT device. This leads to one-way audio
for the duration of the call.

The patch cures this by always changing the RTP destination port based on
what's received from the client, even if Asterisk doesn't think the client
is behind NAT. This is safe to do for non-NAT clients as the change of port
will not happen. The patch has been tested with both NAT and non-NAT
phones.
====================================================================== 

---------------------------------------------------------------------- 
 (0101604) acunningham (reporter) - 2009-03-11 20:20
 http://bugs.digium.com/view.php?id=14546#c101604 
---------------------------------------------------------------------- 
I'm afraid this was tested on a production system, and the customer isn't
going to be willing to revert to a configuration that breaks their
Polycoms. I do have wireshark traces from before the patch. These contain
confidential information so I won't attach them to the ticket, but if you
can please let me know an email address I can send them to you.

Basically the problem is that OpenSER is making to source IP address seem
to Asterisk to be the OpenSER address rather than the Polycom address.
Since the OpenSER is outside NAT, Asterisk thinks that it doesn't need to
do NAT handling on this call. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-03-11 20:20 acunningham    Note Added: 0101604                          
======================================================================




More information about the asterisk-bugs mailing list