Hola, tengo una duda de concepto sobre el ALG para SIP que implementan algunos
routers.
Ya os comenté que el SpeedTouch no mantiene el puerto abierto y redirigido, y
mi duda es si debería o no hacerlo.
Es decir, para realizar llamadas y solventar el NAT el router ALG sólo tiene
que interceptar el INVITE y cambiar el Contact y SDP. En ese momento se
produce una conexión UDP que dura poco y se mantiene el keepalive UDP del
router (normalmente 20-30 segundos creo).
Pero pare recibir llamadas es necesario que el router, al detectar un REGISTER
saliente (con éxito) deje el puerto abierto y redirigido al host local
indefinidamente. Pero claro, el router no puede saber cuándo se envía un
un-REGISTER ya que desde un mismo dispositivo SIP puede haber varias cuentas
registradas. Y dudo muchísimo que el router almacena datos SIP para saber qué
cuentas se han registrado.
Y por supuesto, el cliente SIP no tiene razón alguna para enviar ningún tipo
de keepalive (sólo lo haría si usa STUN).
Sólo se me ocurre poner la periodicidad del REGISTER a menos tiempo del
keepalive UDP del router (o aumentar éste si se puede), pero me parece una
guarrada (sobre todo porque el proxy SIP puede limitar el tiempo mínimo de
entre registros)
O sea, mi conclusión un poco alarmista es que el ALG de los routers sólo sirve
para corregir el NAT en llamadas salientes.
¿Me equivoco en algo? ¿es correcta mi conclusión?
Gracias por cualquier explicación.
--
Iñaki Baz Castillo
ibc(a)in.ilimit.es