Problemas con ADW Launcher en Android  

Mismo artículo en Linuxman R4 Problemas con ADW Launcher en Android

El Problema.

Hace unos días instalé ADW Launcher un programa muy popular en Android para lanzar aplicaciones. El problema fue que instalé un theme gratuito de Ubuntu para este launcher. Lo descargó, aplico los cambios y en el momento que veo mi celular me aparece este bonito error:

Error de la aplicación

¡Lo sentimos! La aplicación ADW.Launcher (proceso android.process.acore) se ha detenido de forma imprevista. Vuelve a intentarlo.

Obviamente el theme esta provocando un problema con el launcher, pero ¿Cómo desinstalarlo si no puedo accesar a la aplicación de Configuración (algunos teléfonos le llaman Ajustes)?

La Solución.

Después de intentar la primera ley de windows que consiste en reiniciar el telefóno (a la mala quitando la batería) recordé que android esta basado en linux y por lo tanto este método no funciona.

Busque algún atajo de teclado, pero no, así que se me ocurrio usar la función de Buscar que tiene el mismo teléfono.

Presioné el botón de Lupa y teclee la palabra Configuración , aparecío el ícono y pude entrar a la configuración del teléfono y desinstalar el theme que causaba el problema

Atajo a la configuración

Es una solución simple y sencilla pero no obvia. Al menos evité hacer un Hard reset a mi android.

Archivado en: Linux y Software Libre, android | (8) Comentarios | September 7, 2011

   Compartir   Print Friendly and PDF

Teléfono Cisco 9951 y Elastix  

Mismo artículo en Linuxman R4 Teléfono Cisco 9951 y Elastix

Introducción.

Cisco 9951 Arranque del teléfono Phone not registered

El Cisco Unified IP Phone 9951 es un teléfono elegante con un display a color, excelente calidad en sus materiales, repleto de opciones y características, pero lograr que funcionara con elastix se estaba volviendo un dolor de cabeza. Al parecer este teléfono forma parte de una solución más completa llamada Cisco Unified Communications Manager ,aunque es posible usarlo con asterisk no esta pensado como para simplificar su uso con él.

Fueron 2 días de googlear todo tipo de información en páginas y foros hasta que por fin logré que se conectara al conmutador Elastix. Si se llegan a topar un con este teléfono estos son los puntos que deben de cubrir.

Firmware.

Phone Information

Es un punto importante porque el firmware del aparato debe de soportar el estándar de comunicación SIP. En el caso del 9951 tiene instalada la versión 9.x y según los foros que he leído esta versión soporta sin problemas este protocolo de comunicaciones. En otros modelos es probable que sea necesaria una actualización del firmware.

Servidor TFTP.

TFTPd32

Anteriormente había configurado teléfonos Linksys, nada más sencillo que abrir su página web, configurarlos, guardar los cambios y listo.

Las cosas son muy diferentes con el 9951. Para empezar necesita de un servidor TFTP. Al momento de iniciar el teléfono (o reconectarlo a la red) obtiene su dirección IP de un DHCP y luego busca su archivo de configuración XML (que discutiremos más adelante) en el servidor TFTP, este le proporciona el archivo y si todo salio bien veremos un teléfono listo para hacer llamadas.

Provisionalmente instalé el programa Tftpd32 en una computadora con Windows, mientras investigo como hacerlo en el mismo servidor Elastix.

Su configuración es mínima, en el mismo directorio donde se instalan los archivos del programa se copian los archivos de configuración del teléfono.

Configuración del DNS.

Este punto puede ser un poco complicado. Verán, junto con la información que proporciona el servidor DHCP (como la dirección IP, los DNS y todo eso), también se puede configurar para que proporcione la dirección IP del servidor TFTP de nuestra red. El mismo programa Tftpd32 tiene un servidor DNS que soluciona este punto ya que se apunta a si mismo como el servidor TFTP.

Pero no todos queremos eso, muchos ya tenemos un router o servidor DHCP que hace ese trabajo. Afortunadamente en IPCop solo es necesario agregar la opción tftp-server-name y decirle cual es la dirección IP, solo que tengan cuidado de poner entre comillas la dirección del servidor.

Configuración del DHCP server

Configuración de Elastix.

Lo primero es dar de alta una extensión de pruebas. Esto no tiene mayor complicación y es muy sencillo. Por ejemplo di de alta la extensión 99 con el nombre de Pruebas 9951.

Para que se registre correctamente el teléfono hay que modificar dos archivos en la configuración del servidor Elastix. Ambos archivos están en la carpeta /etc/asterisk/ pero es más sencillo editarlos usando la herramienta Asterisk File Editor que se encuentra en el menú PBX - Tools.

sip_custom.conf

A este archivo le vamos a agregar las siguientes líneas:

udpbindaddr=0.0.0.0
tcpenable=yes
tcpbindaddr=0.0.0.0
callcounter=yes

sip_custom

sip_custom_post.conf

Y a este otro lo siguiente:

[99](+)
transport=tcp

Esta configuración es para la estensión 99, si tenemos más tenemos que declarar líneas similares, una por cada extensión. Básicamente le estamos diciendo a elastix que agregue (+) a la extensión 99 lo que se le indica.

sip_custom_post

Configuración del archivo XML.

Este es de los puntos más oscuros. Tomé como base archivo publicado en los foros de elastix[2] pero no funcionó. El articulo de Minden[1] menciona los parámetros básicos para lograr una conexión, pero no tiene un ejemplo para el 9951. Por último el artículo de Voip-info[3] menciona varios parámetros y los explica a detalle.

El archivo XML debe de tener un nombre especial formado con la Mac Address del dispositivo.

Ejemplo: Si la Mac Address del dispositivo es 1234567890AB el nombre del archivo sería,

SEP + Mac Address del dispositivo.cnf.xml

SEP1234567890AB.cnf.xml

Este archivo es el que se debe de copiar al servidor TFTP para que lo proporcione al teléfono durante su arranque.

Con esta información y revisando los logs de elastix hice un archivo de configuración base, espero que les sirva. Deben de sustituir los valores que puse en mayúsculas y entre corchetes por los apropiados para su instalación.

Descargar ejemplo de configuración SEP1234567890AB.cnf.xml

Esta es una lista de los valores que he estado modificando dentro del archivo XML.

Para especificar un servidor de hora:

<ntp>
          <name>[DIRECCIÓN IP DEL SERVIDOR DE HORA (NTP)]</name>
          <ntpmode>Unicast</ntpmode>
</ntp>
 

Indicar la dirección del servidor Elastix:

<processnodename>[DIRECCIÓN IP DEL SERVIDOR ELASTIX]</processnodename>

Etiqueta del teléfono (aparece en la esquina superior derecha de la pantalla):

<phonelabel>[ETIQUETA DEL TELEFONO]</phonelabel>

Información para la conexión de la extensión:

        <name>[NUMERO DE EXTENSION]</name>

        <authName>[NUMERO DE EXTENSION]</authName>
        <authPassword>[CONTRASEÑA DE LA EXTENSION]</authPassword>

Conclusiones

Todavía me falta mucho por hacer con este teléfono. Tengo pendiente pasarle una lista de teléfonos a manera de directorio, pero mientras tanto ya puede hacer y recibir llamadas.

Telefono conectado exitosamente a Elastix Recibiendo una  llamada

Actualización 2011-09-30

Acabo de encontrar otro archivo de configuración mucho más completo y que te da más funcionalidad al teléfono.

Cisco 9951 archivo de configuración XML

SEP2009093012AB.cnf.xml.tar.bz2

Ahorita estoy investigando el uso de Open79xx XML Directory Este programa permite administrar una lista telefónica que carga automáticamente el teléfono.

Referencias

Archivado en: elastix | (2) Comentarios | September 5, 2011

   Compartir   Print Friendly and PDF

Script en python para descargar imagenes de un sitio  

El problema.

Necesitaba descargar las imágenes de un sitio. Intenté de varias formas con resultados mixtos. Al principio usé wget, pero por más que le moví a los parámetros del comando descargaba de todo menos las imágenes. Sospecho que el problema fue que los archivos que quería descargar estaban en otros sitios conocidos por hospedar imágenes como Flickr o ImageShack. Era tiempo de ver otras opciones.

Posibles soluciones.

Primero intenté con DownThemAll un archifamoso complemento para firefox que permite descargar archivos de una página. Con la opción del filtro permite especificar únicamente las imágenes. Hace el trabajo, pero con demasiados clics de ratón. Lo dejé como plan B.

Image Harvester parecía ser justo lo que necesitaba. Lamentablemente resulto demasiado lento y de resultados dudosos. Después de 10 minutos jamás vi una imagen JPG en la enormidad de directorios que hizo el script. Afortunadamente inspeccionando su código surgío una idea.

ImageDownloader un script desarrollado por Lorenzo Carbonell. La idea era buena, buscar en una página todas las etiquetas img para luego descargarlas, simple y elegante. Sin embargo este script adolece de un gran problema, al encontrar la primera imagen con una referencia relativa ¡El programa truena! así que tampoco fue una solución.

ImageDownloader + wget

Primero quiero aclarar que mis habilidades con python son muy básicas, así que cualquier sugerencia será bienvenida. Modificando un poco el script de Image Downloader y encargandole la tarea de descargar los archivos a wget logré mi objetivo.

idw descargando imágenes

Todavía tiene problemas con rutas de imágenes relativas pero ya no truena y simplemente continua con la siguiente imagen. Todos los archivos los descarga en el directorio que se esta ejecutando.

Si lo necesitan o lo quieren modificar pueden descargar idw.

El siguiente paso será resolver las rutas relativas, o probablemente usar axel en lugar de wget para acelerar las descargas.

Archivado en: Linux y Software Libre, Python | Un comentario (1) | September 1, 2011

   Compartir   Print Friendly and PDF