Elastix como plataforma para nuevos desarrollos

17
+ Elastix como Plataforma para Nuevos Desarrollos Por Andres Gorostidi

description

Presentación desarrollada en el marco de VoIP2Day, en Noviembre de 2013 en Madrid, España. En esta charla, Andrés Gorostidi habla sobre el por qué desarrollar aplicaciones para Elastix e indica casos de ejemplo. Expositor: Andrés Gorostidi EuropeSIP

Transcript of Elastix como plataforma para nuevos desarrollos

Page 1: Elastix como plataforma para nuevos desarrollos

+

Elastix como Plataforma para Nuevos DesarrollosPor Andres Gorostidi

Page 2: Elastix como plataforma para nuevos desarrollos

+¿ Qué es Elastix ?

■ Distribución de Asterisk, añadiendo al mismo un Interfaz Gráfica (FreePBX), y una serie de utilidades: VoIP, Fax, Mensajería Instantánea, Correo Electrónico, Colaboración.

■ Una comunidad de usuarios con el objetivo de “acercar” Asterisk al usuario tradicional.

■ Una Plataforma que posibilita el desarrollo de nuevas aplicaciones y acceso un “market” de Aplicaciones

■ Un entorno de desarrollo, con un framework que permite añadir aplicaciones con un API en Común.

Page 3: Elastix como plataforma para nuevos desarrollos

+Elastix ¿Por qué ?

■ Desde el Cliente: ■ No tiene que preocuparse por conocer comandos complejos

■ Posibilidad de mantener una copia “segura” de su instalación.

■ Facilidad de instalarse aplicación de terceros -> Market Place !!!

■ Appliances económicas y/o sistemas embebidos

■ Desde el Desarrollador: ■ Tremenda Visibilidad -> Posibilidad de promocionar sus productos

■ Posibilidad de “Monetizar” sus desarrollos

■ Posibilidad de Servicios en la Nube (Elastix MultiTenant)

■ API de Desarrollo

■ Directorio !!!!!

Page 4: Elastix como plataforma para nuevos desarrollos

+Programación en Elastix

■ Usando las APIs tradicionales de Asterisk:

■ AMI

■ ECCP (Elastix Call Center Protocol)

■ A traves de Web Services (Elastix Web Services)

■ SOAP

■ REST -> Ej. https://pbx.europesip.com/rest.php/address_book/ContactList

■ Framework

■ Modelo MVC, basado en Smarty

■ Clases PaloSanto

Page 5: Elastix como plataforma para nuevos desarrollos

+Ejemplo FrameWork (I)

■ Librería misc.lib.php

■ Ejemplos:

Funcion _tr, Funcion ObtenerClaveAMIAdmin, Funcion GenerarDSNSistema, Funcion write_LOG

■ Clases Generales

■ paloSantoDBClass.php: Acceso bases de datos (generarquey, commit, rollback…)

■ paloSantoACLClass.php : Permisos y tipos de Usuarios (getUserExtension, isUserAdministratorGroup …)

■ paloSantoConfig.class.php: paloconfig, leer_configuracion, escribir_configuracion

■ paloSantoJSON.class.php: Acceso JSON, Ajax.

■ Clases “Smarty”

■ paloSantoForm.class.php

■ paloSantoGrid.class.php

Page 6: Elastix como plataforma para nuevos desarrollos

+Ejemplo Codificación

Ejemplo:

Supongamos que queremos obtener la extensión asociada al usuario logeado. //El usuario logoneado se almacena en la variable de sesión

$_SESSION[“elastix_user”]

$username = $_SESSION[“elastix_user”]; $extension = $pACL->getUserExtension($username);

Si deseamos que nuestro módulo haga ciertas tareas si el usuario logoneado es del grupo “administrador” y otras si no, podríamos añadir lo siguiente:

if($pACL->isUserAdministratorGroup($username)){ //Do some task for administrators } else{ }

Page 7: Elastix como plataforma para nuevos desarrollos

+Casos Prácticos

!■ Orkestal

■ AgentLogger

■ ElastixConnect

■ WHMS Provisioning Module

Ejemplos de Desarrollo:

Page 8: Elastix como plataforma para nuevos desarrollos

+Orkestal

Page 9: Elastix como plataforma para nuevos desarrollos

+Orkestal (II)

Page 10: Elastix como plataforma para nuevos desarrollos

+ AgentLogger

■ Barra CTI

■ Cómodo Despliegue Lateral (Automático)

■ Rápido Cambio Estado Colas

■ Opciones Transferencia Llamadas

■ Botones / Acciones Personalizables por Agente

■ Conector URLs / Programas Externos / dCOM

■ Integración Correo y/o Contactos

■ SIP Phone Integrado

Page 11: Elastix como plataforma para nuevos desarrollos

+

■ Re-utilización conocimiento obtenido en AgentLogger + Orkestal

■ Acercar el interface Elastix al usuario tradicional ■ Elastix Connect: My Extension - Desktop Notifier Edition ■ Elastix Connect GS Edition - Abrir nuevas posibilidades de Desarrollo y Integración ■ BYOD : Movilidad ■ Nuevos Markets : Google y Metro

Elastix Connect

Page 12: Elastix como plataforma para nuevos desarrollos

+Elastix ConnectMy Extension – Desktop Notifier

■ Cliente Windows (tanto Desktop como Metro)

■ URL Launcher y Desktop Notifier

■ Click –to- call

■ API de Desarrollo -> AMI Connector

Page 13: Elastix como plataforma para nuevos desarrollos

+Elastix ConnectGXP-2200 Edition• Acceso a Directorio Elastix

• Acceso a “My Extension”

• OOO – Out of The Office

• URL Launcher

• Gestion de Colas

Page 14: Elastix como plataforma para nuevos desarrollos

+Elastix ConnectAndroid Edition■ Acercando Elastix a los usuarios

Móviles

■ Fácil para el Administrador Elastix : No añada complejidad

■ Técnicas BYOD (Bring Your Own Device)

■ Debe ser fácil de usar

■ Valido en cualquier dispositivo

■ Uso de NFC y / o GeoVallas

Page 15: Elastix como plataforma para nuevos desarrollos

+WHMCS Pluging

■ Elastix en la nube

Page 16: Elastix como plataforma para nuevos desarrollos

+¿ Hacia donde vamos ?

■ Potenciar aplicación Elastix Connect:

■ API de Sincronización Contactos

■ Seguridad: Protocolo Port-Knock

■ Integración ECCP / CallCenter

■ Integración más Teléfonos Android:

■ Ejemplo, Cisco Desktop Collaboration Experience DX650

■ BYOD -> Futuro comunicaciones

■ Dispositivos Móviles, sustituyen Desktop Tradicionales

■ I+D en nuevas tecnologías para Elastix Connect,

■ Google TV, Google Glasses, ChromeCast

■ Hacia Chile… ☺

Page 17: Elastix como plataforma para nuevos desarrollos

+¿ Preguntas ?

■ Stand de Elastix y/o EuropeSIP

■ Correo [email protected]

!!GRACIAS POR VENIR Y POR SU ATENCIÓN !!!!

■ Por favor, si le ha gustado la presentación, vótela!!

■ Pruebe ElastixConnect !!! Recoja su NFC TAG !!!

■ Para más info, quejas, sugerencias, cervezas, etc -> [email protected]

6 de Noviembre de 2013