Top Banner
17

FreeSWITCH para usuarios Asterisk

Jun 21, 2015

Download

Technology

Elastix

Joao Mesquita
Khomp
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FreeSWITCH para usuarios Asterisk
Page 2: FreeSWITCH para usuarios Asterisk

FreeSWITCH™ es: •  Una libreria •  Un Softswitch •  Un softphone •  Una PBX IP

Qué es FreeSWITCH™?

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

Page 3: FreeSWITCH para usuarios Asterisk

FreeSWITCH™ NO es: •  Un SIP Proxy •  Un polvo magico que soluciona todos nuestro problemas •  Fácil – You have to know what you’re doing

Qué NO es FreeSWITCH™?

Page 4: FreeSWITCH para usuarios Asterisk

•  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

De donde viene?

Page 5: FreeSWITCH para usuarios Asterisk

•  Estabilidad •  Escalabilidad •  Abstracción

Objetivos del proyecto

Page 6: FreeSWITCH para usuarios Asterisk

•  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…

Como lograr?

Page 7: FreeSWITCH para usuarios Asterisk

Arquitectura

Page 8: FreeSWITCH para usuarios Asterisk

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.

Page 9: FreeSWITCH para usuarios Asterisk

Directory

•  Es un repositório de usuarios organizados por dominio •  [email protected] != [email protected]

•  Las informaciones contenidas en el directorio son relevantes unicamente al modulo/tecnologia que pide por el usuario

•  El directorio es agnostico a tecnologia

Page 10: FreeSWITCH para usuarios Asterisk

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

Page 11: FreeSWITCH para usuarios Asterisk

Observable

A B B llama método de A

C

Requiere cambio en la estructura de B

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

Page 12: FreeSWITCH para usuarios Asterisk

Observable

A B

C Event System

EVENTO INTERESANTE

Page 13: FreeSWITCH para usuarios Asterisk

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:[email protected];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)

Page 14: FreeSWITCH para usuarios Asterisk

¿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…

Page 15: FreeSWITCH para usuarios Asterisk

Aplicaciones

Page 16: FreeSWITCH para usuarios Asterisk

FSGui

Page 17: FreeSWITCH para usuarios Asterisk

Obrigado! João Mesquita [email protected] / [email protected] (54 11) 5917-6025 (54 9 11) 4191-4843