VoIP - unlu.edu.ar · 2020. 11. 2. · VoIP Voz sobre IP v2020 Administración y Gestión de Redes...

Preview:

Citation preview

VoIPVoz sobre IP

v2020

Administración y Gestión de RedesLic. Sistemas de información

Equipo docente:Fernando Lorge (florge@unlu.edu.ar)

Santiago Ricci (sricci@unlu.edu.ar)Alejandro Iglesias (aaiglesias@unlu.edu.ar)

Mauro Meloni (maurom@unlu.edu.ar)Marcelo Fernandez (fernandezm@unlu.edu.ar)

¿Qué es VOIP?

VoIP es (casi) exactamente lo que su nombre indica: un conjunto de protocolos y tecnologías que permiten utilizar una red basada en el protocolo IP para establecer una comunicación de voz o video.

¿Cómo digitalizamos la multimedia? ¿Cómo los transmitimos en una red? ¿Cómo establecemos los canales de comunicación?¿Hay dispositivos con diferentes capacidades?...

¿Por qué VOIP?

● Menores costos que la telefonía tradicional.● Simplifica el diseño de la red y reusar dispositivos de intercomunicación.● Todos los datos pasan por el mismo cable (no se necesita cablear teléfono).● Hardware dedicado para terminales (teléfonos VoIP) y por software (softphones).● Facilita la administración y la contabilidad.● No requiere personal especializado.● Es más fácil adaptarse a cambios y agregar teléfonos (no hay que recablear)

Costos Administración Adaptabilidad

¿Cómo funciona VOIP?

Bob

Alicia

¿Cómo funciona VoIP?

Casa de Bob Casa de Alicia

¿Cómo funciona VoIP?

¿Cómo funciona VoIP?

¿Cómo funciona VOIP?

Vibraciones en el hilo

Sonido en el aire

Sonido en el aireBob

Alicia

SEÑALIZACIÓNEstablecimiento

de la comunicación

TRANSMISIÓN DE DATOSComunicación de voz

Arquitectura de un sistema VoIP

Señalización - SIP, H323, etc.- Localización- Establecimiento de llamadas (call setup)- Características de la sesión- Terminación de llamada

Transmisión de datos - RTP y RCTP.- Encapsulamiento de datos de audio (y video)- Secuenciamiento, Marcas de tiempo, Identificación

Soporte - DHCP, NTP, FTP, etc. - Autoconfiguración, calidad de servicio- Autenticación, autorización y contabilidad entre dominios

Señalización

Existen diferentes protocolos que se pueden usar para la señalización. Estos a su vez son los que definen cómo funcionará la comunicación y el resto de los protocolos y tecnologías a utilizar.

- SIP (IETF)- H323 (ITU-T)- SCCP o Skinny (Cisco)- AIX (Digium)

Estos además definen los actores y los papeles que tienen cada uno.

Session Initiation Protocol, definido en RFC 3261Similar al protocolo HTTP, en texto plano, petición/respuesta, puerto TCP/UDP 5060.

Componentes:● User Agent -> Terminal o Teléfono● Registrar Server -> Servidor de registro de cuentas● Proxy Server -> Servidor que reenvía mensajes● Redirect Server -> Servidor que redirige mensajes

Protocolos de señalización:● SIP -> Establecimiento de la llamada● SDP -> Negociación de las características de la sesión.

Protocolos de transmisión de medios:● RTP/RTCP -> Transmisión de multimedia

SIP

Direccionamiento en nomenclatura URI (RFC 3261).sip:user@domain:port ej sip:ale@sip.unlu.edu.ar:5060sip:user@host:port ej sip:mauro@10.100.20.2:5060sip:phone number@domain ej sip:1590@servmarce.unlu.edu.ar

Peticiones: Method <SP> Request-URI <SP> SIP-Version <CRLF>REGISTER para registrar información de contactoINVITE, ACK, and CANCEL para establecimiento de sesionesBYE para terminar sesionesOPTIONS para consultar a los servidores por sus capacidades

Respuestas: SIP-Version SP Status-Code SP Reason-Phrase CRLF

SIP

● 1xx: Provisional ● 2xx: Success ● 3xx: Redirection

● 4xx: Client Error ● 5xx: Server Error● 6xx: Global Failure

Register

170.30.1.114751111@170.301.1.1

Una llamada completa

Establecimientodel canal

Intercambio dedatos multimedia

Cierre del canal

170.30.1.11

170.30.1.14752222@170.301.1.1

4751111@170.301.1.1

Invite

Si analizamos una captura del invite vemos que aparece un protocolo nuevo SDP

Trying & Ringing

TryingStatus 100 (provisorio)Conserva los headers

RingingStatus 100 (provisorio)Conserva los headers

200 ok

Información del canal de audio

Status 200 (exitoso)

SDP

“Session Description Protocol” es un protocolo que viaja encapsulado en SIP, que tiene por objetivo transmitir información acerca de los flujos en sesiones multimedia para permitir a los destinatarios participar en la sesión.

Una descripción de sesión SDP incluye:–Nombre de Sesión y propósito (Session Description – Descripción de Sesión)–Tiempo(s) en que la sesión es activa (Time description – Descripción Temporal)–Los medios que componen la sesión (Media description – Descripción de Medios)–Información para recibir esos medios (direcciones, puertos, formatos, etc.)

Media Information:–El tipo de contenido (video, audio, etc.)–El protocolo de transporte (RTP/UDP/IP, H.320, etc.)–El formato del contenido (H.261 video, MPEG video, etc.)

Direcciones y puertos:–Unicast o multicast, direcciones y puertos.

SDP en una captura

Versión del protocolo

Identificador de la sesión

nombre de la sesión

información de la conexión

tiempo

medios y CODEC

medios y CODECdisponibles

Una llamada completa

170.30.1.11170.30.1.1 4752222@170.301.1.14751111@170.301.1.1

¿Cuántos flujos de datos existen?

¿Cuáles mensajes tienen SDP?

¿Cómo podría ser aprovechado para clasificación por inspección profunda SDP?

Un momento... ¿Qué es un CODEC?

Desde que ingresa el sonido al micrófono hasta que termina en un paquete RTP….

Esta salida es analógica.Infinitos valores posibles de

tiempo y amplitud

El micrófono captura las vibraciones del sonido en el aire.

Se necesita una conversión de señal

de analógica a digital.

El resultado es un conjunto de muestras discretas tomadas con

una frecuencia determinada

Como se digitaliza una señal analógica

Frecuencia de muestreoLa cantidad de mediciones que se toman por segundo

(medida en Hz)

Resolución.Cantidad de “bits” que

se utilizar para representar la amplitud.

0

255

¿Cual es la frecuencia de muestreo?1 segundo

¿Cuál es la resolución?

Packet rate.Cantidad de paquetes

que se envían con “chunks” de datos

RTP RTP RTP

Muestreo

Cuanto mayor sea el número de muestras, mayor es la fidelidad de la representación de la señal original.

Frecuencia de muestreoLa cantidad de mediciones que se toman por segundo

(medida en Hz)

Cuantificación

16

32

8

Señal no cuantizada

Resolución.Cantidad de “bits” que se utilizar para representar la

amplitud de una señal.

Más bits, mejor resolución.

División en paquetes

Alguna bibliografía lo denomina “framing”, otras “packetization”.

Lo importante es que la voz codificada se divide en “bloques” de N bits o de N milisegundos.

Packet rate.Cantidad de paquetes que se envían con “chunks” de datos.

RTP RTP RTP

¿Pocos paquetes de muchos bits?

¿Muchos paquetes de pocos bits?

¿Qué es mejor? ¿En qué impacta?

Aplicando lo aprendido en VoIP

¿Cual sería una frecuencia de muestreo apropiada?

CODECs en VoIP

Otros CODECs● G.722 (SB-ADPCM) Subband Adaptive Differential PCM● G.723.1 Dual-Rate Speech Coder for Multimedia Communications

○ –5.3Kbps—Algebraic Code Excited Linear Prediction (ACELP)○ –6.3 Kbps—Multipulse Maximum Likelihood Quantization (ML-MLQ)

● G.726 - Adaptive Differential PCM encoding. (ADPCM)● G.729 - Conjugate Structure ACELP(Algebraic code-excited linear prediction)● ILBC – Internet Low bitratw Codec (block-independent linear predictive coding)● GSM - Linear predictive coding (LPC)● Opus – RFC 6716 / SILK (Skype) + CELT (Contrained Energy Lapped Transform)

G711 por ejemplo son 8000 hz de muestreo y 8 b de resolución, 50 packet rate.

Total = (160 + 22 + 20 + 20) * 50 = 88.800 bpsPayload(20 ms)

Ethernet IP UDP+RTP Packet Rate

¿Qué pasa si ambos user agent no soportan el mismo CODEC?

Transcodificación

Costos para un servidor Asterisk (microsegundos por un segundo de información)

Balance entre calidad y bitrate

https://opus-codec.org/comparison/

La siguiente figura ilustra la calidad de varios códecs en función de la tasa de bits. Intenta resumir los resultados de una colección de pruebas de audición y (cuando no existen datos) muestra evidencia anecdótica.

En general, es bastante representativa, pero no se recomienda intentar extraer ningún valor exacto a una tasa de bits particular.

RTP

Proporciona servicio de entrega extremo-a-extremo para datos con características de tiempo real, como audio y video interactivo.

● Real-time transport protocol (RTP) para transportar datos multimedia.○ Utiliza UDP como protocolo de transporte (puerto efímeros)○ Identificación de tipo de carga○ Numeración de secuencia○ Marcas de tiempo○ Monitoreo de entrega

● RTP control protocol (RTCP), para monitorear la calidad del servicio.○ Permite controlar codificaciones adaptables.○ Todos los participantes envían paquetes RTCP. ○ La tasa a la que se envían es calculada acorde a la cantidad de

participantes.●Opcionalmente conducir información mínima de control de sesión.

RTP en un captura

Calidad de servicio y métricas.

Mean Opinion Score: promedio de calificaciones del 1 (mala) al 5 (muy buena) hechas por personas sobre la calidad de la llamada.

Software

Clientes: Ekiga, Linphone, Zoiper.

Elastix.

Issabel

Servidores: PBX (centrales telefónicas)

Hardware

Teléfonos IP con o sin cámara.Placas con interfaz para

telefonia tradicional.Equipos de VC

Power over Ethernet (PoE)

La posibilidad de aprovechar el cable de datos para alimentar dispositivos como Access Points y Teléfonos IP

Central Telefonica IP

Protocolos auxiliares

DHCPAsignación dinámica

de direcciones

TFTPProvisión de configuración yde agenda telefónica global

NTPHora unificada en dispositivos

DNSUso de mnemónicos

para apuntar servidores

Bibliografía

● HARTPENCE, B. 2013. Packet Guide to Voice over IP: A system administrator’s guide to VoIP technologies. O’Reilly Media

○ Capítulo 1. “Introduction to Voice over the Internet Protocol”○ Capítulo 3. “Session Initiation Protocol”○ Capítulo 4. “The Real-Time Transport Protocol and the Real-Time Control Protocol”○ Capítulo 5. “Codecs” (págs. 121 a 135) sin incluir la sección Video Signals ni siguientes○ Capítulo 6. “H.323 ITU-T Recommendation for Packet-Based...” (págs. 151 a 156)

● WALLINGFORD, T. 2005. Switching to VoIP. Ted Wallingford. O’Reilly

● LANDIVAR, E. 2008. Capítulo 14: “Protocolos SIP y RTP al descubierto” en Comunicaciones

Unificadas con Elastix. https://sourceforge.net/projects/elastix/files/Tutorials_Docs_Manuals/Comunicaciones%20Unificadas%20con%20Elastix