Si está utilizando un proveedor VOIP, necesitará un firewall que soporte y esté configurado para utilizar mapeo de puertos estático. El mapeo de puertos estático es requerido por RTP, el protocolo que lleva el audio, para que funcione correctamente.

RTP y NAT Simétrico

Las aplicaciones VOIP utilizan el protocolo RTP para enviar y recibir audio y video, y suelen tener problemas al encontrarse detrás de un firewall o ruteador dado que RTP utiliza puertos aleatorios para enviar y recibir audio o video. Una configuración incorrecta del firewall causará que las llamadas realizadas a través de un proveedor VOIP o extensiones remotas, no tengan audio o tengan audio en un solo sentido.

Al utilizar NAT (Network Address Translation) Simétrico, el firewall o router cambiará el puerto en el que el audio es recibido en forma dinámica. Por ejemplo, al realizar una llamada saliente a través de un proveedor VOIP, 3CX Phone system hará una resolución STUN para determinar la dirección IP pública y el puerto a utilizar. Luego especificará esta información a la otra parte. Mientras tanto, el firewall cerrará el puerto especificado en el INVITE, haciendo que la llamada falle. Obviamente no hay forma de que una llamada VOIP pueda ser establecida en forma confiable si el firewall hace esto. Este procedimiento es llamado NAT Simétrico y debe ser desactivado.

¿Como verifico si mi firewall está configurado correctamente?

La mejor forma de verificar si su firewall se encuentra configurado correctamente y que no está detrás de NAT Simétrico, es ejecutar la “Prueba de Firewall”. Puede ejecutar la prueba de firewall desde la interfaz de administración, en la sección de Opciones. Si la prueba de firewall falla, o genera un mensaje de advertencia de código 10, entonces tiene NAT Simétrico y las llamadas a través de un proveedor VOIP o a una extensión externa NO serán confiables.

¿Qué puedo hacer para resolver este problema y crear mapeo de puertos estático?

La solución para problemas de falta de audio, o audio en un solo sentido al llamar a un proveedor VOIP o al recibir llamadas de un proveedor VOIP es utilizar un router o firewall que soporte “Full Cone NAT”. En una “Full Cone NAT” (también conocida como NAT uno a uno) todos los puertos para la dirección externa son mapeados al mismo puerto en una dirección interna específica. Un dispositivo externo puede enviar paquetes RTP a un servidor interno, enviandolos a la dirección IP externa al firewall o router y al puerto mapeado.

La mayoría de los firewalls pueden ser configurados para manejar esto. Esto también es conocido como puertos estáticos. Esta configuración asegura que un puerto en particular permanece abierto y no será cambiado por el firewall. Algunos firewalls muy baratos no permiten esta configuración, pero la mayoría de los firewalls sí lo permiten. Hemos provisto configuraciones de ejemplo para los siguientes firewalls. Basándose en estas configuraciones debería poder configurar su firewall correctamente.

Configurando un router CISCO para uso con un proveedor VoIP y la Central Telefónica 3CX

Para seguir leyendo:

Explicación de diferentes tipos de NAT y cómo funciona el NAT:
https://en.wikipedia.org/wiki/Network_address_translation (en inglés)
https://es.wikipedia.org/wiki/Network_Address_Translation (breve información en español)

Otro buen recurso sobre problemas con NAT Simétrico y sistemas telefónicos VOIP:
http://www.asteriskguru.com/tutorials/sip_nat_oneway_or_no_audio_asterisk.html