ACTUALIZACIÓN 25/Nov/2013:
Ya está disponible como Addon de Elastix se puede acceder desde el menú de addons del PBX o bien desde http://addons.elastix.org/index.php
Hola, quienes me conocen saben que yo prefiero usar Asterisk Plano sobre cualquier cosa. Cuando la gente me dice que quieren usar sí o sí una GUI para administrar su asterisk porque no se quieren meter en líos, recomiendo FreePBX. Son pocas las veces que me veo en la necesidad de usar Elastix o recomendarlo de hecho me puedo considerar hasta cierto punto un 'hater' de esa Distro; sin embargo, como dice la canción: "...No todo es blanco, O negro: es gris Todo depende del matiz...", debo decir que una de las cualidades más atractivas de Elastix es su Módulo de Call Center. El cual permite crear campañas de Salida o de Entrada de manera más que sencilla y que su operación es muy pulcra, sin contar además que, integrar nuestro propio CRM es sumamente sencillo.
Este año vendrá de nueva cuenta el ElastixWorld a México y esta vez si pienso asistir ya que dejar pasar las conferencias de las personalidades que vendrán sería un error y más si tomo en cuenta que asistir al Astricon en Atlanta es prácticamente imposible para mi. Es por esta razón que decidí "contribuir"(si se le puede llamar así a una simple edición de código) un poquito al proyecto de Elastix, no quiero ir solo a recibir información valuable al ElastixWorld sin haber "contribuido" en algo.
Elegí un tema de "moda": WebRTC y una herramienta útil como el Módulo de Call Center que combinadas podrían tener mucho éxito-según yo-. Así que me di a la tarea de integrar la fantástica API SIPML5 y el Gateway WebRTC2SIP ambos de Doubango a una instalación de Elastix.
Notas sobre la Integración y Operación.
- Se requiere una versión de 'libtool' más reciente de modo que se instala la version 2.4.2
- Se requiere instalar el Gateway WebRTC2SIP para su operación ya que la versión de Asterisk no soporta WebRTC. La conexión es ws.
- Solo funciona correctamente con el explorador Google Chrome.
- Se modifican algunos archivos(consideren respaldarlos antes) utilizados por Elastix entre ellos:
- /var/www/hmtl/themes/elastixneo/_common/_menu.tpl
- /var/www/html/modules/agent_console/index.php
- /var/www/html/agent_console/themes/default/agent_console.tpl
- La Integración solo funciona con el tema default 'Elastixneo'.
- Debido a mi falta de conocimiento tuve que crear una conexión externa a MySQL para obtener el password del 'Peer'.
- Se han creado algunos archivos extras:
- Conexión a la BD: /var/www/html/libs/astdb.php
- Javascript para el Teléfono: /var/www/html/modules/agent_console/themes/default/js/ml5.js
- SIPml5 API: /var/www/html/modules/agent_console/themes/default/js/SIPml-api.js
- Estilos para botones del Teléfono: /var/www/html/modules/agent_console/themes/default/css/bootstrap.css
- Sonidos utilizados por el Teléfono: /var/www/html/modules/agent_console/themes/default/sounds
- No se puede marcar desde el Teléfono. Esto lo hice así pensando en que el agente sólo debe de recibir las llamadas de una cola Entrante o una campàña del Dialer(Se puede modificar a futuro).
- Si no se esta en llamada y se presiona el botón (CALL/Answer) se enviará la llamada al buzón de voz del Agente.
- La integración esta hecha para trabajar solamente en modo 'Agent CallBack'. Esto se debe a la facilidad de tener el Teléfono registrado en 'Stand-by' una vez que se accedió a la consola del Agente.
El gateway WebRTC2SIP corre bajo una sessión 'screen' con el comando:
screen -dmS wrtc /usr/local/sbin/webrtc2sip --config=/usr/local/sbin/config.xml
Para ingresar a la sesión usar:
Para Salir de la sesión sin detener el gateway usar la combinación de teclas CRTL+A+D.
Para detener el Gateway, entrar en la sesión y escribir 'quit'+ENTER.
screen -r wrtc
Para Salir de la sesión sin detener el gateway usar la combinación de teclas CRTL+A+D.
Para detener el Gateway, entrar en la sesión y escribir 'quit'+ENTER.
Instalación.
Actualización 17/Sep/2013:
Este es el último RPM usado para adaptar chat y marcado libre al módulo de call center.
Servicio de Chat habilitado. |
Actualización 04/Sep/2013:
He creado paquetes RPMs para que la instalación sea mucho mas rapida, aqui dejo las instrucciones para instalar via RPMs:
Para instalar desde la consola de Linux seguir estos pasos:
cd /usr/src/ yum install -y screen perl-WWW-Curl elastix-callcenter wget https://dl.dropboxusercontent.com/u/1277237/SIPML5toElastix.zip unzip SIPML5toElastix.zip cd SIPML5toElastix rpm -ihv libtool-2.4.2-DMv1.i386.rpm rpm -ihv libsrtp-1.4.5-DMv1.i386.rpm rpm -ihv --force openssl-1.0.1c-DMv1.i386.rpm rpm -ihv yasm-1.2.0-DMv1.i386.rpm rpm -ihv libvpx-1.2.0-DMv1.i386.rpm rpm -ihv x264-snapshot20130810.2245-DMv1.i386.rpm rpm -ihv ffmpeg-1.2-DMv1.i386.rpm rpm -ihv doubango-2.0r985-DMv1.i386.rpm rpm -ihv webrtc2sip-2.5.1r114-DMv1-Elastix.i386.rpm rpm -ihv --force sipml5_elastix_cc-0.1-DMv1.i386.rpm
Si se cuenta con las versiones más recientes de Elastix y el módulo de Call Center instalar los RPMs hasta el punto 14 y después ejecutar los siguientes comandos :
yum reinstall -y elastix-framework elastix-callcenter rpm -ihv https://dl.dropboxusercontent.com/u/1277237/sipml5_elastix_cc-0.1b-DMv1.i386.rpm
Los pasos anteriores corrigen el bug que elimina los submenús de la barra de Menús y corrige también que no se registre el cliente SIPML5.
Instalación antigua:
Descargar el tarball desde este enlace. Y extraer el contenido con el comando:
Cambiar al directorio creado con:
# tar zxvf Elastix_CC_ML5.tar.gz
Cambiar al directorio creado con:
# cd ccml5
Instalar el gateway webrtc2sip.
Para instalar el Gateway ejecutar el siguiente comando:
# ./install_wrtcgw.sh
Esto instalará el framework de doubango, las dependencias y el gateway, dependiendo de la velocidad del equipo puede tomar desde 30 minutos hasta un par de horas.
Añadir el Teléfono WebRTC a la consola de Agente.
Para integrar el teléfono a la consola de agente ejecutar el siguiente comando:
# ./install_webfiles.sh
Si no se ha instalado el Módulo de Call Center previamente, el script preguntará si desean instalarlo. Basta presionar Y+enter para que así lo haga.
Inicio de Sesión Consola de Agente modo 'Callback login' |
Consola de Agente con el Telefóno WebRTC Insertado |
Demo.
Para configurar y usar el Módulo del Call Center de Elastix pueden usar el manual oficial que esta en este enlace Recuerden que el Teléfono WebRTC solo trabajará correctamente en el modo 'callback login' en el manual se refieren a él como modo dinámico.
Yo ya tengo preparado una Cola de Entrada sin datos y una Campaña saliente con un CRM Custom. Y este es el Resultado:
Inbound Queue:
Outgoing Campaign:
Feedback: Como nada en esta vida es perfecto cualquier feedback se agradecerá. ;)
Inbound Queue:
Outgoing Campaign:
Feedback: Como nada en esta vida es perfecto cualquier feedback se agradecerá. ;)