Servicios Asterisk
Servicios Asterisk
Servicios Asterisk
PRESENTADO POR:
SIMON BEDOYA VALENCIA
ANDRES FELIPE SEVILLA
PRESENTADO A:
ING. DANIEL EDUARDO CAON
1. INTRODUCCION
En la siguiente practica se vera la configuracion de diferentes servicios del sistema
ASTERISK, se configuraran diferentes parametros en archivos como extensions.conf,
sip.conf, voicemail.conf, entre otros.
Ademas del respectivo analisis a los protocolos SIP, de cada uno de los servicios
configurados por medio de la herramienta Wireshark (Analizador de protocolos) y por
ultimo se desarrollara un aplicativo (AGI) para la atencion de solicitudes a usuarios.
2. OBJETIVOS
2.1. Objetivo General
Codec audio.
Remitente correo electronico.
Envio del mensaje de voz con el correo.
Numero maximo de mensajes.
Numero maximo de segundos por mensaje de voz.
Etc.
Entre otras funcionalidades, ahora se crea el contexto en el que estamos trabajando
(lab3sistel) y se crean los voicemails para cada una de las extensiones como se muestra
en la siguiente figura.
Cuarto paso: Por ultimo configuramos en cada una de las extensiones en el archivo
extensions.conf para que despues de un tiempo de timbrado acceda a dejar el mensaje
de voz.
En la anterior imagen se observa que si al realizar una llamada esta hace el proceso de
timbrado por mas de 10 segundos, entra al voicemail de la extension y se ejecuta el
menu del correo de voz.
Figura 3
Figura 3
Figura 3
mv /voces/followme/es/* /var/lib/asterisk/sounds/es/followme/
mv /voces/phonetic/es/* /var/lib/asterisk/sounds/es/phonetic/
8. Configurar los archivos asterisk.conf y sip.conf modificando las siguientes
lineas:
En asterisk.conf habilitamos la linea languageprefix = yes
3.3.
3.3.1. Configuracin
Para configurar este servicio es necesario modificar los archivos de
configuracion extensions.conf y features.conf, realizando los siguientes
pasos:
1. Abrimos terminal y accedemos como super usuario mediante el comando
sudo su.
2. Vamos al directorio de ASTERISK
cd /etc/asterisk
10
11
3.3.3.2.
13
3.4.
3.4.1. Configuracin
1. Acceder como sper usuarios por medio del comando sudo su
2. ubicarse en el directorio de asterisk cd /etc/asterisk
3. Abrir los archivos de configuracin features.conf y extensions.conf por medio de
los comandos:
# nano extensions.conf
# nano features.conf
4. Ahora se procede a modificar el archivo de configuracin extensions.conf
aadiendo la siguiente lnea:
exten => extensin, n, Dial (SIP/40000,extensin,tTWw)
Como se muestra anteriormente: w permite iniciar la grabacin de la llamada
mediante el envo de la secuencia DTFM definida para la grabacin por una
marcacin en la configuracin definida en features.conf. Anlogamente, W
permite iniciar la grabacin de la llamada mediante el envo de la secuencia DTMF
definida para la grabacin por una marcacin en la configuracin de features.conf.
14
3.4.2. Funcionamiento
Cuando 30000 llama a 30001, este contesta y se inicia la conversacin; en cualquier
momento, mientras la llamada se encuentre en progreso, uno de los dos usuarios marca
*1 y se comienza a grabar la conversacin, creando un archivo de audio para cada
usuario, y almacenndolos en /var/spool/Asterisk/monitor, generalmente en formato
.wav; estos archivos se guardan con la hora de inicio y con los nmeros de las
extensiones involucradas. La grabacin finaliza cuando la llamada termine (error de
conexin, alguno de los usuarios cuelga). A continuacin se muestra la direccin donde
quedan guardados los audios con extensin .wav
16
17
18
3.5.
SERVICIO DE FOLLOWME
El servicio de Followme permite redireccionar una llamada a un numero de
extensiones definidas en los archivos de configuracion en caso que la
extension a la que se llama no est disponible.
3.5.1. Configuracin
1. Acceder como super usuario: sudo su
2. Ubicarse en el directorio de asterisk: cd /etc/asterisk
3. Abrir los archivos de configuracin extensions.conf y followme.conf
# nano extensions.conf
# nano followme.conf
4. Editar el archivo de configuracin extensions.conf modificando las
siguientes lineas:
exten => nmero de extensin, n, FollowMe (nmero de extensin,san)
Esta linea le indica al servidor asterisk que si hay una llamada hacia la
extension configurada, mire el archivo followme.conf, que es donde se
encuentran configuradas las extensiones a las cuales se debe llamar en caso
que la extension principal no est disponible. A continuacion se muestra
el archivo configurado.
19
Numero de milisegundos
aceptar o rechazar la llamada
takecall=>1
declinecall=>2
call-from-prompt=>followme/callfrom
options-prompt=>followme/options
pls-hold-prompt=>followme/pls-holdwhile-try
status-prompt=>followme/status
sorry-prompt=>followme/sorry:
20
para
context=>prueba:
3.5.2. Funcionamiento
A continuacin se muestra en la consola del asterisk el proceso de llamada
entre el usuario 30003 al 30000, cuando el usuario 30000 no contesta se activa
el servicio de Follow-me en el que se intenta llamar a la extensin siguiente
configurada en el followme.conf, que este caso es la de 30001, y en caso que
la extension 30001 no conteste luego de un tiempo determinado (10 segundos),
intentar llamar a la extensin siguiente, es decir a la 30002, si 30002 no
contesta, pasar al correo de voz (VoiceMail), tal como se muestra a
continuacin:
21
22
23
24
3.6.
ConfBridge (Conferencias)
El servicio de ConfBridge se opta tomarlo por que el servicio homologo que
es Meetme require de una aplicativo extra el cual es Dahdi y en el proceso de
instalacion de Dahdi ocurrieron diferentes contratiempos y no se pudo instalar
de manera correcta para que se pudiera activar el servicio MeetMe, por otro
lado se trabaja este otro servicio por que recrea el mismo entorno y funcion de
MeetMe que es poder hacer conferencias.
3.6.1. Configuracion:
Se entra al archivo extensions.conf y colocamos los parametros de la extension
que alojara la conferencia de la siguiete manera:
26
27
Descripccion:
La aplicacin se integra con un IVR diseado para el organismo de transito y
transporte minucipal, el cual tiene opciones de comunicacin con extensiones
definidas o tambien de marcar una extension predeterminada por el usuario,
donde entra el conjunto de AGI con el lenguaje de programacion PHP, lo hace
con un numero de extension, el cual dara la informacion del estado de cuenta
de una persona registrada ante el organismo de transito y transporte, el cual le
pedira al usuario ingresar su identificacion, la aplicacin AGI php actuara e
ingresara a la base de datos y cotejara la informacion ingresada, si la
28
Configuracion:
Primer paso descargamos los componentes del phpagi y los llevamos a su
carpeta respectiva, con los siguientes comandos:
cd /usr/src
wget http://sourceforge.net/projects/phpagi/files/latest/ -O phpagi.tgz
tar xvf phpagi.tgz
mkdir /var/lib/asterisk/agi-bin/phpagi
cp -r /usr/src/phpagi-<version_phpagi>/* /var/lib/asterisk/agi-bin/phpagi/
despues de tener los archivos copiados, revisamos que el compilador php este
funcionando correctamente este esta ubicado en la carpeta:
/usr/bin/php
Si poseemos problemas con el compilador phpagi realizamos la instruccin
Apt-cache search php | grep agi
Con esta linea nos apareceran todos los paquetes relacionados con phpagi, los
que nos aparezcan los debemos instalar, con el comando apt-get install y el
nombre del paquete.
Despues de tener configurado el sistema phpagi, en el momento de crear los
scripts de php se debe tener en cuenta los permisos y propietarios de los scripts
php, se debe colocar con permiso total, se un fichero ejecutable y el propietario
asterisk como tambien el grupo, para cambiar estas propiedades al script se
ejecutan los siguientes comandos:
Chown propietario::grupo ubicacin del archivo //con este comando
cmabiamos de propietario y grupo del archivo
Chmod 775 ubicacin del archivo //configuramos los permisos del archivo
sea ejecutable
29
Chmod 777 ubicacin del archivo //configuramos los permiso total para el
propietario
Despues de verificar que los archivos esten en la ubicacin correcta y con los
permisos apropiados, se comienza con la ejecucion del codigo php.
//definimos la ubicacin del compilador php
#!/usr/bin/php q
<?
set_time_limit(30);
// establecemos el archivo phpagi.php para poder ser ejecutado los siguientes
comandos
require ('phpagi/phpagi.php');
error_reporting(E_ALL);
// siempre se debe crear el objeto agi este nos permitira ejecutar comandos
del dialplan de asterisk.
$agi = new AGI();
//obtenemos el parametro enviado desde el dialplan para este caso es el
numero de identificaicion
$ced=$argv[1];
//conexin con la base de datos MySql
$conexion = mysql_connect("192.168.0.16","simon","1234") or
die("Error: El servidor no puede conectar con la base de datos");
mysql_select_db("pruebas",$conexion);
//realizamos la consulta preguntando toda la informacion relacionada con ese
numero de identificacion
$query = "select * from registro where id=\"$ced\" ";
//obtenemos el resultado de la consulta
$_result = mysql_query($query, $conexion);
//verificamos si existe un resultado
$contar = mysql_num_rows($_result);
//si la consulta arroja un valor diferente a 0 es por que encontro coincidencias
en la base de datos por consiguiente hay informacion acerca del individuo
if($contar == 0){
$agi->exec ("goto IVR5,s,1");
}else{
//si existe entonces procedemos a capturar la informacion con esa
identificacion
$query = "select * from registro where id=\"$ced\" ";
30
31
5.3.
Sealizacion SIP:
32
6. CONCLUSIONES
7. REFERENCIAS
http://www.jano.unicauca.edu.co/lab3sistel
http://jano.unicauca.edu.co/lab3sistel/Guia-Informe-2-LabIIISistel.pdf
http://voztovoice.org/
33