El objetivo del protocolo de VoIP es dividir en paquetes los flujos de audio para transportarlos sobre redes basadas en IP.
Los protocolos de las redes IP originalmente no fueron diseñados para el fluido en tiempo real de audio o cualquier otro tipo de medio de comunicación.
La PSTN está diseñada para la transmisión de voz, sin embargo, tiene sus limitaciones tecnológicas.
A algunos de los protocolos VoIP más importantes y compatibles con Asterisk PBX.
Vamos a comentar los siguientes protocolos:
PROTOCOLO SIP
Protocolo de inicio de sesión o SIP es un protocolo desarrollado por el grupo de trabajo MMUSIC (Multiparty Multimedia Session Control) del IETF con la intención de ser el estándar para la iniciación, modificación y finalización de sesiones interactivas de usuario donde intervienen elementos multimedia como el vídeo, voz, mensajería instantánea, juegos en línea y realidad virtual.
Las funciones básicas del protocolo incluyen:
- Determinar la ubicación de los usuarios, aportando movilidad.
- Establecer, modificar y terminar sesiones entre usuarios.
- Convergencia de voz y datos.
- Reducción de equipos, ahorrando dinero, espacio y energía.
- Costos flexibles gracias a una fuerte oferta competitiva.
- Mejora de la fiabilidad y redundancia.
- Este protocolo considera a cada conexión como un par y se encarga de negociar las capacidades entre ellos.
- Tiene una sintaxis simple, similar a HTTP o SMTP.
- Posee un sistema de autenticación de pregunta/respuesta.
- Utiliza un mecanismo seguro de transporte mediante TLS.
- No tiene un adecuado direccionamiento de información para el funcionamiento con NAT.
PROTOCOLO IAX y IAX2
IAX (Inter-Asterisk eXchange protocol) es uno de los protocolos utilizado por Asterisk. Es utilizado para manejar conexiones VoIP entre servidores Asterisk, y entre servidores y clientes que también utilizan protocolo IAX. El protocolo IAX ahora se refiere generalmente al IAX2, la segunda versión del protocolo IAX.
El protocolo original ha quedado obsoleto en favor de IAX2.
IAX2 es robusto, lleno de novedades y muy simple en comparación con otros protocolos. Permite manejar una gran cantidad de códecs y un gran número de streams, lo que significa que puede ser utilizado para transportar virtualmente cualquier tipo de dato.
Los objetivos de IAX son:
- Minimizar el ancho de banda usado en las transmisiones de control y multimedia de VoIP.
- Evitar problemas de NAT (Network Address Translation).
- Soporte para transmitir planes de marcación.
- IAX es un protocolo abierto, es decir, que se puede descargar y desarrollar libremente.
- Es un protocolo de transporte, que utiliza el puerto UDP 4569 tanto para señalización de canal como para RTP (Protocolo de transporte en tiempo real).
- Puede truncar o empaquetar múltiples sesiones dentro de un flujo de datos, así requiere de menos ancho de banda y permite mayor número de canales entre terminales.
- En seguridad, permite la autenticación, pero no hay cifrado entre terminales.
Los objetivos de IAX2 son:
- Señalización y media a través de un mismo puerto (4569 UDP).
- Se salta los problemas que provoca la mala implementación del NAT de algunos routers.
- Soporte de cifrado nativo RSA con SHA-1. Comunicación de señalización y media totalmente cifrada.
- Soporte TRUNK, incluye varias conversaciones en el mismo paquete, permitiendo ahorrar ancho de banda cuando hay varias conversaciones simultáneas.
- Soporte de JitterBuffer, mejora la calidad de audio en redes con latencia.
PROTOCOLO H.323
H.323 es, muy parecido a SIP, un protocolo diseñado para la configuración, administración y terminación de una sesión de comunicación (media). Es un conjunto de estándares de ITU-T, los cuales definen un conjunto de protocolos para proveer comunicación visual y de audio sobre una red de los ordenadores.
H.323, como SIP, es un protocolo relativamente viejo, pero que ha sido reemplazado en gran medida por SIP.
Los objetivos de H.323 son:
- Originalmente fue diseñado para el transporte de videoconferencia.
- Su especificación es compleja.
- H.323 es un protocolo relativamente seguro, ya que utiliza RTP.
- Tiene dificultades con NAT, por ejemplo para recibir llamadas se necesita direccionar el puerto TCP 1720 al cliente, además de direccionar los puertos UDP para la media de RTP y los flujos de control de RTCP.
- Para más clientes detrás de un dispositivo NAT se necesita gatekeeper en modo proxy.
PROTOCOLO MGCP
El Media Gateway Control Protocol. Se implementa en las arquitecturas de voz para controlar los Media Gateways a trasvez del protocolo de internet (IP de las redes conectadas a la red pública o (PSTN).
Este Protocolo es un sucesor del SGCP Protocolo Simple de control de Gateway que fue desarrollado por Bellcorp en conjunto con Cisco.
MGCP es un protocolo basado en texto que consiste en comandos y respuestas. Utiliza el protocolo de descripción de sesión (SDP) para especificar y negociar las tramas que serán transmitidas en la Sesión de llamada.
Los objetivos de MGCP son:
- Inicialmente diseñado para simplificar en lo posible la comunicación con terminales como los teléfonos.
- MGCP utiliza un modelo centralizado (arquitectura cliente-servidor), de tal forma que un teléfono necesita conectarse a un controlador antes de conectarse con otro teléfono, así la comunicación no es directa.
- Tiene tres componentes un MGC (Media Gateway Controller), uno o varios MG (Media Gateway) y uno o varios SG (Signaling Gateway), el primero también denominado dispositivo maestro controla al segundo también denominado esclavo.
- No es un protocolo estándar.
PROTOCOLO SCCP
Skinny Call Control Protocol o SCCP es un protocolo propietario de control de terminal desarrollado originariamente por Selsius Corporation. Actualmente es propiedad de Cisco Systems, se define como un conjunto de mensajes entre un cliente ligero y el CallManager.
El Call Manager actúa como un proxy de señalización para llamadas iniciadas a través de otros protocolos como H.323, SIP, RDSI o MGCP.
Los objetivos de SCCP son:
- Es un protocolo propietario de Cisco.
- Es el protocolo por defecto para terminales con el servidor Cisco Call Manager PBX que es el similar a Asterisk PBX.
- El cliente Skinny usa TCP/IP para transmitir y recibir llamadas.
- Para el audio utiliza RTP, UDP e IP.
- Los mensajes Skinny son transmitidos sobre TCP y usa el puerto 2000.
WEBGRAFÍA
https://es.wikipedia.org/wiki/Protocolos_de_VoIP
https://www.3cx.es/blog/guia-protocolo-sip/
https://es.wikipedia.org/wiki/Protocolo_de_iniciaci%C3%B3n_de_sesi%C3%B3n
http://www.servervoip.com/blog/protocolo-iax-usado-en-voz-ip/#:~:text=IAX%20(Inter%2DAsterisk%20eXchange%20protocol,segunda%20versi%C3%B3n%20del%20protocolo%20IAX.
https://www.3cx.es/voip-sip/h323/#:~:text=Qu%C3%A9%20es%20H323%3F-,H.,sobre%20una%20red%20de%20computadores.
https://es.wikipedia.org/wiki/H.323
https://forum.huawei.com/enterprise/es/protocolo-de-voz-mgcp/thread/509133-100257
https://es.wikipedia.org/wiki/Skinny_Client_Control_Protocol