# IAX2

## Definición
IAX2 (Inter-Asterisk eXchange versión 2) es un protocolo de voz sobre IP diseñado específicamente para la plataforma de telefonía Asterisk. A diferencia de SIP, que separa señalización y medios en canales distintos, IAX2 consolida ambas funciones en un único puerto UDP (4569), lo que genera ventajas inherentes para atravesar redes y para la comunicación servidor-servidor.

## Implementación en VICIdial
**Casos de uso principales:**
- Comunicación entre servidores dentro de despliegues de VICIdial en clúster.
- Conexiones de teléfono de agente, particularmente para fuerzas de trabajo distribuidas.

**Detalles de configuración:** las conexiones de agente se configuran mediante el archivo `iax.conf`. El protocolo beneficia particularmente a agentes remotos que operan detrás de firewalls restrictivos o dispositivos NAT, ya que la configuración del firewall solo requiere abrir un puerto, en lugar de los múltiples rangos de puertos RTP que necesita SIP.

**Optimización de ancho de banda:** IAX2 soporta un modo de "trunking" que agrupa múltiples llamadas concurrentes en tramas de red únicas entre servidores. Este enfoque reduce sustancialmente el consumo de ancho de banda y el overhead de paquetes de red comparado con conexiones SIP/RTP individuales, una característica valiosa para clústeres multi-servidor que manejan cientos de llamadas simultáneas.

## Importancia estratégica
IAX2 sigue siendo relevante para escenarios específicos pese al dominio de SIP y PJSIP en la conectividad con carriers. Su valor principal radica en la simplificación del atravesamiento de NAT para agentes remotos en entornos de red restrictivos, y en la eficiencia de ancho de banda dentro de la infraestructura interna del clúster.

**Limitación importante:** los carriers externos y los teléfonos de hardware ofrecen soporte limitado para IAX2, haciéndolo inadecuado como protocolo primario para conexiones con carrier.

## Recomendación de buena práctica
Los despliegues óptimos suelen usar SIP para las conexiones externas con carriers, reservando IAX2 para la comunicación interna del clúster y para conexiones selectivas de agentes.

## Conceptos relacionados
- [Session Initiation Protocol (SIP)](https://wiki.enlaza.mx/books/vicidial/page/session-initiation-protocol-sip)
- [Asterisk](https://wiki.enlaza.mx/books/vicidial/page/asterisk)
- [VICIdial Cluster](https://wiki.enlaza.mx/books/vicidial/page/vicidial-cluster)
- [NAT Traversal](https://wiki.enlaza.mx/books/vicidial/page/nat-traversal)