Más contenido relacionado La actualidad más candente (20) Similar a Negociacion de Codecs en Asterisk (20) Negociacion de Codecs en Asterisk2. Agenda
• Codecs de Audio
• Transcoding
• Negociación de Codecs
• Transcoding con Sangoma
© 2011 Sangoma
4/11/2011 2
Technologies
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
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
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
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
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
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
Notas del editor 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12 11/25/12