In an effort to help our customers ensure their network devices will provide the best service possible we are posting our findings on several routers, and will work to update as we find others with problems. This list is not a complete list, as we get reports from the field or through in house testing of devices that cause issues we will add them to the list. There are certainly devices in the market place that will cause problems that we have not yet run across so please do not use this list as a definitive guide and assume that any device not listed is therefore endorsed.
(Excerpt from: VoIP-Info.org)
Many of today's commercial routers implement SIP ALG (Application-level gateway), coming with this feature enabled by default. While ALG s are intended to help in solving NAT related problems, the fact is that many routers' ALG implementations are wrong and break SIP.
The main problem is the poor implementation at SIP protocol level of most commercial routers and the fact that this technology is just useful for outgoing calls, but not for incoming calls:
- Lack of incoming calls: When a UA is switched on it sends a REGISTER to the proxy in order to be localizable and receive incoming calls. This REGISTER is modified by the ALG feature (if not the user wouldn't be reachable by the proxy since it indicated a private IP in REGISTER "Contact" header). Common routers just maintain the UDP "connection" open for a while (30-60 seconds) so after that time the port forwarding is ended and incoming packets are discarded by the router. Many SIP proxies maintain the UDP keep-alive by sending OPTIONS or NOTIFY messages to the UA, but they just do it when the UA has been detected as natted during the registration. A SIP ALG router rewrites the REGISTER request so the proxy doesn't detect the NAT and doesn't maintain the keep-alive (so incoming calls will be not possible).
- Breaking SIP signaling: Many of the actual common routers with inbuilt SIP ALG modify SIP headers and the SDP body incorrectly, breaking SIP and making communication just impossible. Some of them do a whole replacing by searching a private address in all SIP headers and body and replacing them with the router public mapped address (for example, replacing the private address if it appears in "Call-ID" header, which makes no sense at all). Many SIP ALG routers corrupt the SIP message when writting into it (i.e. missed semi-colon ";" in header parameters). Writing incorrect port values greater than 65536 is also common in many of these routers.
- Disallows server side solutions: Even if you don't need a client side NAT solution (your SIP proxy gives you a server NAT solution), if your router has SIP ALG enabled that breaks SIP signaling, it will make communication with your proxy impossible.
This list should not be taken to be definitive, but only representative of known problems and the resolutions available, if any:
These routers are definitely problematic and should be avoided (replaced);
- Comcast home version with wireless - have them change to Comcast business version. The home version with wireless gets used by Comcast to also support their open Wi-Fi network (Hotspot) and this can lead to over utilization and voice quality issues. It is reported that it can be disabled, instructions are here http://bgr.com/2014/06/11/how-to-disable-comcast-xfinity-wi-fi-hotspot/. If this does not work then a call to ComCast customer service is needed.
- Motorola SBG-650 - usually leads to audio problems (used by Time Warner). The problem with this one is that under high it starts buffering (or even freezing) packet output and it doesn't seem to be a way to set QOS to still allow RTP so it will end up with voice quality issues.
- Dlink DIR-655 – SIP ALG is enabled by default as well as the router will stop passing the audio packets after 10 seconds of connection reporting that the port is not available.
- Ubee modem/router, frequently used by Time Warner. This modem has been reported as causing loss of audio. As reported to us by a Time Warner engineer, there is a cache that crashes and then stops RTP from passing.
- Arris modem/gateway - This device running DOCSIS 2.0 has limit bandwidth support. If more than 4 simultaneous calls are connected it will discard packets causing audio issues. DOCSIS version 3.0 has greater bandwidth support and looks to be able to support up to 16 calls.
- Amped Titan HighPower AC1900 - ALG is enabled by default and cannot be disabled.
The most common ALG issue is that multiple phones behind the same router are not able to stay registered consistently because the ALG uses the same external (WAN) port for messages from all of the phones. Our experience has shown the following routers to have issues. The following routers are known to have SIP ALG enabled by default:
- Motorola - SBG6580 - (SurfBoard Extreme Wireless Cable Modem Gateway)
No Registeration possible behind NAT as the device changes Call-ID and causes the responses to be discarded by SIP clients/ATAs
No Solution at this time (SIP ALG, called SIP Pass Through, can not be disabled) .
Must disable NAT and put the device in bridge mode (check Mororola website for guide).
- SpeedTouch - ST560 v6 (firmware >= 22.214.171.124 comes with SIP ALG enabled by default.) NAT type: symmetrical
Issues: No incoming calls. It replaces the private IP appearing in SIP headers with the public IP using a dumb text replacement. If for example the private IP appears in the "Call-ID" it replaces it too (that it's completely unnecessary).
To disable SIP ALG:
~# telnet router
-> connection unbind application=SIP port=5060
- Zyxel - 660 family comes with SIP ALG enabed by default. NAT type: symmetrical
No incoming calls.
SIP protocol broken making 50% of outgoing calls impossible because the wrong values are inserted into SIP headers.
To disable SIP ALG:
~# telnet router
Menu option "24. System Maintenance".
Menu option "8. Command Interpreter Mode".
ip nat service sip active 0
- Netgear - WGR614v9 Wireless-G Router, DGN2000 Wireless-N ADSL2+ Modem Router
To disable SIP ALG: From Wan Setup Menu, NAT Filtering, uncheck the box next to "Disable SIP ALG"
- SMC - ToDo - NAT type: No symmetrical
The ALG doesn't replace the private address in "Call-ID" header (that is correct) but it does replace the "call-id" value in "Refer-To" header so SIP transfer is broken.
To disable SIP ALG: ToDo no ALG related options found via web and telnet. No idea of how to dissable it.
- Linksys - WRV200, WRT610N. NAT type: Symmetrical
The ALG replaces the private address in "Call-ID" header (not needed at all). Some phones (as Linksys with latest firmware) encode the "Call-ID" value in the "Refer-To" header (by escaping the dots) so the private IP appearing there is not replaced with the public IP. This causes that the call transfer fails since the proxy/PBX/endpoint will not recognize the dialog info.
To disable SIP ALG on WRV200; no ALG related options found via web and telnet. No idea of how to disable it.
To disable SIP ALG on WRT610N: Web Interface: Administration, Management, under side heading 'Advanced Features' SIP ALG, can be disabled.
- Fortinet - All models come with SIP Helper enabled by default
To disable SIP helper:
~# telnet firewall
config system settings
set sip-helper disable
set sip-nat-trace disable
config system session-helper
show <---- use this to find out which entry is configured for typically 12 or 13
For SIP Trunks
*If using Virtual IPs under objects make sure to turn OFF NAT within each IPv4 rule for VoIP. If not using Virtual IPs under objects make sure to turn ON NAT under each IPv4 rule for VoIP.
The preferred solution is to configure the SIP ALG. Policies that use the SIP ALG will not use SIP helper. Full documentation at http://docs.fortinet.com then pick FortiOS for the version on your device, then VoIP solutions: SIP.
Cisco - 800 series To disable the NAT services for SIP in IOS, just run these commands:
no ip nat service sip tcp port 5060
no ip nat service sip udp port 5060
- Juniper/Netscreen - SSG Series To disable SIP ALG:
In the Web interface: Security -> ALG
- Asus RT-AC66U - with their most current firmware enables their SIP ALG by default. THERE IS NO GUI OPTION TO DISABLE IT.
To disable the SIP ALG manually, you enable telnet to the device via the WWW interface
Telnet to the device (from a command line enter "telent 192.168.1.1" or the appropriate IP address for the device.)
Issue the following commands:
nvram get nf_sip
(It should return a "1")
nvram set nf_sip=0
Then reboot the router for the changes to take effect.
Under firmware 126.96.36.199.374_257 SIP ALG is located in (via the web interface):
1. Log into the router's web interface.
2. Go to Advanced Settings / WAN on left side.
3. From the tabs across the top, choose NAT Pass through.
4. Change SIP pass through to "Disable." Hit apply.
For phones to pick up the change immediately, reboot each of them, otherwise they will pick up the new NAT table with changes during their next registration.
Comcast DPC3939B - has ALG pre-installed and cannot be turned off.
Comcast Netgear Gateway Model CG3000 DCR - will not allow customer to disable SIP ALG. The only true way to work around this is to place the CG3000 into bridge mode and then place a router/firewall behind it. *(note, we have seen sites that made this change and still encountered issues, suspicion is that it does not function in a true bridge mode. Some sites had to replace with a regular modem.)
- Arris TG862G and TG862G-CT - SIP ALG is enabled and no way to disable. These are often used by Comcast as a Gateway.
- Bright house default password is "motorola"
- Arris 1682 - Intercepts and drops SIP Packets, even in Bridge Mode.
- AT&T Uverse Arris NVG589 - SIP ALG is enabled by default and cannot be disabled. By default it will not support hosted phones, AT&T may be able to open port 5060 for SIP traffic but it is reported to us it is not possible for user level admin to do so.
- ACTIONTEC model GT784WNV - Frequently used by Verizon. The manual states that ALG is assgined automaticacly and there is no mention of a way to disable.
- Verizon FiOS G1100 - This modem has SIP ALG enabled by default and Verizon has not provided a method to disable this feature. Verizon has also not released if it can be disabled by Verizon itself. Best recommendation at this time is not to use this modem. White page link https://hosting.intermedia.net/support/kb/default.asp?id=3343