Protocolos de Señalización y transmisión de Flujo Multimedia FORO DE RESPONSABLES DE TICS DE LAS UNIVERSIDADES NACIONALES. Protocolos de Señalización y transmisión de Flujo Multimedia
¿Que es un protocolo de señalización? Es un lenguaje común en teléfonos, servidores de gestión de llamadas, red telefónica publica conmutada, y los sistemas PBX, estos sistemas necesitan un medio para establecer, controlar y finalizar las llamadas. La Voz sobre IP ofrece varios protocolos de señalización. Algunos sistemas comerciales de PBX soportan algunos de ellos. Otros, como Asterisk, soporta a casi todos ellos.
Protocolos soportados Session Initiation Protocol (SIP) Inter-Asterisk Exchange (IAX) H.323 –una suite de protocolos como el H.225, H.245 y RAS que se soportan en TCP y UDP Media Gateway Control Protocol (MGCP) Skinny Client Control Protocol (Cisco SCCP)
Protocolos de señalización Protocolos VoIP mas utilizados en Asterisk son: SIP IAX2 H323
Protocolo SIP - IETF SIP (Protocolo de Inicio de Sesiones) es un protocolo de señalización para conferencia, telefonía, presencia, notificación de eventos y mensajería instantánea a través de la red IP. Fue desarrollado inicialmente en el grupo de trabajo IETF MMUSIC y a partir de septiembre de 1999, pasó al grupo de trabajo IETF SIP.
Protocolo SIP Este protocolo fue diseñado exclusivamente como sistema de señalización conjuntamente a otro flujo de datos multimedia a través de un protocolo simultáneo (que en Asterisk es el protocolo RTP con el control RTCP. Protocolo de Transporte en Tiempo Real: primer problema con SIP.
Protocolo SIP SIP puerto 5060 UDP o TCP (UDP por defecto) RTP puerto 10000- 20000 (UDP) con colaboración de Control con el control RTPC.
Protocolo SIP SIP -> Puerto 5060 = Señalización RTP -> Puertos 10000-20000 = Voz+Video
Configuración sip.conf La Configuración de dispositivos SIP se realiza en el fichero sip.conf Existe una sección que se aplica a todos los dispositivos definidos, la sección [general]: Parametro1 = valor Parametro2 = valor
Configuración SIP en Asterisk type=user : sólo puede recibir llamadas como "usuario". Se usa para autenticar llamadas entrantes type=friend : permite hacer llamadas como "peer" y recibe llamadas como "usuario" (sirve para extensiones) type=peer : permite hacer llamadas como "peer" y recibe llamadas como "peer" (sirve para troncales)
Configuración SIP en Asterisk Configuración de teléfono: friend [2000] type=friend host=dynamic secret=abc123 context=interno callerid=“Pepe Garcia" <2000> disallow=all allow=alaw&gsm&ilbc&g729&h263&h264 canreinvite=no qualify=yes dtmfmode=inband ; inband / RFC2833 / auto
Configuración SIP en Asterisk Configuración de troncal : peer Utilizando Elastix o cualquier distribución de FreePbx Internos 3XXX Internos 2XXX
Trunk Rectorado
Trunk Facultad
Rutas salientes por troncal Rutas Salientes (Outbound Routes) Route Name: Facultad Dial Patterns: 3XXX (si los internos de la facultad comienzan con 3) Trunk Sequence: SIP/rectorado2facultad y listo en el Asterisk de Rectorado en el Asterisk de la Facultad igual ...
Rutas salientes por troncal Route Name: Rectorado Dial Patterns: 2XXX (si los internos de rectorado empiezan con 2) Trunk Sequence: SIP/facultad2rectorado
Troncales SIP entre Rectorado y Facultad Crear las RUTAS DE SALIDA en cada Asterisk Rutas Salientes (Outbound Routes) Route Name: Facultad Dial Patterns: 3XXX (si los internos de la facultad comienzan con 3) Trunk Sequence: SIP/rectorado2facultad y listo en el Asterisk de Rectorado en el Asterisk de la Facultad igual ... Route Name: Rectorado Dial Patterns: 2XXX (si los internos de rectorado empiezan con 2) Trunk Sequence: SIP/facultad2rectorado
Información disponible http://forovoip.unvm.edu.ar Tema: Troncal SIP entre 2 Asterisk usando FreePBX
Protocolo SIP: canreinvite=no
Canreinvite =no Asterisk -> 192.168.128.1 Teléfono A -> 192.168.128.142 Teléfono B -> 192.168.223.45
Protocolo SIP: canreinvite:yes
Canreinvite =yes Asterisk -> 192.168.128.1 Teléfono A -> 192.168.128.142 Teléfono B -> 192.168.223.45
Protocolo SIP, problema NAT
Protocolo SDP en SIP: SDP es un protocolo de descripción. Utiliza la codificación del texto. Permite realizar un debug fácil de interpretar Los errores son similares a los HTTP Se utiliza para el anuncio y la negociación de las capacidades de una sesión
Protocolo IAX2 - RFC 5456 (02-2010) Inter-Asterisk-Exchange versión 2 Creado y mantenido por Marc Spencer y Digium. Es uno de los protocolos mas utilizado por Asterisk Es utilizado para manejar conexiones VoIP entre servidores Asterisk y clientes que también utilizan protocolo IAX.
Protocolo IAX2 Utiliza un puerto solo puerto UDP: 4569 para señalización y flujo de voz, video y datos IAX2 un protocolo casi transparente a los cortafuegos y realmente eficaz para trabajar dentro de redes internas. En esto se diferencia de SIP, que utiliza una cadena RTP out-of-band para entregar la información.
Protocolo IAX2: fases de la llamada Es un protocolo binario y está de manera que reduce la carga en lujos de datos de voz. Se envian los frames M y F en ambos sentidos con la información vocal. Los frames M son mini-frames que contienen solo una cabecera de 4 bytes para reducir el uso en el ancho de banda. Los frames F son frames completos que incluyen información de sincronización Puerto UDP :4569
Protocolo H323 - ITU Esta tecnología permite la transmisión en tiempo real de vídeo y audio por una red de paquetes. Los primeros servicios de voz sobre protocolo Internet (VoIP) utilizan esta norma -permite la conexión rápida H.235 funciones autentificación, integridad, privacidad H.450 introduce los servicios suplementarios; -soporta direcciones del tipo e-mail y formato URL; -Permite el control de llamadas multi-punto (conferencia) -Permite la redundancia de gatekeeper -Soporta la codificación de vídeo en formato H.263
Contras Difícil de adaptar a aplicaciones futuras La mayoría de los teléfonos no son compatibles. Es muy complejo Difícil identificar un inconveniente
Codecs: ¿Que es un codec? Algoritmo para la COmpresión/DEscompresión o la COdificación/DEcodificación de un sonido, voz o video. Convierte una señal de audio analógico en un formato de audio digital para transmitirlo y luego convertirlo nuevamente a un formato descomprimido de señal de audio para poder reproducirlo. Esta es la esencia del VoIP, la conversión de señales entre analógico-digital.
Codificación: Asterisk
Codecs de Voz soportados:
Recomendaciones Codecs de Voz: Para la red local, utilizar G711 alaw o ulaw. Para la red wan, utilizar G729, GSM, SPEEX, ILBC.
Codecs de video soportados H.261 H.263 H.263+ (Asterisk 1.4) H.264 (Asterisk 1.4 – Asterisk 1.8) mpeg4 (MPEG4 Video)
Codecs de video recomendados H.263p (Asterisk 1.4) H.264 (Asterisk 1.4 – Asterisk 1.8) Actualmente la mayoría de los teléfonos IP con video, soportan h263+ y h264
Codecs de video soportados En las extensiones o en la sección “general” hay que configurar los codecs de video soportados: En sip.conf: [general] videosupport=yes allow=h263&h264
Solución VoIP actual de la UNVM Diagrama de la topología actual
MUCHAS GRACIAS http://forovoip.unvm.edu.ar ARIU - Grupo de Trabajo en Voz sobre IP FORO http://forovoip.unvm.edu.ar Benjamín Garzón bgarzon@unvm.edu.ar