<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi Inaki,<div><br></div><div>This tool is very useful, as it can automatically detect the problem and can save a lot of time for detection.<div><br></div><div>This SIP ALG phenomena is however a plague.</div><div><br></div><div>I do not know any situation when this works or when somebody would really want to use it. All the efforts of the SIP service providers I know of are directed into disabling them&nbsp;altogether&nbsp;while router manufacturares are in frenzy to tick another checkbox on their packaging 'SIP enabled'. These manufacturers spend without any analysis whatsoever their 8 hour budget on the issue and then move casually forward leaving havoc behind them.<div><br></div><div>The only way to eradicate this plague is to move towards the use of TLS as a standard transport in SIP. With the new design this will be&nbsp;feasible.</div><div><br></div><div>Regards,</div><div>Adrian</div><div><br></div></div><div><div>On Jun 14, 2009, at 2:19 AM, Iņaki Baz Castillo wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi, as part of my personal battle against SIP ALG routers, I've created an <br>utility to detect such routers:<br><br> &nbsp;<a href="http://dev.sipdoc.net/wiki/sip-stuff/SIP-ALG-Detector">http://dev.sipdoc.net/wiki/sip-stuff/SIP-ALG-Detector</a><br><br>It has two parts: client and server:<br><br>Basically, the client node running into the LAN sends an INVITE to the server <br>node (running in a host with public IP).<br>The request could be modified by the LAN router if SIP ALG is enabled.<br>The server encodes the received request in Base64 and appends it to the SIP <br>response.<br>The client receives the response, decodes the body and gets the request as it <br>arrived to the server.<br>Then it creates a diff between the original request and the the request the <br>server node received. These differences are displayed in the screen.<br><br>Both, UDP and TCP, tests are performed.<br><br><br>The client node is coded in Ruby and should work in any operating system (if <br>Ruby is installed).<br><br>The server node is also coded in Ruby.<br><br><br>For those interested in trying it, I have a server node running in my personal <br>server:<br> &nbsp;87.98.230.161:5060<br>You can test the client against my server.<br><br><br>Feedback is welcome :)<br>Regards.<br><br><br>-- <br>Iņaki Baz Castillo &lt;<a href="mailto:ibc@aliax.net">ibc@aliax.net</a>><br><br><br>_______________________________________________<br>Users mailing list<br><a href="mailto:Users@lists.opensips.org">Users@lists.opensips.org</a><br><a href="http://lists.opensips.org/cgi-bin/mailman/listinfo/users">http://lists.opensips.org/cgi-bin/mailman/listinfo/users</a><br></div></blockquote></div><br></div></body></html>