Beruflich Dokumente
Kultur Dokumente
Contenido:
Una vez que tenemos instalado Elastix en el equipo y hacemos login, nos indica la IP que
ha obtenido por DHCP. Necesitamos que esa IP sea fija/estática en todo momento.
Para ello nos vamos al Panel de Elastix, en mi caso http://192.168.2.42, hacemos login
(usuario: admin password: palosanto) y nos dirigimos a Sistema – Red: Hacemos click
sobre el dispositivo de Red, en mi caso “Ethernet 0″, lo ponemos en “Static” y ponemos
una IP que nos interese, en mi caso 192.168.2.220
Ahora entramos en PBX que es donde se realizan todos los procesos relacionados con la
telefonía IP. Supondremos que tenemos varios teléfonos, ya sean IP o softphones.
Nos vamos a “Extensiones” y agregamos las extensiones que necesitemos, en mi caso 6 que
las he numerado como, 101, 102, 103, 104, 105, 106. Para añadirlas simplemente hacemos
click sobre “Add Extension”, Device: Generic SIP Device y Submit.
La información que nos interesa rellenar es:
User Extension: 101 (es el número de extensión)
Display Name: Recepcion (el nombre que queramos ponerle a la extensión)
secret: ***** (es la clave preferiblemente numérica para poder configurar luego los
teléfonos)
en mi caso Habilito Voice Mail: Status “Enabled” y le pongo de password: **** (clave
para poder acceder al VoiceMail -buzón de voz- de esta cuenta.
- Llegados a este punto, tan sólo tenemos que configurar en los teléfonos IP nuestro HOST:
192.168.2.220, usuario: 110 y password: ***** y deberían de hacer login en el sistema.
Una vez hecho login, las extensiones son funcionales a nivel internet y marcando los
números deberíamos de poder hablar una con otra.
Para la creación del Menu se podría hacer de la forma lógica y explicativa e ir creando
opciones y luego tener que volver para cambiarlas conforme se va avanzando o bien del
tirón. En mi caso lo voy a explicar del tirón:
Supondremos que queremos que la centralita esté recepcionada por voz. Para ello he
grabado varias locuciones:
Para añadirlos tan simple como darle a “Examinar”, Upload, aceptamos el mensaje y luego
le damos a “Save”. Este proceso lo haremos con todos los mensajes que queramos gestionar
luego.
3.2. Announcements
Vamos a crear una locución + acción para que si una llamada está mucho tiempo en espera
(eso lo definiremos más tarde), diga un mensaje y cuelge
Description: FinLlamada
Recording: Agentes Ocupados…
y marcamos: Terminate Call / Hangup
3.3. Creacion de Colas / Queues
En mi caso voy a crear una Cola de Llamadas para ir enviando las llamadas a dicha cola y
que se queden a la espera. Lo he denominado “ColaLlamadas” y le he asignado la extensión
“700″. En “Static agents” he puesto las extensiones en las que va a sonar siempre el
teléfono que son 101, 102, 103 y 104 (cada una en una línea aparte); max wait time: 10
minutes; Frequency: 45 segundos; Fail Over Destination: Announcements: FinLlamada.
Pasados 10 minutos de espera, lo manda al anuncio que recordamos decía una locución y
colgaba
3.4. IVR
Ahora vamos a crear las voces de principio de llamada que en mi caso pueden ser 2. Si está
dentro del horario laboral (esto se define más tarde) aparecerá una voz agradeciendo la
llamada, informando de las extensiones y que si desea contactar con un operador espere.
Para ello creamos el IVR: Bienvenida:
Name: Bienvenida
Timeout: 0
Enable Directory: NO
Announcement: Bienvenida….
Ahora podemos definir una serie de teclas especiales que van desde el 1 al 9 pasando por #;
esto se define justo debajo de Return to IVR, hay un cuadrito, pues ponemos por ejemplo 0
(cero) en el primero y marcamos la opcion Queues: Colas de Llamadas 700.
Esto hará que mientras suena la locución, si el que llama pulsa 0 se manda directamente a la
Cola sin necesidad de tener que escuchar todo el mensaje.
Todo esto que hemos creado todavía no es funcional, vamos a crear las condiciones de
tiempo para según a la hora que llamen, se redirige la llamada a un IVR o a otro.
Pero todo esto sigue sin ser funcional. ¿Cómo hacerlo funcional? (A parte de tener que
tener una línea de entrada de llamadas), pues tenemos que crear el Incoming Route
Añadimos nueva Ruta Entrante. Description: Llamadas. Set Destination: Time Conditions
(Horario)
Esto hará que todas las llamadas entrantes sean desviadas a Horario y ahí se decida según la
hora si va a un IVR o a otro
Ahora si. podemos coger un teléfono de nuestro Asterisk / Elastix y teclear el número de
simulación de llamada entrante 7777. Debería salir una locución u otra según la hora
Esta es la parte de configuración del SPA3102 conectado a una línea telefónica normal. Las
pruebas las estuve haciendo conectando el SPA3102 directamente a una extensión de la
centralita DKDA. De este modo podía recibir llamadas pero no me dejaba hacerlas. El
problema estaba en los voltajes de las líneas. En la pantalla de información se puede ver el
voltaje de la línea y cambia según esté conectado a la centralita o a la linea y según si está
en llamada o en espera. Un valor que a mi me ha ido bien conectado a la DKDA ha sido
Line-In-Use Voltage: 10
Ahora tenemos que crear un Trunk en Asterisk para que nos permita tanto recibir como
hacer llamadas a través de esta pasarela PSTN. Para ello nos vamos a Troncales – Add SIP
Trunk:
Maximum channels: 1
Dial Rules: .
Outgoing Settings:
Trunk Name: pstn
PEER details:
allow=ulaw
call-limit=50
canreinvite=no
context=from-trunk
disallow=all
dtmfmode=rfc2833
host=192.168.2.221
incominglimit=1
nat=never
port=5061
qualify=yes
secret=**** (el mismo que pusimos en el spa3102)
type=friend
username=pstn
Incoming Settings, todo en blanco, Register string, en blanco. Submit Changes y aplicamos.
La prueba de fuego. De esta forma deberíamos de poder recibir llamadas . Pues ale. A
llamarnos nos toca y RING!
Vamos a definir una ruta para las llamadas salientes, para comunicarnos con el exterior a
través de nuestro SPA3102. Vamos a Rutas Salientes y hacemos click sobre una ruta que ya
existe: 0 9_outside. Rellenamos como Dial Patterns:
6XXXXXXXX
8XXXXXXXX
9XXXXXXXX
5. [PARA LUEGO]
Se supone que Elastix en su versión 1.1-6 ya lleva integrado Festival pero yo lo he estado
probando y no hay forma de que funcione. No me habla
Para hacerlo funcionar en mi caso ha sido de la siguiente forma. Nos vamos a
/var/lib/asterisk/agi-bin/ editamos el demoagi.php y ponemos lo siguiente:
#!/usr/bin/php -q
<?php
require(“/var/lib/asterisk/agi-bin/phpagi.php”);
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
$agi->text2wav($argv[1]) ;
#$agi->hangup();
?>
Ahora tenemos que revisar los ficheros de configuración del text2wav empleado a través de
php, para ello nos vamos a /etc/asterisk/ y editamos y verificamos phpagi.conf que en mi
caso no estaba bien y lo he puesto como:
[festival]
text2wave=/usr/src/festival/bin/text2wave
tempdir=/var/lib/asterisk/sounds/tmp/
Haciendo esto, nuestra centralita ya debería de ser capaz de hablar, en inglés pero algo es
algo.
Con esto y marcando la extensión 1235, deberíamos escuchar con una macarrónica
pronunciación en inglés el texto “Esto es una prueba de voz de asterisk”.
Importante decir que la configuración por defecto del text2wav de php-agi hace que una
frase se guarde en cache temporal durante 1 mes, si cambiamos la voz y el texto a decir es
el mismo, lo coge de la caché y no lo pronuncia con la voz nueva por lo que para las
pruebas iniciales, deberemos borrar frecuentemente el contenido de:
/var/spool/asterisk/tmp/ (y en caso que no exista crearlo con los permisos adecuados)
Para poner las voces en español básicas hay que descomprimir el fichero
festvox_ellpc11k.tar.gz en la carpeta /usr/share/festival/voices/spanish/el_diphone/
…
the default voice. [see Site initialization]“)
(defvar default-voice-priority-list
‘(el_diphone
kal_diphone
cmu_us_bdl_arctic_hts
…
y más adelante quedaría asi con las voces medio decentes que vamos a poner a
continuación:
…
the default voice. [see Site initialization]“)
(defvar default-voice-priority-list
‘(JuntaDeAndalucia_es_pa_diphone
JuntaDeAndalucia_es_sf_diphone
el_diphone
kal_diphone
cmu_us_bdl_arctic_hts
…
Para instalar las voces de JuntaDeAndalucia, tenemos un completo manual aqui y el para
los que no tengan Festival instalado aqui.
Y una vez instalado todo y reiniciado el equipo, ahora al marcar 1235 debería hablarnos en
un Español medio entendible.
Los teléfonos que estoy empleando en las pruebas es un Linksys SP941 y OKI 3130IF-
VoIP Phone, me encuentro con la pega que si descuelgo una llamada entrante y quiero
pasarlo a otra extensión por defecto sólo está habilitado el Blind Transfer mediante las
teclas ##, es decir trasferencia blindada sin poder comunicarme yo con la extensión antes
de pasarla. Para modificar esto y poder hablar con la extensión y al colgar que se pase la
llamada hay que habilitar las Attended Transfer, para ello editamos el archivo features.conf
y lo dejamos algo asi como lo siguiente o como queramos:
[featuremap]
blindxfer => *# ; Blind Transfer
disconnect => ** ; Disconnect Call
automon => *1 ; One Touch Record
atxfer => # ; Attended Xfer
Ahora, cuando tenemos una llamada y queremos pasarlo a otra extensión simplemente
marcamos #numeroext. y decimos, es fulanito de tal y al colgar se pasa la llamada.
Por defecto están desabilitadas. Una forma rápida de activarlas en marcando *70 desde la
extension que queremos llamada en espera.
Jun 19
Tras haber conseguido con un SPA3102 + Elastix que las llamadas entren y salgan tanto
directamente en línea como a través de una Centralita DKDA (la cual me volvió loco pues
no hacía llamadas salientes), hoy he configurado para recibir faxes.
Creo que al estar a través de SPA3102 no discrimina las llamadas por lo que para las
pruebas he puesto un inbound route para que todo entre a la extensión de fax de asterisk y :-
O entro! que ilusión! :_)
Una centralita con su menu de voz, sus horarios, sus líneas y ahora sus faxes!
Poco a poco voy aprendiendo más sobre Asterisk. Desde luego ya podría ofrecer soluciones
profesionales más o menos sencillas aunque las complicadas serían mejor pues supondrían
un reto y me encantan los quebraderos de cabeza porque siempre llegan a buen puerto.