Download - Elastix como plataforma para nuevos desarrollos

Transcript
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