Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porNoelia Aragona Modificado hace 9 años
1
Negociación de codecs en Asterisk Moisés Silva Ingeniero / Manager de Software moy@sangoma.com
2
Codecs de Audio Transcoding Negociación de Codecs Transcoding con Sangoma Agenda 4/11/2011© 2011 Sangoma Technologies2
3
Codecs de Audio 4/11/2011© 2011 Sangoma Confidential3
4
Los codecs codifican y decodifican la voz para su transmisión por una medio digital –Algoritmo matemático (la salsa secreta) –Bit rate (cuantos bits en un segundo) –Sampling rate (cuantas muestras en en un segundo) –Paquetización (cuantos bytes por cada paquete) El algoritmo es la parte central del codec El bit rate define el ancho de banda requerido El “sampling rate” define la calidad (al menos parcialmente) La paquetización afecta la latencia y un ancho de banda extra Codecs de Audio 4/11/2011© 2011 Sangoma Technologies4
5
G.711 (PCMU/PCMA, Ulaw/Alaw) – Banda angosta (Narrowband) –64kbps (Bit rate) –8kHz (Sampling rate) –10ms, 20ms, 30ms, 40ms … + (Paquetización) G.722 – Banda ancha (Wideband) –48kbps, 56kbps and 64kbps –16kHz (IANA lo define a 8kHz debido a un error histórico en el RFC1890) –10ms, 20ms, 30ms, 40ms … + G.722.1 Annex C – Ultra banda ancha (Ultra-wideband) –48kbps –32kHz –20ms, 40ms, 60ms Codecs de Audio 4/11/2011© 2011 Sangoma Technologies5
6
Asterisk soporta una amplia gama de codecs –Narrowband (G.711, G.726, G.723.1, G.729AB, Speex …) –Wideband (G.722, Siren7, Speex …) –Ultra-wideband (Siren14) Asterisk requiere el sonido en formato L16 (linear 16 bits)para su manipulación (mezclar audio o alterarlo) Los “translators” codifican y decodifican hacia/de un codec a otro (tipicamente hacia/de L16) Asterisk puede hacer “pass-thru” de codecs que no conoce Codecs de Audio 4/11/2011© 2011 Sangoma Technologies6
7
Codecs de Audio 4/11/2011© 2011 Sangoma Technologies7
8
Transcoding 4/11/2011© 2011 Sangoma Confidential8
9
Requerido cuando los nodos de comunicación no tienen un codec en común Asterisk debe permanecer en el “path” de audio Incrementa el uso del CPU (particularmente si se hace en software) Es requerido si necesitas: –Grabación de llamadas en distinto formato –Detección de tonos, PLC etc –Mezcla de audio (ie, Conferencing with MeetMe) Transcoding 4/11/2011© 2011 Sangoma Technologies9
10
Asterisk Transcoding 4/11/2011© 2011 Sangoma Technologies10 Transcoding en una llamada de una sola pierna
11
Asterisk Transcoding 4/11/2011© 2011 Sangoma Technologies11 Transcoding de 2 piernas SIP
12
Pass-thru de Codecs 4/11/2011© 2011 Sangoma Technologies12 Asterisk puede hacer pass-thru del audio en algunos casos
13
Asterisk Translators 4/11/2011© 2011 Sangoma Technologies13 Traductores de Asterisk para pasar de un codec a otro Los módulos en codecs/codec_xxxx.so registran uno o mas traductores al ser cargados Cada traductor es asignado un costo dependiendo de los recursos requeridos para hacer la traducción Asterisk encuentra caminos de traducción basandose en estas medidas
14
Asterisk Translators 4/11/2011© 2011 Sangoma Technologies14
15
Asterisk Translators 4/11/2011© 2011 Sangoma Technologies15
16
Negociación de codecs 4/11/2011© 2011 Sangoma Confidential16
17
Son las decisiones hechas para escoger un codec para cada llamada Dada una lista de codecs, escoger uno! Varios parámetros y condiciones del sistema determinan las preferencias Usualmente es preferible evitar el transcoding con una configuración apropiada para cada nodo (ej, teléfono SIP) Negociación de Codecs 4/11/2011© 2011 Sangoma Technologies17
18
No uses PLC nativo si quieres evitar transcoding En sip.conf las lineas allow=xx and disallow=xx determinan tus preferencias globales o por nodo (peer, friend) [darth-vader] disallow=all allow=g729 allow=gsm allow=alaw:20 Negociación de Codecs 4/11/2011© 2011 Sangoma Technologies18
19
Los parámetros de los codecs son verificados y guardados al recibir SDP Usa las variables SIP_CODEC, SIP_INBOUND_CODEC and SIP_OUTBOUND_CODEC, para un mayor control por llamada Usa sip.conf “preferred_codec_only” cuando quieras controlar con precisión el codec a usar por cada nodo Todos los codecs anunciados en el SDP son aceptables! Negociación de Codecs 4/11/2011© 2011 Sangoma Technologies19
20
Negociación de Codecs 4/11/2011© 2011 Sangoma Technologies20
21
Usa la propiedad “audionativeformat” para encontrar el formato nativo de un canal –${CHANNEL(audionativeformat)} Asterisk cambia el formato de lectura y escritura “al vuelo” si un nuevo tipo de RTP es recibido –${CHANNEL(audioreadformat)} –${CHANNEL(audiowriteformat)} El primer paquete RTP determina el codec a usar cuando existen multiples opciones Formato de Audio 4/11/2011© 2011 Sangoma Technologies21
22
El parámetro “directmedia” (el viejo “canreinvite”) causa que el RTP vaya directo entre los nodos enviando un nuevo INVITE o un UPDATE El nuevo parámetro “directrtpsetup” permite también que ambos nodos se comuniquen directo, pero no requiere un nuevo INVITE o un UPDATE En ambos modos Asterisk no será capaz de hacer transcoding Modos de RTP 4/11/2011© 2011 Sangoma Technologies22
23
Asterisk con “directmedia” 4/11/2011© 2011 Sangoma Technologies23
24
Sangoma Transcoding 4/11/2011© 2011 Sangoma Confidential24
25
El más amplio soporte de codecs en la industria Funcionamiento basado en Ethernet y RTP Interfaz SOAP para el control de transcoding Multiples servidores pueden usar una sola tarjeta Actualización de firmware en el campo de trabajo Licencias actualizables (desde 30 licenses hasta 400) Sangoma Transcoding 4/11/2011© 2011 Sangoma Technologies25
26
Implementación con Servidor Único 4/11/2011© 2011 Sangoma Technologies26 API (libsng-tc) Asterisk Capa de traducción Driver ethernet standard RTP (Voice) codec_sangoma Servidor SOAP Cliente SOAP (libsngtc-node) Control via conexión SOAP/TCP Tarjetas detectadas automaticamente
27
Implementación Distribuida 4/11/2011© 2011 Sangoma Technologies27 API (libsng-tc) Driver ethernet standard RTP (Voz) Servidor SOAP Asterisk Capa de traducc. sangoma_codec Asterisk Capa de traducc. codec module RTP (Voz) Cliente SOAP (libsngtc-node) Servidor de Transcoding Servidor de Aplicación Cliente SOAP (libsngtc-node) Control (Conexión SOAP TCP)
28
Capacidades 4/11/2011© 2011 Sangoma Technologies28 Codec/P Time10 ms20 ms30 ms40 ms50 ms G.729 AB300440459462466 G.722290388410388 GSM480 AMR 12.20200226 AMR 4.75258281 ILBC 15.2310298 ILBC 13.3273 G.723 5.3200 G.723 6.3200 G.726 32310450480 PCM/U310390420440460 PCM/A310390420440460
29
G.729 G.726-32 G.722 G.722.1 G.723.1 iLBC AMR –*más codecs son soportados por las tarjetas D-series pero no implementados o soportados por Asterisk Codecs en Asterisk por D-Series 4/11/2011© 2011 Sangoma Technologies29
30
Gracias! 4/11/2011© 2011 Sangoma Confidential30
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.