Elastix como plataforma para nuevos desarrollos

Post on 12-Jun-2015

921 views 1 download

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

+

Elastix como Plataforma para Nuevos DesarrollosPor Andres Gorostidi

+¿ 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.

+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 !!!!!

+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

+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

+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{ }

+Casos Prácticos

!■ Orkestal

■ AgentLogger

■ ElastixConnect

■ WHMS Provisioning Module

Ejemplos de Desarrollo:

+Orkestal

+Orkestal (II)

+ 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

+

■ 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

+Elastix ConnectMy Extension – Desktop Notifier

■ Cliente Windows (tanto Desktop como Metro)

■ URL Launcher y Desktop Notifier

■ Click –to- call

■ API de Desarrollo -> AMI Connector

+Elastix ConnectGXP-2200 Edition• Acceso a Directorio Elastix

• Acceso a “My Extension”

• OOO – Out of The Office

• URL Launcher

• Gestion de Colas

+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

+WHMCS Pluging

■ Elastix en la nube

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

+¿ Preguntas ?

■ Stand de Elastix y/o EuropeSIP

■ Correo agorostidi@sinologic.com

!!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 -> agorostidi@sinologic.com

6 de Noviembre de 2013