ES2360011T3 - Posar el puntero para hacer una llamada. - Google Patents

Posar el puntero para hacer una llamada. Download PDF

Info

Publication number
ES2360011T3
ES2360011T3 ES07755644T ES07755644T ES2360011T3 ES 2360011 T3 ES2360011 T3 ES 2360011T3 ES 07755644 T ES07755644 T ES 07755644T ES 07755644 T ES07755644 T ES 07755644T ES 2360011 T3 ES2360011 T3 ES 2360011T3
Authority
ES
Spain
Prior art keywords
content
indication
objective
pattern
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES07755644T
Other languages
English (en)
Inventor
Lon-Chan Chu
Pitak Leelaphisut
Praveen Kumar Vemparala
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Application granted granted Critical
Publication of ES2360011T3 publication Critical patent/ES2360011T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

Metodo para iniciar una comunicacion, que comprende: esperar un evento de posar el puntero; generar un evento de posar el puntero cuando un usuario posa el puntero sobre un contenido o cerca del mismo; determinar 406, 506, 606, 706 si dicho contenido es una indicacion de un objetivo, en respuesta al evento de posar el puntero; identificar visualmente 410, 510, 610, 710 dicha indicacion de dicho objetivo, en respuesta a dicha determinacion; recibir una seleccion 414, 514, 614, 714 de dicha indicacion de dicho objetivo; y establecer 418, 520, 620, 720 una conexion de voz utilizando dicha indicacion de dicho objetivo, en respuesta a dicha recepcion de dicha seleccion de dicha indicacion de dicho objetivo.

Description

5
15
25
35
45
ANTECEDENTES
Voz sobre protocolo de Internet (VOIP, Voice over Internet Protocol) es una tecnología que permite a los usuarios hacer llamadas telefónicas utilizando una conexión de Internet de banda ancha en lugar de una línea telefónica tradicional. Algunos servicios que utiliza VOIP pueden permitir a los usuarios llamar solamente a otras personas que están asimismo utilizando VOIP; sin embargo, muchos servicios permiten asimismo a los usuarios llamar a cualquiera que tenga un número de teléfono (incluyendo números locales, de larga distancia, móviles e internacionales). Si bien algunos servicios funcionan solamente sobre un ordenador o un teléfono VOIP especial, otros servicios permiten la utilización de un teléfono tradicional a través de un adaptador.
Para fomentar la utilización de VOIP, los proveedores de tecnología han buscado formas de hacer que VOIP sea más cómodo y eficiente de utilizar. Por ejemplo, algunos proveedores de aplicaciones VOIP han desarrollado tecnología que identifica números de teléfono en contenidos de la red Internet, destacando los números de teléfono encontrados en una página web y asociando un hipervínculo para iniciar una llamada telefónica.
Sin embargo, la tecnología descrita anteriormente que destaca los números de teléfono ha acusado diversos problemas relacionados con la experiencia de los usuarios. Por ejemplo, en ocasiones los destacados han resultado molestos y han dificultado la lectura de la página web. Finalmente, la utilización de los destacados ha incrementado el tiempo de presentación para las páginas web debido a que el soporte lógico que lleva a cabo el destacado necesita realizar un análisis sintáctico a través de toda la página para encontrar y reconocer todos los números de teléfono, los hipervínculos asociados a estos números de teléfono, y destacar los números de teléfono.
El documento US 7 003 327 B1 da a conocer un método y un aparato para implementar una interfaz de usuario heurística para un dispositivo móvil, que ayuda a un usuario con la administración y utilización de identificadores de contacto (por ejemplo números de teléfono, números de fax, direcciones de correo electrónico e identificadores uniformes de recursos). El contenido almacenado en un dispositivo móvil o que está siendo procesado por el mismo, es analizado en busca de la presencia de clases predeterminadas de identificadores de contacto.
El documento US 2002/0 003 469 A1 da a conocer un método de comunicación de información electrónica por medio de un dispositivo de visualización con una matriz de elementos táctiles móviles. El método incluye visualizar sobre una primera parte de la matriz una representación de un archivo que contiene vínculos de hipertexto, y visualizar sobre una segunda parte de la matriz una lista de los vínculos de hipertexto. La representación puede incluir elementos gráficos y símbolos de texto tales como Braille.
El documento KR 2001/0 085 120 A da a conocer un método para una conexión con un servicio de telefonía de Internet cuando se hace un clic sobre un número de teléfono en una ventana.
RESUMEN
La tecnología descrita en el presente documento facilita la utilización de un sistema de comunicación, automatizando una llamada telefónica en respuesta a un usuario que posa el puntero o selecciona un número de teléfono en el interior del contenido de una interfaz de usuario.
Cuando un usuario posa el puntero sobre un número de teléfono (u otra indicación de un objetivo de una comunicación de voz) en una página web (u otra interfaz), el número de teléfono será destacado y se dará al usuario la oportunidad de realizar una llamada utilizando el número destacado. Si el usuario hace un clic sobre (o selecciona de otro modo) el número de teléfono destacado, el número de teléfono será proporcionado a una aplicación VOIP (u otra aplicación de comunicaciones) que puede realizar una llamada telefónica utilizando dicho número. Si el usuario desplaza el puntero sin hacer clic sobre el número de teléfono destacado, el destacado desaparecerá. En realizaciones alternativas, un usuario puede seleccionar texto en una página web (u otra interfaz) y, si existe un número de teléfono en el texto seleccionado, dicho número de teléfono puede ser proporcionado automáticamente a la aplicación VOIP para facilitar la realización de una llamada. En otra realización, el sistema encuentra números de teléfono en el contenido y sustituye dichos números de teléfono con hipervínculos para habilitar el comportamiento descrito en el presente documento.
Una realización incluye determinar si el contenido es una indicación de un objetivo, en respuesta a un usuario que posa el puntero sobre el contenido o cerca del mismo, identificar la indicación del objetivo en respuesta a dicha determinación, recibir una selección de la indicación del objetivo, y establecer una conexión de voz utilizando la
5
10
15
20
25
30
35
40
45
indicación del objetivo en respuesta a la recepción de la selección de la indicación del objetivo. Otra realización incluye determinar si el contenido es una indicación de un objetivo incluyendo normalizar el contenido, poner en correspondencia el contenido normalizado con un patrón normalizado, y poner en correspondencia el contenido con un patrón en bruto asociado con el patrón normalizado. La indicación del objetivo se identifica visualmente en el interior del contenido, en respuesta a un usuario que posa su puntero sobre el contenido o cerca del mismo. Se establece una conexión de voz utilizando la indicación del objetivo en respuesta a la recepción de una selección de la indicación del objetivo. Otra realización incluye visualizar contenido procedente de un dispositivo de memoria en una interfaz de usuario, recibir una selección de un subconjunto del contenido, determinar si el subconjunto de contenido comprende una identificación adecuada de un objetivo, y provocar el establecimiento de una conexión de voz sobre una red de datos utilizando la indicación adecuada del objetivo y una interfaz de comunicación.
La tecnología descrita en el presente documento puede ser implementada utilizando equipamiento físico, soporte lógico, o una combinación de equipamiento físico y de soporte lógico. El soporte lógico utilizado se almacena en uno
o más dispositivos de almacenamiento legibles por ordenador incluyendo discos duros, CD-ROMs, DVDs, discos ópticos, disquetes, unidades de cinta, RAM, ROM, memoria flash u otros dispositivos de almacenamiento adecuados. El soporte lógico puede ser utilizado para programar uno o más procesadores con objeto de llevar a cabo las funciones descritas en el presente documento. En realizaciones alternativas, parte o la totalidad del soporte lógico puede ser sustituido por equipamiento físico dedicado incluyendo circuitos integrados personalizados, matrices de puertas, FPGAs, PLDs, y ordenadores de propósito especial. Un aparato de ejemplo que puede llevar a cabo las funciones descritas en el presente documento, comprende uno o más procesadores en comunicación con un dispositivo de almacenamiento y una interfaz de comunicaciones.
Este resumen se proporciona para introducir una selección de conceptos de forma simplificada, que se describen mejor a continuación en la descripción detallada. El resumen no pretende identificar las características clave o las características esenciales de la materia objeto reivindicada, ni está concebido para ser utilizado como ayuda en la determinación del alcance de la materia objeto reivindicada.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
La figura 1 es un diagrama de bloques de una realización de un sistema que sirve para comunicación de voz sobre una red.
La figura 2 es un diagrama de bloques de una realización de los componentes en un dispositivo cliente.
La figura 3 es un diagrama de bloques de una realización de los componentes en un dispositivo cliente.
La figura 4 es un diagrama de bloques que describe una realización de un sistema informático.
La figura 5 es un diagrama de flujo que describe una realización de un proceso para iniciar la comunicación, en respuesta a un usuario posando el puntero sobre una indicación de un número de teléfono.
La figura 6 es un diagrama de flujo que describe una realización de un proceso para reconocer un número de teléfono.
La figura 7 es un diagrama de bloques que describe el proceso de implementación de una conexión VOIP.
La figura 8 es un diagrama de flujo que describe una realización de un proceso para iniciar la comunicación, en respuesta a un usuario posando el puntero sobre una indicación de un número de teléfono.
La figura 9 es un diagrama de flujo que describe una realización de un proceso para iniciar la comunicación, en respuesta a un usuario seleccionando contenido que comprende un número de teléfono.
La figura 10 es un diagrama de flujo que describe una realización de un proceso para iniciar la comunicación, en respuesta a un usuario seleccionando contenido que comprende un número de teléfono.
La figura 11 es un diagrama de flujo que describe una realización de un proceso para iniciar la comunicación, en respuesta a un usuario posando el puntero sobre una indicación de un número de teléfono.
La figura 12 es un diagrama de bloques de una realización de los componentes en un dispositivo cliente.
La figura 13 es un diagrama de flujo que describe una realización de un proceso para añadir hipervínculos a una página web.
5
10
15
20
25
30
35
40
45
50
Las figuras 14A y 14B muestran una parte de una página web antes y después de añadirse los hipervínculos.
La figura 15 es un diagrama de flujo que describe una realización de un proceso para iniciar la comunicación, en respuesta a un usuario posando el puntero sobre una indicación de un número de teléfono.
La figura 16 es un diagrama de flujo que describe una realización de un proceso llevado a cabo por un sistema de comunicación, en respuesta a un hipervínculo.
La figura 17 es un diagrama de flujo que describe una realización de un proceso llevado a cabo por un sistema de comunicación, en respuesta a un hipervínculo.
DESCRIPCIÓN DETALLADA
La tecnología descrita en el presente documento facilita la utilización de un sistema de comunicación automatizando una conexión de voz, en respuesta a un usuario que posa su puntero sobre un número de teléfono y/o lo selecciona en el interior del contenido de una interfaz de usuario.
Cuando un usuario posa el puntero sobre el número de teléfono (u otra indicación de un objetivo de una comunicación de voz) en una página web (u otra interfaz), el número de teléfono será destacado y se dará al usuario la oportunidad de realizar una llamada utilizando el número destacado. Si el usuario hace un clic sobre (o selecciona de otro modo) el número de teléfono destacado, el número de teléfono será proporcionado a una aplicación VOIP (u otra aplicación de comunicaciones) que puede realizar una llamada utilizando dicho número de teléfono. Si el usuario retira el puntero sin hacer clic sobre el número de teléfono destacado, el destacado desaparecerá.
En realizaciones alternativas, un usuario puede seleccionar texto en una página web (u otra interfaz) y, si existe un número de teléfono en el texto seleccionado, dicho número de teléfono puede ser proporcionado automáticamente a la aplicación VOIP para facilitar la realización de una llamada. En algunas realizaciones, el sistema encuentra números de teléfono en el contenido y sustituye dichos números de teléfono con hipervínculos para habilitar el comportamiento descrito anteriormente.
La figura 1 es un diagrama de bloques que describe una realización de un sistema que proporciona comunicación (por ejemplo, VOIP) sobre una red, que puede automatizar la iniciación de llamadas telefónicas tal como se describe en el presente documento. La figura 1 describe el dispositivo informático cliente 10 en comunicación con la red Internet 12. El dispositivo informático cliente 10 puede ser cualquier dispositivo informático adecuado incluyendo un ordenador personal, un ordenador portátil, un dispositivo manual, un teléfono móvil, etcétera. El dispositivo informático cliente 10 incluye soporte lógico y/o equipamiento físico para permitir la comunicación sobre la red Internet 12. Por ejemplo, el dispositivo informático cliente puede incluir una aplicación de soporte lógico VOIP que comunica sobre una interfaz de red.
La figura 1 muestra asimismo el dispositivo informático 14 en comunicación con la interfaz 16 a través de la red Internet (u otros medios). La interfaz 16 está asimismo en comunicación con la red telefónica 18 a través de una conexión directa de comunicación, de la red Internet 12, o de cualquier otro medio. El dispositivo informático 14 puede ser cualquier tipo de dispositivo informático que pueda comunicar con otros dispositivos informáticos. La red telefónica 18 incluye la bien conocida red telefónica heredada y/o una red telefónica celular. La interfaz 16 comprende equipamiento físico y soporte lógico que proporcionan una interfaz entre la red telefónica heredada 18 y la red de datos o la red Internet 12. Por ejemplo, la interfaz 16 puede consistir en uno o más ordenadores que reciben comunicación VOIP a través de la red Internet 12 y transfieren dichas comunicaciones a la red telefónica heredada 18, y transfieren asimismo comunicación de voz de la red telefónica 18 a la comunicación VOIP sobre la red Internet 11. Se contempla que un usuario del dispositivo informático cliente 10 realizará una llamada telefónica utilizando tecnología VOIP a otro usuario en el dispositivo informático 14, o a un usuario de un teléfono convencional
o inalámbrico en la red telefónica 18. En otras realizaciones, el usuario que realiza la llamada telefónica puede utilizar un teléfono con un adaptador en lugar del dispositivo informático cliente 10. La figura 2 es un diagrama de bloques que describe diversos componentes que residen en un dispositivo informático cliente 10. En una realización, el dispositivo informático cliente 10 incluye un navegador 30 (por ejemplo, Internet Explorer de Microsoft Corporation, u otro navegador) y SoftPhone 40. En una realización, SoftPhone 40 es una aplicación de soporte lógico que puede implementar VOIP. En otras realizaciones, SoftPhone 40 implementará otros protocolos de comunicación que pueden ser utilizados para establecer una conexión de voz u otro tipo de conexión que incluya comunicación de voz. SoftPhone 40 puede ser parte de una aplicación de comunicaciones que comprende mensajería instantánea, correo electrónico, compartición de ficheros y otros servicios.
El navegador 30 comprende el complemento 32, el identificador de URLs 34 y el manejador 36 de LiveCall. El complemento 32 es un módulo de soporte lógico que carga el navegador y se ejecuta en el mismo. Cuando se carga una página web, el navegador invoca un complemento del navegador para llevar a cabo una función. Cuando un usuario posa el puntero sobre una cadena de texto, el navegador 30 invoca el complemento 32 del navegador para procesar la cadena de texto. El identificador de URLs 34 recibe URLs que están en código implementando una interfaz de usuario en el interior del navegador 30, y busca el manejador de protocolos adecuado para estas URLs. El manejador 36 de LiveCall es un ejemplo de un manejador de protocolos. Tal como se ha discutido anteriormente, un aspecto de algunas realizaciones de la tecnología descrita en el presente documento, es un nuevo hipervínculo. Este hipervínculo es denominado un hipervínculo de LiveCall. El manejador 36 de LiveCall es el manejador de protocolos para el hipervínculo de LiveCall. A continuación se explicarán más detalles del hipervínculo de LiveCall.
SoftPhone 40 incluye el gestor de autentificación 42, que es un módulo de soporte lógico que autentifica usuarios antes de la utilización de SoftPhone 40. En algunas realizaciones, el gestor de autentificación 42 verifica asimismo que un usuario esté autorizado para llevar a cabo las acciones solicitadas por el usuario. La figura 2 muestra un gestor de autentificación 42 en comunicación con el complemento 32 y el manejador 36 de LiveCall.
Después de que un usuario es autentificado, el gestor de autentificación 42 pasará el control al analizador sintáctico 44 o a otro módulo. El analizador sintáctico 44 es un módulo de soporte lógico que analiza sintéticamente una URL en diversos componentes. El analizador sintáctico 44 comunicará estos componentes al motor 46 de señalización y voz, a la inteligencia empresarial 48, a la lógica de presentación 50 y al redireccionador de hipervínculos 52.
El motor 46 de señalización y de voz, que está asimismo en comunicación con el gestor de autentificación 42, proporciona el motor para iniciar y mantener una llamada telefónica VOIP. El motor 46 de señalización y de voz está en comunicación con la guía de direcciones 58. En una realización, la guía de direcciones 58 almacena información de contacto para diversas personas asociadas con el usuario. La guía de direcciones 58 puede ser parte de una aplicación de gestión de información personal o un almacenamiento de datos que está dedicado a SoftPhone 40.
La inteligencia empresarial 48 es un almacenamiento de datos que almacena información sobre la utilización de SoftPhone 40 para aplicaciones de inteligencia empresarial. La lógica de presentación 50 proporciona una interfaz de usuario para SoftPhone 40. El redireccionador de hipervínculos 52 puede ser utilizado para redirigir la lógica de presentación 50 o un navegador 30, en base a un comando o a información en una URL. En una realización, el redireccionador de hipervínculos 52 está en comunicación con el navegador 30.
La figura 2 contempla el entorno en el que el contenido que incluye uno o más números de teléfono se utiliza en código para una página web mostrada en el navegador 30, y el usuario está utilizando SoftPhone 40 para realizar una llamada VOIP a través de la red Internet 12 o de otra red. En otra realización, los números de teléfono pueden estar en el contenido utilizado en el interior de una aplicación diferente de un navegador. Por ejemplo, puede utilizarse un número de teléfono en un documento de tratamiento de textos, en una hoja de cálculo o en cualquier otra aplicación. La figura 3 da a conocer un diagrama de bloques de un sistema en el que la comunicación entre módulos de software con SoftPhone 40 es a través de una API, de manera que se utilizan los números de teléfono procedentes de las aplicaciones (incluyendo un navegador y aplicaciones de soporte lógico diferentes al navegador) para disparar la comunicación con el SoftPhone 40. La figura 3 muestra el dispositivo informático cliente 10A que comprende SoftPhone 40, el navegador 30, Windows Shell 60, la aplicación 64 y un monitor 66. SoftPhone 40 y el navegador 30 incluyen los componentes representados en la figura 2. Windows Shell 60 es una interfaz para el sistema operativo. En una realización, las aplicaciones en el dispositivo informático cliente 10A pueden hacer uso de una API (Application Program Interface, interfaz de aplicaciones de usuario) de accesibilidad, que es una tecnología basada en COM que mejora la manera en la que la accesibilidad ayuda a trabajar con aplicaciones ejecutadas en Microsoft Windows. Proporciona bibliotecas de enlace dinámico que son incorporadas al sistema operativo así como la interfaz COM y elementos de programación de aplicaciones que proporcionan métodos fiables para presentar información sobre elementos de la interfaz de usuario. La API de accesibilidad es conocido en la técnica y está incorporado al sistema operativo Windows. La aplicación 64 puede ser cualquier aplicación que tenga una interfaz de usuario que pueda mostrar un hipervínculo. El monitor 66 es un módulo de soporte lógico que está en comunicación con la aplicación 64 y con SoftPhone 40 para implementar algunas de las características descritas en el presente documento.
La figura 4 ilustra un ejemplo de un entorno informático general adecuado 100, que puede ser utilizado para implementar los diversos componentes ilustrados en las figuras 1 a 3. Por ejemplo, el sistema informático 100 puede ser utilizado para implementar los diversos componentes ilustrados en las figuras 1 a 3. El sistema informático 100 es solamente un ejemplo de un entorno informático adecuado, y no pretender proponer ninguna limitación en cuanto al alcance de la utilización o de la funcionalidad de la tecnología descrita en el presente documento. Ni debe interpretarse que el sistema informático 100 tenga ninguna dependencia o requisito en relación con cualquiera, o con una combinación de los componentes ilustrados en el entorno operativo en el ejemplo.
Las tecnologías descritas en el presente documento son operativas con numerosos entornos o configuraciones de sistemas informáticos de propósito general o especializados. Ejemplos de sistemas, entornos y/o configuraciones informáticas bien conocidas que pueden ser adecuados para su utilización comprenden, de manera no limitativa, ordenadores personales, ordenadores de servidor, dispositivos manuales o portátiles, asistentes digitales personales, teléfonos (cableados, inalámbricos o celulares), sistemas de multiprocesador, sistemas basados en microprocesador, descodificadores, electrónica programable de consumidor, PCs de red, microordenadores, ordenadores de macrocomputadora, entornos informáticos distribuidos que incluyen cualquiera de los sistemas o dispositivos anteriores, y similares.
El sistema puede describirse en el contexto general de instrucciones ejecutables por ordenador, tales como módulos de programa, que son ejecutados por un ordenador. En general, los módulos de programa comprenden rutinas, programas, objetos, componentes, estructuras de datos, etcétera, que llevan a cabo tareas concretas o implementan tipos concretos de datos abstractos. El sistema puede implementarse asimismo en entornos informáticos distribuidos, donde las tareas se llevan a cabo mediante dispositivos de procesamiento remoto que están conectados a través de una red de comunicaciones. En un entorno informático distribuido, los módulos de programa pueden situarse en medios de almacenamiento informático tanto locales como remotos, que incluyen dispositivos de almacenamiento de memoria.
Haciendo referencia a la figura 4, un sistema de ejemplo comprende un dispositivo informático de propósito general, en forma de ordenador 110. Los componentes del ordenador 110 pueden incluir, de forma no limitativa, una unidad de procesamiento 120 (que puede incluir múltiples procesadores), un sistema de memoria 130, y un bus 121 del sistema que acopla a la unidad de procesamiento 120 diversos componentes del sistema incluyendo la memoria del sistema. El bus 121 del sistema puede ser cualquiera de varios tipos de estructura de bus incluyendo un bus de memoria o un controlador de memoria, un bus periférico, y un bus local que utiliza cualquiera de una serie de arquitecturas de bus. A modo de ejemplo, y no de limitación, dichas arquitecturas incluyen un bus de arquitectura estándar industrial (ISA, Industry Standard Architecture), un bus de arquitectura micro canal (MCA, Micro Channel Architecture), un bus ISA mejorado (EISA, Enhanced ISA), un bus local de la asociación de estándares electrónicos y de video (VESA, Video Electronics Standards Association), y un bus de interconexión de componentes periféricos (PCI, Peripheral Component Interconnect) conocido asimismo como bus Mezzanine.
El ordenador 110 comprende habitualmente una serie de medios legibles por ordenador. Los medios legibles por ordenador pueden ser cualquier medio disponible que pueda ser accedido por el ordenador 110 y comprenden medios volátiles y no volátiles, y medios extraíbles y no extraíbles. A modo de ejemplo, y no de limitación, los medios legibles por ordenador puede comprender medios de almacenamiento informático y medios de comunicación. Los medios de almacenamiento informático comprenden medios volátiles y no volátiles, medios extraíbles y no extraíbles implementados en cualesquiera método o tecnología para almacenamiento de información, tal como instrucciones legibles por ordenador, estructuras de datos, módulos de programa u otros datos. Los medios de almacenamiento informático comprenden, de forma no limitativa, RAM, ROM, EEPROM, memoria flash u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD) u otro almacenamiento óptico de disco, almacenamiento en casetes magnéticas, cintas magnéticas, discos magnéticos u otros dispositivos de almacenamiento magnético, o cualquier otro medio que pueda ser utilizado para almacenar la información deseada y al que pueda acceder un ordenador
110. Los medios de comunicación incorporan habitualmente instrucciones, estructuras de datos, módulos de programa u otros datos, legibles por ordenador, en una señal de datos modulada tal como una onda portadora u otro mecanismo de transporte, e incluyen cualquier medio de distribución de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características establecidas o modificadas de manera que codifica información en la señal. A modo de ejemplo, y no de limitación, los comunicación comprende medios cableados tal como una red cableada o una conexión por cable directo, y medios inalámbricos tales como medios inalámbricos acústicos, de RF, infrarrojos y otros. También deberán incluirse en el ámbito de los medios legibles por ordenador, combinaciones de cualesquiera de los anteriores.
La memoria 130 del sistema incluye medios legibles por ordenador en forma de memoria volátil y/o no volátil tal como memoria de solo lectura (ROM, read only memory) 131 y memoria de acceso aleatorio (RAM) 132. Habitualmente, en la ROM 131 está almacenado un sistema básico de entrada/salida (BIOS, basic input/output system), que contiene las rutinas básicas que ayudan a transferir información entre elementos en el interior del ordenador 110, tal como durante el arranque. La RAM 132 contiene habitualmente datos y/o módulos de programa que son accesibles de forma inmediata por la unidad de proceso 120, y/o que están actualmente siendo manejados por la misma. A modo de ejemplo, y no de limitación, la figura 4 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y de datos programa 137.
El ordenador 110 puede comprender asimismo otros medios de almacenamiento informático extraíbles/no extraíbles, y volátiles/no volátiles. Solamente a modo de ejemplo, la figura 4 ilustra una unidad de disco duro 141 que lee desde medios magnéticos no extraíbles, no volátiles, o escribe en los mismos, una unidad de disco magnético 151 que lee desde el disco magnético extraíble, no volátil 152, o escribe en el mismo, y una unidad de disco óptico 151 que lee desde el disco óptico extraíble, no volátil 156, o escribe en el mismo, tal como un CD-ROM u otro medio óptico. Otros medios de almacenamiento informático extraíbles/no extraíbles, volátiles/no volátiles que pueden ser utilizados en el entorno operativo de ejemplo comprenden, de forma no limitativa, casetes de cinta magnética, tarjetas de memoria flash, discos versátiles digitales, cintas de video digital, RAM de estado sólido, ROM de estado sólido y similares. La unidad de disco duro 141 está conectada habitualmente al bus 121 del sistema través de una interfaz de memoria no extraíble tal como una interfaz 140, y la unidad de disco magnético 151 y la unidad de disco óptico 151 están conectadas habitualmente al bus 121 del sistema mediante una interfaz de memoria extraíble, tal como la interfaz 150.
Las unidades y sus medios asociados de almacenamiento informático explicados anteriormente e ilustrados en la figura 4, proporcionan instrucciones legibles por ordenador, estructuras de datos, módulos de programa y otros datos para programar el procesador, o los procesadores, para llevar a cabo los métodos descritos en el presente documento. En la figura 4, por ejemplo, se ilustra la unidad de disco duro 151 almacenando el sistema operativo 144, programas de aplicación 145, otros módulos de programa 146 y datos de programa 147. Obsérvese que estos componentes pueden ser los mismos o diferentes respecto del sistema operativo 134, los programas de aplicación 135, otros módulos del programa 136 y los datos de programa 137. El sistema operativo 144, los programas de aplicación 145, otros módulos de programa 146 y los datos de programa 147 reciben en este caso números diferentes para ilustrar que, como mínimo, son copias diferentes. Un usuario puede introducir comandos e información en el ordenador 20, a través de dispositivos de entrada tales como un teclado 162 y un dispositivo de puntero 161, denominado normalmente un ratón, una bola de seguimiento o una alfombrilla táctil. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, una palanca de mando, un mando de juego, una antena parabólica, un escáner o similar. Estos y otros dispositivos de entrada están frecuentemente conectados a la unidad de proceso 120 a través de una interfaz de entrada 160 del usuario, que está acoplada al bus del sistema, pero pueden estar conectados a otras estructuras de interfaz y de bus, tales como un puerto paralelo, un puerto de juegos
o un puerto serie universal (USB, universal serial bus). Un monitor 191 u otro tipo de dispositivo de visualización, está conectado asimismo al bus 121 del sistema a través de una interfaz, tal como una interfaz de video 190. Además del monitor, los ordenadores pueden comprender asimismo otros dispositivos periféricos de salida tales como altavoces 197 y la impresora 196, que puede conectarse a través de una interfaz periférica de salida 190.
El ordenador 110 puede funcionar en un entorno de red utilizando conexiones lógicas a uno o más ordenadores remotos, tales como el ordenador remoto 180. El ordenador remoto 180 puede ser un ordenador personal, un servidor, un enrutador, un PC de red, un dispositivo entre pares u otro nodo de red común, y comprende habitualmente muchos, o la totalidad, de los elementos descritos anteriormente en relación con el ordenador 110, si bien en la figura 4 se ha ilustrado solamente un dispositivo de almacenamiento de memoria 181. Las conexiones lógicas representadas en la figura 4 comprenden una red de área local (LAN, local area network) 171 y una red de área amplia (WAN, wide area network) 173, pero pueden incluir asimismo otras redes. Dichos entornos de red son habituales en oficinas, redes informáticas corporativas, redes internas y la red Internet.
Cuando se utiliza en un entorno de red LAN, el ordenador 110 está conectado a la LAN 171 a través de un adaptador o interfaz de red 170. Cuando se utiliza en un entorno de red WAN, el ordenador 110 incluye habitualmente un módem 172, una interfaz de red u otros medios para establecer comunicaciones sobre la WAN 173, tal como la red Internet. El módem 172, que puede ser interno o externo, puede conectarse al bus 121 del sistema a través de la interfaz 160 de entrada de usuario, o de otro mecanismo apropiado. En un entorno en red, los módulos del programa descritos en relación con el ordenador 110, o partes de los mismos, pueden estar almacenados en el dispositivo remoto de almacenamiento de memoria. A modo de ejemplo, y no de limitación, la figura 4 ilustra programas remotos de aplicación 185 residiendo en el dispositivo de memoria 181. Se apreciará que las conexiones de red mostradas son a modo de ejemplo, y que pueden ser utilizados otros medios de establecimiento de la conexión de comunicaciones entre los ordenadores.
Tal como se ha descrito anteriormente, una característica de la tecnología descrita en el presente documento es la automatización de una llamada en respuesta a un usuario posando el puntero sobre un número de teléfono, o seleccionándolo, dentro del contenido de una interfaz de usuario. La figura 5 da a conocer una realización de un método para implementar esta característica. En la etapa 400 de la figura 5, el contenido se muestra en la interfaz de usuario. En un ejemplo, el contenido es una página web mostrada en el navegador 30. En otras realizaciones, puede mostrarse otro contenido en otras aplicaciones. En la etapa 402, el sistema puede esperar un evento de posar el puntero. En una realización, el sistema operativo para un dispositivo informático cliente 10 puede generar un evento de posar el puntero, cuando el usuario posa el puntero sobre el contenido en la interfaz de usuario. Por ejemplo, si el usuario posa el puntero sobre un texto en un navegador, el complemento 32 será informado de que existe un evento de posar el puntero, y el texto sobre el que está siendo posado el puntero será proporcionado al complemento 32. En otra implementación de ejemplo, el navegador 30 realizará un seguimiento de los eventos de posar el puntero y notificará al complemento 32 en un OnMouseOver() apropiado. Si no existe un evento de posar el puntero, entonces el complemento 32 esperará hasta que exista un evento de posar el puntero. Cuando el usuario no posa el puntero sobre el texto, se lleva entonces a cabo la etapa 404. En alguna realización, para generar un evento de posar el puntero el usuario necesita posar el puntero directamente sobre el contenido, mientras que en otras realizaciones puede producirse un evento de posar el puntero cuando el usuario posa el puntero directamente sobre el contenido, o cerca (en el interior de una distancia corta predeterminada).
En la etapa 404, el complemento 32 determina el código de país asociado con el contenido. Por ejemplo, el complemento 32 puede mirar la URL asociada con la página web para ver si ésta identifica un código de país. Alternativamente, el complemento 32 puede realizar una búsqueda inversa de la dirección IP de un nombre de dominio. Los diferentes países tienen rangos de direcciones IP diferentes. En otra realización, el lenguaje del navegador y el tipo de codificación pueden indicar un país. Internet Explorer tiene una API para especificar y leer el lenguaje de una página. Algunas páginas web tendrán un código HTML que indica el lenguaje y el país de origen. En
5
10
15
20
25
30
35
algunas realizaciones, esta información puede estar en una cabecera HTML. En algunas realizaciones, no podrá determinarse el código de país.
En la etapa 406, el complemento 32 ejecutará una función de reconocimiento del número de teléfono. La entrada a la función de reconocimiento del teléfono incluirá la cadena de entrada en bruto, sobre la que se posó el puntero y (opcionalmente) el código de país. La salida de la función de reconocimiento del teléfono incluye (1) una decisión lógica sobre si la cadena de entrada en bruto incluye un número de teléfono, (2) un número de teléfono de patrón normalizado, y (3) un número de teléfono de patrón en bruto. A continuación se describirán más detalles de la función de reconocimiento del teléfono, en relación con la figura 6.
En la etapa 408, si el texto sobre el que se ha posado el puntero no comprende un número de teléfono, entonces el proceso volverá a la etapa 402 y esperará otro evento de posar el puntero. Si el texto sobre el que se ha posado el puntero comprende un número de teléfono (etapa 408), entonces en la etapa 410 el complemento 32 ordenará al navegador 30 que destaque el número de teléfono, a través de una API. En la etapa 412, el complemento 32 provocará que se visualice una descripción emergente. Esta descripción emergente indicará que el usuario puede hacer un clic sobre el número destacado para realizar una llamada telefónica a dicho número.
En este momento, el usuario puede realizar por lo menos dos acciones: el usuario puede retirarse del número destacado, o el usuario puede seleccionar el número destacado haciendo clic sobre éste (o mediante algún otro medio de selección). Si el usuario selecciona el número destacado, entonces en la etapa 416 el complemento 32 lanzará SoftPhone 40, pasará el número de teléfono destacado a SoftPhone 40 y ordenará al navegador 30 que retire el destacado. En la etapa 418, SoftPhone 40 establecerá comunicación con el número de teléfono destacado. Por ejemplo, el motor 46 de señalización y de voz creará una conexión de voz utilizando el protocolo apropiado (por ejemplo, VOIP) con el número de teléfono destacado, utilizando tecnología conocida en la técnica. Si el usuario se retiró del número de teléfono destacado sin seleccionarlo (etapa 414), entonces en la etapa 420 el complemento 32 ordenará al navegador 30 que retire el destacado del número de teléfono, y el proceso volverá a la etapa 402 para verificar si se ha producido otro evento de posar el puntero.
La figura 6 es un diagrama de flujo que describe una realización de la función de reconocimiento del número de teléfono (véase la etapa 406 de la figura 5). Esta función intenta poner en correspondencia el patrón de entrada con uno de un conjunto de patrones almacenados. Cada país tiene sus formatos generalizados de números de teléfono. Para formular un patrón, el código de país se denota como "C", un dígito es "D", un alfanumérico (dígito y letra) es "A", y un delimitador es "?". Se utiliza un delimitador para hacer más legible a las personas el número de teléfono. Por ejemplo, delimitadores populares son "(", ")", "-", ".", "/" y espacio. Por ejemplo el número de teléfono 1-800-FORPIZZA puede formularse como "C?D3?A3?A4" Este patrón tiene un código de país opcional seguido por un código de área de tres dígitos, seguido por un número de teléfono de 7 dígitos. Normalmente, el código de país es opcional.
El número de teléfono a poner en correspondencia puede ser normalizado, es decir pueden eliminarse todos los delimitadores. Esto simplificará poner en correspondencia el patrón. Sin embargo, los delimitadores proporcionan una pista del código de área, debido a que el código de área está escrito solamente con dígitos, no con letras.
Existen dos patrones de número de teléfono: el patrón en bruto y el patrón normalizado. Un patrón en bruto es uno que puede ser utilizado directamente para poner en correspondencia un número de teléfono en bruto. Un patrón normalizado es uno que puede ser utilizado para poner en correspondencia un número de teléfono normalizado. Por ejemplo, en Estados Unidos, el formato puede ser uno de los siguientes:
Formato
Patrón en Bruto Patrón Normalizado
+14257069606
+CD3A7 +CD3A7
1 (425) 7069606
C??D3??A7 CD3A7
1 (425) 707-9606
C??D3??A3?A4 CD3A7
1-425-706-9606
C?D3?A3?A4 CD3A7
1-425-7069606
C7D37A7 CD3A7
1.425.706.9606
C?D3?A3?A4 CD3A7
1.425.7069606
C?D3?A7 CD3A7
Para algunos países, el código de área y el número de teléfono no siempre tienen la misma longitud. En este caso, el patrón se escribirá como un rango. Por ejemplo, "CDI-4A6-9" denota que el código de área puede tener de 1 dígito a 4 dígitos, y que el número de teléfono local puede tener de 6 dígitos/letras a 9 dígitos/letras.
En la etapa 450 de la figura 6, se recibe la cadena de entrada en bruto. En algunas realizaciones, se recibe asimismo al código de país. Si ha sido recibido (etapa 452) el código de país, entonces se accede a, y se utiliza una base de datos para un código de país concreto. Si no estaba disponible el código de país, se utiliza la base de datos de Estados Unidos (u otra base de datos por defecto) en la etapa 456. En la etapa 458, se normaliza la cadena de entrada en bruto.
En la etapa 460, la función intenta poner en correspondencia la entrada en bruto normalizada, con un conjunto de patrones normalizados en la base de datos elegida. Si se encuentra una correspondencia (etapa 462), se intenta poner en correspondencia la cadena de entrada en bruto con cualquiera de los patrones en bruto asociados con dicho patrón normalizado correspondiente, en la etapa 466. Si no se ha encontrado ninguna correspondencia, entonces la aplicación devuelve Falso en la etapa 464, lo que significa que no se ha encontrado ningún número de teléfono en la cadena de entrada.
Si el intento de poner en correspondencia la cadena de entrada en bruto en la etapa 466 encuentra una correspondencia (etapa 468), entonces el proceso devuelve Verdadero en la etapa 470, lo que indica que ha sido encontrado un número de teléfono en la cadena de entrada. Asimismo, en la etapa 470 se devuelven tanto el patrón normalizado como el patrón en bruto puesto en correspondencia. Si no se encontró ninguna correspondencia (etapa 468), entonces el proceso devuelve Falso en la etapa 472, lo que indica que no se ha encontrado ningún número de teléfono en la cadena de entrada.
La figura 7 es un diagrama de bloques que representa un ejemplo de implementación de una llamada de PC a teléfono mediante un hipervínculo de LiveCall (por ejemplo, LiveCall: +14257069606), que puede implementarse como parte de la etapa 418 de la figura 5. La figura 7 representa el dispositivo informático cliente 10 en comunicación (a través de la red interna 112) con el servidor 481 de señalización de llamada de la interfaz 16, que por sí mismo está en comunicación con un servidor 483 de señalización de llamadas de un proveedor Telco 482 (a través de la red Internet 12). El servidor 463 de señalización de llamadas está en comunicación con la pasarela 484 de la red telefónica pública conmutada ("PSTN", Public Switched Telephone Network), del proveedor Telco 482. La pasarela PSTN 484 está en comunicación con el dispositivo 10 informático cliente a través de la red Internet y con el teléfono 486 a través de la PSTN 485.
SoftPhone 40, en el dispositivo informático cliente 10, envía un mensaje de señalización de llamada (que incluye el número de teléfono) al servidor 481 de señalización de llamadas (véase 490). El servidor 481 de señalización de llamadas autentifica al usuario y encamina el mensaje de señalización de llamadas al proveedor Telco apropiado 482 (véase 491). Cuando el servidor 483 de señalización de llamadas en el proveedor telco 482 recibe el mensaje de señalización de llamada, autoriza la llamada a la llamada a la pasarela PSTN apropiada 484 (véase 492) y la finaliza. La pasarela PSTN 484 encamina la llamada a la línea telefónica de destino (véase 493). Cuando un usuario coge el teléfono 486 en la línea telefónica de destino, se establecerá el flujo de voz entre SoftPhone 40 (en el dispositivo cliente 10), la pasarela PSTN 484, y el teléfono PSTN 486 (véase 494 y 495).
El teléfono 386 puede ser un teléfono PSTN o un teléfono móvil/celular. En el caso de un teléfono móvil/celular, la pasarela PSTN, la red PSTN y el teléfono PSTN pueden ser sustituidos por la pasarela móvil, la red móvil y el teléfono móvil, respectivamente. En otra realización, el teléfono PSTN puede ser sustituido por la pasarela móvil, la red móvil y el teléfono móvil. En una implementación, se utiliza SIP (Session Initiation Protocol, protocolo de iniciación de sesión) para la señalización de llamada.
La figura 8 describe una realización alternativa que lleva a cabo el proceso de posar el puntero para llamar, para una aplicación diferente a un navegador. El proceso de la figura 8 puede ser utilizado asimismo para un navegador. La aplicación que está siendo monitorizada hará uso de la API de accesibilidad. Esta realización está asociada con el entorno de la figura 3, que comprende el monitor 66 para procesar la cadena proporcionada por la API de accesibilidad. Obsérvese que en algunas realizaciones, el monitor 66 puede ser su propio proceso tal como se describe en la figura 3, o puede ser parte de una aplicación 64. En algunas realizaciones, el monitor 66 comunicará asimismo directamente con Windows Shell 60. En la etapa 500 de la figura 8, el contenido relevante será visualizado en la interfaz de usuario de la aplicación 64. En la etapa 502, el sistema puede esperar un evento de posar el puntero. Cuando existe un evento de posar el puntero sobre el texto, el monitor 66 recibirá el texto sobre el que se posa el puntero y se llevará a cabo la etapa 504. Obsérvese que con la API de accesibilidad, el monitor 66 recibe una palabra. Si no puede encontrarse una palabra, el monitor 66 puede preguntar por una frase completa, una línea completa o números de líneas. Si el texto procede de un navegador, el monitor 66 solicitará el código de país al navegador en la etapa 504. De lo contrario, el monitor 66 solicita el sistema operativo para un código de país. En algunas realizaciones, el código de país no está disponible. En la etapa 506, el monitor 66 ejecuta la función de reconocimiento del número de teléfono y la pasa si se ha posado el puntero sobre el texto desde la aplicación 64. Si en dicho texto no existe ningún número de teléfono (etapa 508), el proceso vuelve a la etapa 502 y espera otro evento de posar el puntero.
Si en dicho texto existe un número de teléfono (etapa 508), entonces en la etapa 510 el monitor 66 solicita la posición actual del puntero del ratón a través de la API de accesibilidad (o a través de otra API) y ordena al sistema operativo (a través de la API) destacar el número de teléfono. En una realización alternativa, el monitor 66 puede comunicar directamente con la aplicación 64 e indicar a la aplicación 64 que destaque el texto. En la etapa 512, el monitor 66 (a través de la API) mostrará una descripción emergente para indicar que el usuario puede hacer un clic sobre el número destacado, para iniciar una llamada de teléfono. Si el usuario se aleja del texto destacado, el monitor 66 eliminará el destacado del número de teléfono y el proceso volverá a la etapa 502. Si el usuario selecciona el texto destacado haciendo un clic o mediante otros medios de selección, el monitor 66 lanzará SoftPhone 40 (si es que no está ya lanzado), pasará el número de teléfono destacado a SoftPhone 40, y eliminará el destacado. En la etapa 520, SoftPhone 40 establecerá una comunicación de voz con el número de teléfono destacado. Después de la etapa 520, el proceso volverá a la etapa 502 y esperará otro evento de posar el puntero.
La explicación anterior está relacionada con la automatización de una llamada telefónica en respuesta a un usuario posando el puntero sobre un contenido. En otra alternativa, una llamada telefónica puede ser automatizada en respuesta a un usuario seleccionando un contenido. La figura 9 es un diagrama de flujo que describe una realización de este tipo. En la etapa 600, se muestra el contenido en la interfaz de usuario, tal como se ha descrito anteriormente. En la etapa 602, el usuario selecciona el texto y éste texto es proporcionado al complemento 32. En una realización, el usuario puede seleccionar el texto destacándolo utilizando un ratón u otro dispositivo de puntero. En la etapa 604, el complemento 32 determina el código de país, tal como se ha descrito anteriormente. En la etapa 606, el complemento 32 invoca la función de reconocimiento de teléfonos. Si no se ha encontrado un número de teléfono (etapa 608), el proceso vuelve a la etapa 602 y espera a que el usuario seleccione más texto. Si se ha encontrado un número de teléfono (etapa 608), el complemento 32 ordena al navegador 30 que destaque el número de teléfono a través de una API, en la etapa 610. En algunas realizaciones, el número de teléfono no se destaca. En la etapa 612, el complemento 32 provoca que se muestre una descripción emergente. Esta descripción emergente indica que un usuario puede hacer clic sobre el número de teléfono para realizar una llamada correspondiente a dicho número. Si el usuario se aleja del número de teléfono (etapa 614), entonces en la etapa 616 el complemento 32 ordenará al navegador 30 que elimine el destacado del número de teléfono, el proceso volverá a la etapa 602 y esperará a que el usuario seleccione texto. Si el usuario selecciona (etapa 614) el número destacado haciendo clic o de otro modo, entonces en la etapa 618 el complemento 32 lanzará SoftPhone 40 (si es necesario), pasará el número de teléfono destacado a SoftPhone 40 y ordenará al navegador 32 que retire el destacado. En la etapa 620, SoftPhone 40 establecerá comunicación de voz con el número de teléfono destacado. En la etapa 620, el proceso volverá atrás y esperará a que el usuario vuelva seleccionar texto, en la etapa 602.
La explicación con respecto a la figura 9 contempla el contenido seleccionado estando en un navegador. La figura 10 describe un proceso para la automatización de una llamada de teléfono en respuesta a un usuario que selecciona texto en diferentes aplicaciones, incluyendo aplicaciones que son navegadores y que no lo son (véase el entorno de la figura 3). En la etapa 700, los contenidos se visualizan en la interfaz de usuario. En la etapa 702, el usuario selecciona el texto. Si el texto se selecciona desde un navegador, el monitor 66 solicitará un código de país al navegador. Si el texto procede de una aplicación diferente a un navegador, el monitor 66 solicitará al sistema operativo el código de país. En algunos casos, el código de país no está disponible. En la etapa 706, el monitor 66 invoca la función de reconocimiento de teléfonos. Si no se ha encontrado ningún número de teléfono (etapa 708), entonces el proceso vuelve y espera a que sea seleccionado el texto siguiente en la etapa 702. Si se ha encontrado un número de teléfono (etapa 708), entonces el monitor 66 solicita la posición actual del ratón y destaca el número de teléfono a través de la API de accesibilidad o de otra API En la etapa 712, el monitor 66 hace que se visualice una descripción emergente. La descripción emergente indica al usuario que puede hacer clic sobre el número destacado, para realizar una llamada. Si el usuario se aleja del destacado sin selección (etapa 714), entonces el monitor 66 elimina el destacado del número de teléfono en la etapa 716 y el proceso vuelve a la etapa 702 para esperar a la siguiente selección del usuario. Si el usuario selecciona el texto destacado (etapa 714), entonces en la etapa 718 el monitor 66 lanza SoftPhone 40, pasa el número de teléfono destacado a SoftPhone 40 y elimina el destacado de la interfaz de usuario de la aplicación 64. En la etapa 720, SoftPhone 40 establece comunicación con el número de teléfono destacado. Después de la etapa 720, el proceso espera a que el usuario seleccione texto en la etapa 702.
Obsérvese que las tecnologías descritas anteriormente de posar el puntero para llamar y seleccionar para llamar, se llevan a cabo ambas editando el código para la página web o modificando la página web. Ningún proceso ralentiza la presentación de la página web.
Otro conjunto de procesos puede automatizar una llamada cambiando los aspectos del contenido antes de que un usuario pose el puntero. A continuación, puede iniciarse una llamada de teléfono en respuesta a un usuario posando el puntero.
5
15
25
35
45
55
La figura 11 es un diagrama de flujo que describe otra realización de automatización de una llamada en respuesta a un usuario que posa el puntero sobre el número de teléfono en el interior del contenido de una interfaz de usuario. En la etapa 550, el complemento 32 lee una copia de todo el código de una página web. En la etapa 552, el complemento 32 utiliza la función de reconocimiento de teléfonos de la figura 6, para encontrar números de teléfono en el código. En la etapa 554, el complemento 32 determina y almacena las coordenadas (por ejemplo, las coordenadas x, y) de las posiciones donde están ubicados los números de teléfono en la página web. En una realización, las coordenadas almacenadas incluyen la esquina superior izquierda y la esquina inferior derecha de los números de teléfono, para crear un rango en la interfaz de usuario en donde está situado un número de teléfono. En la etapa 556, el complemento 32 ordena al navegador 30 que destaque los números de teléfono utilizando una API para el navegador. En la etapa 558, el sistema espera un clic de ratón. Cuando hay un clic de ratón, el sistema determina si el clic de ratón está en el interior de uno de los rangos para los números de teléfono. Se contempla que una página web pueda comprender múltiples números de teléfono. Si el clic de ratón identificado en la etapa 558 está en cualquiera de los rangos en la etapa 560, entonces el complemento 32 lanzará SoftPhone 40, pasará el número de teléfono destacado a SoftPhone 40, y eliminará el destacado del navegador 30. En la etapa 564, SoftPhone 40 establecerá una comunicación de voz con el número de teléfono destacado.
Las figuras 12 a 17 dan a conocer un conjunto de realizaciones que utilizan hipervínculos para proporcionar al usuario la capacidad de iniciar una llamada de teléfono en respuesta a posar el puntero sobre un número de teléfono. La figura 12 muestra el navegador 30 en comunicación con SoftPhone 40 y con el objeto ayudante del navegador (BHO, Browser Helper Object) 900. Los objetos ayudantes del navegador son componentes en-proceso del modelo de objetos componentes (COM, Component Object Model) y pueden ser aplicados para permitir la personalización del navegador Internet Explorer con objeto de crear una versión especializada del navegador. Un BHO puede ser utilizado para detectar eventos típicos del navegador o para instalar ganchos con objeto de monitorizar mensajes y acciones en Internet Explorer.
Cuando un usuario carga una página nueva en un navegador, tal como Internet Explorer, el código para dicha página se carga en una estructura de datos (por ejemplo, IMarkupContainer Interface) para el navegador. La página web es presentada a partir de dicha estructura de datos. La realización de la figura 12 utiliza BHO 900 para acceder a la estructura de datos después de que el contenido ha sido cargado en la estructura de datos, pero antes de que haya sido presentado, con objeto de encontrar números de teléfono en el contenido y añadir los hipervínculos de LiveCall (discutidos a continuación) para los números de teléfono.
Cuando es lanzado Internet Explorer, éste verifica el registro de Windows para determinar si existen BHOs. Cuando un usuario instala SoftPhone 40, el objeto BHO 900 será instalado asimismo en el disco duro del usuario y el registro será modificado para listar el objeto BHO. Además, el hipervínculo de LiveCall será registrado para Internet Explorer.
El BHO 900 de la figura 12 comprende por lo menos tres servicios: IWebBrowser2 902, IMarkupServices 904, y RegisterForDirtyRange 906. IWebBrowser2 902 lanza eventos, que incluyen Dispid_DocumentComplete cuando está lista la descarga de un texto y Dispid_DownloadComplete cuando se ha completado la descarga de todo lo necesario para una página web concreta (texto e imágenes). IMarkupServices 904 se utiliza para permitir el acceso a RegisterForDirtyRange 906 cuando se produce uno de los dos eventos identificados anteriormente lanzados por lWebBrowser2 902. RegisterForDirtyRange indica la nueva versión del contenido, y si existe un cambio en el contenido. A continuación el sistema utiliza IMarkupContainer, que apunta a la sección que ha sido modificada, con objeto de acceder al contenido nuevo en la estructura de datos para el navegador. El sistema revisará el contenido nuevo para identificar cualesquiera números de teléfono en el contenido nuevo. Si se encuentran números de teléfono, la estructura de datos mencionada anteriormente es editada para añadir hipervínculos de LiveCall para cada uno de los números de teléfono.
El hipervínculo de LiveCall permite a un desarrollador de aplicaciones especificar una dirección extensible para realizar una llamada VOIP desde una página web o una aplicación. Los tipos de llamadas comprenden: llamada de PC a teléfono y llamada de PC a PC. La llamada de PC a teléfono se origina en un PC y termina en un teléfono, que comprende un teléfono de línea fija o un teléfono móvil. La llamada de PC a PC incluye voz, video y conversación de texto opcional. Esta llamada se origina en un PC y termina en un PC. Los tipos de direcciones objetivo en un hipervínculo de LiveCall incluyen un número de teléfono, un contacto (por ejemplo, un contacto en la guía de direcciones), un nombre de ordenador (por ejemplo, JohnDoe PC) o una dirección IP (por ejemplo, 124.38.110.25).
La sintaxis para un hipervínculo LiveCall es: LiveCall: <Parámetros>. Para realizar una llamada a un número de teléfono, pueden utilizarse los siguientes parámetros:
Teléfono: un número de teléfono que puede ser un número local, de larga distancia nacional, o internacional.
Local: un número de teléfono local
Nacional: un número de larga distancia nacional
Directo: una marcación directa, es decir dígitos en bruto
Contacto: un contacto en presencia o en la guía de direcciones
Algunos ejemplos comprenden:
(1)
LiveCall: +14257069606; realizar una llamada de PC a teléfono utilizando el número de teléfono +14257069606.
(2)
LiveCall: Teléfono = 7069606; realizar una llamada de PC a teléfono utilizando el número de teléfono 7069606, que puede ser un número de teléfono local, un número de teléfono nacional o un número de teléfono internacional. SoftPhone 40 analizará sintácticamente este número de teléfono en base a sus configuraciones de localización.
(3)
LiveCall: Teléfono = PIZZAUSA; realizar una llamada de PC a teléfono utilizando el número de teléfono 74992872 (PIZZAUSA).
(4)
LiveCall: Local = 7069606; realizar una llamada de PC a teléfono utilizando el número de teléfono local 7069606.
(5)
LiveCall: Nacional = 14257069606; realizar una llamada de PC a teléfono utilizando un número de teléfono nacional de larga distancia 14257069606.
(6)
LiveCall: Directa = 911; realizar una llamada de PC a teléfono utilizando los dígitos tal cual.
(7)
LiveCall: Contacto = JohnDoe@hotmail.com; realizar una llamada de PC a teléfono utilizando el número de teléfono por defecto en la información de contacto (o en la guía de direcciones) para John Doe.
Para hacer una llamada a un ordenador, pueden utilizarse los siguientes parámetros: (1) En línea: un ID de presencia en línea; y (2) Ordenador principal: un nombre de ordenador o una dirección IP. Algunos ejemplos incluyen:
(1)
LiveCall: En línea = JohnDoe@hotmail.com; realizar una llamada de PC a PC utilizando el ID de presencia en línea.
(2)
LiveCall: Ordenador principal: = JohnDoePC; realizar una llamada de PC a PC utilizando el nombre de ordenador de la máquina de destino.
(3)
LiveCall: Ordenador principal = 124.38.110.25; realizar una llamada de PC a PC utilizando la dirección IP de la máquina destino.
El parámetro fuente "Src" en un hipervínculo de LiveCall, indica el contexto fuente en el que se hace clic sobre este hipervínculo de LiveCall, o es ejecutado. Esta información es útil para la inteligencia empresarial. El parámetro fuente puede combinarse con otros parámetros. Los parámetros en un hipervínculo LiveCall están concatenados mediante el signo' &'. Considérense los siguientes ejemplos:
(1)
Livecall: Teléfono = 7069606&Src = Messenger/Contacto/Casa; realizar una llamada de PC a teléfono utilizando el número de teléfono local listado en los contactos del Messenger (mensajería instantánea).
(2)
LiveCall: En línea = JohnDoe@hotmail.com&Src = Messenger/Amigo; realizar una llamada de PC a PC utilizando el ID de presencia en línea listado en la lista de amigos del Messenger.
(3)
Livecall: ?Signup&Src = Hotmail/Ads; ir al sitio web de llamada para iniciar el proceso de llamada, en donde el hipervínculo está listado en la sección de añadidos de Hotmail (servicio de correo electrónico basado en web).
La figura 13 es un diagrama de flujo que describe una realización para añadir hipervínculos LiveCall. En la etapa 1002, se descarga contenido nuevo. El contenido nuevo puede ser una nueva página web completa o una parte de una página web, que genera uno de los eventos explicados anteriormente. Los datos se cargan en la estructura de datos mencionada anteriormente. El BHO 900 es notificado del contenido nuevo desde IWebBrowser2 902 lanzando Dispid_DocumentComplete y/o Dispid_DownloadComplete en la etapa 1004. El servicio RegisterForDirtyRange 906 proporcionará un puntero al contenido nuevo. El BHO 900 accederá a palabras, frases, texto entre puntuación, texto entre espacios, u otro contenido de agrupamientos en la etapa 1006 e invocará la función de reconocimiento de números de teléfono (véase la figura 6) cierta cantidad de veces, con objeto de encontrar cualesquiera números de teléfono en la etapa 1008. Si no se encuentran números de teléfono (etapa 1010), entonces la página web se presenta tal como estaba previsto originalmente, en la etapa 1014. Si se encuentran números de teléfono (etapa 1010), entonces se modifica la estructura de datos con objeto de eliminar cada uno de los números de teléfono y sustituirlos con un nuevo hipervínculo LiveCall en la etapa 1012. A continuación, se presenta la página en la etapa 1014. Obsérvese que el hipervínculo de LiveCall añadido puede comprender un parámetro fuente (Src) para identificar el contenido al que se añadió el hipervínculo LiveCall.
La figura 14A representa una parte de una página web (por ejemplo, resultados de búsqueda) que comprende dos números de teléfono. La figura 14B representa la misma parte de una página web tal como se presenta después de que se ha llevado a cabo el proceso de la figura 13 para añadir hipervínculos LiveCall. Obsérvese que están subrayados los dos números de teléfono que aparecen en la figura 14B. Cuando un usuario pose el puntero sobre los números de teléfonos subrayados, su color cambiará. En otra realización, el hipervínculo no cambiará el aspecto del número de teléfono, y cuando el usuario posa el puntero sobre el número de teléfono será entonces subrayado y/o su color será modificado.
La figura 15 es un diagrama de flujo que describe una realización de un proceso para iniciar una llamada de teléfono en respuesta a un usuario que posa el puntero sobre un número de teléfono. Después de que una página web es presentada por el navegador de acuerdo con el proceso de la figura 13, el sistema espera un evento de posar el puntero en la etapa 1102. Cuando el usuario posa el puntero sobre un hipervínculo, el navegador lo destacará en la etapa 1104. En una realización, el hipervínculo cambia sus colores, añade un subrayado, o ambas cosas. Si el usuario selecciona el hipervínculo (etapa 1106), entonces el navegador comprueba si el hipervínculo está registrado con el navegador. Si está registrado, el registro indica al navegador qué programa invocar. A continuación, el navegador invocará SoftPhone 40 (etapa 1108) y le pasará los contenidos del hipervínculo, que en este caso incluye el número de teléfono.
La figura 16 es un diagrama de flujo que describe una realización de un proceso llevado a cabo en respuesta a un usuario haciendo clic en, o seleccionando de otro modo un hipervínculo de LiveCall en una página web, documento, archivo u otra interfaz de usuario (véase la etapa 1108 de la figura 15) Un hipervínculo se expresa habitualmente como un localizador uniforme de recursos (URL). En la etapa 1200, el URL del hipervínculo de LiveCall seleccionado se pasa al identificador de URLs 34 (véase la figura 2). En la etapa 1202, el identificador de URLs 34 busca el manejador de protocolos apropiado en base a la información de cabecera en la URL (por ejemplo, "LiveCall:"). En la etapa 1204, el identificador de URLs 34 pasa la URL al manejador de protocolos apropiado. En el caso del hipervínculo LiveCall, la URL se pasa al manejador 36 de LiveCall. En la etapa 306, el manejador 36 de LiveCall confirma con el usuario que éste desea ejecutar la URL. En algunas realizaciones, la etapa 306 es opcional y puede saltarse. En la etapa 1208, el manejador 36 de LiveCall lanza SoftPhone 40. En algunas realizaciones, si SoftPhone 40 ya está ejecutándose, entonces no necesita volver a ser lanzado. SoftPhone 40 incluye una interfaz gráfica de usuario que comprende un teclado numérico para marcar, un área de visualización del número de teléfono, un área que muestra un histórico de llamadas, un área que muestra información del proveedor de servicios, un área que muestra información de la llamada de teléfono, y (opcionalmente) un área para mostrar contenido web o de la red.
En la etapa 1210, el manejador 36 de LiveCall pasará la URL a SoftPhone 40. En una realización, la URL se pasa inicialmente al gestor de autentificación 42. Si el usuario no está autentificado (etapa 1212), entonces el gestor de autentificación 42 autentificará al usuario. En una realización, esto comprenderá proporcionar una pantalla de registro en donde el usuario puede proporcionar un nombre de usuario y una contraseña. Si el usuario no se identifica apropiadamente, finalizará el proceso de la figura 6. Después de la autentificación del usuario, el gestor de autentificación 42 verificará si el usuario está o no autorizado para llevar a cabo la función identificada en el hipervínculo (etapa 1216). Obsérvese que si el usuario se ha autentificado previamente (véase la etapa 1212), entonces la etapa 1214 se saltará y el proceso pasará a la etapa 316 para determinar si el usuario está o no autorizado.
En la etapa 1218, la URL que representa el hipervínculo se pasará al analizador sintáctico 44, el cual verificará la sintaxis de la URL y descompondrá la URL en diversos componentes. En la etapa 1220, el analizador sintáctico 44 enviará los componentes apropiados al motor 46 de señalización y de voz, a la lógica 50 de presentación empresarial y al redireccionador de hipervínculos 52. En una realización, cualesquiera comandos (por ejemplo, mantenimiento de la cuenta) y abonados llamados se pasarán al motor 46 de señalización y de voz, se pasará un comando a la lógica 50 de presentación, y el comando y el hipervínculo se pasaran al redireccionador 52 de hipervínculos. En la etapa 1222, el analizador sintáctico 44 guardará los datos (por ejemplo, la totalidad de los componentes, incluyendo una indicación de la fuente) en el almacenamiento de datos de inteligencia empresarial 48. En la etapa 1224, el motor 46 de señalización y de voz resolverá cualesquiera parámetros utilizando la guía de direcciones 58. Por ejemplo, si se identifica un objetivo mediante un contacto o un nombre de ordenador, la guía de direcciones 58 se utilizará para traducir el contacto en un número de teléfono, o para producir el nombre de ordenador en la dirección IP. En la etapa 1226, el motor 46 de señalización y de voz establecerá una conexión de voz con el objetivo de la URL.
La figura 17 es un diagrama de flujo que describe una realización de un proceso llevado a cabo en respuesta a un hipervínculo de LiveCall que es seleccionado, funcionando dentro de la realización de la figura 3. Es decir, un hipervínculo es una aplicación que utiliza una API. En la etapa 1350, la aplicación 64 emite un comando a la API. Por ejemplo, se emite un comando ShellExecute() o ShellExecuteEX() a Window Shell 60. En la etapa 1352, Windows Shell 60 buscará el manejador de protocolos apropiado. Si se encuentra (etapa 1354) el manejador de protocolos, entonces Windows Shell 60 lanzará el manejador de protocolos en la etapa 1360. Por ejemplo, puede lanzarse el manejador LiveCall 36. El manejador de protocolos puede existir por separado respecto del navegador 30 o como parte del navegador 30.
Antes del funcionamiento, es necesario que se registre el manejador de protocolos de LiveCall. Son posibles dos implementaciones para registrar un manejador de protocolos Una es registrar el manejador de protocolos con Windows Shell. La otra es registrar el manejador de protocolos con el navegador. Una ventaja de registrar el manejador de protocolos con el navegador es que el manejador de protocolos puede llevar a cabo una verificación de integridad para asegurar que el usuario tiene la opción de confirmar la ejecución de la URL antes de que la aplicación se lance realmente. Esto puede ser importante para proteger a un usuario de ejecuciones por unidad de la URL mientras el usuario está visitando un sitio web.
En la etapa 1362, la URL se pasa al manejador de protocolos. En la etapa 1364, el manejador de protocolos lanza SoftPhone 40, si no está ya lanzado. En la etapa 1366, el manejador de protocolos pasa la URL a SoftPhone 40. Después de la etapa 366, el proceso continuará en la etapa 1212 de la figura 16.
Si Windows Shell 68 no encontró un manejador de protocolos apropiado (etapa 1354), entonces Windows Shell 60 solicitará al navegador 60 que localice el manejador de protocolos apropiado en la etapa 1170. Si el navegador 30 puede encontrar el manejador de protocolos apropiado, entonces pasará la URL al identificador de URLs 34, en la etapa 1374. En la etapa 1376, el proceso sigue en la etapa 1202 de la figura 16. Si en la etapa 1372 no se encontró ningún manejador de protocolos apropiado, en la etapa 1380 se devuelve un error.
Aunque la materia objeto ha sido descrita en un lenguaje específico para las características estructurales y/o los actos metodológicos, debe entenderse que la materia objeto definida en las reivindicaciones anexas no está limitada necesariamente a las características o los actos específicos descritos anteriormente. Por el contrario, las características y los actos específicos descritos anteriormente se dan a conocer como formas ejemplares de implementar las reivindicaciones. Se contempla que el alcance de la invención está definido por las reivindicaciones anexas.

Claims (15)

  1. REIVINDICACIONES
    1. Método para iniciar una comunicación, que comprende: esperar un evento de posar el puntero; generar un evento de posar el puntero cuando un usuario posa el puntero sobre un contenido o cerca del
    mismo;
    determinar 406, 506, 606, 706 si dicho contenido es una indicación de un objetivo, en respuesta al evento de posar el puntero; identificar visualmente 410, 510, 610, 710 dicha indicación de dicho objetivo, en respuesta a dicha
    determinación; recibir una selección 414, 514, 614, 714 de dicha indicación de dicho objetivo; y establecer 418, 520, 620, 720 una conexión de voz utilizando dicha indicación de dicho objetivo, en
    respuesta a dicha recepción de dicha selección de dicha indicación de dicho objetivo.
  2. 2. Un método acorde con la reivindicación 1, en el que: dicha indicación de dicho objetivo es un número de teléfono; dicha identificación incluye destacar 410, 510, 610, 710 dicho número de teléfono; dicha recepción de una selección incluye un clic de ratón 414, 514, 614, 714 del usuario sobre dicho
    número de teléfono destacado en un navegador, utilizando un dispositivo de puntero del usuario;
    dicho establecimiento de una conexión de voz incluye proporcionar dicho número de teléfono a una aplicación VOIP 416, 518, 618, 718 para realizar una llamada de teléfono a dicho número de teléfono; y dichas etapas de determinación e identificación se llevan a cabo sin modificación de código para dicho
    contenido.
  3. 3. Un método acorde con la reivindicación 1, en el que dicha determinación sobre si el contenido es una indicación de un objetivo, comprende:
    recibir texto; y determinar automáticamente 406, 506, 606, 706 si dicho texto incluye un número de teléfono formateado adecuadamente; o
    recibir texto; determinar un código de país 452; identificar una base de datos correspondiente a dicho código de país determinado 454; y determinar si dicho texto comprende un número de teléfono formateado adecuadamente, utilizando dicha
    base de datos 458, 460, 462, 466, 468.
  4. 4. Un método acorde con la reivindicación 1, en el que dicha determinación sobre si el contenido es una indicación de un objetivo, comprende: recibir datos;
    normalizar dichos datos 458; poner en correspondencia 460 dichos datos normalizados con un patrón normalizado concreto, de un conjunto de patrones normalizados asociados, cada uno, con uno o más patrones en bruto;
    5
    10
    15
    20
    25
    30
    35
    comparar 466 dichos datos recibidos con patrones en bruto asociados con dicho patrón normalizado concreto; y
    poner en correspondencia 466 dichos datos recibidos con uno de dichos patrones en bruto asociado con dicho patrón normalizado concreto.
  5. 5. Un método acorde con la reivindicación 1, en el que:
    dicha determinación sobre si el contenido es una indicación de un objetivo comprende recibir por un navegador datos sobre los que se está posando el puntero, determinar un código de país, proporcionar dichos datos y dicho código de país a una función de reconocimiento de números de teléfono, ordenar a dicho navegador que destaque dichos datos en dicho navegador, y proporcionar una descripción emergente para indicar que un usuario puede hacer clic sobre dichos datos destacados; y
    dicho establecimiento automático de dicha conexión de voz comprende ordenar a dicha aplicación de comunicaciones que realice una llamada telefónica VOIP.
  6. 6.
    Un método acorde con la reivindicación 1, en el que:
    dicha indicación de dicho objetivo es identificada en una página web en un navegador sin editar el código fuente, o es identificada en el interior de una interfaz de una aplicación que no es un navegador.
  7. 7.
    Un método acorde con la reivindicación 1, en el que dicha determinación sobre si el contenido es una indicación de un objetivo, comprende: recibir texto desde una aplicación; solicitar un código de país 450 desde un sistema operativo;
    identificar 454 una base de datos correspondiente a dicho código de país determinado; determinar si dicho texto comprende un número de teléfono formateado adecuadamente, utilizando dicha base de datos 458, 460, 462, 466, 468; y
    determinar la posición actual asociada con dicha acción de posar el puntero por parte del usuario .
  8. 8. Un método acorde con la reivindicación 1, en el que:
    dicha determinación de si el contenido es una indicación de un objetivo, comprende: recibir datos, determinar un código de país 450, identificar una base de datos correspondiente a dicho código de país determinado 454, normalizar dichos datos 458, poner en correspondencia dichos datos normalizados con un patrón normalizado concreto, de un
    conjunto de patrones normalizados asociados, cada uno, con uno o más patrones en bruto 460,
    comparar dichos datos recibidos con patrones en bruto asociados con dicho patrón normalizado concreto 466, y poner en correspondencia dichos datos recibidos con uno de dichos patrones en bruto asociado
    con dicho patrón normalizado concreto 466; y dicho establecimiento automático de una conexión de voz comprende ordenar a una aplicación de comunicación VOIP que realice una llamada telefónica utilizando dicho patrón de dichos patrones en bruto, asociado con dicho patrón normalizado concreto.
    5
    10
    15
    20
    25
    30
    35
    40
  9. 9. Un dispositivo informático, que comprende uno o más dispositivos de almacenamiento legibles por ordenador, que tienen código incorporado en dichos dispositivos de almacenamiento legibles por ordenador, comprendiendo dicho código para programar una unidad de procesamiento 120 para llevar a cabo un método:
    esperar un evento de posar el puntero;
    generar un evento de posar el puntero cuando un usuario posa el puntero sobre un contenido o cerca del mismo
    determinar 406, 506, 606, 706, 852, 1008 si el contenido es un indicación de un objetivo, en respuesta al evento de posar el puntero;
    identificar visualmente 410, 510, 610, 710, 1104 dicha indicación de dicho objetivo en el interior de dicho contenido visualizado;
    recibir una selección 414, 514, 614, 714, 1106 de dicha indicación de dicho objetivo; y
    establecer una conexión de voz 418, 520, 620, 720, 1108 utilizando dicha indicación de dicho objetivo, en respuesta a dicha recepción de dicha selección de dicha indicación de dicho objetivo.
  10. 10. Dispositivo informático según la reivindicación 9, en el que dicha determinación de si el contenido es una indicación de un objetivo comprende:
    normalizar 458 dicho contenido, poner en correspondencia 460 dicho contenido normalizado con un patrón normalizado, y poner en correspondencia 466 dicho contenido con un patrón en bruto asociado con dicho patrón normalizado;
    determinar si un código de país está disponible 450; e
    identificar una base de datos correspondiente a dicho código de país 454, procediendo dicho patrón normalizado y dicho patrón en bruto de dicha base de datos correspondiente a dicho código de país.
  11. 11.
    Dispositivo informático según la reivindicación 9, en el que dicha determinación de si el contenido es una indicación de un objetivo comprende normalizar 458 dicho contenido, poner en correspondencia 460 dicho contenido normalizado con un patrón normalizado, y poner en correspondencia 466 dicho contenido con un patrón en bruto asociado con dicho patrón normalizado; y en el que:
    dicha indicación de dicho objetivo es un número de teléfono; dicho contenido comprende una parte de un sitio web; dicho establecimiento de dicha conexión de voz se lleva a cabo utilizando una aplicación VOIP; y dicha determinación se lleva a cabo, por lo menos parcialmente, haciendo uso de un BHO.
  12. 12.
    Dispositivo informático según la reivindicación 9, en el que dicha determinación de si el contenido es una indicación de un objetivo comprende normalizar 458 dicho contenido, poner en correspondencia 460 dicho contenido normalizado con un patrón normalizado, y poner en correspondencia 466 dicho contenido con un patrón en bruto asociado con dicho patrón normalizado; y en el que:
    dicha indicación de dicho objetivo es un número de teléfono;
    dicho método comprende además añadir un hipervínculo a dicho contenido;
    dicho hipervínculo comprende una indicación de una fuente de dicha indicación de dicho objetivo; y
    dicho establecimiento de dicha conexión de voz comprende almacenar dicha indicación de dicha fuente en un almacenamiento de datos.
  13. 13. Dispositivo informático según la reivindicación 9, que comprende además: una interfaz 170, 172 de comunicaciones; y
    uno o más procesadores 120 en comunicación con dicho dispositivo de almacenamiento y dicha interfaz de comunicaciones, dicho código comprende instrucciones para programar dichos uno o más procesadores con objeto de visualizar 400, 500, 700, 1014 contenido en una interfaz de usuario y recibir una selección 402, 414, 502, 514, 602, 614, 702, 714, 1102, 1106 de un subconjunto de dicho contenido, dichos uno o
    5 más procesadores determinan si dicho subconjunto de dicho contenido comprende una identificación de un objetivo, dichos uno o más procesadores provocan un establecimiento de una conexión de voz sobre una red de datos utilizando dicha indicación de dicho objetivo y dicha interfaz de comunicaciones.
  14. 14. Dispositivo informático según la reivindicación 13, en el que:
    dicho código programa dichos uno o más procesadores para determinar si dicho subconjunto de contenido
    10 comprende dicha identificación de dicho objetivo normalizando dicho subconjunto de dicho contenido 458, poniendo en correspondencia dicho subconjunto normalizado de dicho contenido con un patrón normalizado concreto 460 de un conjunto de patrones normalizados, asociados cada uno con uno o más patrones en bruto, comparar dicho subconjunto de dicho contenido con patrones en bruto asociados con dicho patrón concreto normalizado, y poner en correspondencia dicho subconjunto de dicho contenido con
    15 uno de dichos patrones en bruto asociado con dicho patrón normalizado concreto 466, en el que:
    dichos uno o más procesadores 120 provocan un establecimiento de una conexión de voz ejecutando un programa 40 de comunicación VOIP con dicho uno de dichos patrones en bruto asociados con dicho patrón normalizado concreto.
  15. 15. Dispositivo informático según la reivindicación 13, en el que:
    20 dicho dispositivo de almacenamiento memoriza un programa 40 de comunicación VOIP y una aplicación de usuario 64;
    dichos uno o más procesadores provocan dicho establecimiento de dicha conexión de voz ejecutando dicho programa de comunicación VOIP; y
    dicha interfaz de usuario es proporcionada por dicha aplicación de usuario.
ES07755644T 2006-05-04 2007-04-17 Posar el puntero para hacer una llamada. Active ES2360011T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US74636706P 2006-05-04 2006-05-04
US746367P 2006-05-04
US538209 2006-10-03

Publications (1)

Publication Number Publication Date
ES2360011T3 true ES2360011T3 (es) 2011-05-31

Family

ID=40711697

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07755644T Active ES2360011T3 (es) 2006-05-04 2007-04-17 Posar el puntero para hacer una llamada.

Country Status (2)

Country Link
CN (1) CN101438549A (es)
ES (1) ES2360011T3 (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110209040A1 (en) * 2010-02-24 2011-08-25 Microsoft Corporation Explicit and non-explicit links in document
US10498889B2 (en) * 2011-09-16 2019-12-03 Skype Advertisement funded telephone calls
CN103634355B (zh) * 2012-08-27 2018-12-28 上海博路信息技术有限公司 一种跨设备的发起通信的方法
CN108512892A (zh) * 2012-12-21 2018-09-07 杭州华为企业通信技术有限公司 一种基于Web通信方法及设备
CN108494979A (zh) * 2018-03-28 2018-09-04 广东佳米科技有限公司 一种基于网络的语音通讯方法及系统
CN111131634A (zh) * 2019-12-30 2020-05-08 上海浩琨信息科技有限公司 识别电话号码并拨打的方法及系统

Also Published As

Publication number Publication date
CN101438549A (zh) 2009-05-20

Similar Documents

Publication Publication Date Title
PT2014037E (pt) Pairar para chamar
ES2360011T3 (es) Posar el puntero para hacer una llamada.
JP4234149B2 (ja) マークアップ言語ページのナビゲート方法、ブラウザおよび無線通信装置
US8681951B1 (en) Systems and methods for visual presentation and selection of IVR menu
US20070258439A1 (en) Hyperlink-based softphone call and management
US20170289332A1 (en) Systems and Methods for Visual Presentation and Selection of IVR Menu
CN1979419A (zh) 为软件中的程序模块创建快捷方式及启动方法
CN1507257A (zh) 网络访问提供系统
KR20030035861A (ko) 패킷 기반 전화통신 관리
KR20000017718A (ko) 월드와이드웹 및 전자우편 주소 입력방법과 장치
CN108932146A (zh) 页面显示方法、装置以及计算机可读存储介质
CN102473194A (zh) 信息处理器
KR100595685B1 (ko) 휴대단말기에서 상태정보 체크 및 통화 수행방법
Cisco Release Notes for Cisco MGCP IP Phone 7940/7960 Release 4.0
US9521529B1 (en) Automated short message formatting commanded by embedded specialty codes
Cisco Release Notes for Cisco eServices 2.1
CN111181836B (zh) 一种消息推送方法及装置
Cisco Release Notes for Cisco eServices 2.1(2)
KR20020006323A (ko) 게시판의 등록 내용을 문자 메시지 서비스를 이용하여통보하는 방법
Cisco Release Notes for Cisco Customer Response Applications 2.2 (3b)
Cisco Release Notes for Cisco Customer Response Applications 2.2(3a)
Cisco Release Notes for Cisco Customer Response Applications 2.2(2)
Cisco Release Notes for Cisco Customer Response Applications 2.2
US20060019704A1 (en) Integrating wireless telephone with external call processor
CN113268277A (zh) 一种基于web的客户端访问方法及终端设备