Presentation from Asterisk conference on designing a High Availability Asterisk cluster. Covers the current state of HA, available open source products vs closed source, VoIP service continuity, synchronization of configuration, etc.
Introductory Overview to Managing AWS with TerraformMichael Heyns
From the AWS NZ Auckland Community Meetup - May 4th 2017
https://www.meetup.com/AWS_NZ/events/236169428/
We get a first look at Hashicorp's Terraform and how to use it for Infrastructure as Code with Amazon Web Services.
We'll also share how it fits in with our current CI/CD workflow at the Invenco cloud services team
Sample code available at https://github.com/beanaroo/aws_nz_meetup-terraform_intro
This presentation features a walk through the Linux kernel networking stack covering the essentials and recent developments a developer needs to know. Our starting point is the network card driver as it feeds a packet into the stack. We will follow the packet as it traverses through various subsystems such as packet filtering, routing, protocol stacks, and the socket layer. We will pause here and there to look into concepts such as segmentation offloading, TCP small queues, and low latency polling. We will cover APIs exposed by the kernel that go beyond use of write()/read() on sockets and will look into how they are implemented on the kernel side.
Presentation from Asterisk conference on designing a High Availability Asterisk cluster. Covers the current state of HA, available open source products vs closed source, VoIP service continuity, synchronization of configuration, etc.
Introductory Overview to Managing AWS with TerraformMichael Heyns
From the AWS NZ Auckland Community Meetup - May 4th 2017
https://www.meetup.com/AWS_NZ/events/236169428/
We get a first look at Hashicorp's Terraform and how to use it for Infrastructure as Code with Amazon Web Services.
We'll also share how it fits in with our current CI/CD workflow at the Invenco cloud services team
Sample code available at https://github.com/beanaroo/aws_nz_meetup-terraform_intro
This presentation features a walk through the Linux kernel networking stack covering the essentials and recent developments a developer needs to know. Our starting point is the network card driver as it feeds a packet into the stack. We will follow the packet as it traverses through various subsystems such as packet filtering, routing, protocol stacks, and the socket layer. We will pause here and there to look into concepts such as segmentation offloading, TCP small queues, and low latency polling. We will cover APIs exposed by the kernel that go beyond use of write()/read() on sockets and will look into how they are implemented on the kernel side.
A guide to deploying an initial Docker Swarm mode network and then incorporating Asterisk into that swarm. Commands, a discussion of host mode vs overlay networking, and the basics of a deployable Docker Swarm mode Stack file are all covered.
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesPeter Hlavaty
In our recent work we targeted also win32k, what seems to be fruit giving target. @promised_lu made our own TTF-fuzzer which comes with bunch of results in form of gigabytes of crashes and various bugs. Fortunately windows make great work and in February most of our bugs was dead - patched, but not all of them…
Whats left were looking as seemingly unexploitable kernel bugs with ridiculous conditions. We decided to check it out, and finally combine it with our user mode bug & emet bypass. Through IE & flash we break down system and pointed out at weak points in defensive mechanism.
In this talk we will present our research dedicated for pwn2own event this year. We will describe kernel part of exploit in detail*, including bug description, resulting memory corruption conditions & caveats up to final pwn via one of our TTF bugs.
Throughout the talk we will describe how to break various exploit mitigations in windows kernel and why it is possible. We will introduce novel kernel exploitation techniques breaking all what stands { KASLR, SMEP, even imaginary SMAP or CFG } and bring you SYSTEM exec (from kernel driver to system calc).
* unfortunately bug was not fixed at the time of talk, so we do not exposed details about TTF vulnerability, and we skipped directly to some challenges during exploitation, and demonstrate how OS design can overpower introduced exploit mitigations.
This presentation includes basic information related to sockets ,socket-buffer,cliet-server programs and relationship between them
The files included in the ppt for the variables are taken from linux-2.6.10.
In case of any queriers.
contact souravpunoriyar@gmail.com
Linux offers an extensive selection of programmable and configurable networking components from traditional bridges, encryption, to container optimized layer 2/3 devices, link aggregation, tunneling, several classification and filtering languages all the way up to full SDN components. This talk will provide an overview of many Linux networking components covering the Linux bridge, IPVLAN, MACVLAN, MACVTAP, Bonding/Team, OVS, classification & queueing, tunnel types, hidden routing tricks, IPSec, VTI, VRF and many others.
Recorrido sobre las novedades de Asterisk 10, Asterisk 11 y Asterisk 12, así como las características que convierten a una aplicación considerada una PBX como un Framework de desarrollo de aplicaciones de voz, así como una herramienta tan potente como flexible.
A guide to deploying an initial Docker Swarm mode network and then incorporating Asterisk into that swarm. Commands, a discussion of host mode vs overlay networking, and the basics of a deployable Docker Swarm mode Stack file are all covered.
Windows Kernel Exploitation : This Time Font hunt you down in 4 bytesPeter Hlavaty
In our recent work we targeted also win32k, what seems to be fruit giving target. @promised_lu made our own TTF-fuzzer which comes with bunch of results in form of gigabytes of crashes and various bugs. Fortunately windows make great work and in February most of our bugs was dead - patched, but not all of them…
Whats left were looking as seemingly unexploitable kernel bugs with ridiculous conditions. We decided to check it out, and finally combine it with our user mode bug & emet bypass. Through IE & flash we break down system and pointed out at weak points in defensive mechanism.
In this talk we will present our research dedicated for pwn2own event this year. We will describe kernel part of exploit in detail*, including bug description, resulting memory corruption conditions & caveats up to final pwn via one of our TTF bugs.
Throughout the talk we will describe how to break various exploit mitigations in windows kernel and why it is possible. We will introduce novel kernel exploitation techniques breaking all what stands { KASLR, SMEP, even imaginary SMAP or CFG } and bring you SYSTEM exec (from kernel driver to system calc).
* unfortunately bug was not fixed at the time of talk, so we do not exposed details about TTF vulnerability, and we skipped directly to some challenges during exploitation, and demonstrate how OS design can overpower introduced exploit mitigations.
This presentation includes basic information related to sockets ,socket-buffer,cliet-server programs and relationship between them
The files included in the ppt for the variables are taken from linux-2.6.10.
In case of any queriers.
contact souravpunoriyar@gmail.com
Linux offers an extensive selection of programmable and configurable networking components from traditional bridges, encryption, to container optimized layer 2/3 devices, link aggregation, tunneling, several classification and filtering languages all the way up to full SDN components. This talk will provide an overview of many Linux networking components covering the Linux bridge, IPVLAN, MACVLAN, MACVTAP, Bonding/Team, OVS, classification & queueing, tunnel types, hidden routing tricks, IPSec, VTI, VRF and many others.
Recorrido sobre las novedades de Asterisk 10, Asterisk 11 y Asterisk 12, así como las características que convierten a una aplicación considerada una PBX como un Framework de desarrollo de aplicaciones de voz, así como una herramienta tan potente como flexible.
Profundizando en las novedades de Asterisk 1.8Elio Rojano
Presentación de Elio Rojano para el Día de la Comunidad del VoIP2DAY 2010 sobre Asterisk 1.8: Características, novedades, configuración, ejemplos de uso, etc.
Internal talk at Inaka. An overview of the minionpool set of projects. Essentially a worker pool for nodejs that can consume tasks from rabbitmq, mysql, an array, very suitable to work with a huge number of tasks, most useful for idempotent operations.
Explicación y recopilación de mucha información sobre cómo funciona el sistema de aplicaciones para Elastix, así como las APIs necesarias para poder publicar una aplicación en la plataforma Market de Elastix.
Phpconf 2013 - Agile Telephony Applications with PAMI and PAGIMarcelo Gornstein
This is the talk about PAMI and PAGI, and general telephony applications with PHP and Asterisk for the php conference argentina (phpconfar). The **complete** talk is available in the slides (in english), just download it (see above), and check out the slide notes for the complete text for each slide. Looking forward for your feedback. Enjoy :)
This is a technical presentation about hacking and hardening asterisk servers.
The information contained here should be use only for legal and ethical purposes
Desde hace un tiempo se vienen presentando ataques contra servidores de VoIP e incluso se han presentado casos de fraudes telefónicos en los cuales los atacantes han ganado acceso a extensiones SIP de los servidores y las han usado para sacar llamadas locales, larga distancia nacional y larga distancia internacional. Esta charla pretende mostrar las características de estos ataques, las herramientas utilizadas, el análisis de los mismos y las mejores prácticas para prevenir y evitarlos.
Curso de introducción a la VoIP y Asterisk de Irontec.com
En esta tercera parte detallaremos la potencia que el Dialplan (lógica de llamadas) aporta a Asterisk
¿Deseas formación en Voz IP y Asterisk?
http://www.irontec.com/cursos/curso-asterisk-avanzado
Resto del curso
Parte 1: http://bit.ly/curso-voip-1
Parte 2: http://bit.ly/curso-voip-2
Parte 4: http://bit.ly/curso-voip-4
Curso de VoIP / Parte 04: Conceptos avanzadosIrontec
Curso de introducción a la VoIP y Asterisk de Irontec.com
Última parte del curso donde analizaremos conceptos avanzados de VoIP como sistemas de colas y agentes, informes de llamadas, Asterisk Realtime y mucho más
¿Deseas formación en Voz IP y Asterisk?
http://www.irontec.com/cursos/curso-asterisk-avanzado
Resto del curso:
Parte 2: http://bit.ly/curso-voip-2
Parte 3: http://bit.ly/curso-voip-3
Parte 4: http://bit.ly/curso-voip-4
www.AsteriskClub.org : Trucos muy interesantes imprescindibles para configurar y administrar un Asterisk para ahorrar tiempo y esfuerzo. Herramientas, técnicas y programación del Manager de Asterisk
José Luis Verdeguer - FreePBX for fun & profit [Rooted CON 2013]RootedCON
A diferencia de un servicio web o de correo electrónico, una mala gestión de un sistema de VoIP implica pérdidas sustanciales de dinero. En esta charla se verá cómo vulnerar las medidas de seguridad de ciertas plataformas de VoIP consiguiendo no sólo realizar llamadas a coste cero sino como podemos lograr adueñarnos completamente de todo el sistema.
Desymfony 2011 - Tutorial #1: Instalacion y primeros pasosJavier Eguiluz
Instalación y primeros pasos fue la primera ponencia impartida durante las Jornadas Symfony 2011. Se trata de la primera parte de las seis que forman el tutorial de desarrollo de la aplicación github.com/desymfony.
Durante la misma se explIca cómo instalar y configurar Symfony2, cómo instalar el proyecto deSymfony, cómo crear los bundles con el generador interactivo y también se introduce el funcionamiento de la arquitectura MVC en Symfony2 mediante la programación de la parte dedicada a mostrar las páginas estáticas de la aplicación.
Es evidente que cada vez es más necesario colocar una central Elastix expuesta a Internet por diversas exigencias del mercado, Anexos remotos o extendidos, centrales virtuales, Cloud Computing, etc. Esto trae como consecuencias estar expuestos a varios riesgos en cuanto a la seguridad. La charla expondrá, cómo es posible extender la seguridad en una implementación en Elastix usando SNORT como sistema de detección y prevención de intrusos, para el control y bloqueo de ataques tanto a nivel SIP como de aplicaciones web, los cuales se enfocan en vulnerar la seguridad de la plataforma. La charla es completamente técnica y se desarrollaran ataques contra maquinas virtuales, con el objetivo de mostrar su bloqueo con snort.
Conferencista: Juan Oliva
Charla que di en la PyConES 2014 en Zaragoza. Hablo sobre como usar Python Fabric si pasas un poco del getting started. Como tiene gifs animados recomiendo que sea descargada
Cómo instalar un servidor VPN de emergencia para una PYME en 5 minutosElio Rojano
Presentación en la C0r0n4CON sobre una forma rápida y efectiva de montar un servidor VPN para una PYME por personas no técnicas para poder aumentar la seguridad de sus conexiones a su red interna.
Esta conferencia se realiza en el marco de la C0r0n4con, un evento telemático solidario y gratuito realizado para conseguir donaciones en favor de la Cruz Roja para ayudar a combatir el COVID-19
Introducción a la Inteligencia Artificial y el BigData en el ámbito de la VoIPElio Rojano
Explicación sobre qué es la Inteligencia Artificial, cuales son los modelos matemáticos utilizados y algunos ejemplos de utilización que pueden ayudar a su uso en el ámbito de la VoIP, Linux y otros sistemas.
Esta conferencia se impartió en el evento VoIP2DAY 2018
Material utilizado en los desayunos tecnológicos de Voz.com (StarVoz) donde comento las cosas que vienen para el año 2015 y posiblemente principios de 2016 en el mundo de la VoIP.
Brief tour about the features of Asterisk 10, Asterisk 11 and Asterisk 12, as well as features that convert one application considered as PBX like a Framework of developer of voice applications, and a tool so powerful as flexible.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
2. Qué es el Manager (AMI)
Elio Rojano http://www.sinologic.net/
3. Qué es el Manager (AMI)
AMI : Asterisk Manager Interface
Manager > Gestión > Interfaz de Gestión de Asterisk
Permite manejar Asterisk desde una aplicación externa
Es un ‘entorno’ de comunicación con una aplicación
Elio Rojano http://www.sinologic.net/
4. Qué es el Manager (AMI)
No está orientado al usuario, si no a aplicaciones
Nos permite enviar comandos y recibir eventos
Actuar, Monitorizar e Intermediar en tiempo real
Está basado en la idea del TAPI (aunque 1000 veces mejor)
Elio Rojano http://www.sinologic.net/
5. Qué es el Manager (AMI)
No es difícil aprender a utilizarlo.
Nos permite desarrollar aplicaciones que interaccione
con nuestro Asterisk.
Toda aplicación que se utilice con Asterisk, debería
hacerlo utilizando el Manager.
Elio Rojano http://www.sinologic.net/
7. Tecnicismos del Manager
El AMI es un puerto TCP (por defecto el 5038)
Toda la información se transmite en texto plano.
Perfectamente estructurada (ideal para parsear)
Por seguridad, también puede ir cifrada “TLS / SSL”
Es un puerto muy importante, así que CUIDADO!!!
Elio Rojano http://www.sinologic.net/
8. Tecnicismos del Manager
Una vez conectado, debemos ver la versión.
Asterisk Call Manager/1.x
En Asterisk 1.4, pasó por una pequeña crisis.
El Manager de 1.6.x, 1.8 y Asterisk 10 son estables
Elio Rojano http://www.sinologic.net/
9. Tecnicismos del Manager
Asterisk 1.6.2, 1.8 y 10, el Manager soporta TLS y SSL
La instalación no puede ser más sencilla.
Elio Rojano http://www.sinologic.net/
10. Tecnicismos del Manager
mkdir -p /etc/asterisk/keys
cd /usr/src/asterisk/contrib/scripts
./ast_tls_cert
-C voip2day11.sinologic.net
-O "Sinologic"
-d /etc/asterisk/keys
Elio Rojano http://www.sinologic.net/
11. Tecnicismos del Manager
El archivo /etc/asterisk/manager.conf
[general]
enabled = yes
webenabled = no
port = 5038
bindaddr = 0.0.0.0
timestampevents = yes
displayconnects = no
tlsenable = yes
tlsbindport = 5039
tlsbindaddr = 0.0.0.0
tlscertfile= /etc/asterisk/keys/asterisk.pem
. . .
Elio Rojano http://www.sinologic.net/
12. Tecnicismos del Manager
Y para conectarnos… un poco de
#!/usr/bin/php
<?php
$sock = fsockopen("tls://localhost",5039);
if ($sock){
$salida=fgets($sock,1024);
print_r($salida);
...
Elio Rojano http://www.sinologic.net/
14. Cómo funciona el Manager
El Manager se encuentra en el Core de Asterisk™.
Por sí solo no permite hacer nada.
Los comandos y los eventos se encuentran en sus
módulos:
Ejemplo:
Comando Originate se encuentra en app_dial.so
Elio Rojano http://www.sinologic.net/
15. Cómo funciona el Manager
Comandos
Elio Rojano http://www.sinologic.net/
16. Cómo funciona el Manager
Eventos
Elio Rojano http://www.sinologic.net/
22. Conectándonos al Manager
system - Información general sobre el sistema y ejecutar comandos básicos
como “Reload”, “Shutdown”, “Restart”, etc.
call - Información sobre canales ya existentes.
verbose - Información de lo que se ve en la consola. (solo eventos).
agent - Información sobre agentes y colas y manipular estados de estos.
user - Permite enviar y recibir eventos personalizados: UserEvent.
config - Permiten leer y escribir archivos de configuración de Asterisk.
command - Permiten ejecutar comandos de la consola CLI. (solo comandos).
dtmf - Recepción de tonos DTMF. (solo eventos).
reporting - Permiten obtener información sobre llamadas y sistema.
cdr - Información sobre el contenido del CDR tras una llamada (solo
eventos).
dialplan - Permiten recibir las líneas del dialplan que se ejecutan (solo
eventos).
originate - Permiten realizar llamadas. (solo comando).
Elio Rojano http://www.sinologic.net/
23. Conectándonos al Manager
La conexión se puede hacer desde cualquier lenguaje.
Tan solo hay que conectarse vía TCP.
Se utiliza el comando: Login
Ya hemos visto un ejemplo en PHP
<?php
$sock = fsockopen("localhost",5038);
if ($sock){
$salida=fgets($sock,1024);
print_r($salida);
...
Elio Rojano http://www.sinologic.net/
24. Conectándonos al Manager
Pero también lo podemos hacer sin utilizar ninguna
aplicación, en la consola de Linux.
exec 3<>/dev/tcp/localhost/5038 && echo -e "Action: Login
nUsername:testnSecret:testnEvents: offnnAction: Command
nCommand: sip show peersnnAction: Logoffnn" >&3 && cat <&3
Que devolvería algo como esto:
Response: Follows
Privilege: Command
Name/username Host Dyn Forcerport ACL Port Status
200 (Unspecified) D 0 UNKNOWN
201 (Unspecified) D 0 UNKNOWN
2 sip peers [Monitored: 0 online, 2 offline Unmonitored: 0 online, 0 offline]
--END COMMAND--
Elio Rojano http://www.sinologic.net/
25. Conectándonos al Manager
Incluso podemos utilizar el comando Telnet:
telnet localhost 5038
Trying 127.0.0.1...
Connected to localhost.
Escrito por nosotros o nuestra aplicación
Escape character is '^]'. Enviado por el Manager
Asterisk Call Manager/1.1
Action: Login
Username: test
Secret: test
Events: off
Response: Success
Message: Authentication accepted
Action: Command
Command: sip show peers
Response: Follows
Privilege: Command
Name/username Host Dyn Forcerport ACL Port Status
200 (Unspecified) D 0 UNKNOWN
201 (Unspecified) D 0 UNKNOWN
2 sip peers [Monitored: 0 online, 2 offline Unmonitored: 0 online, 0 offline]
--END COMMAND--
Action: Logoff
Response: Goodbye
Message: Thanks for all the fish.
Elio Rojano http://www.sinologic.net/
27. Ejemplos básicos
Si utilizamos eventos, podemos crearnos una
aplicación que busque todos los eventos Bridge y
Hangup para mostrar las llamadas que hay en curso
en tiempo real.
Un sencillo monitor de llamadas se puede hacer en
muy poco tiempo.
Elio Rojano http://www.sinologic.net/
38. Ejemplos básicos
Todas las llamadas se inician con el evento Bridge y
finalizan con eventos Hangup.
Si hay transferencias (de cualquier tipo) también se
muestran con eventos Redirect o Transfer.
Si hay pulsación de DTMF también se muestran con
eventos.
Si hay … cualquier cosa que ocurra, se muestra con
eventos… Por lo tanto podemos monitorizarlo todo.
Elio Rojano http://www.sinologic.net/
39. Ejemplos básicos
Podemos utilizar los comandos de un callcenter para
monitorizar una cola sin problemas:
Llamadas en espera, llamadas contestadas, agentes
ocupados, agentes disponibles, tiempo medio de
contestación, y un largo etcétera.
O bien utilizar el Manager para loguear agentes, pausarlos,
desloguearlos, insertarlos en una cola o en otra, etc…
Redireccionar la llamada entrante cuando queramos al
punto del dialplan que queramos…
Elio Rojano http://www.sinologic.net/
40. Ejemplos básicos
Todo esto simplemente pulsando un botón en
una aplicación que se conecte al Manager.
Elio Rojano http://www.sinologic.net/
42. Más ejemplos básicos
Un interfaz web de gestión: GUI, se basa en
modificar la configuración de Asterisk.
Puede hacerlo utilizando “RealTime” o bien
“archivos de configuración”.
Elio Rojano http://www.sinologic.net/
43. Más ejemplos básicos
Si utiliza RealTime, cualquier cambio que efectúe en la
base de datos, se llevará a cabo instantáneamente.
Si utiliza “archivos de configuración”, hay que modificar
el contenido y recargar dicha información.
El Manager nos ofrece herramientas para modificar
esta configuración sin tener que acceder
localmente al sistema.
Elio Rojano http://www.sinologic.net/
44. Más ejemplos básicos
CreateConfig: Creates an empty file in the configuration directory (Priv:
config,all)
UpdateConfig: Updates a configuration file, used mainly by AJAM/Asterisk-gui.
(Privilege: config,all)
ListCategories: List categories in configuration file (Priv: config,all)
GetConfig: Retrieve configuration (Priv: system,config,all)
GetConfigJSON: Retrieve configuration (JSON format) (Priv: system,config,all)
etc...
Elio Rojano http://www.sinologic.net/
45. Más ejemplos básicos
Con estos comandos, se pueden crear y modificar
archivos de configuración utilizando un interfaz web que
utilice el Manager.
Asterisk-DEV™ ya hizo una prueba de concepto llamada
Asterisk-GUI que utilizaba el Manager a través de Ajax.
Para ello inventaron el AJAM:
(Asyncronous Javascript Asterisk Manager)
Un servidor web que aceptaba peticiones JSON para
enviar comandos al Manager.
Elio Rojano http://www.sinologic.net/
46. Más ejemplos básicos
AJAM aún no ha tenido mucha aceptación, pero la idea
es muy buena.
Objetivo: aumentar la seguridad, evitando tener acceso
local al sistema. Utilizando TLS/SSL. Modificando la
configuración directamente desde el Manager sin
acceso a los archivos.
Posibilidad de utilizar WebSocket HTML5 para la
conexión remota desde el propio navegador.
Elio Rojano http://www.sinologic.net/
48. Haciendo un interfaz web
Los interfaces suelen ser la cara del sistema
para el usuario final.
FreePBX es el más completo (de los interfaces
libres), pero eso no significa que sea el mejor.
La mayoría de las funciones de un interfaz
como FreePBX son innecesarias para un
usuario final.
Elio Rojano http://www.sinologic.net/
49. Haciendo un interfaz web
¿Un comercio debe saber qué es un Trunk
SIP? ¿Qué protocolo debe configurar? ¿A qué
puerto debe conectarse el teléfono?
Para ofrecerle un interfaz web a un usuario
final, ¿es necesario que el integrador también
se vea obligado a utilizarlo?
Elio Rojano http://www.sinologic.net/
50. Haciendo un interfaz web
Con un tiempo mínimo, podemos crearnos
nuestro propio interfaz web adaptado a las
necesidades de nuestros clientes.
Elio Rojano http://www.sinologic.net/
51. Haciendo un interfaz web
Qué tiene que tener?
Gestión de extensiones.
Aprovisionamiento de teléfonos.
Gestión de rutas de salida.
Permisos, seguridad, etc...
Elio Rojano http://www.sinologic.net/
52. Haciendo un interfaz web
El resto de parámetros pueden ser
estáticos o definidos por el integrador vía
archivo de configuración.
Elio Rojano http://www.sinologic.net/
53. Haciendo un interfaz web
Todo cambio realizado en el interfaz, puede
ser enviado a Asterisk gracias a los
comandos del Manager.
De la misma manera, podemos monitorizar
cualquier estado de línea, canales
disponibles, y exportarlos a la web.
Elio Rojano http://www.sinologic.net/
57. Haciendo un interfaz web
Creación automática del
archivo de
autoprovisionamiento
000B50235632.cfg
Contraseña “aleatoria” entre
el archivo de autoprov. y el
servidor Asterisk.
Al usuario no le interesa saber
eso y es fácil de consultar.
Una vez dado de alta, se añade al archivo de configuración...
Elio Rojano http://www.sinologic.net/
58. Haciendo un interfaz web
sip.conf
[default]
;; parámetros globales…
…
…
#include “/home/asterisk/sip.conf”
El interfaz recreará todo el archivo con todos los
usuarios SIP dados de alta.
Elio Rojano http://www.sinologic.net/
59. Haciendo un interfaz web
Y el interfaz web sólo tiene que:
1- Establecer la conexión con el Manager.
2- Autenticarse con el usuario y contraseña.
3- Enviar el comando: “sip reload”
Action: Commandn
Command: sip reloadn
n
4- Salir del Manager
Elio Rojano http://www.sinologic.net/
60. Haciendo un interfaz web
O bien, utilizamos el manager bien:
Action: updateconfig
Reload: no
Srcfilename:sip.conf Action: updateconfig
Dstfilename:sip.conf Reload: no
Action-000000:NewCat Srcfilename:sip.conf
Dstfilename:sip.conf Action: updateconfig
Cat-000000:Prueba
Action-000000:append Reload: yes
Cat-000000:Prueba Srcfilename:sip.conf
Response: Success
Var-000000:host Dstfilename:sip.conf
Value-000000:dynamic Action-000000:append
Action: updateconfig
Cat-000000:Prueba
Reload: no
Response: Success Var-000000:context
Srcfilename:sip.conf
Value-000000:salientes
Dstfilename:sip.conf
Action-000000:append Action: updateconfig
Reload: no Response: Success
Cat-000000:Prueba
Var-000000:type Srcfilename:sip.conf
Value-000000:friend Dstfilename:sip.conf
Action-000000:append
Response: Success Cat-000000:Prueba
Var-000000:secret
Value-000000:c0ntr4s3n4.
Response: Success
Elio Rojano http://www.sinologic.net/
61. Haciendo un interfaz web
Al mirar el final del archivo sip.conf…
veremos que se ha añadido:
action: updateconfig
reload: no
srcfilename:sip.conf
dstfilename:sip.conf [Prueba] Action: updateconfig
Action-000000:NewCat reload: no
Cat-000000:Prueba srcfilename:sip.conf
Action: updateconfig type = friend dstfilename:sip.conf
Action-000000:append
reload: no Cat-000000:Prueba
srcfilename:sip.conf Var-000000:secret
dstfilename:sip.conf
Action-000000:append
host = dynamic Value-000000:c0ntr4s3n4.
Cat-000000:Prueba Action: updateconfig
Var-000000:type
Value-000000:friend secret = c0ntr4s3n4. reload: yes
srcfilename:sip.conf
dstfilename:sip.conf
Action: updateconfig Action-000000:append
reload: no
srcfilename:sip.conf
context = salientes Cat-000000:Prueba
Var-000000:context
dstfilename:sip.conf Value-000000:salientes
Action-000000:append
Cat-000000:Prueba
Var-000000:host
Value-000000:dynamic
Elio Rojano http://www.sinologic.net/