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.
Manejo de Medios en
FreeSWITCH
Moisés Silva
Software Engineer / Manager
moy@sangoma.com
Agenda
•
•
•
•
•
•
•

Introducción a FreeSWITCH
Codecs de Audio
Transcoding
Negociación de Codecs
Bypass Media
Proxy Media...
Introducción a FreeSWITCH

© 2011 Sangoma Confidential

23/11/2011

3
FreeSWITCH (avoiding deadlock!)
• Solución en software de telefonía
• Auspiciado por el Open Source Telephony Advancement ...
FreeSWITCH
• Surge con la idea de tener una mejor plataforma que Asterisk
• Su author, Anthony Minessale, fué el mayor con...
FreeSWITCH – Protocolos VoIP
• SIP
– UDP, TCP, TLS, SCTP, SRTP, ZRTP, IPv6 …
• Gtalk (jingle)
• Skype
• RTMP
• H.323, Skin...
FreeSWITCH – Protocolos PSTN
• FXO / FXS
• PRI / BRI
• MFC-R2
• GSM
• SS7
• Soporte para varios proveedores de hardware (e...
FreeSWITCH – Lenguajes
• Lua
• PERL
• Ruby
• Python
• Java & .NET
• JavaScript

© 2011 Sangoma
Technologies

23/11/2011

8
FreeSWITCH – Aplicaciones Nativas
• Voicemail
• Colas para call centers
• Conferencias en alta definición
• Text to Speech...
FreeSWITCH – Aplicaciones
•
•
•
•
•
•
•
•
•
•

Softphone
VoIP gateway
PBX
Servidor de registros
Servidor de ruteo de llama...
FreeSWITCH – Hola Mundo

© 2011 Sangoma
Technologies

23/11/2011

11
FreeSWITCH – Hola Mundo (LUA)

© 2011 Sangoma
Technologies

23/11/2011

12
FreeSWITCH – Contestando SMS

© 2011 Sangoma
Technologies

23/11/2011

13
Codecs de Audio

© 2011 Sangoma Confidential

23/11/2011

14
Codecs de Audio
• Los codecs codifican y decodifican la voz para su transmisión
en la red.
– Algoritmo (technología de com...
Codecs de Audio
•

G.711 (PCMU/PCMA, Ulaw/Alaw) – Narrowband (banda angosta)
– 64kbps (Bit rate) – 64 mil bits por segundo...
Codecs en FreeSWITCH
• FreeSWITCH soporta una amplia gama de codecs
– Narrowband (G.711, G.726, G.723.1, G.729AB, Speex …)...
Codecs en FreeSWITCH

© 2011 Sangoma
Technologies

23/11/2011

18
Transcoding

© 2011 Sangoma Confidential

23/11/2011

19
Transcoding
• Requerido cuando los nodos no tienen codec en común
• FreeSWITCH debe permanecer en el path del audio
• Incr...
FreeSWITCH Transcoding
• Transcoding en una llamada con una sola pierna SIP

© 2011 Sangoma
Technologies

23/11/2011

21
FreeSWITCH Transcoding
• Transcoding con 2 piernas SIP

© 2011 Sangoma
Technologies

23/11/2011

22
FreeSWITCH codec pass-thru
• Llamada sin transcoding usando un codec proprietario

© 2011 Sangoma
Technologies

23/11/2011...
Negociación de Codecs

© 2011 Sangoma Confidential

23/11/2011

24
Negociación de Codecs
• Decisiones tomadas para elegir codecs compatibles en
una llamada
• De una lista de codecs, escoge ...
Negociación de Codecs
• 3 algoritmos de negociación
– Generoso (generous)
– Ambicioso (greedy)
– Scrooge (Bah HUMBUG!)
• E...
Negociación de Codecs

© 2011 Sangoma
Technologies

23/11/2011

27
Negociación Temprana (early negotiation)
• El modo por defecto en FreeSWITCH
• El codec a usar es seleccionado comparando ...
Negociación Temprana (early negotiation)

© 2011 Sangoma
Technologies

23/11/2011

29
Negociación Tardía (late negotiation)
• Negociación de codecs de forma “más inteligente”
• “inbound-late-negotiation” debe...
Negociación Tardía (late negotiation)
• Puedes examinar el SDP entrante y reescribirlo para
ajustarlo a tus necesidades
• ...
Negociación Tardía (late negotiation)

© 2011 Sangoma
Technologies

23/11/2011

32
Modos de Audio

© 2011 Sangoma Confidential

23/11/2011

33
Bypass Media
• El audio pasa alrededor de FreeSWITCH (no a través)
directamente entre los nodos
• La señalización SIP perm...
Bypass Media
• Puedes reproducir archivos de audio! (uuid_broadcast)
• uuid_media [off] puede re-invitar a FreeSWITCH dent...
Bypass Media

© 2011 Sangoma
Technologies

23/11/2011

36
Proxy Media
• También conocido como “transparent proxy mode”para
el RTP
• Ninguna manipulación del RTP está habilitada
• S...
Proxy Media
• Usa la variable “proxy_media=true” antes de ejecutar
“bridge”
• Usa el parámetro “inbound-proxy-media” en la...
Proxy Media

© 2011 Sangoma
Technologies

23/11/2011

39
Conclusión

© 2011 Sangoma Confidential

23/11/2011

40
Conclusión
• La flexibilidad de FreeSWITCH en manejo de audio y
señalización en muy amplia
• FreeSWITCH soporta virtualmen...
Gracias!
moy@sangoma.com

© 2011 Sangoma Confidential

23/11/2011

42
Upcoming SlideShare
Loading in …5
×

Manejo de Medios en FreeSWITCH

956 views

Published on

Entendiendo transcoding en FreeSWITCH

  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes.........ACCESS WEBSITE Over for All Ebooks ..... (Unlimited) ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Manejo de Medios en FreeSWITCH

  1. 1. Manejo de Medios en FreeSWITCH Moisés Silva Software Engineer / Manager moy@sangoma.com
  2. 2. Agenda • • • • • • • Introducción a FreeSWITCH Codecs de Audio Transcoding Negociación de Codecs Bypass Media Proxy Media Conclusion © 2011 Sangoma Technologies 23/11/2011 2
  3. 3. Introducción a FreeSWITCH © 2011 Sangoma Confidential 23/11/2011 3
  4. 4. FreeSWITCH (avoiding deadlock!) • Solución en software de telefonía • Auspiciado por el Open Source Telephony Advancement Group (OSTAG) • Licencia MPL • Escala desde soft-phone hasta softswitch clase 5 • Maneja audio, video, texto • Corre en Linux, BSD, MacOS, Windows y hasta iOS! © 2011 Sangoma Technologies 23/11/2011 4
  5. 5. FreeSWITCH • Surge con la idea de tener una mejor plataforma que Asterisk • Su author, Anthony Minessale, fué el mayor contribuyente a Asterisk por muchos años • Diseñado desde el principio para escalar • Altamente multi-thread • Reuso de muchos componentes (no reinventar la rueda) • Poderosa habilidad de ruteo usando expresiones regulares © 2011 Sangoma Technologies 23/11/2011 5
  6. 6. FreeSWITCH – Protocolos VoIP • SIP – UDP, TCP, TLS, SCTP, SRTP, ZRTP, IPv6 … • Gtalk (jingle) • Skype • RTMP • H.323, Skinny y más … © 2011 Sangoma Technologies 23/11/2011 6
  7. 7. FreeSWITCH – Protocolos PSTN • FXO / FXS • PRI / BRI • MFC-R2 • GSM • SS7 • Soporte para varios proveedores de hardware (ej. Sangoma, Digium, Kohmp e incluso algo de PIKA) © 2011 Sangoma Technologies 23/11/2011 7
  8. 8. FreeSWITCH – Lenguajes • Lua • PERL • Ruby • Python • Java & .NET • JavaScript © 2011 Sangoma Technologies 23/11/2011 8
  9. 9. FreeSWITCH – Aplicaciones Nativas • Voicemail • Colas para call centers • Conferencias en alta definición • Text to Speech y reconocimiento de voz • FAX, T.30 y T.38 © 2011 Sangoma Technologies 23/11/2011 9
  10. 10. FreeSWITCH – Aplicaciones • • • • • • • • • • Softphone VoIP gateway PBX Servidor de registros Servidor de ruteo de llamadas Servidor de transcoding Session border controller Servidor de conferencias Marcador predictivo Servidor de fax © 2011 Sangoma Technologies 23/11/2011 10
  11. 11. FreeSWITCH – Hola Mundo © 2011 Sangoma Technologies 23/11/2011 11
  12. 12. FreeSWITCH – Hola Mundo (LUA) © 2011 Sangoma Technologies 23/11/2011 12
  13. 13. FreeSWITCH – Contestando SMS © 2011 Sangoma Technologies 23/11/2011 13
  14. 14. Codecs de Audio © 2011 Sangoma Confidential 23/11/2011 14
  15. 15. Codecs de Audio • Los codecs codifican y decodifican la voz para su transmisión en la red. – Algoritmo (technología de compresión) – Bit rate – Sampling rate – Paquetización • El algoritmo es el alma del codec (la salsa secreta!) • El bit rate define el ancho de banda requerido (cuantos bits por segundo) • El sampling rate define la calidad (parcialmente) • La paquetización afecta la latencia y el consumo de ancho de banda © 2011 Sangoma Technologies 23/11/2011 15
  16. 16. Codecs de Audio • G.711 (PCMU/PCMA, Ulaw/Alaw) – Narrowband (banda angosta) – 64kbps (Bit rate) – 64 mil bits por segundo son transferidos – 8kHz (Sampling rate) – 8 mil muestras de audio por segundo – 10ms, 20ms, 30ms, 40ms … + (paquetización) cada cuanto se transmite un paquete de audio • G.722 – Wideband (banda ancha) – 48kbps, 56kbps and 64kbps – 16kHz (IANA lo especifica a 8kHz debido a un error histórico en el RFC1890) – 10ms, 20ms, 30ms, 40ms … + • G.722.1 Annex C - Ultra-wideband (ultra banda ancha) – 48kbps (Nota que son menos bits por segundo que PCMU!) – 32kHz (Cada vez mas cerca a la calidad de audio de un CD) – 20ms, 40ms, 60ms © 2011 Sangoma Technologies 23/11/2011 16
  17. 17. Codecs en FreeSWITCH • FreeSWITCH soporta una amplia gama de codecs – Narrowband (G.711, G.726, G.723.1, G.729AB, Speex …) – Wideband (G.722, G.722.1, G.722.2, Speex …) – Ultra-wideband (G.722.1C, Speex) – CD-quality (CELT) • El core de FreeSWITCH requiere el audio en formato L16 (signed linear) para su manipulación (mezcla, detección de tonos, etc) • Los módulos de codec hacen transcoding de/hacia el formato L16 • Los módulos de codec “pass-thru” no hacen transcoding (mod_g729, mod_g723_1) © 2011 Sangoma Technologies 23/11/2011 17
  18. 18. Codecs en FreeSWITCH © 2011 Sangoma Technologies 23/11/2011 18
  19. 19. Transcoding © 2011 Sangoma Confidential 23/11/2011 19
  20. 20. Transcoding • Requerido cuando los nodos no tienen codec en común • FreeSWITCH debe permanecer en el path del audio • Incrementa sustancialmente el uso del CPU si se hace en software (posible hacerlo en hardware) • Es tipicamente necesario para: – Grabación de llamadas – Detección de tonos – Conferencias © 2011 Sangoma Technologies 23/11/2011 20
  21. 21. FreeSWITCH Transcoding • Transcoding en una llamada con una sola pierna SIP © 2011 Sangoma Technologies 23/11/2011 21
  22. 22. FreeSWITCH Transcoding • Transcoding con 2 piernas SIP © 2011 Sangoma Technologies 23/11/2011 22
  23. 23. FreeSWITCH codec pass-thru • Llamada sin transcoding usando un codec proprietario © 2011 Sangoma Technologies 23/11/2011 23
  24. 24. Negociación de Codecs © 2011 Sangoma Confidential 23/11/2011 24
  25. 25. Negociación de Codecs • Decisiones tomadas para elegir codecs compatibles en una llamada • De una lista de codecs, escoge al menos uno! • FreeSWITCH te permite elegir cuando (negociación temprana vs tardía) • “Early” sucede antes de que la llamada llegue al plan de marcado • “Late” sucede cuando la pierna necesita audio © 2011 Sangoma Technologies 23/11/2011 25
  26. 26. Negociación de Codecs • 3 algoritmos de negociación – Generoso (generous) – Ambicioso (greedy) – Scrooge (Bah HUMBUG!) • Escoge usando inbound-codec-negotiation en tu configuración SIP • Usa la variable sip_codec_negotiation para alterar la negociación desde el plan de marcado © 2011 Sangoma Technologies 23/11/2011 26
  27. 27. Negociación de Codecs © 2011 Sangoma Technologies 23/11/2011 27
  28. 28. Negociación Temprana (early negotiation) • El modo por defecto en FreeSWITCH • El codec a usar es seleccionado comparando el SDP contra “inbound-codec-prefs” en la configuración SIP • “disable-transcoding” ofrece el mismo codec seleccionado para la pierna entrante a la pierna de salida • “absolute_codec_str” forza la oferta del codec a la lista especificada (incluso si es un codec no soportado!) © 2011 Sangoma Technologies 23/11/2011 28
  29. 29. Negociación Temprana (early negotiation) © 2011 Sangoma Technologies 23/11/2011 29
  30. 30. Negociación Tardía (late negotiation) • Negociación de codecs de forma “más inteligente” • “inbound-late-negotiation” debe ser “true” en la configuración SIP • La llamada se recibe en el plan de marcado sin revisar los codecs • La negociación ocurre cuando se necesita el audio © 2011 Sangoma Technologies 23/11/2011 30
  31. 31. Negociación Tardía (late negotiation) • Puedes examinar el SDP entrante y reescribirlo para ajustarlo a tus necesidades • La variable “inherit_codec” está disponible para usar el codec seleccionado en la pierna saliente para la pierna entrante • La variable “ep_codec_string” contiene los codecs ofrecidos por el nodo entrante © 2011 Sangoma Technologies 23/11/2011 31
  32. 32. Negociación Tardía (late negotiation) © 2011 Sangoma Technologies 23/11/2011 32
  33. 33. Modos de Audio © 2011 Sangoma Confidential 23/11/2011 33
  34. 34. Bypass Media • El audio pasa alrededor de FreeSWITCH (no a través) directamente entre los nodos • La señalización SIP permanece en FreeSWITCH • Habilitado usando la variable “bypass_media=true” antes de ejecutar la aplicación “bridge” • Usa “inbound-no-media” or “inbound-bypass-media” en la configuracón SIP si deseas hacerlo para todas las llamadas © 2011 Sangoma Technologies 23/11/2011 34
  35. 35. Bypass Media • Puedes reproducir archivos de audio! (uuid_broadcast) • uuid_media [off] puede re-invitar a FreeSWITCH dentro y fuera del path de audio • Grabación de llamadas fallará a menos de que pongas a FreeSWITCH de nuevo en el path de audio manualmente © 2011 Sangoma Technologies 23/11/2011 35
  36. 36. Bypass Media © 2011 Sangoma Technologies 23/11/2011 36
  37. 37. Proxy Media • También conocido como “transparent proxy mode”para el RTP • Ninguna manipulación del RTP está habilitada • Solo el atributo “c=” en el SDP is modificado • Permite que FreeSWITCH pase audio en codecs que no soporta © 2011 Sangoma Technologies 23/11/2011 37
  38. 38. Proxy Media • Usa la variable “proxy_media=true” antes de ejecutar “bridge” • Usa el parámetro “inbound-proxy-media” en la configuración SIP si deseas hacerlo en todas las llamadas • En la mayoría de los casos querras habilitar tambien “late negotiation” © 2011 Sangoma Technologies 23/11/2011 38
  39. 39. Proxy Media © 2011 Sangoma Technologies 23/11/2011 39
  40. 40. Conclusión © 2011 Sangoma Confidential 23/11/2011 40
  41. 41. Conclusión • La flexibilidad de FreeSWITCH en manejo de audio y señalización en muy amplia • FreeSWITCH soporta virtualmente cualquier codec de la industria (y agregar nuevos codecs es un proceso simple) • FreeSWITCH tiene la capacidad de transportar formatos de audio desconocidos • El transcoding puede ser efectuado en software o hardware © 2011 Sangoma Technologies 23/11/2011 41
  42. 42. Gracias! moy@sangoma.com © 2011 Sangoma Confidential 23/11/2011 42

×