Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Negociación de codecs en                 Asterisk                               Moisés Silva            Ingeniero / Manage...
Agenda• Codecs de Audio• Transcoding• Negociación de Codecs• Transcoding con Sangoma         © 2011 Sangoma               ...
Codecs de Audio© 2011 Sangoma Confidential            4/11/2011   3
Codecs de Audio• Los codecs codifican y decodifican la voz para su transmisión  por una medio digital   – Algoritmo matemá...
Codecs de Audio•   G.711 (PCMU/PCMA, Ulaw/Alaw) – Banda angosta (Narrowband)     – 64kbps (Bit rate)     – 8kHz (Sampling ...
Codecs de Audio• Asterisk soporta una amplia gama de codecs   – Narrowband (G.711, G.726, G.723.1, G.729AB, Speex …)   – W...
Codecs de Audio      © 2011 Sangoma                       4/11/2011   7      Technologies
Transcoding© 2011 Sangoma Confidential          4/11/2011   8
Transcoding• Requerido cuando los nodos de comunicación no tienen  un codec en común• Asterisk debe permanecer en el “path...
Asterisk Transcoding• Transcoding en una llamada de una sola pierna            © 2011 Sangoma                             ...
Asterisk Transcoding• Transcoding de 2 piernas SIP            © 2011 Sangoma                                 4/11/2011   1...
Pass-thru de Codecs• Asterisk puede hacer pass-thru del audio en algunos casos            © 2011 Sangoma                  ...
Asterisk Translators• Traductores de Asterisk para pasar de un codec a otro• Los módulos en codecs/codec_xxxx.so registran...
Asterisk Translators      © 2011 Sangoma                       4/11/2011   14      Technologies
Asterisk Translators      © 2011 Sangoma                       4/11/2011   15      Technologies
Negociación de codecs© 2011 Sangoma Confidential                4/11/2011   16
Negociación de Codecs• Son las decisiones hechas para escoger un codec para  cada llamada• Dada una lista de codecs, escog...
Negociación de Codecs• No uses PLC nativo si quieres evitar transcoding• En sip.conf las lineas allow=xx and disallow=xx  ...
Negociación de Codecs• Los parámetros de los codecs son verificados y  guardados al recibir SDP• Usa las variables SIP_COD...
Negociación de Codecs       © 2011 Sangoma                        4/11/2011   20       Technologies
Formato de Audio• Usa la propiedad “audionativeformat” para encontrar el  formato nativo de un canal   – ${CHANNEL(audiona...
Modos de RTP• El parámetro “directmedia” (el viejo “canreinvite”) causa  que el RTP vaya directo entre los nodos enviando ...
Asterisk con “directmedia”        © 2011 Sangoma                             4/11/2011   23        Technologies
Sangoma Transcoding© 2011 Sangoma Confidential                  4/11/2011   24
Sangoma Transcoding• El más amplio soporte de codecs en la industria• Funcionamiento basado en Ethernet y RTP• Interfaz SO...
Implementación con Servidor Único                                  Asterisk                                               ...
Implementación Distribuida                                                                                            Serv...
Capacidades Codec/P Time   10 ms         20 ms   30 ms   40 ms   50 ms G.729 AB       300           440     459     462   ...
Codecs en Asterisk por D-Series•   G.729•   G.726-32•   G.722•   G.722.1•   G.723.1•   iLBC•   AMR    – *más codecs son so...
Gracias!© 2011 Sangoma Confidential       4/11/2011   30
Upcoming SlideShare
Loading in …5
×

Negociacion de Codecs en Asterisk

771 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Negociacion de Codecs en Asterisk

  1. 1. Negociación de codecs en Asterisk Moisés Silva Ingeniero / Manager de Software moy@sangoma.com
  2. 2. Agenda• Codecs de Audio• Transcoding• Negociación de Codecs• Transcoding con Sangoma © 2011 Sangoma 4/11/2011 2 Technologies
  3. 3. Codecs de Audio© 2011 Sangoma Confidential 4/11/2011 3
  4. 4. Codecs de Audio• 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 © 2011 Sangoma 4/11/2011 4 Technologies
  5. 5. Codecs de Audio• 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 © 2011 Sangoma 4/11/2011 5 Technologies
  6. 6. Codecs de Audio• 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 © 2011 Sangoma 4/11/2011 6 Technologies
  7. 7. Codecs de Audio © 2011 Sangoma 4/11/2011 7 Technologies
  8. 8. Transcoding© 2011 Sangoma Confidential 4/11/2011 8
  9. 9. Transcoding• 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) © 2011 Sangoma 4/11/2011 9 Technologies
  10. 10. Asterisk Transcoding• Transcoding en una llamada de una sola pierna © 2011 Sangoma 4/11/2011 10 Technologies
  11. 11. Asterisk Transcoding• Transcoding de 2 piernas SIP © 2011 Sangoma 4/11/2011 11 Technologies
  12. 12. Pass-thru de Codecs• Asterisk puede hacer pass-thru del audio en algunos casos © 2011 Sangoma 4/11/2011 12 Technologies
  13. 13. Asterisk Translators• 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 © 2011 Sangoma 4/11/2011 13 Technologies
  14. 14. Asterisk Translators © 2011 Sangoma 4/11/2011 14 Technologies
  15. 15. Asterisk Translators © 2011 Sangoma 4/11/2011 15 Technologies
  16. 16. Negociación de codecs© 2011 Sangoma Confidential 4/11/2011 16
  17. 17. Negociación de Codecs• 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) © 2011 Sangoma 4/11/2011 17 Technologies
  18. 18. Negociación de Codecs• 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 © 2011 Sangoma 4/11/2011 18 Technologies
  19. 19. Negociación de Codecs• 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! © 2011 Sangoma 4/11/2011 19 Technologies
  20. 20. Negociación de Codecs © 2011 Sangoma 4/11/2011 20 Technologies
  21. 21. Formato de Audio• 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 © 2011 Sangoma 4/11/2011 21 Technologies
  22. 22. Modos de RTP• 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 © 2011 Sangoma 4/11/2011 22 Technologies
  23. 23. Asterisk con “directmedia” © 2011 Sangoma 4/11/2011 23 Technologies
  24. 24. Sangoma Transcoding© 2011 Sangoma Confidential 4/11/2011 24
  25. 25. Sangoma Transcoding• 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) © 2011 Sangoma 4/11/2011 25 Technologies
  26. 26. Implementación con Servidor Único Asterisk Capa de traducción codec_sangoma Cliente SOAP (libsngtc-node) Control via conexión SOAP/TCP Servidor SOAP RTP (Voice) API Tarjetas detectadas (libsng-tc) automaticamente Driver ethernet standard © 2011 Sangoma 4/11/2011 26 Technologies
  27. 27. Implementación Distribuida Servidor de TranscodingServidor de Aplicación Asterisk Capa de traducc. sangoma_codec Cliente SOAP (libsngtc-node) Control RTP (Conexión SOAP TCP) (Voz) Servidor SOAPServidor de Aplicación API (libsng-tc) Asterisk Capa de traducc. Driver ethernet standard codec module Cliente SOAP (libsngtc-node) RTP (Voz) © 2011 Sangoma 4/11/2011 27 Technologies
  28. 28. Capacidades Codec/P Time 10 ms 20 ms 30 ms 40 ms 50 ms G.729 AB 300 440 459 462 466 G.722 290 388 410 388 GSM 480 AMR 12.20 200 226 AMR 4.75 258 281 ILBC 15.2 310 298 ILBC 13.3 273 G.723 5.3 200 G.723 6.3 200 G.726 32 310 450 480 480 480 PCM/U 310 390 420 440 460 PCM/A 310 390 420 440 460 © 2011 Sangoma 4/11/2011 28 Technologies
  29. 29. Codecs en Asterisk por D-Series• 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 © 2011 Sangoma 4/11/2011 29 Technologies
  30. 30. Gracias!© 2011 Sangoma Confidential 4/11/2011 30

×