An ALG has the following functions:
- It allows client applications to use dynamic TCP/UDP ports to communicate with known ports used by server applications, even if the firewall configuration allows traffic through only a limited number of ports. Without an ALG, the ports would either get blocked, or the network administrator would need to open up a large number of ports in the firewall, weakening the network and allowing potential attacks on those ports.
- It recognises application specific commands and offers security controls over them.
- It can convert the network layer address information that is found in an application payload.
- Synchronises multiple streams or sessions between hosts.
SIP/ALG function can be found on many routers. The function was designed to "help" voice packets within the network, however, sometimes it does the opposite.
Depending on the problem you are facing, you may switch it on or off and test again to see if it changes the outcome.