Hi, as part of my personal battle against SIP ALG routers, I've created an
utility to detect such routers:
http://dev.sipdoc.net/wiki/sip-stuff/SIP-ALG-Detector
It has two parts: client and server:
Basically, the client node running into the LAN sends an INVITE to the server
node (running in a host with public IP).
The request could be modified by the LAN router if SIP ALG is enabled.
The server encodes the received request in Base64 and appends it to the SIP
response.
The client receives the response, decodes the body and gets the request as it
arrived to the server.
Then it creates a diff between the original request and the the request the
server node received. These differences are displayed in the screen.
Both, UDP and TCP, tests are performed.
The client node is coded in Ruby and should work in any operating system (if
Ruby is installed).
The server node is also coded in Ruby.
For those interested in try it, I have a server node running in my personal
server:
87.98.230.161:5060
You can test the client against my server.
Feedback is welcome :)
Regards.
--
Iñaki Baz Castillo <ibc(a)aliax.net>