SlideShare una empresa de Scribd logo
1 de 30
Negociación de codecs en
                 Asterisk
                               Moisés Silva
            Ingeniero / Manager de Software
                        moy@sangoma.com
Agenda
• Codecs de Audio

• Transcoding

• Negociación de Codecs

• Transcoding con Sangoma



         © 2011 Sangoma
                            4/11/2011   2
         Technologies
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á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
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
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
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” 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
Asterisk Transcoding
• Transcoding en una llamada de una sola pierna




            © 2011 Sangoma
                                                  4/11/2011   10
            Technologies
Asterisk Transcoding
• Transcoding de 2 piernas SIP




            © 2011 Sangoma
                                 4/11/2011   11
            Technologies
Pass-thru de Codecs
• Asterisk puede hacer pass-thru del audio en algunos casos




            © 2011 Sangoma
                                                     4/11/2011   12
            Technologies
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
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, 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
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
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
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(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
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
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 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
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
Implementación Distribuida

                                                                                            Servidor de Transcoding
Servidor de Aplicación
                            Asterisk
                                           Capa de traducc.

                                           sangoma_codec

                                             Cliente SOAP
                                           (libsngtc-node)
                                                                    Control
                                    RTP                       (Conexión SOAP TCP)
                                   (Voz)
                                                                                                 Servidor SOAP

Servidor 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
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
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
Gracias!


© 2011 Sangoma Confidential       4/11/2011   30

Más contenido relacionado

La actualidad más candente

Conf basica switch-p1
Conf basica switch-p1Conf basica switch-p1
Conf basica switch-p1
1 2d
 
Conceptos basicos de redes
Conceptos basicos de redesConceptos basicos de redes
Conceptos basicos de redes
Martín Guzmán
 
Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamiento
Meiil Hernandez
 

La actualidad más candente (20)

Introducción a VoIP
Introducción a VoIPIntroducción a VoIP
Introducción a VoIP
 
Ficha tecnica sena
Ficha tecnica senaFicha tecnica sena
Ficha tecnica sena
 
Conf basica switch-p1
Conf basica switch-p1Conf basica switch-p1
Conf basica switch-p1
 
Kevin lopez 10 5
Kevin lopez 10 5Kevin lopez 10 5
Kevin lopez 10 5
 
Nanoxx
NanoxxNanoxx
Nanoxx
 
Convegencia de Infraestructuras existentes hacia voip con Asterisk
Convegencia de Infraestructuras existentes hacia voip con AsteriskConvegencia de Infraestructuras existentes hacia voip con Asterisk
Convegencia de Infraestructuras existentes hacia voip con Asterisk
 
Arion
ArionArion
Arion
 
0. trabajo-de-investigación (1)
0. trabajo-de-investigación (1)0. trabajo-de-investigación (1)
0. trabajo-de-investigación (1)
 
Profibus DP
Profibus DPProfibus DP
Profibus DP
 
Introducción a la VoIP con Asterisk
Introducción a la VoIP con AsteriskIntroducción a la VoIP con Asterisk
Introducción a la VoIP con Asterisk
 
Live IP Studio
Live IP StudioLive IP Studio
Live IP Studio
 
Kathrein
KathreinKathrein
Kathrein
 
Conceptos basicos de redes
Conceptos basicos de redesConceptos basicos de redes
Conceptos basicos de redes
 
Hdtv[1]
Hdtv[1]Hdtv[1]
Hdtv[1]
 
Encoder
EncoderEncoder
Encoder
 
Charla Asterisk - UPCI
Charla Asterisk - UPCICharla Asterisk - UPCI
Charla Asterisk - UPCI
 
IP TV Studios.SMPTE 2022-6 vs AVB.
IP TV Studios.SMPTE 2022-6 vs AVB.IP TV Studios.SMPTE 2022-6 vs AVB.
IP TV Studios.SMPTE 2022-6 vs AVB.
 
Telf ip parte ii_el629_2012v01
Telf ip parte ii_el629_2012v01Telf ip parte ii_el629_2012v01
Telf ip parte ii_el629_2012v01
 
Eycos
EycosEycos
Eycos
 
Protocolos de enrutamiento
Protocolos de enrutamientoProtocolos de enrutamiento
Protocolos de enrutamiento
 

Similar a Negociacion de Codecs en Asterisk

Protocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osiProtocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osi
Solxitlaly Guerra
 
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk   sixbell - v2.0Configuración básica asterisk   sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
Sebastian Cisternas Arenas
 
Fundamentos20de20telefonia20ip 131006193600-phpapp02
Fundamentos20de20telefonia20ip 131006193600-phpapp02Fundamentos20de20telefonia20ip 131006193600-phpapp02
Fundamentos20de20telefonia20ip 131006193600-phpapp02
myconta
 
Protocolos enrutamiento rip y rpt.ppt renovado
Protocolos enrutamiento rip y rpt.ppt renovadoProtocolos enrutamiento rip y rpt.ppt renovado
Protocolos enrutamiento rip y rpt.ppt renovado
Elvis Barahona Alvarado
 
4 tema de exposicion
4 tema de exposicion 4 tema de exposicion
4 tema de exposicion
JuanNoa9
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
maxicarri
 
Protocolos en las capas del modelo osi
Protocolos en las capas del modelo osiProtocolos en las capas del modelo osi
Protocolos en las capas del modelo osi
michrom
 
Protocolos en las capas del modelo osi
Protocolos en las capas del modelo osiProtocolos en las capas del modelo osi
Protocolos en las capas del modelo osi
michrom
 
Protocolos de red clase 2
Protocolos de red   clase 2Protocolos de red   clase 2
Protocolos de red clase 2
ing_jlcarrillo
 
Protocolosenlascapasdelmodeloosi
ProtocolosenlascapasdelmodeloosiProtocolosenlascapasdelmodeloosi
Protocolosenlascapasdelmodeloosi
Lovable
 
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT
4.	Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT 4.	Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT
Saul Curitomay
 
Protocolos en las capas del modelo osi
Protocolos en las capas del modelo osiProtocolos en las capas del modelo osi
Protocolos en las capas del modelo osi
michrom
 

Similar a Negociacion de Codecs en Asterisk (20)

Manejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCHManejo de Medios en FreeSWITCH
Manejo de Medios en FreeSWITCH
 
Protocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osiProtocolos de voip de acuerdo al modelo osi
Protocolos de voip de acuerdo al modelo osi
 
Configuración básica asterisk sixbell - v2.0
Configuración básica asterisk   sixbell - v2.0Configuración básica asterisk   sixbell - v2.0
Configuración básica asterisk sixbell - v2.0
 
Internet protocol-television
Internet protocol-televisionInternet protocol-television
Internet protocol-television
 
Fundamentos20de20telefonia20ip 131006193600-phpapp02
Fundamentos20de20telefonia20ip 131006193600-phpapp02Fundamentos20de20telefonia20ip 131006193600-phpapp02
Fundamentos20de20telefonia20ip 131006193600-phpapp02
 
Protocolos enrutamiento rip y rpt
Protocolos enrutamiento rip y rptProtocolos enrutamiento rip y rpt
Protocolos enrutamiento rip y rpt
 
Protocolos enrutamiento rip y rpt.ppt renovado
Protocolos enrutamiento rip y rpt.ppt renovadoProtocolos enrutamiento rip y rpt.ppt renovado
Protocolos enrutamiento rip y rpt.ppt renovado
 
4 tema de exposicion
4 tema de exposicion 4 tema de exposicion
4 tema de exposicion
 
Presentacion Voip
Presentacion VoipPresentacion Voip
Presentacion Voip
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
Iba2008 Servicios
Iba2008 ServiciosIba2008 Servicios
Iba2008 Servicios
 
Protocolos en las capas del modelo osi
Protocolos en las capas del modelo osiProtocolos en las capas del modelo osi
Protocolos en las capas del modelo osi
 
Protocolos en las capas del modelo osi
Protocolos en las capas del modelo osiProtocolos en las capas del modelo osi
Protocolos en las capas del modelo osi
 
Protocolos de red clase 2
Protocolos de red   clase 2Protocolos de red   clase 2
Protocolos de red clase 2
 
Protocolosenlascapasdelmodeloosi
ProtocolosenlascapasdelmodeloosiProtocolosenlascapasdelmodeloosi
Protocolosenlascapasdelmodeloosi
 
Protocolosenlascapasdelmodeloosi
ProtocolosenlascapasdelmodeloosiProtocolosenlascapasdelmodeloosi
Protocolosenlascapasdelmodeloosi
 
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT
4.	Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT 4.	Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT
4. Protocolos UNIX, NETWARE, MACINTOSH y MICROSOFT
 
Voip
VoipVoip
Voip
 
Protocolos en las capas del modelo osi
Protocolos en las capas del modelo osiProtocolos en las capas del modelo osi
Protocolos en las capas del modelo osi
 
Expo9
Expo9Expo9
Expo9
 

Más de Moises Silva

Más de Moises Silva (14)

FreeSWITCH Monitoring
FreeSWITCH MonitoringFreeSWITCH Monitoring
FreeSWITCH Monitoring
 
Scaling FreeSWITCH Performance
Scaling FreeSWITCH PerformanceScaling FreeSWITCH Performance
Scaling FreeSWITCH Performance
 
Interfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en CInterfaces de Scripting para librerias en C
Interfaces de Scripting para librerias en C
 
Vulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHPVulnerabilidades en Aplicaciones Web PHP
Vulnerabilidades en Aplicaciones Web PHP
 
Implementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in AsteriskImplementation Lessons using WebRTC in Asterisk
Implementation Lessons using WebRTC in Asterisk
 
SIP Testing with FreeSWITCH
SIP Testing with FreeSWITCHSIP Testing with FreeSWITCH
SIP Testing with FreeSWITCH
 
FreeSWITCH Modules for Asterisk Developers
FreeSWITCH Modules for Asterisk DevelopersFreeSWITCH Modules for Asterisk Developers
FreeSWITCH Modules for Asterisk Developers
 
FreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con EsteroidesFreeSWITCH: Asterisk con Esteroides
FreeSWITCH: Asterisk con Esteroides
 
Sangoma en el Ecosistema Open Source
Sangoma en el Ecosistema Open SourceSangoma en el Ecosistema Open Source
Sangoma en el Ecosistema Open Source
 
Media Handling in FreeSWITCH
Media Handling in FreeSWITCHMedia Handling in FreeSWITCH
Media Handling in FreeSWITCH
 
FreeTDM PRI Passive Recording
FreeTDM PRI Passive RecordingFreeTDM PRI Passive Recording
FreeTDM PRI Passive Recording
 
Asterisk PRI Passive Call Recording
Asterisk PRI Passive Call RecordingAsterisk PRI Passive Call Recording
Asterisk PRI Passive Call Recording
 
OpenR2 in Asterisk
OpenR2 in AsteriskOpenR2 in Asterisk
OpenR2 in Asterisk
 
FreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBCFreeSWITCH as a Kickass SBC
FreeSWITCH as a Kickass SBC
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (11)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 

Negociacion de Codecs en Asterisk

  • 1. Negociación de codecs en Asterisk Moisés Silva Ingeniero / Manager de Software moy@sangoma.com
  • 2. Agenda • Codecs de Audio • Transcoding • Negociación de Codecs • Transcoding con Sangoma © 2011 Sangoma 4/11/2011 2 Technologies
  • 3. Codecs de Audio © 2011 Sangoma Confidential 4/11/2011 3
  • 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. 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. 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. Codecs de Audio © 2011 Sangoma 4/11/2011 7 Technologies
  • 8. Transcoding © 2011 Sangoma Confidential 4/11/2011 8
  • 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. Asterisk Transcoding • Transcoding en una llamada de una sola pierna © 2011 Sangoma 4/11/2011 10 Technologies
  • 11. Asterisk Transcoding • Transcoding de 2 piernas SIP © 2011 Sangoma 4/11/2011 11 Technologies
  • 12. Pass-thru de Codecs • Asterisk puede hacer pass-thru del audio en algunos casos © 2011 Sangoma 4/11/2011 12 Technologies
  • 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. Asterisk Translators © 2011 Sangoma 4/11/2011 14 Technologies
  • 15. Asterisk Translators © 2011 Sangoma 4/11/2011 15 Technologies
  • 16. Negociación de codecs © 2011 Sangoma Confidential 4/11/2011 16
  • 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. 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. 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. Negociación de Codecs © 2011 Sangoma 4/11/2011 20 Technologies
  • 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. 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. Asterisk con “directmedia” © 2011 Sangoma 4/11/2011 23 Technologies
  • 24. Sangoma Transcoding © 2011 Sangoma Confidential 4/11/2011 24
  • 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. 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. Implementación Distribuida Servidor de Transcoding Servidor de Aplicación Asterisk Capa de traducc. sangoma_codec Cliente SOAP (libsngtc-node) Control RTP (Conexión SOAP TCP) (Voz) Servidor SOAP Servidor 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. 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. 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. Gracias! © 2011 Sangoma Confidential 4/11/2011 30

Notas del editor

  1. 11/25/12
  2. 11/25/12
  3. 11/25/12
  4. 11/25/12
  5. 11/25/12
  6. 11/25/12
  7. 11/25/12
  8. 11/25/12
  9. 11/25/12
  10. 11/25/12
  11. 11/25/12
  12. 11/25/12
  13. 11/25/12
  14. 11/25/12
  15. 11/25/12
  16. 11/25/12
  17. 11/25/12
  18. 11/25/12
  19. 11/25/12
  20. 11/25/12
  21. 11/25/12
  22. 11/25/12
  23. 11/25/12
  24. 11/25/12
  25. 11/25/12
  26. 11/25/12
  27. 11/25/12
  28. 11/25/12
  29. 11/25/12
  30. 11/25/12