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.

voip2day 2012 - Free switch para usuarios de asterisk by joao mesquita

189 views

Published on

  • Be the first to comment

  • Be the first to like this

voip2day 2012 - Free switch para usuarios de asterisk by joao mesquita

  1. 1. FreeSWITCH™ es:•  Una libreria•  Un Softswitch•  Un softphone•  Una PBX IPQué es FreeSWITCH™?Wikipedia: “FreeSWITCH™ is a free and open sourcecommunications software for the creation of voice andmessaging products.”
  2. 2. FreeSWITCH™ NO es:•  Un SIP Proxy•  Un polvo magico que soluciona todos nuestro problemas•  Fácil – You have to know what you’re doingQué NO es FreeSWITCH™?
  3. 3. •  Viene de Asterisk•  No comparte codigo de Asterisk•  Creado por Anthony Minessale II•  Tony escribió los siguientes “apps” de Asterisk:•  App_chanspy•  App_dumpchan•  App_realtime•  Res_odbcDe donde viene?
  4. 4. •  Estabilidad•  Escalabilidad•  AbstracciónObjetivos del proyecto
  5. 5. •  Usando librerias ya existentes como:•  Libsofia para SIP•  Apache Portable Runtime para sermultiplataforma•  SQLite para base de datos•  PCRE para expresiones regulares•  Muchas otras…Como lograr?
  6. 6. Arquitectura
  7. 7. Configuración•  FreeSWITCH utiliza XML internamente para suconfiguración•  La configuración es cargada en memoria durante laejecución•  La configuración puede ser totalmente dinámica•  Cada vez que algun componente pide porconfiguración, otros modulos tienen laoportunidad de proveerla siempre y cuando larespuesta sea XML.
  8. 8. Directory•  Es un repositório de usuarios organizados pordominio•  1000@khomp.com.ar != 1000@freeswitch.org•  Las informaciones contenidas en el directorio sonrelevantes unicamente al modulo/tecnologia quepide por el usuario•  El directorio es agnostico a tecnologia
  9. 9. Eventos, eventos•  Subsistema de eventos sigue el patrón“observable”•  Es el medio de comunicación entre modulos•  Es utilizado para execución de aplicaciones encanales e incluso para cola de SQL utilizado pelocore
  10. 10. ObservableA BB llama método de ACRequiere cambio en la estructura de BMALA PRAXIS, B no tendría que saberdel funcionamiento de A o C.
  11. 11. ObservableA BCEventSystemEVENTOINTERESANTE
  12. 12. Pero, que és un evento?Event-Subclass: sofia::registerEvent-Name: CUSTOMCore-UUID: fa05978b-1302-4b91-b7ee-8a37dc35f59dFreeSWITCH-Hostname: hostnameFreeSWITCH-Switchname: hostnameFreeSWITCH-IPv4: X.X.X.XEvent-Date-Local: 2012-09-24 04:21:26profile-name: internalfrom-user: 1000from-host: X.X.X.Xcontact: "user" <sip:1000@X.X.X.X40811;line=30510>status: Registered(UDP)expires: 10to-user: 1000to-host: X.X.X.Xnetwork-port: 40811username: 1000user-agent: snom-m3-SIP/02.11 (MAC=0004132A2E81; HW=1)
  13. 13. ¿Y a mi qué?•  Event Socket Library•  Es un event consumer que “escribe” los eventosen un socket TCP•  Libesl posee un protocolo•  Fs_cli == asterisk –r•  Libesl posee bindings para varios lenguajes atraves de un wrapper C++ y SWIG•  PHP, Python, Perl, Lua, C#, etc…
  14. 14. Aplicaciones
  15. 15. FSGui
  16. 16. Obrigado!João Mesquitajmesquita@khomp.com.ar / jmesquita@freeswitch.org(54 11) 5917-6025(54 9 11) 4191-4843

×