SIP-ALG is supposed to simplify the life of SIP devices behind NAT/PAT and it works by rewriting relevant SIP headers and SDP session information with the public IP address of the router and the port used.
When SIP traffic is encrypted using TLS, routers cannot perform any manipulation of packets so that devices using TLS are not affected. This is why all Wildix users experience less problems while connecting remote devices and an a higher level of security.
The majority of SIP operators unfortunately do not support TLS and encryption and this allows SIP-ALG enabled routers to modify the packets in transit. The problem is that often SIP-ALG applications do not work correctly or that the modifications made by SIP-ALG application resident on the router, conflict with the NAT traversal headers changes made by the SIP endpoint (usually by STUN enabled devices). In such cases the result is calls with one way or no audio at all.
The best approach is to disable SIP-ALG altogether and always use encryption whenever it is possible.
Once SIP-ALG is disabled please note that the Router / Firewall will not open automatically any port for RTP since it will stop parsing all SIP packets. Because of this make sure that either the operator supports symmetric RTP, and will reply with RTP packets to address / port they are coming from, or that a complete port forward for all the RTP ports range is enabled (ex: 10000-11000).
Follows a list of available resources to disable SIP ALG on routers:
Cisco 1800 – https://supportforums.cisco.com/discussion/11262011/disable-sip-alg-cisco-1800-series-router no ip nat service sip udp port 5060
- Open the Fortigate CLI from the dashboard.
- Enter the following commands in FortiGate’s CLI:
- config system settings
- set sip-helper disable
- set sip-nat-trace disable
- reboot the device
- Reopen CLI and enter the following commands – do not enter the text after //:
- config system session-helper
- show //locate the SIP entry, usually 12, but can vary.
- delete 12 //or the number that you identified from the previous command.
- Disable RTP processing as follows:
- config voip profile
- edit default
- config sip
- set rtp disable
Technicolor, Thomson, or SpeedTouch Router – http://docs.sipcentric.com/article/142-technicolor-or-thomson-router
Zyxel – http://www.voiptuts.com/2011/02/disable-sip-alg-on-zyxel-660-family.html
Disable the option ‘SIP Passthrough’ under ‘Advanced Settings / WAN’ -> ‘NAT Passthrough’.
If your router doesn’t have this option, SIP ALG may be disabled via Telnet.
Check for a SIP ALG option in the NAT or Firewall settings.
Click here for additional general information about DrayTek Firewall setup.
Check for a ‘SIP ALG’ option, in the ‘Administration’ tab under ‘Advanced’.
It might also be necessary to disable SPI Firewall.
Disable ‘SIP Helper‘.
Look for a ‘SIP ALG’ checkbox in ‘WAN’ settings.
Port Scan and DoS Protection should also be disabled.
Disable STUN in VoIP phone’s settings.
In ‘Advanced’ settings –> ‘Application Level Gateway (ALG) Configuration’ un-tick the ‘SIP’ option.
The SIP ALG setting is usually found in the ‘Security’ menu.
Disable SIP ALG under ‘Firewall/ACLs’ –> ‘ALG Settings’.