
The request arrives finally to the server which takes the request headers and body and send them back to the client in two responses:.When passing through the LAN router, the INVITE could be modified if ALG SIP is enabled in the router.The INVITE is sent via UDP and/or TCP to a server (public address) in which sip-alg-detector-daemon.rb is running in port 5060.Being in a private LAN, sip-alg-detector.rb creates a correct INVITE by getting the private address of the host.While ALG could help in solving NAT related problems, the fact is that most of the routers ALG implementations are wrong and break SIP. A NAT router with a built-in SIP ALG can re-write information within the SIP messages (SIP headers and SDP body) making signaling and audio traffic between the client behind NAT and the SIP endpoint possible. Many of today's commercial routers implement SIP ALG, coming with this feature enabled by default.Īn ALG (Application-level gateway) 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. The server runs in a server with public IP.īoth the client and the server and written in Ruby language.The client is executed in a host into the private LAN.SIP-ALG-Detector is an utility to detect routers with SIP ALG enabled.


IMPORTANT: This project is not maintained.
