Click2Dial automático en Firefox
Actualizado 24-09-2007: Nueva versión. Mejoras en la deteccion de numeros. Añadidos todos los prefijos de paises. Mi idea es poder adaptar la detección a números locales de cada país. En la actualidad funciona con números en formato internacional, y números españoles.
Actualizado 24-09-2007: Sí, otra actualización :). Mejorada la presentación, al no permitir el salto de línea. A veces se quedaba la bandera en una línea y el número en otra. También se ha añadido el nombre completo del país. Se puede ver dejando el ratón unos segundos encima del icono de llamada .
A raíz de un mensaje en la lista de correo de asterisk-es, intenté encontrar un sistema similar, pero que no dependiese de Skype o similares. La idea era que se detectasen los números de teléfono que hubiese en una página web, y automáticamente convertirlos en un enlace a un servicio click2dial.
Greasemonkey es una extensión para Firefox, que permite ejecutar codigo javascript en la página que está cargando. Estos scripts permiten analizar y modificar la página web, y como son persistentes, se ejecutan cada vez que se carga.
Existe ya un script, Skype Linkify, que sustituye los números que encuentra por un enlace a “skype:elnumero?call“. Lo he tomado como base, para hacerle unas mejoras:
- Soporte de números en formato internacional +34 928000000, 00 34 928000000, 011 34 928000000.
- Soporte para números españoles: [6-9]xxxxxxxx.ww
- Se añade una banderita con el país al que pertenece el número de teléfono, que queda muy mono
Instalación
- Instalar la extensión Greasemonkey
- Descargar e instalar el script PhoneLink (original, eh?)
- En Greasemonkey, editar el script, y modificar las variables “myExt” y “url”. La primera corresponde a tu extensión. Si pones 201, el canal utilizado será SIP/201. La segunda corresponde al script (en php por ejemplo) que se llamará cuando pulséis en un teléfono. %DEST% se sustituye por el número de teléfono solicitado.
- Abrir una página que tenga números de teléfono.
Por supuesto, tendréis que tener alojado un php o similar que inicie la llamada en asterisk. El que he usado para pruebas (cuidado con dejarlo accesible, que no es seguro) es este: webcall.php
Ejemplos de patrones que se detectan bien:
- +34 928 00 00 00
- 0034 928000000
- +1 212-000-1234
- 928000000
- 91-800-00-00
- 928.00.00.00
Seguro que falla con otros, y que da falsos positivos en determinados casos. La expresión regular tiene bastante margen de mejora.
Screenshots
Antes:
Después:
PopUp:
Tags: Asterisk, Click2Dial, firefox, greasemonkey





