Hace ya tiempo que escribí un howto para utilizar chan_cellphone con Asterisk, pero como comenté hace poco, ya no es necesario parchear nada, ya que el nuevo chan_mobile viene incluido en la rama trunk de asterisk-addons.
En este post voy a comentar la manera de realizar la instalación, así como los resultados de las pruebas realizadas y una sección TODO, en la que indicaré pruebas que me gustaría realizar.
HOWTO
Lo primero que tenemos que hacer es preparar nuestra máquina para funcionar con los dispositivos bluetooth. Para ello, añadiremos los siguientes repositorios a nuestro fichero /etc/apt/sources.list:
#bluetooth
./
deb http://bluez.sourceforge.net/download/debian/ ./
deb-src http://bluez.sourceforge.net/download/debian/
A continuación, instalamos los paquetes necesarios:
apt-get install bluetooth bluez-utils libbluetooth2 libbluetooth2-dev
Una vez tenemos los paquetes necesarios instalados, configuramos el subsistema bluetooth editando el fichero /etc/bluetooth/hci.conf, dejándolo así:
options {
autoinit yes;
security auto;
pairing multi;
passkey «1234»;
}
device {
name «asteriskpbx»;
class 0x000100;
iscan enable; pscan enable;
lm accept;
lp rswitch,hold,sniff,park;
}
Reiniciamos el subsistema bluetooth:
#/etc/init.d/bluetooth restart
Para más información acerca de este fichero, podéis preguntarle al señor man. 🙂
Ya tenemos el subsistema bluetooth listo, ya podemos comenzar a instalar Asterisk. El chan_mobile solo esta disponible en la versión trunk de asterisk-addons, por lo que realizaremos una instalación de Asterisk bajándolo del servidor SVN:
#cd /usr/src
#svn co http://svn.digium.com/svn/zaptel/trunk zaptel-trunk
#cd zaptel-trunk
#./configure
#make && make install
#cd ..
#svn co http://svn.digium.com/svn/asterisk/trunk asterisk-trunk
#cd asterisk-trunk
#./configure
#make && make install
#cd ..
#svn co http://svn.digium.com/svn/asterisk-addons/trunk asterisk-adons-trunk
#cd asterisk-addons-trunk
#./configure
#make menuselect
Aquí nos aseguramos de que chan_mobile esta marcado, y acontinuación ejecutamos:
#make && make install && make samples
Ya tenemos Asterisk listo, comencemos la configuración del chan_mobile!
Lo primero que necesitamos saber es la dirección MAC del adaptador bluetooth que hemos conectado a nuestro servidor, que podemos obtener ejecutando:
#hcitool dev
Obtendremos una salida como esta:
asterisk-debian:/etc/asterisk# hcitool dev
Devices:
hci0 00:02:72:C9:6E:33
Ahora editamos el fichero mobile.conf y añadimos una sección con la configuración de nuestro adaptador:
[adapter]
id=bluekosa
address=00:02:72:C9:6E:33
Ya tenemos el adaptador «bluekosa» conectado, ahora tenemos que localizar el móvil. Para ello arrancamos Asterisk y desde el CLI ejecutamos:
*CLI>mobile search
Del resultado de la búsqueda, anotamos la MAC del dispositivo y el puerto que utiliza. A continuación paramos Asterisk y editamos otra vez el fichero mobile.conf y añadimos la sección correspondiente al teléfono:
[n70]
address=00:17:4B:13:71:CC
port=1
context=incoming-mobile
adapter=bluekosa
Ahora ejecutamos el siguiente comando, de manera que nuestro servidor sea visible. Después lo emparejamos con nuestro móvil, utilizando la contraseña que indicamos en el fichero /etc/bluetooth/hci.conf (passkey).
dbus-send --system --dest=org.bluez /org/bluez/hci0 org.bluez.Adapter.SetMode string:discoverable
Ya podemos arrancar Asterisk, y si todo ha ido bien, podremos ver algo parecido a esto:
Ya casi esta, solo nos queda configurar el dialplan para hacer y recibir llamadas con el móvil. Para recibir llamadas, creamos el contexto inoming-mobile que hemos especificado en el fichero mobile.conf, por ejemplo yo he realizado las pruebas así:
[incoming-mobile]
exten => s,1,Answer
exten => s,n,Playback(demo-congrats)
exten => s,n,Echo
De esta manera podemos comprobar tanto el envío como la recepción de audio. Para las llamadas salientes, podemos utilizar esta configuración:
exten => _0X.,1,Dial(Mobile/n70/${EXTEN:1})
Voila! Ya tenemos nuestro Asterisk con chan_mobile funcionando! 😀
Review
Las pruebas realizadas han sido sencillas, hacer y recibir llamadas con un softphone en un PC, a través del móvil que estaba encima de la mesa 🙂
Los resultados han sido muy buenos, la calidad era perfecta (he llamado a mi padre y ni se ha dado cuenta xD).
PERO PERO PERO, me he encontrado con una pequeña pega: al llamar a un teléfono fijo, no se detectaba el colgado. Esto al parecer es un pequeño bug, así que espero que se resuelva pronto. No obstante, las llamadas a móviles funcionan correctamente.
ToDo
Me hubiera gustado probar el envío y recepción de SMS, pero al hacer el scan con Asterisk, este me dice que no tengo esa posibilidad… no se si es por el adaptador o por el móvil, así que haré más pruebas…
También me hubiera gustado probar un manos libres bluetooth, y recibir con él llamadas, pero no tengo ninguno… A alguien le sobra uno? 🙂
Y hasta aquí hemos llegado, espero que os sirva y que disfrutéis tal y como yo lo he hecho haciendo pruebas y escribiendo estas líneas. Njoy! 😀
Yo probé con un Nokia N70 y sin problemas… :O
Hola Lista..!
Gracias por el aporte a la comunidad asterisk, quisiera hacer la misma pregunta que HaShaKo
isnet*CLI> mobile search
All Bluetooth adapters are in use at this time.
cual fue la solucion a este problema..?? no tengo entorno grafico corriendo, quien me puede decir cuales posibles aplicaciones podrian estar utilizando el bluetooth si por defecto tengo instalado trixbox 2.6 con asterisk Asterisk 1.4.22-4.
Saludos a todos y gracias por su aporte.!
HAMS
Hola Hector:
Yo usé una Debian y no tuve problemas… no obstante, ha habido muchos cambios en chan_mobile, por lo que te recomendaría que lo probaras en un Asterisk 1.6 a ver…
Hola Saghul,
compilare la version 1.6 y te cuento como me fue.
gracias por el comentario
Hola, saghul gracias por tu howto, solo queria preguntar que hardware utilizaste.
Lo que es yo, utilice un bluetooth corriente y un celular samsung y se escucha pesimo.
Gracias