Datos personales

Mostrando entradas con la etiqueta Android. Mostrar todas las entradas
Mostrando entradas con la etiqueta Android. Mostrar todas las entradas

miércoles, 8 de diciembre de 2010

Ekiga, sipdroid y PBXes

PBXes es un sistema de centralita (PBX) virtual que nos permite, entre otras cosas, acceder a funcionalidades avanzadas desde nuestro cliente SIP.

En este artículo exploramos la utilización de PBXes como puente para hacer y recibir llamadas VoIP desde un teléfono Android. También veremos como conectar con usuarios que disponen de cuenta en Ekiga.

Escenario

  • Operador: Vodafone España
  • Teléfono: HTC Magic (Android 1.6)
  • Ekiga 2.0.12 sobre Debian Lenny

Crear y configurar cuenta en PBXes

En primer lugar, crearemos un usuario en http://www.pbxes.com.

A los efectos del ejemplo, nuestro usuario se llamará manolo y, al terminar el proceso de alta, recibiremos el identificador SIP manolo@pbxes.org.

Configurar una extensión

El siguiente paso consiste en crear un número de extensión dentro de nuestra cuenta. Esta extensión se asociará posteriormente con el teléfono móvil y también se usará como destino para las llamadas entrantes.

Escogemos "Internos->Añadir Interno" y seleccionamos "SIP". Sólo es necesario asignar un número de extensión, un texto identificativo de nuestra elección y una contraseña para acceder a la extensión.

Estos datos los usaremos después para configurar el cliente sipdroid en nuestro teléfono. A los efectos de nuestro ejemplo, el número interno será 100.

Configurar enlaces con el exterior

El siguiente paso es configurar un enlace "trunk" para poder hacer y recibir llamadas.

En nuestro caso vamos a configurar una conexión con ekiga.net, para lo cual escogeremos "Troncales -> Agregar troncal" y "Agregar troncal SIP; una vez ahí configuraremos de esta forma con nuestro usuario en Ekiga.net:


Establecer ruta para llamadas entrantes

Para poder recibir llamadas será necesario establecer una ruta DID. Se permite hacer enrutamiento en base a distintos parámetros: troncal por el que entra la llamada, identificador del usuario remoto, etc.

Por simplicidad, vamos a enrutar todas las llamadas entrantes  incondicionalmente a una extensión interna (la que luego asociaremos al teléfono).

Escogemos "Rutas DID -> Add Incoming Route" y configuramos de esta forma:


Instalar y configurar sipdroid

La instalación de sipdroid se lleva a cabo directamente desde Market.

Una vez instalada, configuraremos una cuenta SIP indicando los siguientes datos:
  • Authorization username: El identificador de usuario la extensión interna que queremos asociar al teléfono. Este identificador está compuesto por nuestro nombre de usuario en pbxes.com y el número de extensión (en nuestro caso, manolo-100).
  • Contraseña: La que hayamos asociado al identificador de la extensión.
  • Protocolos: WLAN y/o 3G

Probando la configuración

Desde nuestro cliente Ekiga, simplemente llamaremos empleando el identificador SIP que tenemos en PBXes (manolo@pbxes.org). La llamada se tiene que enrutar al número interno que configuramos en los pasos anteriores y, por lo tanto, será recibida en el terminal Android.

En el caso de sipdroid, no se puede llamar a identificadores SIP directamente desde el teclado telefónico de Android. Tendremos que agregar a un contacto una nueva dirección de chat. En nuestro caso, manolo@ekiga.net.

Una vez hecho esto, abriremos el contacto en cuestión y escogeremos "Chatear". Si todo funciona correctamente, la llamada entrará en Ekiga.

Conectar Ekiga a PBXes

Adicionalmente, podemos crear una segunda extensión y conectar Ekiga directamente a PBXes:


Con dos extensiones podemos jugar con las opciones de enrutamiento de llamadas entrantes para que, por ejemplo, las llamadas en horario laboral entren por Ekiga y el resto por el móvil.

Referencias

sábado, 25 de septiembre de 2010

Android: Depurando sobre HTC Magic en Debian Lenny

Siguiendo las instrucciones que se indican en el sitio para desarrolladores de Android me resultó imposible poder depurar programas sobre un dispositivo físico (en mi caso, un HTC Magic de Vodafone con Android 1.6).

Aunque las instrucciones son para Ubuntu, en teoría deberían poder aplicarse en Debian Lenny sin mayor problema, pero finalmente el comando adb devices siempre acaba mostrando lo mismo:


* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
???????????? no permissions


Evidentemente, se trataba de un problema con los permisos, porque, ejecutando el demonio con permisos de root, se obtiene lo siguiente:


# /opt/android-sdk/tools/adb root
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adbd cannot run as root in production builds

$ /opt/android-sdk/tools/adb devices
List of devices attached
HT962KF05736 device


Solución


Matamos el demonio adb:

/opt/android-sdk/tools/adb kill-server

Creamos la regla /etc/udev/rules.d/51-android.rules con este contenido:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bb4",
ATTRS{idProduct}=="0c02", GROUP="adm", SYMLINK+="android%n"


El demonio udev debe recargar automáticamente el contenido de la regla.

Volvemos a probar, deberíamos obtener esto siempre que nuestro usuario pertenezca al grupo adm:

$ /opt/android-sdk/tools/adb devices
List of devices attached
HT962KF05736 device


Más información en: