Desactivar SIP ALG en los routers
Muchos de los actuales routers comerciales utilizan SIP ALG (Application Level Gateway), que viene con esta función habilitada por defecto. Aunque ALG podría ayudar en la solución de problemas de NAT, el hecho es que muchos routers con ALG activado rompen el protocolo SIP.
Hay varias soluciones para clientes SIP detrás de NAT, algunas de ellas en el lado del cliente (STUN, ICE), otros en el lado del servidor (RtpProxy, MediaProxy). ALG trabaja normalmente en el lado del cliente. En algunos escenarios algunas soluciones del lado del cliente no son válidas, por ejemplo STUN con router NAT simétrico. Si nuestro proxy SIP no nos proporciona una solución al NAT, ALG podría tener lugar.
ALG entiende el protocolo utilizado por las aplicaciones específicas que soporta (en nuestro caso SIP), y no un protocolo de inspección de paquetes de tráfico a través de él. Un router NAT con SIP ALG incorporado puede volver a escribir información dentro de los mensajes SIP (cabeceras SIP y cuerpo SDP) y haciendo señalización de audio y tráfico entre el cliente detrás del NAT y el servidor SIP.
El principal problema es la escasa aplicación en el protocolo SIP comercial de la mayoría de los routers y el hecho de que esta tecnología sólo es útil para las llamadas salientes, pero no para las llamadas entrantes:
-
Llamadas entrantes: Cuando un terminal SIP está encendido envía un registro para el proxy con el fin de ser localizable y recibir llamadas. Este registro es modificado por la característica ALG (si no el usuario no sería alcanzable por el proxy, ya que indica una IP privada en el registro «Contacto» de cabecera). Algunos routers comunes sólo mantienen la conexión UDP abierta por un tiempo (30-60 segundos) así que después de ese momento el puerto se cierra terminando el envío de los paquetes y se descartan por el router.
-
Romper la señalización SIP: Muchos de los routers comunes que incorporan SIP SIP ALG modifican los encabezados y el cuerpo SDP incorrectamente, rompiendo el protocolo SIP y haciendo imposible la comunicación.
La siguiente lista contiene algunos modelos de routers con SIP ALG habilitados por defecto y cómo deshabilitarlo:
SpeedTouch ST530 v6 (firmware> = 5.4.0.13) viene con SIP ALG activado por defecto.
Para deshabilitar SIP ALG:
~# telnet router
-> connection unbind application=SIP port=5060
-> saveall
ZyXEL 660 (familia) viene con SIP ALG habilitado por defecto.
Para deshabilitar la SIP ALG:
~# telnet router
Opcion de menu "24. System Maintenance".
Opcion de menu "8. Command Interpreter Mode".
ip nat service sip active 0
Netgear WGR614v9 Wireless-G Router, DGN2000 Wireless-N ADSL2+ Modem Router – Para los Firmware’s V1.0.18_8.0.9NA y V1.0.18_8.0.9NA
Para deshabilitar la SIP ALG:
Ir a la opción «Wan Setup Menu», despues «NAT Filtering» y quitar el chequeo que aparece junto a «Disable SIP ALG»
Fuente: VoIP Info