SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
Qué es FreeSWITCH™?

FreeSWITCH™ es:

•    Una libreria
•    Un Softswitch
•    Un softphone
•    Una PBX IP



       Wikipedia: “FreeSWITCH™ is a free and open source
       communications software for the creation of voice and
       messaging products.”
Qué NO es FreeSWITCH™?

FreeSWITCH™ NO es:

•  Un SIP Proxy
•  Un polvo magico que soluciona todos nuestro problemas
•  Fácil – You have to know what you’re doing
De donde viene?

•  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_odbc
Objetivos del proyecto

•  Estabilidad
•  Escalabilidad
•  Abstracción
Como lograr?

•  Usando librerias ya existentes como:
   •  Libsofia para SIP
   •  Apache Portable Runtime para ser
      multiplataforma
   •  SQLite para base de datos
   •  PCRE para expresiones regulares
   •  Muchas otras…
Arquitectura
Configuración
•  FreeSWITCH utiliza XML internamente para su
   configuración
•  La configuración es cargada en memoria durante la
   ejecución
•  La configuración puede ser totalmente dinámica
    •  Cada vez que algun componente pide por
       configuración, otros modulos tienen la
       oportunidad de proveerla siempre y cuando la
       respuesta sea XML.
Directory
•  Es un repositório de usuarios organizados por
   dominio
    •  1000@khomp.com.ar != 1000@freeswitch.org
•  Las informaciones contenidas en el directorio son
   relevantes unicamente al modulo/tecnologia que
   pide por el usuario
•  El directorio es agnostico a tecnologia
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 en
       canales e incluso para cola de SQL utilizado pelo
       core
Observable


    B llama método de A
A                                  B




            Requiere cambio en la estructura de B

C

                  MALA PRAXIS, B no tendría que saber
                  del funcionamiento de A o C.
Observable



A                  B



                    EVENTO
                    INTERESANTE


                  Event
C
                 System
Pero, que és un evento?
Event-Subclass: sofia::register
Event-Name: CUSTOM
Core-UUID: fa05978b-1302-4b91-b7ee-8a37dc35f59d
FreeSWITCH-Hostname: hostname
FreeSWITCH-Switchname: hostname
FreeSWITCH-IPv4: X.X.X.X
Event-Date-Local: 2012-09-24 04:21:26
profile-name: internal
from-user: 1000
from-host: X.X.X.X
contact: "user" <sip:1000@X.X.X.X40811;line=30510>
status: Registered(UDP)
expires: 10
to-user: 1000
to-host: X.X.X.X
network-port: 40811
username: 1000
user-agent: snom-m3-SIP/02.11 (MAC=0004132A2E81; HW=1)
¿Y a mi qué?
•  Event Socket Library
    •  Es un event consumer que “escribe” los eventos
       en un socket TCP
    •  Libesl posee un protocolo
    •  Fs_cli == asterisk –r
    •  Libesl posee bindings para varios lenguajes a
       traves de un wrapper C++ y SWIG
        •  PHP, Python, Perl, Lua, C#, etc…
Aplicaciones
FSGui
Obrigado!


João Mesquita
jmesquita@khomp.com.ar / jmesquita@freeswitch.org
(54 11) 5917-6025
(54 9 11) 4191-4843

Weitere ähnliche Inhalte

Was ist angesagt?

Conceptos nat
Conceptos natConceptos nat
Conceptos nat
1 2d
 
I pv6 in_ccna_-_jpe
I pv6 in_ccna_-_jpeI pv6 in_ccna_-_jpe
I pv6 in_ccna_-_jpe
zocmaper
 
Nat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funcionaNat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funciona
queches
 

Was ist angesagt? (20)

Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: Dialplan
 
Virtualización Avanzada con Elastix
Virtualización Avanzada con ElastixVirtualización Avanzada con Elastix
Virtualización Avanzada con Elastix
 
Protocolos wan tema4_ciclo_i_2016
Protocolos wan tema4_ciclo_i_2016Protocolos wan tema4_ciclo_i_2016
Protocolos wan tema4_ciclo_i_2016
 
Usando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MTUsando el módulo PIKE en Elastix MT
Usando el módulo PIKE en Elastix MT
 
Conceptos nat
Conceptos natConceptos nat
Conceptos nat
 
I pv6 in_ccna_-_jpe
I pv6 in_ccna_-_jpeI pv6 in_ccna_-_jpe
I pv6 in_ccna_-_jpe
 
¿Estás preparado para IPv6?
¿Estás preparado para IPv6?¿Estás preparado para IPv6?
¿Estás preparado para IPv6?
 
VOIP2DAY 2013: Construyendo una centralita virtual con FreeSWITCH
VOIP2DAY 2013: Construyendo una centralita virtual con FreeSWITCHVOIP2DAY 2013: Construyendo una centralita virtual con FreeSWITCH
VOIP2DAY 2013: Construyendo una centralita virtual con FreeSWITCH
 
4.1 Gestión de trafico NAT
4.1 Gestión de trafico   NAT4.1 Gestión de trafico   NAT
4.1 Gestión de trafico NAT
 
IPv6 en la certificación CCNA R&S
IPv6 en la certificación CCNA R&SIPv6 en la certificación CCNA R&S
IPv6 en la certificación CCNA R&S
 
2.1 Controles de acceso Basicos
2.1 Controles de acceso   Basicos2.1 Controles de acceso   Basicos
2.1 Controles de acceso Basicos
 
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de KubernetesCloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
Cloud Native MX Meetup - Asegurando tu Cluster de Kubernetes
 
SBCs como respuesta al soporte seguro de usuarios remotos. Casos de uso
SBCs como respuesta al soporte seguro de usuarios remotos. Casos de usoSBCs como respuesta al soporte seguro de usuarios remotos. Casos de uso
SBCs como respuesta al soporte seguro de usuarios remotos. Casos de uso
 
IPv6 llegó para quedarse
IPv6 llegó para quedarseIPv6 llegó para quedarse
IPv6 llegó para quedarse
 
Enrutamiento IPv6 OSPFv3
Enrutamiento IPv6 OSPFv3Enrutamiento IPv6 OSPFv3
Enrutamiento IPv6 OSPFv3
 
Kamailio en Elastix 3
Kamailio en Elastix 3Kamailio en Elastix 3
Kamailio en Elastix 3
 
IPv6 en entornos ISP
IPv6 en entornos ISPIPv6 en entornos ISP
IPv6 en entornos ISP
 
Interactuando con a2billing
Interactuando con a2billingInteractuando con a2billing
Interactuando con a2billing
 
Estado de la Implementación de IPv6 v3.0
Estado de la Implementación de IPv6 v3.0Estado de la Implementación de IPv6 v3.0
Estado de la Implementación de IPv6 v3.0
 
Nat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funcionaNat (network address translation) qué es y cómo funciona
Nat (network address translation) qué es y cómo funciona
 

Ähnlich wie FreeSWITCH para usuarios Asterisk

voip2day 2012 - Free switch para usuarios de asterisk by joao mesquita
voip2day 2012 - Free switch para usuarios de asterisk by  joao mesquitavoip2day 2012 - Free switch para usuarios de asterisk by  joao mesquita
voip2day 2012 - Free switch para usuarios de asterisk by joao mesquita
VOIP2DAY
 
Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"
Alonso Caballero
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
Amazon Web Services LATAM
 
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1
Wilian
 

Ähnlich wie FreeSWITCH para usuarios Asterisk (20)

Freeswitch para usuarios de asterisk
Freeswitch para usuarios de asteriskFreeswitch para usuarios de asterisk
Freeswitch para usuarios de asterisk
 
voip2day 2012 - Free switch para usuarios de asterisk by joao mesquita
voip2day 2012 - Free switch para usuarios de asterisk by  joao mesquitavoip2day 2012 - Free switch para usuarios de asterisk by  joao mesquita
voip2day 2012 - Free switch para usuarios de asterisk by joao mesquita
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Symfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony FrameworkSymfony-Community: Introducción a Symfony Framework
Symfony-Community: Introducción a Symfony Framework
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
Servidor http
Servidor httpServidor http
Servidor http
 
Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
 
Documertar APIs - Meetup.js
Documertar APIs - Meetup.jsDocumertar APIs - Meetup.js
Documertar APIs - Meetup.js
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
 
Introduccion a elastic beanstalk aws roadshow bogota mexico
Introduccion a elastic beanstalk   aws roadshow bogota mexicoIntroduccion a elastic beanstalk   aws roadshow bogota mexico
Introduccion a elastic beanstalk aws roadshow bogota mexico
 
Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1Curso TIC de PHP y MSQL Parte 1
Curso TIC de PHP y MSQL Parte 1
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptx
 
Mantenimiento Servidores de-web
Mantenimiento Servidores de-webMantenimiento Servidores de-web
Mantenimiento Servidores de-web
 
Semana 7 Servicios Web API REST con Mongodb
Semana 7   Servicios Web API REST con MongodbSemana 7   Servicios Web API REST con Mongodb
Semana 7 Servicios Web API REST con Mongodb
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStack
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en Linux
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
 
13.servidor http
13.servidor http13.servidor http
13.servidor http
 

Mehr von PaloSanto Solutions

Mehr von PaloSanto Solutions (20)

Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
Voip y Big Data, ¿Cómo aplicar analytics a la VoIP?
 
Innovative technology for universal communication designed to involve the (he...
Innovative technology for universal communication designed to involve the (he...Innovative technology for universal communication designed to involve the (he...
Innovative technology for universal communication designed to involve the (he...
 
Queuemetrics esencial, de la implementación a reportes avanzadas
Queuemetrics esencial, de la implementación a reportes avanzadasQueuemetrics esencial, de la implementación a reportes avanzadas
Queuemetrics esencial, de la implementación a reportes avanzadas
 
La evolución de la telefonía IP a comunicaciones unificadas
La evolución de la telefonía IP a comunicaciones unificadasLa evolución de la telefonía IP a comunicaciones unificadas
La evolución de la telefonía IP a comunicaciones unificadas
 
WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!
 
Integrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyXIntegrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyX
 
Todo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBXTodo lo lo que necesita saber para implementar FreePBX
Todo lo lo que necesita saber para implementar FreePBX
 
Gestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMSGestión de la Información de Desempeño con OpenNMS
Gestión de la Información de Desempeño con OpenNMS
 
Escalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIPEscalado y balanceo de carga de sistemas SIP
Escalado y balanceo de carga de sistemas SIP
 
Elastix unified communications server cookbook
Elastix unified communications server cookbookElastix unified communications server cookbook
Elastix unified communications server cookbook
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
 
Dynamic calls with Text To Speech
Dynamic calls with Text To SpeechDynamic calls with Text To Speech
Dynamic calls with Text To Speech
 
Proceso de migración de telefonía tradicional a Elastix (Caso)
Proceso de migración de telefonía tradicional a Elastix (Caso)Proceso de migración de telefonía tradicional a Elastix (Caso)
Proceso de migración de telefonía tradicional a Elastix (Caso)
 
Building a new ecosystem for interoperable communications
Building a new ecosystem for interoperable communicationsBuilding a new ecosystem for interoperable communications
Building a new ecosystem for interoperable communications
 
Asterisk: the future is at REST
Asterisk: the future is at RESTAsterisk: the future is at REST
Asterisk: the future is at REST
 
Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia
 
Voicemail Avanzado
Voicemail AvanzadoVoicemail Avanzado
Voicemail Avanzado
 
Módulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de ElastixMódulo de Alta Disponibilidad de Elastix
Módulo de Alta Disponibilidad de Elastix
 
Porteros IP SURiX con sin Video - Aplicaciones - Casos de éxito - Configuración
Porteros IP SURiX con sin Video - Aplicaciones - Casos de éxito - ConfiguraciónPorteros IP SURiX con sin Video - Aplicaciones - Casos de éxito - Configuración
Porteros IP SURiX con sin Video - Aplicaciones - Casos de éxito - Configuración
 
Plan de Marcado Distribuido con Dundi
Plan de Marcado Distribuido con DundiPlan de Marcado Distribuido con Dundi
Plan de Marcado Distribuido con Dundi
 

Kürzlich hochgeladen

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
 

Kürzlich hochgeladen (11)

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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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
 
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.
 
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
 
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
 
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...
 
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
 
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
 
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
 

FreeSWITCH para usuarios Asterisk

  • 1.
  • 2. Qué es FreeSWITCH™? FreeSWITCH™ es: •  Una libreria •  Un Softswitch •  Un softphone •  Una PBX IP Wikipedia: “FreeSWITCH™ is a free and open source communications software for the creation of voice and messaging products.”
  • 3. Qué NO es FreeSWITCH™? FreeSWITCH™ NO es: •  Un SIP Proxy •  Un polvo magico que soluciona todos nuestro problemas •  Fácil – You have to know what you’re doing
  • 4. De donde viene? •  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_odbc
  • 5. Objetivos del proyecto •  Estabilidad •  Escalabilidad •  Abstracción
  • 6. Como lograr? •  Usando librerias ya existentes como: •  Libsofia para SIP •  Apache Portable Runtime para ser multiplataforma •  SQLite para base de datos •  PCRE para expresiones regulares •  Muchas otras…
  • 8. Configuración •  FreeSWITCH utiliza XML internamente para su configuración •  La configuración es cargada en memoria durante la ejecución •  La configuración puede ser totalmente dinámica •  Cada vez que algun componente pide por configuración, otros modulos tienen la oportunidad de proveerla siempre y cuando la respuesta sea XML.
  • 9. Directory •  Es un repositório de usuarios organizados por dominio •  1000@khomp.com.ar != 1000@freeswitch.org •  Las informaciones contenidas en el directorio son relevantes unicamente al modulo/tecnologia que pide por el usuario •  El directorio es agnostico a tecnologia
  • 10. 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 en canales e incluso para cola de SQL utilizado pelo core
  • 11. Observable B llama método de A A B Requiere cambio en la estructura de B C MALA PRAXIS, B no tendría que saber del funcionamiento de A o C.
  • 12. Observable A B EVENTO INTERESANTE Event C System
  • 13. Pero, que és un evento? Event-Subclass: sofia::register Event-Name: CUSTOM Core-UUID: fa05978b-1302-4b91-b7ee-8a37dc35f59d FreeSWITCH-Hostname: hostname FreeSWITCH-Switchname: hostname FreeSWITCH-IPv4: X.X.X.X Event-Date-Local: 2012-09-24 04:21:26 profile-name: internal from-user: 1000 from-host: X.X.X.X contact: "user" <sip:1000@X.X.X.X40811;line=30510> status: Registered(UDP) expires: 10 to-user: 1000 to-host: X.X.X.X network-port: 40811 username: 1000 user-agent: snom-m3-SIP/02.11 (MAC=0004132A2E81; HW=1)
  • 14. ¿Y a mi qué? •  Event Socket Library •  Es un event consumer que “escribe” los eventos en un socket TCP •  Libesl posee un protocolo •  Fs_cli == asterisk –r •  Libesl posee bindings para varios lenguajes a traves de un wrapper C++ y SWIG •  PHP, Python, Perl, Lua, C#, etc…
  • 16. FSGui
  • 17. Obrigado! João Mesquita jmesquita@khomp.com.ar / jmesquita@freeswitch.org (54 11) 5917-6025 (54 9 11) 4191-4843