La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Negociación de codecs en Asterisk Moisés Silva Ingeniero / Manager de Software

Presentaciones similares


Presentación del tema: "Negociación de codecs en Asterisk Moisés Silva Ingeniero / Manager de Software"— Transcripción de la presentación:

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


Descargar ppt "Negociación de codecs en Asterisk Moisés Silva Ingeniero / Manager de Software"

Presentaciones similares


Anuncios Google