Summary: Disable SIP ALG in your router if you experience call drops, poor call quality or one-way audio.
What is SIP ALG?
SIP ALG stands for Session Initiation Protocol Application Layer Gateway. It is enabled by default on many commercial routers and internet gateways (modems).
This setting modifies SIP packets, which controls voice calls and faxes.
How can it affect VoIP?
Even though SIP ALG is intended to assist users who have phones on private IP addresses, in many cases it is implemented poorly and actually causes more problems than it solves. SIP ALG modifies SIP packets in unexpected ways, corrupting them and making them unreadable. This can give you unexpected behavior, such as phones not registering and incoming calls failing.
Therefore if you are experiencing problems we recommend that you check your router settings and turn SIP ALG off if it is enabled.
How can I disable SIP ALG?
You can disable this through your router or firewall's admin panel.
Here is an example with a UniFi Security Gateway.