How SIP ALG can cause unexpected behaviors and call quality on a United Voice Cloud or Onsite PBX
Why This Router Setting Should Be Disabled for VoIP Telephony
Summary: SIP ALG (Application Layer Gateway) is a router feature, often enabled by default, that attempts to "help" manage SIP traffic but instead corrupts it. This is a leading cause of registration failures, one-way audio, dropped calls, and unexpected call-transfer behaviour on Cloud PBX systems.
What is SIP ALG?
SIP ALG is a feature built into many consumer and business routers that inspects and modifies SIP (Session Initiation Protocol) traffic as it passes through the router, in an attempt to assist with NAT traversal. It was originally intended to help VoIP devices behind a router communicate correctly with external SIP servers.
In practice, SIP ALG implementations are inconsistent across router manufacturers and frequently rewrite SIP packet headers (such as Via, Contact and SDP fields) incorrectly. Because a Cloud PBX is hosted off-site, all call signalling and audio must pass through the router twice — once to the PBX and once back to the handset — giving SIP ALG more opportunity to interfere with the connection.
How SIP ALG affects a Cloud PBX
- Registration failures: Phones fail to register or repeatedly drop registration with the Cloud PBX.
- One-way or no audio: SIP ALG can alter the RTP port information negotiated in the SDP, resulting in audio that only works in one direction, or not at all.
- Dropped or disconnected calls: Calls may cut off unexpectedly mid-conversation.
- Garbled or delayed audio: Incorrect header rewriting can cause audio quality issues.
- Unexpected or automatic call transfers: SIP ALG interference can disrupt the SIP signalling used during a manual transfer, causing the call to connect automatically before the transferring party has confirmed the recipient is available.
Because these symptoms mimic other network problems, SIP ALG is often overlooked, but it should be one of the first things checked when a Cloud PBX has intermittent call quality or transfer issues.
Action: Disable SIP ALG
- Log in to the internal router (commonly the router closest to the phones, such as an ASUS router in a typical two-router setup).
- Locate the SIP ALG / SIP Passthrough setting, usually under NAT, Firewall, or Advanced/WAN settings.
- Disable the setting and reboot the router.
- Note: Some routers do not fully disable SIP ALG even when the toggle is switched off, or hide the setting entirely. In these cases, firmware updates, a different router, or placing the PBX phones on a separate network segment that bypasses the ALG-enabled router may be required.
- After disabling, re-test phone registration, call quality, and call transfers.
Other checks if issues persist
Network topology
- Confirm the internet connection terminates on the ISP-supplied router (example: ZTE), with a secondary router (example: ASUS) connected from Port 1 on the ISP router into the ASUS WAN port, which then feeds a switch distributing to phones, PCs, and cameras.
- Confirm physical cabling matches this chain so phones are on the expected LAN segment.
DHCP server conflicts
- Ensure only one device on the network is acting as a DHCP server. Multiple DHCP servers can cause IP conflicts and unstable phone registration.
Correct manual call transfer procedure
- Press the transfer button.
- Manually enter the destination extension number.
- Press dial.
- When the destination answers, confirm they can take the call.
- Drop the handset to complete the transfer.
If a call transfers automatically before this confirmation step, it is a strong indicator that SIP ALG is still active and interfering with the transfer signalling.
Conclusion
SIP ALG is a common but often hidden cause of Cloud PBX connectivity problems, including registration failures, audio issues, and unexpected automatic call transfers. Disabling SIP ALG on the internal router should be the first corrective step, followed by checking for DHCP conflicts, verifying network cabling, and confirming the correct manual transfer procedure is being used. Re-test calls and transfers after each change to confirm the issue is resolved.