`
jiagou
  • 浏览: 2533045 次
文章分类
社区版块
存档分类
最新评论

Asterisk Addons 1.6.X - Mysql, MP3, H323, Chan_mobile

 
阅读更多

Asterisk Addons es un paquete que añade cuatro funcionalidades a nuestra centralita Asterisk.

  1. la posibilidad de tener un registro de las llamadas en una base de datos MySQL
  2. utilizar archivos MP3 para la musica en espera
  3. Añadir el protocolo H323 (version propietaria)
  4. el canal chan_mobile que nos permite conectar, via bluetooth, un celular a nuestra centralita y usarlo como gateway GSM y, si el celular lo soporta, envio de SMS.

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.

Chan_mobile

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.

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics