SlideShare una empresa de Scribd logo
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

Más contenido relacionado

La actualidad más candente

Curso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: DialplanCurso de VoIP / Parte 03: Dialplan
Curso de VoIP / Parte 03: Dialplan
Irontec
 
Virtualización Avanzada con Elastix
Virtualización Avanzada con ElastixVirtualización Avanzada con Elastix
Virtualización Avanzada con Elastix
PaloSanto Solutions
 
Protocolos wan tema4_ciclo_i_2016
Protocolos wan tema4_ciclo_i_2016Protocolos wan tema4_ciclo_i_2016
Protocolos wan tema4_ciclo_i_2016
luisantonio222
 
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
PaloSanto Solutions
 
Conceptos nat
Conceptos natConceptos nat
Conceptos nat1 2d
 
I pv6 in_ccna_-_jpe
I pv6 in_ccna_-_jpeI pv6 in_ccna_-_jpe
I pv6 in_ccna_-_jpezocmaper
 
¿Estás preparado para IPv6?
¿Estás preparado para IPv6?¿Estás preparado para IPv6?
¿Estás preparado para IPv6?
Educática
 
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
jfirles
 
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
David Narváez
 
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
Educática
 
2.1 Controles de acceso Basicos
2.1 Controles de acceso   Basicos2.1 Controles de acceso   Basicos
2.1 Controles de acceso Basicos
David Narváez
 
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
Domingo Suarez Torres
 
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
PaloSanto Solutions
 
IPv6 llegó para quedarse
IPv6 llegó para quedarseIPv6 llegó para quedarse
IPv6 llegó para quedarse
Educática
 
Enrutamiento IPv6 OSPFv3
Enrutamiento IPv6 OSPFv3Enrutamiento IPv6 OSPFv3
Enrutamiento IPv6 OSPFv3
Jhoni Guerrero
 
Kamailio en Elastix 3
Kamailio en Elastix 3Kamailio en Elastix 3
Kamailio en Elastix 3
PaloSanto Solutions
 
IPv6 en entornos ISP
IPv6 en entornos ISPIPv6 en entornos ISP
IPv6 en entornos ISP
Prozcenter
 
Interactuando con a2billing
Interactuando con a2billingInteractuando con a2billing
Interactuando con a2billing
PaloSanto Solutions
 
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
Educática
 
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
 

La actualidad más candente (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
 

Similar a FreeSWITCH para usuarios Asterisk

Freeswitch para usuarios de asterisk
Freeswitch para usuarios de asteriskFreeswitch para usuarios de asterisk
Freeswitch para usuarios de asterisk
OpenDireito
 
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 mesquitaVOIP2DAY
 
Desarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nubeDesarrollo de aplicaciones en la nube
Desarrollo de aplicaciones en la nube
Daniel Cruz
 
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
Juan Manuel Rodriguez Burgos
 
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
excedesoft
 
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 ...
Francisco Javier Toscano Lopez
 
Servidor http
Servidor httpServidor http
Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"Webinar Gratuito "OWASP WebScarab"
Webinar Gratuito "OWASP WebScarab"Alonso Caballero
 
herramientas tecnológicas
herramientas tecnológicasherramientas tecnológicas
herramientas tecnológicas
Gerardo Linares
 
Documertar APIs - Meetup.js
Documertar APIs - Meetup.jsDocumertar APIs - Meetup.js
Documertar APIs - Meetup.js
Ezequiel Rial
 
Introduccion Java.ppt
Introduccion Java.pptIntroduccion Java.ppt
Introduccion Java.ppt
Valentin Choquehuanca
 
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 mexicoAmazon 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 1Wilian
 
LenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptxLenguajeJavaSpringBootDesarrolloweb.pptx
LenguajeJavaSpringBootDesarrolloweb.pptx
carrilloja98
 
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
Richard Eliseo Mendoza Gafaro
 
Construyendo una nube con OpenStack
Construyendo una nube con OpenStackConstruyendo una nube con OpenStack
Construyendo una nube con OpenStack
LibreCon
 
SQL Server 2017 soporte en Linux
SQL Server 2017 soporte en LinuxSQL Server 2017 soporte en Linux
SQL Server 2017 soporte en Linux
Eduardo Castro
 
Servidor Web Apache para Linux
Servidor Web Apache para LinuxServidor Web Apache para Linux
Servidor Web Apache para Linux
María del Cisne
 
13.servidor http
13.servidor http13.servidor http
13.servidor http
jackie_moncayo
 

Similar a 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
 

Más de PaloSanto Solutions

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?
PaloSanto Solutions
 
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...
PaloSanto Solutions
 
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
PaloSanto Solutions
 
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
PaloSanto Solutions
 
WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!WebRTC … ¡vamos a discar!
WebRTC … ¡vamos a discar!
PaloSanto Solutions
 
Integrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyXIntegrando encuestas automáticas con iSurveyX
Integrando encuestas automáticas con iSurveyX
PaloSanto Solutions
 
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
PaloSanto Solutions
 
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
PaloSanto Solutions
 
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
PaloSanto Solutions
 
Elastix unified communications server cookbook
Elastix unified communications server cookbookElastix unified communications server cookbook
Elastix unified communications server cookbook
PaloSanto Solutions
 
Seguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detalladoSeguridad en Asterisk: Un acercamiento detallado
Seguridad en Asterisk: Un acercamiento detallado
PaloSanto Solutions
 
Dynamic calls with Text To Speech
Dynamic calls with Text To SpeechDynamic calls with Text To Speech
Dynamic calls with Text To Speech
PaloSanto Solutions
 
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)
PaloSanto Solutions
 
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
PaloSanto Solutions
 
Asterisk: the future is at REST
Asterisk: the future is at RESTAsterisk: the future is at REST
Asterisk: the future is at REST
PaloSanto Solutions
 
Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia Presentacion Hardware Elastix 2015 - Colombia
Presentacion Hardware Elastix 2015 - Colombia
PaloSanto Solutions
 
Voicemail Avanzado
Voicemail AvanzadoVoicemail Avanzado
Voicemail Avanzado
PaloSanto Solutions
 
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
PaloSanto Solutions
 
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
PaloSanto Solutions
 
Plan de Marcado Distribuido con Dundi
Plan de Marcado Distribuido con DundiPlan de Marcado Distribuido con Dundi
Plan de Marcado Distribuido con Dundi
PaloSanto Solutions
 

Más de 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
 

Último

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
CrystalRomero18
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
AMADO SALVADOR
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
yuki22434
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
sofiahuarancabellido
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
SERVANDOBADILLOPOLEN
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
IsabelQuintero36
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
SandroNava1
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
AMADO SALVADOR
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
JulyMuoz18
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
tamarita881
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
AMADO SALVADOR
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
AMADO SALVADOR
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
JimmyTejadaSalizar
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Festibity
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
SofiaCollazos
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 

Último (20)

INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTALINFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
INFORME DE LAS FICHAS.docx.pdf LICEO DEPARTAMENTAL
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial ValenciaCatalogo general Ariston Amado Salvador distribuidor oficial Valencia
Catalogo general Ariston Amado Salvador distribuidor oficial Valencia
 
algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1algebra de boole teoria.pdf texto guia.1
algebra de boole teoria.pdf texto guia.1
 
Computacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajasComputacion cuántica y sus ventajas y desventajas
Computacion cuántica y sus ventajas y desventajas
 
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.COMPARATIVO DE SUBESTACIONES AIS VS GIS.
COMPARATIVO DE SUBESTACIONES AIS VS GIS.
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..ACTIVIDAD 2P de Tecnología, 10-7, 2024..
ACTIVIDAD 2P de Tecnología, 10-7, 2024..
 
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.pptTEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
TEMA 2-CARPAS SOLARES PARA PRODUCCION DE HORTALIZAS.ppt
 
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaCatalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador Valencia
 
Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5Conceptos Básicos de Programación L.D 10-5
Conceptos Básicos de Programación L.D 10-5
 
SISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsxSISTESIS RETO4 Grupo4 co-creadores .ppsx
SISTESIS RETO4 Grupo4 co-creadores .ppsx
 
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial ValenciaCatalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
Catalogo Buzones BTV Amado Salvador Distribuidor Oficial Valencia
 
maestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdfmaestria-motores-combustion-interna-alternativos (1).pdf
maestria-motores-combustion-interna-alternativos (1).pdf
 
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdfProjecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
Projecte Iniciativa TIC 2024 KAWARU CONSULTING. inCV.pdf
 
Trabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De ProgramaciónTrabajo tecnología sobre Conceptos Básicos De Programación
Trabajo tecnología sobre Conceptos Básicos De Programación
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 

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