SIP ALG, l'enemic a casa

Quan els estàndards de SIP (Session Initiation Protocol) es van desenvolupar, van partir d'unes bases massa idealitzades de com funciona Internet, i van deixar de banda una pràctica habitual que tothom feia servir, el que es coneix com a NAT (Network Address Translation). El resultat directe és que no es podien aplicar els estàndards a la pràctica ja que quan un usuari o empresa intentava mantenir una comunicació, l'ús d'adreces privades impedia establir el canal de comunicació.

Els fabricants de routers es van veure en la obligació d'implementar solucions a aquest problema i van començar a desenvolupar el que es coneix com a SIP ALG (Application Layer Gateway), que ve a ser una pasarel·la a nivell d'aplicació (nivell 7 de la pila OSI) pel protocol SIP. El que havia de ser una solució, per desgràcia, es va convertir en un problema. La implementació del SIP ALG per part dels diferents fabricants és, en general, limitada, simple, i que, en la majoria de casos, només contempla escenaris molt simples.

La conseqüència de la situació anterior és que moltes vegades apareixen els següents errors quan s'implanta per primer cop un sistema de veu IP:

  1. *veu en un sentit
  2. *veu en cap sentit
  3. *talls de les comunicacions al cap de poc segons (aproximadament uns 30 segons)
  4. *altres....

S'ha acabat la llista anterior amb “altres...” perquè els efectes visibles d'un router amb un SIP ALG funcionant poden ser bastant aleatoris i per això s'aconsella desactivar aquest element. En l'actualitat la majoria de solucions SIP ja contemplen l'existència de NATs i hi ha mecanismes suficients per fer funcionar el protocol en gairebé tots els casos.

Els següents apartats presenten diferents marques de routers i com fer per desactivar el SIP ALG en cada cas.

Com a últim consell, si el router que feu servir no permet desactivar el SIP ALG, i teniu constància que està actiu i interferint en les comunicacions, una solució que moltes vegades és efectiva és fer servir un port diferent del estàndard, és a dir no fer servir el port 5060, per les comunicacions SIP que travessin el router amb el ALG activat.

 

Fortigate

El SIP ALG dels routers d'aquesta marca es conexi com a SIP “session-helper”

Per a desactivar-lo, s'ha d'accedir a la línia de comandes i executar les següents instruccions:

config system settings

i des de la consola de configuració, executar les següents comandes:

set sip-helper disable

set sip-nat-trace disable

Es necessari reiniciar el router per aplicar els canvis anteriors.

Un cop el router torni a estar actiu, s'ha d'eliminar una regla en el session-helper. Per a fer-ho, s'ha d'accedir de nou a la línia de comandes i executar:

Config system session-helper

S'entra en el mode de configuració del session-helper. Dins d'aquest mode s'ha de buscar la regla corresponent a SIP (port 5060). Per a fer-ho s'ha d'executar la comanda:

show

i buscar l'identificador de la regla SIP (en la majoria de casos serà la regla número 12). Amb l'identificador anterior es pot eliminar la regla executant les següents comandes:

delete 12

Finalment s'ha de sortir del mode de configuració del session-helper executant la següent comanda:

end

A partir d'aquest moment, el router fortigate haurà de ser transparent quan paquets corresponents al protocol SIP atravessin les seves interfícies.



CISCO

En els routers d'aquesta marca no hi ha possibilitat de desactivar el SIP ALG a través de cap interfície web i s'haurà de realitzar des de la línia de comandes del CISCO IOS. Un cop hagi accedit a la línia de comandes, simplement executant les següents comandes desactivaran el SIP ALG del router:

no ip nat service sip udp port 5060

no ip nat service sip tcp port 5060



Comtrend 536

Per a desactivar el SIP ALG d'aquest router s'ha d'accedir a la interfície web, a l'apartat

Advanced Setup

buscar l'apartat

Nat

i la part corresponent a

Alg

I desactivar la casella

Enabled

Per aplicar els canvis anteriors, és necessari reiniciar el router.



Sonicwall

Per desactivar el SIP ALG en aquests routers ha de buscar l'apartat de veuIP de la interfície web i:

  1. desactivar la opció SIP transformations
  2. activar la opció Enable Consistent NAT



Zyxel 660

Aquest és un model molt típic a Espanya ja que Movistar l'utilitza per a la majoria d'usuaris que tenen contractats serveis de xDSL. Per a desactivar-lo s'ha d'accedir via telnet a l'aparell, accedir a la opció 24 del Menu que s'anomena

System Maintenance

i un cop en aquesta opció, prémer la opció 8 que s'anomena:

Command Interpreter Mode

Amb les accions anteriors haurà accedit a la línia de comandes del router. En aquesta línia de comandes s'ha d'executar la següent instrucció per a desactivar el SIP ALG:

ip nat service sip active 0

Com a resultat de l'execució de la línia anterior apareixerà per pantalla un misatge indicant que s'ha desactivat el ALG. En alguns casos no apareix res per pantalla, indicació que no s'ha desactivat el SIP ALG. En aquests casos, és recomanable repetir totes les accions anteriors fins que aparegui el missatge confirmant la desactivació.



Zyxel NBG334W

Com en la majoria de casos, aquest router no permet desactivar el SIP ALG des de cap altre interfície que no sigui la línia de comandes. Per anar a la línia de comandes s'ha d'accedir via telnet al router i executar la següent línia de comandes:

ip alg disable ALG_SIP

Per a verificar que la operació anterior ha desactivat el SIP ALG, es pot consultar l'estat del ALG mitjançant la següent comanda:

ip alg display



Juniper

Per desactivar el SIP ALG en aquests routers s'ha d'accedir a la línia de comandes i executar la següent instrucció:

ns5gt-> unset alg sip



Thomson SpeedTouch

Per desactivar el SIP ALG en aquests router s'ha d'accedir a la línia de comandes via telnet i executar la següent instrucció:

connection unbind application=SIP port=5060

per aplicar els canvis realitzats amb la instrucció anterior s'ha d'executar la següent ordre:

saveall

Registrat!