+

Elastix como Plataforma
para Nuevos Desarrollos
Por Andres Gorostidi
+

¿ Que es Elastix ?


Distribución de Asterisk, añadiendo al mismo un Interfaz
Gráfico (FreePBX), y una seria de utilidades : VoIP, Fax,
Mensajeria Instantanea, 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 ¿ Porqué ?


Desde el Cliente:




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



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





No tiene que preocuparse por conocer comandos complejos

Apliances 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 -> Ejemplo,
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



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



paloSantoConfig.class.php: paloconfig, leer_configuracion, escribir_configuracion





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

paloSantoJSON.class.php: Acceso JSON, Ajax.

Clases “Smarty”


paloSantoForm.class.php



paloSantoGrid.class.php
+

Ejemplo Codificacion
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 Practicos
Ejemplos de Desarrollo:



Orkestal



AgentLogger



ElastixConnect



WHMS Provisioning Module
+

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
+
Elastix Connect



Reutilizació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
My Extension – Desktop Notifier


Cliente Windows (tanto
Desktop como Metro)



URL Launcher y Desktop
Notifier



Click –to- call



API de Desarrollo -> AMI
Connector
+

•
•
•
•
•

Elastix Connect
GXP-2200 Edition
Acceso a Directorio Elastix
Acceso a “My Extension”
OOO – Out of The Office
URL Launcher
Gestion de Colas
+

Elastix Connect
Android 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 Elastic Connect:






Integración más Telefonos Android:




Dispositivos Móviles, sustituyen Desktop Tradicionales

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



Ejemplo, Cisco Desktop Collaboration Experience DX650

BYOD -> Futuro comunicaciones




API de Sincronizacion Contactos
Seguridad: Protocolo Port-Knock
Integración ECCP / CallCenter - CallCentet

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, votela!!



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



Para más info, quejas, sugerencias, cervezas, etc ->
agorostidi@sinologic.com

2/28/2014

V2 d2013 andres gorostidi - elastix

  • 1.
    + Elastix como Plataforma paraNuevos Desarrollos Por Andres Gorostidi
  • 2.
    + ¿ Que esElastix ?  Distribución de Asterisk, añadiendo al mismo un Interfaz Gráfico (FreePBX), y una seria de utilidades : VoIP, Fax, Mensajeria Instantanea, 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.
  • 3.
    + Elastix ¿ Porqué?  Desde el Cliente:   Posibilidad de mantener una copia “segura” de su instalación.  Facilidad de instalarse aplicación de terceros -> Market !!!   No tiene que preocuparse por conocer comandos complejos Apliances 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 !!!!!
  • 4.
    + Programación en Elastix  Usandolas APIs tradicionales de Asterisk:    AMI ECCP (Elastix Call Center Protocol) A traves de Web Services (Elastix Web Services)    SOAP REST -> Ejemplo, https://pbx.europesip.com/rest.php/address_book/ContactList Framework  Modelo MVC, basado en Smarty  Clases PaloSanto
  • 5.
    +  Ejemplo FrameWork (I) Libreríamisc.lib.php   Ejemplos: Funcion _tr, Funcion ObtenerClaveAMIAdmin, Funcion GenerarDSNSistema, Funcion write_LOG Clases Generales   paloSantoACLClass.php : Permisos y tipos de Usuarios (getUserExtension, isUserAdministratorGroup …)  paloSantoConfig.class.php: paloconfig, leer_configuracion, escribir_configuracion   paloSantoDBClass.php: Acceso bases de datos (generarquey, commit, rollback…) paloSantoJSON.class.php: Acceso JSON, Ajax. Clases “Smarty”  paloSantoForm.class.php  paloSantoGrid.class.php
  • 6.
    + Ejemplo Codificacion Ejemplo: Supongamos quequeremos 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{ }
  • 7.
    + Casos Practicos Ejemplos deDesarrollo:  Orkestal  AgentLogger  ElastixConnect  WHMS Provisioning Module
  • 8.
  • 9.
  • 10.
    + AgentLogger  Barra CTI  Cómodo DespliegueLateral (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
  • 11.
    + Elastix Connect  Reutilización conocimientoobtenido 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
  • 12.
    + Elastix Connect My Extension– Desktop Notifier  Cliente Windows (tanto Desktop como Metro)  URL Launcher y Desktop Notifier  Click –to- call  API de Desarrollo -> AMI Connector
  • 13.
    + • • • • • Elastix Connect GXP-2200 Edition Accesoa Directorio Elastix Acceso a “My Extension” OOO – Out of The Office URL Launcher Gestion de Colas
  • 14.
    + Elastix Connect Android Edition  AcercandoElastix 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
  • 15.
  • 16.
    + ¿ Hacia dondevamos ?  Potenciar aplicación Elastic Connect:     Integración más Telefonos Android:   Dispositivos Móviles, sustituyen Desktop Tradicionales I+D en nuevas tecnologías para Elastix Connect,   Ejemplo, Cisco Desktop Collaboration Experience DX650 BYOD -> Futuro comunicaciones   API de Sincronizacion Contactos Seguridad: Protocolo Port-Knock Integración ECCP / CallCenter - CallCentet Google TV, Google Glasses, ChromeCast Hacia Chile… 
  • 17.
    + ¿ Preguntas ?  Standde 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, votela!!  Pruebe ElastixConnect !!! Recoja su NFC TAG !!!  Para más info, quejas, sugerencias, cervezas, etc -> agorostidi@sinologic.com 2/28/2014