
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:

caller behind NAT with private IP 192.168.1.33.A NAT router with a built-in SIP ALG can re-write information within the SIP messages (SIP headers and SDP body) making signalling and audio traffic between the client behind NAT and the SIP endpoint possible. If the SIP proxy doesn’t provide a server side NAT solution, then an ALG solution could have a place.Īn ALG understands the protocol used by the specific applications that it supports (in this case SIP) and does a protocol packet-inspection of traffic through it.


In some scenarios some client side solutions are not valid, for example STUN with symmetrical NAT router. ALG works typically in the client LAN router or gateway. There are various solutions for SIP clients behind NAT, some of them in client side ( STUN, TURN, ICE), others in server side (Proxy RTP as RtpProxy, MediaProxy). While ALG could help in solving NAT related problems, the fact is that many routers’ ALG implementations are wrong and break SIP.

Many of today’s commercial routers implement SIP ALG (Application-level gateway), coming with this feature enabled by default.
