Documente Academic
Documente Profesional
Documente Cultură
TRIBUNAL DE SUSTENTACIN
___________________________________________
Gabriel Antonio Astudillo Brocel
PROFESOR DE LA MATERIA DE GRADUACIN
___________________________________________
Rayner Stalyn Durango Espinoza
PROFESOR DELEGADO POR EL DECANO DE LA FACULTAD
DECLARACIN EXPRESA
___________________________________________
Diego Armando Jimnez Plas
___________________________________________
Daniel Eduardo Daz Brito
RESUMEN
El presente documento, consiste en la implementacin de un call center y
una central telefnica basada en Asterisk, que una vez realizada, permiti
demostrar
Otorgar a los clientes todas las facilidades para hacer uso de nuestro
servicio.
Para cumplir con estos aspectos, se determin que las herramientas a usar,
debido a sus caractersticas y aporte al propsito, seran Elastix junto con su
mdulo de call center, clustering y heartbeat.
Para lograr esta implementacin se hizo uso de Elastix como herramienta de
administracin grfica, adems de la adecuacin de los distintos archivos de
configuracin pertenecientes al sistema operativo donde fue realizada.
NDICE GENERAL
1
ANTECEDENTES.................................................................................. 1
1.2
JUSTIFICACIN ................................................................................... 3
1.3
1.4
METODOLOGA .................................................................................... 6
ASTERISK ............................................................................................. 8
2.2
2.3
ELASTIX .............................................................................................. 21
IMPLEMENTACIN ................................................................................... 25
3.1
INTRODUCCION ................................................................................. 25
3.2
HARDWARE ........................................................................................ 27
3.3
INSTALACIN ..................................................................................... 30
FUNCIONAMIENTO Y PRUEBAS.............................................................. 59
4.1
4.2
4.3
4.4
4.5
4.6
CONCLUSIONES .............................................................................................. 87
RECOMENDACIONES ...................................................................................... 89
GLOSARIO DE TRMINOS .............................................................................. 91
BIBLIOGRAFA .................................................................................................. 94
NDICE DE FIGURAS
Fig. 1.1 Diseo de Red Call Center ..................................................................... 7
Fig. 2.1 Conexin de Asterisk .............................................................................. 9
Fig. 2.2 Puertos FXS / FXO ............................................................................... 11
Fig. 2.3 Esquema del funcionamiento Heartbeat .............................................. 18
Fig. 2.4 Esquema de funcionamiento DRBD ..................................................... 20
Fig. 2.5 Esquema general de los componentes de Elastix ................................ 22
Fig. 2.6 Elastix Administrador Web .................................................................... 23
Fig. 3.1 Vista frontal Gateway GrandStream GXW4108 .................................... 28
Fig. 3.2 Vista tracera Gateway GrandStream GXW4108 ................................... 29
Fig. 3.3 Telfono IP GrandStream BT200 .......................................................... 29
Fig. 3.4 Pantalla de instalacin inicial ................................................................ 31
Fig. 3.5 Pantalla de seleccin de idioma del teclado ......................................... 32
Fig. 3.6 Seleccin de zona horaria..................................................................... 33
Fig. 3.7 Configuracin de la contrasea de root ................................................ 33
Fig. 3.8 Revisin de dependencias entre paquetes ........................................... 34
Fig. 3.9 Fin del proceso de instalacin de paquetes .......................................... 35
Fig. 3.10 Pantalla de GRUB para seleccionar una imagen de arranque............ 36
Fig. 3.11 Pantalla de autenticacin para ingresar a Elastix desde consola ....... 37
NDICE DE TABLAS
Tabla I Caractersticas de los Servidores .......................................................... 27
Tabla II Caractersticas de las Particiones de Disco .......................................... 30
INTRODUCCIN
CAPTULO 1
1 ANTECEDENTES Y JUSTIFICACIN
1.1 ANTECEDENTES
1.2 JUSTIFICACIN
Debido a la gran demanda de las empresas por adquirir una solucin de call
center con caractersticas de alto rendimiento y teniendo en mente que el
usuario final ser el ms beneficiado por dicha solucin, nace la necesidad de
desarrollar un ambiente de alta disponibilidad que tambin permita ajustarse al
continuo crecimiento de la empresa.
Para esto existen alternativas de Software Libre tales como Asterisk, que
proporciona caractersticas adaptables y facilita la integracin con diferentes
tecnologas de cluster sean estas LVS, HeartBeat o DRBD que hacen posible la
redundancia en diferentes aspectos del sistema.
Gracias a este diseo nos aseguramos de brindar una alta disponibilidad con la
excepcin del Gateway.
1.4 METODOLOGA
Se utilizarn tres equipos fsicos, dos sern los servidores en los cuales estar
instalado Elastix, y a su vez Asterisk y el module de Call Center y el tercero ser
el Gateway que nos proporcionar la conexin hacia la red de telefona pblica
conmutada. Los dos servidores se encontrarn formando un clster con el
servicio Asterisk y Call Center, el cual tendr una IP Virtual, al cual los usuarios
se conectarn. Estos servidores contarn con una base de datos sincronizada y
compartida en MySQL, la cual nos asegurar que siempre tendrn ambos
servidores la misma informacin. El diseo se muestra en la Figura 1.1.
CAPTULO 2
10
para
Linux
pero
Asterisk como tal ha tenido una gran acogida en el mercado puesto que es una
tecnologa emergente, de bajo costo y tan eficiente como lo puede ser una PBX
Tradicional hoy en da.
11
Por otro lado los puertos FXO se comportan como terminales, estos necesitan
del timbre que desarrollan el comportamiento de las llamadas. Se conectan a
ellos lneas analgicas de telefona tradicional, tambin extensiones analgicas
de centrales PBX.
12
Capacidad
para
realizar
conferencias
(2
ms
usuarios
simultneamente).
13
2.1.2 VENTAJAS
14
Un servicio que debera estar operativo 24/7 debe mantener un esquema de alta
disponibilidad estructurado correctamente. Implementaremos este esquema a
travs de dos herramientas que nos aseguraran la alta disponibilidad. La
primera ser realizar clustering a travs de Heartbeat y la segunda ser utilizar
15
2.2.1 CLUSTERING
16
Alto rendimiento
Alta disponibilidad
Balanceo de carga
Escalabilidad
17
2.2.2 HEARTBEAT
18
19
DRBD
construccin para formar clusters de alta disponibilidad (HA). Esto se hace por
reflejo de un dispositivo de bloque entero a travs de una red asignada. DRBD
se puede entender como una red basada en RAID-1.
En la Fig. 2.4, las dos ilustraciones de color naranja representan dos servidores
que forman un clster HA. Las ilustraciones contienen los componentes
habituales de un kernel Linux: sistema de archivos, cache, planificador de disco,
controladores de disco, protocolo TCP / IP y una tarjeta de interfaz de red (NIC).
Las flechas en negro ilustran el flujo de datos entre estos componentes.
Las flechas de color naranja muestran el flujo de datos, como espejos DRBD los
datos de un servicio de alta disponibilidad desde el nodo activo del clster HA al
nodo en espera del clster HA.
20
21
2.3 ELASTIX
VoIP PBX
Fax
Mensajera Instantnea
Colaboracin
22
23
Es una excelente opcin para llevar a cabo nuevos negocios, ya sea funcional o
centro de llamadas de conmutacin telefnica (PBX).
Estas son algunas de las caractersticas de este mdulo de Call Center:
24
Consola de agente
Reportacin avanzada
CAPTULO 3
3 IMPLEMENTACIN
3.1 INTRODUCCION
26
permitindonos
Los recursos brindados podrn brindar una solucin al alcance de una pequea
o media empresa, con ahorros significativos, prescindiendo de una central
tradicional que en si conlleva grandes gastos.
27
3.2 HARDWARE
3.2.1 SERVIDORES
28
El GXW4108 est equipado con dos puertos Ethernet (RJ-45) puertos de modo
que ser capaz de utilizar el dispositivo como interruptor (Fig. 3.2). Es
compatible con diferentes cdecs de audio como G711, G723, G729 y GSM. El
firmware puede ser actualizado para as corregir o agregar funcionalidades.
29
3.2.3 TELEFONO IP
GrandStream BT200 (Fig. 3.3). Este telfono lo hemos utilizado para realizar las
pruebas. Al igual que los telfonos utilizados en los laboratorios, ste brinda las
mismas funcionalidades.
30
3.3 INSTALACIN
Tamao Mnimo
Disco 1 Particin 1
Disco 2 Particin 1
Disco 2 Particin 2
20 Gb
400 Mb
160 Mb
Tipo de Sistema de
Archivos
Ext3
Ext3
Ext3
31
Paso 1
Asegrese de que su computador arranque de la unidad ptica (CDROM), caso
contrario deber habilitar esta opcin en el BIOS de su mquina. Quemar la
imagen de Elastix en un disco y proceder con la instalacin. Si la grabacin se
realiz correctamente debera obtener una pantalla como la siguiente (Fig. 3.4):
32
Paso 2
Presionar ENTER o esperar a que el CD inicie la instalacin automticamente.
Proceda a escoger el tipo de teclado de acuerdo al idioma (Fig. 3.5). Si su
teclado es de idioma espaol seleccione la opcin es.
Paso 3
33
Paso 4
Digite la contrasea que ser usada por el administrador de Elastix (Fig. 3.7).
34
Paso 5
Los siguientes procesos de instalacin se realizarn de forma automtica por el
sistema. A continuacin detallamos los siguientes procesos:
1.- Primero el programa de instalacin buscar las dependencias necesarias
para la instalacin (Fig. 3.8).
2.- Luego de esto el sistema proceder a instalar los paquetes (Fig. 3.9).
35
Paso 6
Luego de reiniciar el sistema arrancar automticamente el siguiente kernel:
Elastix-base (2.6.18-53.1.19.e15) tal como se muestra en la imagen siguiente
(Fig. 3.10).
36
Paso 7
Ingrese como usuario root y la contrasea digitada al momento de la instalacin
(Fig. 3.11).
37
38
NETMASK=255.255.255.0
NETWORK=192.168.27.0
GATEWAY=192.168.27.254
DNS1=200.25.197.8
Para nuestro caso, el segmento de red a utilizar es la red 192.168.27.0/24.
Editar luego el archivo /etc/hosts y agregar las siguientes lneas:
192.168.27.121
192.168.27.122
elaxtix-voip
elaxtix-voip-2
= servidor maestro
39
saber el nombre del disco que vamos a utilizar para crear las dos particiones.
Utilizamos el comando ls /dev para verlo.
[root@elaxtix-voip ~]# ls /dev/
adsp
fd0u1743
agpgart
fd0u1760
audio
fd0u1840
bus
fd0u1920
cdrom
fd0u360
cdrom-hdc
fd0u720
cdrw
fd0u800
cdrw-hdc
fd0u820
cdwriter
fd0u830
cdwriter-hdc floppy
console
floppy-fd0
core
full
mem
midi
mixer
net
null
nvram
oldmem
par0
parport0
parport1
parport2
parport3
ram7
ram8
ram9
ramdisk
random
rawctl
root
rtc
sda
sda1
sda2
sdb
tty12
tty13
tty14
tty15
tty16
tty17
tty18
tty19
tty2
tty20
tty21
tty22
tty4
tty40
tty41
tty42
tty43
tty44
tty45
tty46
tty47
tty48
tty49
tty5
ttyS0
ttyS1
ttyS2
ttyS3
urandom
usbdev1.1_ep00
usbdev1.1_ep81
usbdev2.1_ep00
usbdev2.1_ep81
vcs
vcs1
vcs2
40
Para crear una nueva particin presionar (n) + enter para nueva y (p) + enter
para particin. Crear una particin 1 desde el cilindro 1 hasta el 50, para
representar una particin de 400Mb. Y otra particin 2 desde el cilindro 51 hasta
el 71 para representar una particin de 160Mb [1].
Una vez creado las particiones guardar los cambios presionando, (x) + enter.
Para ver la tabla de particiones de este disco presionar p para imprimir la tabla
de particiones:
Comienzo
1
50
51
71
Fin
Bloques Id Sistema
401593+ 83 Linux
168682+ 83 Linux
Luego formatear las particiones con el tipo de sistema de archivos ext3 con el
siguiente comando:
[root@elaxtix-voip ~]# mke2fs -j /dev/sdb1
[root@elaxtix-voip ~]# mke2fs -j /dev/sdb2
41
Por ltimo crear un directorio donde vamos a montar la particin de datos que va
a utilizar DRBD.
[root@elaxtix-voip ~]# mkdir /data
3.3.4 DRBD
42
}
resource data {
net {
allow-two-primaries;
max-buffers 2048;
ko-count 4;
}
startup {
become-primary-on both;
}
syncer {
rate 10M;
al-extents 257;
}
on elaxtix-voip {
device
disk
/dev/drbd1;
/dev/sdb1;
address 192.168.27.121:7789;
meta-disk /dev/ sdb2 [0];
}
on elaxtix-voip-2 {
device
disk
/dev/drbd1;
/dev/sdb1;
address 192.168.27.122.58:7789;
43
meta-disk /dev/sdb2[0];
}
}
44
45
vi /etc/init.d/drbd
Modificando esta lnea:
$MODPROBE -s drbd `$DRBDADM sh-mod-parms`
$ADD_MOD_PARAM || {
Para que quede:
$MODPROBE -f drbd `$DRBDADM sh-mod-parms` $ADD_MOD_PARAM
|| {
Terminamos configurando el sistema para que el script se inicie al iniciarse el
sistema operativo:
chkconfig --add drbd
chkconfig drbd on
Para crear una primera sincronizacin entre los datos de las dos particiones de
los dos servidores cargamos el mdulo DRBD en el Kernel:
modprobe -f drbd
Confirmamos que efectivamente se carg:
lsmod
46
Module
drbd
Size Used by
247200 0
47
wo:b
[==============>.....] sync'ed: 78.6% (106776/491520)K
finish: 0:07:07 speed: 240 (240) K/sec
Una vez terminada la sincronizacin de los dos recursos reiniciamos ambos
servidores:
Reboot
3.3.5 HEARTBEAT
48
(Servidor
49
logfile /var/log/ha-log
logfacility local0
keepalive 2
deadtime 30
initdead 120
ucast eth0 192.168.27.XX
udpport 694
auto_failback on
node elaxtix-voip
node elaxtix-voip-2
Las XX representan la direccin IP del otro servidor.
50
51
52
53
3.3.6 MYSQL
54
Antes que nada para comenzar a migrar las bases de datos de un sistema de
archivos a otro hay que detener el servicio de MySQL con la consola de
administracin de la misma, pero esto lo puede hacer solo un usuario con los
permisos adecuados [4].
Al momento no hay ningn usuario que pueda hacer esto, por lo que
necesitamos asignar estos privilegios al usuario root. Lo hacemos ejecutando lo
siguiente:
[root@elaxtix-voip ~]# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
mysql> GRANT SHUTDOWN ON *.* TO 'root'@'localhost' IDENTIFIED
BY 'diegormando';
Query OK, 0 rows affected (0.01 sec)
mysql> exit
55
Este proceso debe ser llevado a cabo solo en el servidor primario porque es el
nico servidor que tiene acceso al recurso de DRBD creado con permisos de
lectura/escritura sobre ste recurso.
56
2. Copiar el archivo my.cnf dentro del dispositivo DRBD y darle los permisos
adecuados:
[root@elaxtix-voip ~]# mkdir /data/mysql
[root@elaxtix-voip ~]# cp /etc/my.cnf /data/mysql
[root@elaxtix-voip ~]# chmod 644 R /data/mysql
[root@elaxtix-voip ~]# chmod 644 /data/mysql/my.cnf
57
58
7. Ahora por ultimo iniciar el servicio de MySQL y chequear que los datos que se
copiaron estn presentes en el sistema de archives creado.
[root@elaxtix-voip etc]# /etc/init.d/mysqld start
Ntese que no se puede accesar desde el servidor secundario al recurso
compartido de DRBD, sin embargo la informacin ya est replicada en ste.
CAPTULO 4
4 FUNCIONAMIENTO Y PRUEBAS
4.1 CONFIGURACIN ELASTIX
60
61
Fig. 4.2 Seleccin del tipo de dispositivo para crear una extensin.
62
63
64
65
Debido a que cada Agente es nico, se requiere del uso de una contrasea
asociada a cada nmero o identificador de agente. Con estos datos cada uno
puede ingresar a su consola para realizar o recibir llamadas.
Pasos a seguir:
1. En el Tab Call Center -> Agents -> Click New Agent (Fig. 4.5)
66
67
68
69
Como se indic anteriormente, los breaks son espacios de tiempo en los que un
agente no recibe ni hace llamadas. Algunas de estas situaciones pueden ser:
70
Pasos a seguir:
1. En la pestaa Call Center Outgoing Calls.
2. Se escoge la opcin Create New Campaign.
3. Se completan los campos del formulario (Fig. 4.12).
71
72
73
Luego configurar los canales que Asterisk va a utilizar para la comunicacin con
el Gateway. Cada puerto va a tener una cuenta de usuario asignada, la cual
har que apunten hasta estas cuentas al momento de querer hacer una llamada
saliente:
Vamos a la pestaa Channels (Fig. 4.15) y configuramos los puertos con una
extensin previamente creada en Elastix:
74
Luego procedemos a configurar el dial plan del gateway para indicarle los
patrones que debe aceptar al momento de que alguna extensin pida
requerimiento de salida hacia la PSTN.
Vamos a la pestaa Dial Plan y configuramos los siguientes parmetros (Fig.
4.16).
{[2-3]xxxxxx|[5-6]xxxxxx|1xx|1700xxxxxx|1800xxxxxx|0[2-7]xxxxxxx|0[89]xxxxxxx}
75
76
Por ltimo le indicamos al Gateway que cualquier llamada que el reciba por
cualquiera de los puertos del 1 al 4, la enve a la extensin 1234, la cual en este
caso es la cola de agentes del Call Center. Escogemos la pestaa FXO Lines
(Fig. 4.18):
77
78
79
trabajando
normalmente
sin
la
necesidad
de
80
81
82
83
84
Los agentes que reciben las llamadas, son aquellos que pertenecen a la cola
que el cliente se est comunicando. En este caso la cola definida es la 5678
(Fig. 4.25).
85
86
CONCLUSIONES
RECOMENDACIONES
4. La particin creada que ser utilizada por DRBD, tiene que ser estrictamente
igual, la misma cantidad de sectores, tamao y tipo de sistema de archivos
en ambos equipos.
GLOSARIO DE TRMINOS
RDSI: Red Digital de Servicios Integrados. Red digital integrada telefnica, que
proporciona, de un extremo a otro, conectividad digital, soportando un amplio
abanico de servicios, ya sean vocales u otros, y a la que los usuarios pueden
tener acceso mediante dispositivos o interfaces multi-propsito.
protocolos incompatibles.
VoIP: Vos sobre IP, es un grupo de recursos que hacen posible que la seal de
voz viaje a travs de Internet empleando un protocolo IP (Protocolo de Internet).
IVR: Interactive Voice Response, sistema telefnico que es capaz de recibir una
llamada e interactuar con el humano a travs de grabaciones de voz y el
reconocimiento de respuestas simples, como "s", "no" u otras.
BIBLIOGRAFA
[1] Vivek Gite, Linux: How Do I Create a New ext3 File System If a Disk Was
Added To The Server / Desktop, http://www.cyberciti.biz/faq/redhat-centos-linuxext3-filesystem-format-command/, 6 de marzo del 2008
[4] Md. Abdullah Al Mamun, How to configure MySQL High Availability with
DRBD and Heartbeat on Centos 5.3,
http://almamunbd.wordpress.com/2009/05/28/how-to-configure-mysql-highavailability-with-drbd-and-heartbeat/, 28 de mayo del 2009