Asterisk Addons es un paquete que añade cuatro funcionalidades a nuestra centralita Asterisk.
Antes de empezar tenemos que parar el servidor Asterisk y arrancar el servidor Mysql
Para hacer esto digitamos:
/etc/init.d/asterisk stop
/etc/init.d/mysqld start
Creamos una contraseña para el usuario root:
mysqladmin -u root password loggia12
Si tenemos un dispositivo bluetooth en nuestro computador instalamos tambien estos paquetes:
yum install bluez-utils bluez-libs bluez-libs-devel bluez-hcidump
Bajamos el paquete de Asterisk addons en la carpeta /usr/src:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.0.4.tar.gz
lo descomprimimos:
tar -xf asterisk-addons-1.6.0.4.tar.gz
entramos en la carpeta recien creada
cd asterisk-addons-1.6.0.4
y compilamos
./configure
make
make install
creamos los archivos de muestra
make sampples
Ahora para que nuestra centralita tenga un registro de toda las llamadas en MySQL tenemos que seguir este procedimiento.
Ahora creamos el database
mysqladmin create asteriskcdr -u root -pXXXXX
volvemos al cliente mysql esta vez utilizando el nombre usuario root y la clave sesamo
mysql -u root -pXXXXX
ahora creamos la tabla para registrar las llamadas en el database
mysql> use asteriskcdr
mysql> CREATE TABLE cdr (
calldate datetime NOT NULL default '0000-00-00 00:00:00',
clid varchar(80) NOT NULL default '',
src varchar(80) NOT NULL default '',
dst varchar(80) NOT NULL default '',
dcontext varchar(80) NOT NULL default '',
channel varchar(80) NOT NULL default '',
dstchannel varchar(80) NOT NULL default '',
lastapp varchar(80) NOT NULL default '',
lastdata varchar(80) NOT NULL default '',
duration int(11) NOT NULL default '0',
billsec int(11) NOT NULL default '0',
disposition varchar(45) NOT NULL default '',
amaflags int(11) NOT NULL default '0',
accountcode varchar(20) NOT NULL default '',
uniqueid varchar(32) NOT NULL default '',
userfield varchar(255) NOT NULL default ''
);
Ahora creamos un nuevo usuario y le damos todos los privilegios para manejar el database
mysql> GRANT ALLPRIVILEGESON asteriskcdr.* TO asterisk IDENTIFIED BY 'sesamo';
mysql> flush privileges;
mysql> quit
Puse el nombre de usuario asterisk pero puede ser cualquiera.
Ahora lo unico que nos falta es anadir unas lineas en un archivo de configuracion de asterisk. Abrimos el archivo de texto con nano:
nano /etc/asterisk/cdr_mysql.conf
y pegamos esto:
[global]
hostname=localhost
dbname=asteriskcdr
table=cdr
password=sesamo
user=asterisk
port=3306
sock=/var/lib/mysql/mysql.sock
Listo
para ver si todo funciona arrancamos asterisk y desde la consola miramos si hay conexion:
/est/init.d/asterisk start
asterisk -rvvvvv
*CLI> cdr mysql status
debe aparecer algo parecido
Connected to asteriskcdr@localhost, port 3306 using table cdr for 45 seconds.
Wrote 0 records since last restart.
Ahora vamos a conectar nuestro celular a Asterisk.
Primero modificamos el archivo hcid.conf
mv /etc/bluetooth/hcid.conf hcid.conf.old
nano /etc/bluetooth/hcid.conf
y pegamos las siguientes lineas:
#
# HCI daemon configuration file.
#
# HCId options
options {
autoinit yes;
security auto;
pairing multi;
passkey "1234";
}
# Default settings for HCI devices
device {
name "%h-%d";
class 0x120104;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}
Guardamos los cambios y arrancamos el servicio
/etc/init.d/bluetooth start
Iniciando los servicios de Bluetooth: [ OK ]
Una vez que el servicio esté activo volvemos el computador visible a otros dispositivos bluetooth:
dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable
Desde el celular (dependiendo de la marca y modelo) buscamos otros dispositivos bluetooth y cuando aparece el nombre de nuestro computador lo seleccionamos y hacemos el "pairing" (lo asociamos). Cuando se nos preguntará la clave tendremos que digitar "1234" y configuramos esta asociacion como automatica.
Ahora buscamos el MACaddress del dispositivo bluetooth del computador:
hcitool dev
deberia aparecer algo por el estilo:
hci0 00:1F:E2:ED:5E:E9
Ahora abrimos el archivo de configuracion de asterisk para el chan_mobile y configuramos este dipositivo:
nano /etc/asterisk/mobile.conf
y copiamos el MAC address en esta linea:
[adapter]
id=blue
address=00:1F:E2:ED:5E:E9
Guardamos los cambios y volvemos a arrancar asterisk:
/etc/init.d/asterisk restart
entramos en la consola de asterisk y buscamos el celular:
asterisk -rvvvvvvvvvvvvvvvvvv
CLI> mobile search
el resultado será:
Address Name Usable Type Port
00:25:48:6F:F1:00 Nokia E71 Yes Phone 1
Esto nos dirá el MACAddres del celular, si es utilizable en asterisk y el puerto che tenemos que usar en la configuracion.
Volvemos al archivo del chan_mobile:
nano /etc/asterisk/mobile.conf
añadimos las siguientes lineas:
[Nokia E71]
address=00:25:48:6F:F1:00
port=1
context=incoming-celular
adapter=blue
group=1
Guardamos los cambios y arrancamos otra vez asterisk:
/etc/init.d/asterisk restart
entramos en la consola y miramos si el celular está conectado:
asterisk -rvvvvvvvvvvvvvvv
CLI> mobile show devices
ID Address Group Adapter Connected State SMS
Nokia E71 00:25:48:6F:F1:00 1 blue Yes Free No
Veremos como hacer llamadas desde asterisk usando el celular como gateway GSM cuando hablaremos del dialplan.