Вы находитесь на странице: 1из 16

Elastix Smart Assistant

Manual de Administrador

Objetivo: Permitir al administrador la configuracin inicial de Smart Assistant en un
servidor Elastix.

Descripcin:
Smart Assistant es una aplicacin para Smartphone que permite realizar la asignacin
de llamadas de manera eficiente a un usuario sobre un servidor de comunicaciones
unificadas Elastix.

La aplicacin permite crear varios escenarios donde podemos decidir como re-
direccionar una llamada entrante. Smart Assistant determina de manera inteligente
donde estamos, a travs de la tecnologa wireless del telfono, y aplica una condicin
predeterminada con xito.

Funcionamiento de Smart Assistant



Fig. 1 Diagrama de flujo de funcionamiento de Smart Assistant










Instalacin

Para instalar el Addon Smart Assistant debemos ir al mdulo de Addons, buscar el
mdulo y hacer clic en instalar.


Fig. 2 Market Place de Elastix

Es importante mencionar que paralelamente, el (los) usuario(s) deben instalar Smart
Assistant en sus dispositivos mviles o Smartphone, disponibles en Google Play.

Cuando estos dos pasos se hayan completado vamos al men Smart Assistant en la
interfaz de administracin de Elastix.



Fig.3 Seleccionando el men Smart Assistant

Una vez en el men hacemos clic en Aadir Dispositivo.

Inmediatamente obtendremos un formulario donde ingresamos el Device ID de un
usuario y lo asociamos con su extensin.

Los datos necesarios para completar el registro son:

Device ID: un identificador de caracteres alfa numricos que se genera en la
aplicacin en el dispositivo mvil del usuario
Extensin: La extensin del usuario en Elastix Ej.: 1100
Permitir Crear Objetivos: Habilitar la creacin de destinos al usuario, siempre
que este tenga la licencia Premium.
Archivo de Licencia: El administrador puede introducir la licencia generada
en el momento que el usuario realiz la compra.


Fig.4 Aadiendo usuarios

El administrador, de acuerdo a las polticas de la empresa, puede habilitar la creacin
de Targets para el usuario. Esta funcionalidad est disponible en la versin estndar
de la aplicacin en el mvil.

Hacemos clic en Guardar y el mdulo ingresar al nuevo usuario a la base de datos
del servidor.


Fig.5 Usuarios registrados

Configuracin de Sgueme (Follow me)

Esta configuracin permite que el servidor redirija las llamadas al usuario utilizando la
aplicacin Smart Assistant.

En la interfaz de administracin de Elastix vamos a:

PBX Configuracin PBX Sgueme

Seleccionamos la extensin del usuario y obtendremos un formulario donde configuramos los
siguientes parmetros:

Ring Strategy: Seleccionar la opcin Ringall
Follow-Me list: Escribir una extensin no existente, para que la llamada se
dirija a la opcin Destination if no answer.
Destination if no answer: Seleccionar Custom Destination SmartAssistant


Fig.6 Formulario Sgueme / Follow Me

Creacin de Destinos /Targets en el mdulo Otros Destinos

Para agregar destinos disponibles en Elastix, nos dirigimos a:

PBX Configuracin PBX Otros Destinos

El administrador del servidor Elastix puede crear los destinos genricos y especficos
para los usuarios.

Los destinos genricos estn disponibles para todos los usuarios de Smart Assistant
que tenga la organizacin. Los destinos especficos estn disponibles nicamente para
el usuario para el que se crearon.

Destinos Genricos

Descripcin: Este campo debe tener necesariamente el formato SMART-
NombreDelDestino, en este ejemplo tenemos SMART-CONFROOM, cuyo
destino es el nmero de la sala de conferencias de la empresa.
Marcar: Este campo contiene el nmero de telfono del destino SMART-
CONFROOM, 100 en el ejemplo.


Fig.7 Creacin de destinos.

Como observamos en la imagen, al crear el destino llamado CONFRROM (SMART-
CONFROOM), estar disponible en el men de destinos de la aplicacin de usuario.

Hay que considerar que en la versin gratuita de Smart Assistant todos los usuarios
comparten el destino CONFROOM, es decir que si hay 10 usuarios de Smart
Assistant, los 10 podrn seleccionar este destino entre sus opciones.

Destinos Especficos

La configuracin para los destinos especficos es bastante parecida, la diferencia
radica en el prefijo que se usa para aadir el destino, en lugar de SMART, colocamos
como prefijo la extensin del usuario, ejemplo: 230-Celular.


Fig.8 Creacin de destinos especficos

Esta configuracin asegura que solo el usuario cuya extensin es 230 tendr este
objetivo de destino en la aplicacin mvil Smart Assistant.

El administrados puede crear los destinos que sean necesarios, los cuales se
mostrarn en un listado.


Fig.9 Listado de destinos disponibles

Para que el usuario pueda seleccionar un destino especfico desde la aplicacin, debe
adquirir la licencia Standard.


Agregando una licencia a un usuario

Un usuario puede adquirir una licencia Standard o Premium en:

http://store.palosanto.com/index.php/elastix-addons/elastix-smartassistant.html

Cada licencia tiene caractersticas adicionales que permiten extender la funcionalidad
de la aplicacin.

Una vez que el usuario ha comprado la licencia, el recibir un archivo con la extensin
.lic que tiene el siguiente formato:

lic-numero_del_device_id_del_usuario.lic

El usuario debe enviar este archivo al administrador, para que l lo pueda incluir en la
configuracin del dispositivo en Elastix.

El administrador debe ir a PBX SmartAssistant

Luego hacer clic en el dispositivo al que debe ingresar la licencia.


Fig.10 Ingreso de archivo de licencia

Una vez en la interfaz de configuracin del dispositivo, el administrador puede aadir
el archivo de licencia haciendo clic en Seleccionar archivo, navega hasta encontrarlo,
lo sube y luego hace clic en Guardar.

De manera automtica el usuario tendr las funcionalidades disponibles en la
aplicacin.


Configuracin Avanzada Smart Assistant

Cambio de puertos para envo de paquetes entre la aplicacin y Smart Assistant
En la pantalla de configuracin de la aplicacin debemos configurar la direccin IP del
servidor Elastix y el puerto donde la aplicacin Smart Assistant enviar los paquetes
de comunicacin. El puerto por defecto es 8080.

Fig.11 Envo de paquetes al servidor Elastix

Al momento de instalar el Addon, desde el market place de Elastix, se crea una
aplicacin web en apache.

La configuracin se encuentra en el archivo:

/etc/httpd/conf.d/smartassistant.conf








[Continua en la siguiente pgina]

Fig.12 Archivo de configuracin smartassistant

Nota: Podemos editar el archivo usando VIM.
Si queremos cambiar el puerto debemos hacerlo en las dos instancias en que se
incluye.

En el siguiente ejemplo cambiamos el puerto de escucha al 39000


Fig.13 Cambio de puerto en archivo de configuracin smartassistant

Guardamos los cambios y salimos del archivo, luego reiniciamos apache para que los
cambios se hagan efectivos.

service httpd restart

Cifrado de comunicacin
Para mejorar la seguridad de la aplicacin, toda la comunicacin entre la aplicacin y
el Servidor Elastix es cifrada. La clave de cifrado es nica por servidor y El valor por
defecto es 1234567890123456, tanto en al Addon del lado del servidor como en la
aplicacin en el Smartphone. Este valor puede ser editado por el administrador.


Fig.14 Comunicacin cifrada

Para cambiarlo se debe de ejecutar la siguiente instruccin en el servidor Elastix.

/opt/smartassistant/smart-set-secret.php clave_nueva

Nota: La clave debe de ser alfanumrica de 16 dgitos.

Como el mtodo de cifrado es nico para todo el servidor, se debe de ajustar todos los
dispositivos que estn conectados al mismo.

En siguiente ejemplo, cambiamos la clave de cifrado a jk49UU23qw23rY5C


Fig.15 Cambio de clave para usuarios de Smart Assistant

Nota: Este cambio se afectar a todas las aplicaciones Smart Assistant asociadas al
servidor, no es posible cambiarlo individualmente para cada usuario.

Port Knocking
SmartAssistant est apto para trabajar con Port-Knocking. A partir de la versin 2.4 de
Elastix, esta funcionalidad ya viene instalada por defecto.

Para versiones anteriores a Elastix 2.4, es posible instalar l servicio de Port-Knocking
(knockd) siguiendo el procedimiento del manual Seguridad en servidores CentOS con
Elastix. Un detalle de la instalacin puede ser revisado en el Anexo A.

El siguiente archivo muestra un ejemplo de la configuracin disponible
/opt/smartassistant/knockd_sample.conf


Fig.16 Archivo de configuracin de Port Knocking

En este ejemplo estamos habilitando la apertura del puerto 54321, una vez que el
usuario golpee en orden la secuencia de puertos 30000 30500 31000 (sequence
= 30000, 30500, 31000), tambin le estamos dando la orden que cierre el
puerto despus de 10 minutos (600 segundos).

cmd_timeout = 600

La apertura del puerto se realiza exclusivamente para la IP que golpea, no se realiza
para todas las IPs.

La configuracin de Port-Knocking en la aplicacin se realiza de la siguiente manera:

1. Habilitar el cuadro de seleccin Port Knocking.
2. Colocar los tres puertos a golpear. El orden es tomado desde la izquierda hacia
la derecha.


Fig.17 Habilitacin de Port Knocking
Fail2Ban
Podemos encontrar un ejemplo de configuracin para fail2ban, en el directorio
/opt/smartassistant/

Ejemplo de configuracin: fail2ban_filter_smartAssistant.conf
Ejemplo de Jail: fail2ban_jail.sample

Soporte / Consultas

Para soporte o consultas adicionales, puedes escribirnos a:

smartassistant@elastix.com

@_SmartAssistant










































Anexo A

Port-knocking o Golpeo de Puertos: Llamar antes de entrar
Instalacin y configuracin

Tomado de:

Seguridad en Servidores CentOS con Elastix + Buenas Prcticas V. 0.8.6
Autor: Rodrigo Martn

Disponible en:
http://www.elastix.org/index.php/es/informacion-del-producto/manuales-libros.html

Instalacin
Descargamos el paquete RPM (para plataformas de 32 bits):
# wget http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/knock-
0.5-1.el5.rf.i386.rpm
Instalamos el paquete
# rpm -i knock-0.5-1.el5.rf.i386.rpm
Identificamos el archivo /etc/knockd.conf, borramos su contenido y agregamos las
siguientes lneas para cerrar/abrir el puerto ssh y https quedando de la siguiente
manera:

[options]
logfile = /var/log/knockd.log

[openSSH]
sequence = 7000,8000,9000
seq_timeout = 5
tcpflags = syn
command = iptables -A INPUT -s %IP% -p tcp --dport 22 -j
ACCEPT

[closeSSH]
sequence = 9000,8000,7000
seq_timeout = 5
tcpflags = syn
command = iptables -D INPUT -s %IP% -p tcp --dport 22 -j
ACCEPT



[openHttps]
sequence = 7001,8001,9001
seq_timeout = 5
tcpflags = syn
command = iptables -I INPUT -s %IP% -p TCP --dport 443 -j
ACCEPT

[closeHtttps]
sequence = 9001,8001,7001
seq_timeout = 5
tcpflags = syn
command = iptables -D INPUT -s %IP% -p TCP --dport 443 -j
ACCEPT

Ahora ingresamos a /etc/rc.d/init.d y creamos el archivo knock y en el mismo
copiamos las siguientes lneas para manejar el demonio como un servicio.

#!/bin/bash
#
# chkconfig: 345 92 08
# description: Demonio de Knockd
# http://www.zeroflux.org/projects/knock

# process name: knockd
#
#
# Author: Rodrigo Martin
#

# Source function library.
. /etc/init.d/functions

# Check that the config file exists
#[ -f /etc/knockd.conf] || exit 0

KNOCKD="/usr/sbin/knockd -d"

RETVAL=0

getpid() {
pid=` ps -eo pid,comm | grep knockd | awk '{ print $1 }'`
#echo $pid
}

start() {
echo -n $"Starting knockd: "
getpid
if [ -z "$pid" ]; then
$KNOCKD start > /dev/null
RETVAL=$?
fi
if [ $RETVAL -eq 0 ]; then
touch /var/lock/subsys/knockd
echo_success
else
echo_failure
fi
echo
return $RETVAL
}

stop() {
echo -n $"Stopping knockd: "
getpid
RETVAL=$?
if [ -n "$pid" ]; then
#$KNOCKD stop > /dev/null
sleep 1
getpid
if [ "$pid" ]; then

kill "$pid"
rm -f /var/lock/subsys/knockd
echo_success
else
echo_failure
fi
else
echo_failure
fi
echo
return $RETVAL
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
getpid
if [ -n "$pid" ]; then
echo "knockd (pid $pid) is running..."
#$KNOCKD status
else
RETVAL=1
echo "knockd is stopped"
fi
;;
restart)
stop
sleep 2
start
;;
*)
echo $"Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac

exit $RETVAL

Damos permiso de ejecucin al mismo:

# chmod 755 /etc/rc.d/init.d/knock

Establecemos que se cargue siempre cuando inicie nuestro servidor

# chkconfig knock on

Iniciamos el servicio

# service knock start


Para probar el port-knocking debemos tener cerrados los puertos involucrados por
defecto desde Iptables.

Desde Linux en un equipo remoto hacemos el golpeo de puertos para abrir por
ejemplo el puerto https de la siguiente manera:

# telnet ip.del.server.elastix 7001 ; telnet ip.del.server.elastix
8001 ; telnet ip.del.server.elastix 9001

Luego presionamos Ctrl+C 4 veces y nuestro servidor abrir el puerto indicado para
nuestra ip; podemos cerrarlo ingresando la otra combinacin.

Si necesitamos golpear desde Windows podemos llevarlo a cabo con la aplicacin
knock-win32-port (para 32 bits).

Вам также может понравиться