ES2685443T3 - Producir mensajes de enrutamiento para comunicaciones de voz sobre IP - Google Patents
Producir mensajes de enrutamiento para comunicaciones de voz sobre IP Download PDFInfo
- Publication number
- ES2685443T3 ES2685443T3 ES07816106.4T ES07816106T ES2685443T3 ES 2685443 T3 ES2685443 T3 ES 2685443T3 ES 07816106 T ES07816106 T ES 07816106T ES 2685443 T3 ES2685443 T3 ES 2685443T3
- Authority
- ES
- Spain
- Prior art keywords
- call
- caller
- identifier
- dialing
- record
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/63—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on the content carried by the session initiation protocol [SIP] messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
- H04L45/3065—Route determination based on the nature of the carried application for real time traffic
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61K—PREPARATIONS FOR MEDICAL, DENTAL OR TOILETRY PURPOSES
- A61K39/00—Medicinal preparations containing antigens or antibodies
- A61K39/395—Antibodies; Immunoglobulins; Immune serum, e.g. antilymphocytic serum
- A61K39/39533—Antibodies; Immunoglobulins; Immune serum, e.g. antilymphocytic serum against materials from animals
- A61K39/39558—Antibodies; Immunoglobulins; Immune serum, e.g. antilymphocytic serum against materials from animals against tumor tissues, cells, antigens
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61K—PREPARATIONS FOR MEDICAL, DENTAL OR TOILETRY PURPOSES
- A61K45/00—Medicinal preparations containing active ingredients not provided for in groups A61K31/00 - A61K41/00
- A61K45/06—Mixtures of active ingredients without chemical characterisation, e.g. antiphlogistics and cardiaca
-
- C—CHEMISTRY; METALLURGY
- C07—ORGANIC CHEMISTRY
- C07K—PEPTIDES
- C07K16/00—Immunoglobulins [IGs], e.g. monoclonal or polyclonal antibodies
- C07K16/18—Immunoglobulins [IGs], e.g. monoclonal or polyclonal antibodies against material from animals or humans
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1432—Metric aspects
- H04L12/1439—Metric aspects time-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1485—Tariff-related aspects
- H04L12/1496—Tariff-related aspects involving discounts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/04—Recording calls, or communications in printed, perforated or other permanent form
- H04M15/06—Recording class or number of calling, i.e. A-party or called party, i.e. B-party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/51—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for resellers, retailers or service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/56—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for VoIP communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/80—Rating or billing plans; Tariff determination aspects
- H04M15/8033—Rating or billing plans; Tariff determination aspects location-dependent, e.g. business or home
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/80—Rating or billing plans; Tariff determination aspects
- H04M15/8044—Least cost routing
- H04M15/8055—Selecting cheaper transport technology for a given service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/80—Rating or billing plans; Tariff determination aspects
- H04M15/8083—Rating or billing plans; Tariff determination aspects involving reduced rates or discounts, e.g. time-of-day reductions or volume discounts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/82—Criteria or parameters used for performing billing operations
- H04M15/8228—Session based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/88—Provision for limiting connection, or expenditure
- H04M15/887—Provision for limiting connection, or expenditure limit per user or user related number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/88—Provision for limiting connection, or expenditure
- H04M15/888—Provision for limiting connection, or expenditure severing connection after predetermined time or data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42025—Calling or Called party identification service
- H04M3/42085—Called party identification service
- H04M3/42102—Making use of the called party identifier
- H04M3/4211—Making use of the called party identifier where the identifier is used to access a profile
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0075—Details of addressing, directories or routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/64—Distributing or queueing
- H04Q3/66—Traffic distributors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/70—Identification of class of calling subscriber
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13091—CLI, identification of calling line
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13141—Hunting for free outlet, circuit or channel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13196—Connection circuit/link/trunk/junction, bridge, router, gateway
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/1322—PBX
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2213/00—Indexing scheme relating to selecting arrangements in general and for multiplex systems
- H04Q2213/13384—Inter-PBX traffic, PBX networks, e.g. corporate networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Chemical & Material Sciences (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medicinal Chemistry (AREA)
- General Health & Medical Sciences (AREA)
- Organic Chemistry (AREA)
- Multimedia (AREA)
- Immunology (AREA)
- Veterinary Medicine (AREA)
- Public Health (AREA)
- Pharmacology & Pharmacy (AREA)
- Epidemiology (AREA)
- Animal Behavior & Ethology (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Oncology (AREA)
- Mycology (AREA)
- Microbiology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biochemistry (AREA)
- Biophysics (AREA)
- Genetics & Genomics (AREA)
- Molecular Biology (AREA)
- Proteomics, Peptides & Aminoacids (AREA)
- Biomedical Technology (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Meter Arrangements (AREA)
Abstract
Un proceso para operar un controlador de enrutamiento de llamadas para facilitar la comunicación entre los que envían las llamadas y los que reciben las llamadas (12, 15) en un sistema que comprende una pluralidad de nodos con los que están asociados los que envían las llamadas y los que reciben las llamadas (12, 15), comprendiendo el proceso: en respuesta a la iniciación de una llamada por el suscriptor que envía la llamada en una red de IP, recibir un identificador del que envía la llamada y un identificador del que recibe la llamada; utilizar los criterios de clasificación de llamadas asociados con el identificador del que envía la llamada para clasificar la llamada como una llamada de red pública o una llamada de red privada; buscar en una base de datos (18) para localizar un registro que identifica atributos de la llamada asociados con el que envía la llamada identificado por dicho identificador del que envía la llamada; comparar al menos un atributo de la llamada asociado con un perfil de marcación del que envía la llamada con aspectos de dicho identificador del que recibe la llamada; y clasificar la llamada basándose en dicha comparación como una llamada de red pública cuando se cumplen criterios de clasificación de red pública y clasificar la llamada basándose en dicha comparación como una llamada de red privada cuando se cumplen criterios de clasificación de red privada; producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada cuando la llamada se clasifica como una llamada de la red privada; y producir un mensaje de enrutamiento que identifica una dirección de IP de una pasarela a una red pública cuando la llamada se clasifica como una llamada de red pública.
Description
5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCION
Producir mensajes de enrutamiento para comunicaciones de voz sobre IP Antecedentes de la invención
1. Campo de la invención
La presente invención se refiere a comunicaciones de voz sobre IP y métodos y aparatos para el enrutamiento y facturación.
2. Descripción de la técnica relacionada
Los teléfonos de protocolo de Internet (IP) generalmente son teléfonos basados en ordenadores personales (PC) conectados con una red IP, tal como la Internet pública o una red privada de una organización grande. Estos teléfonos de IP tienen instalado un software de “voz sobre IP” (VoIP) que les hace posible enviar y recibir llamadas de voz y enviar y recibir información de datos y formatos de vídeo.
Los conmutadores de telefonía de IP instalados dentro de la red posibilitan que se hagan las llamadas de voz dentro o entre las redes de IP o entre una red de IP y una red de circuito de conmutación de circuitos (SCN), tal como la red de telefonía pública conmutada (PSTN). Si el conmutador de IP soporta el protocolo de Sistema de Señalización 7 (SS7), el teléfono IP también puede acceder a las bases de datos de la PSTN.
La red PSTN generalmente incluye nodos complejos de la red que contienen toda la información acerca de un área de servicio de llamada local que incluye la autentificación del usurario y el enrutamiento de la llamada. La red PSTN generalmente agrega toda la información y el tráfico en una sola ubicación o nodo, la procesa locamente y a continuación la pasa a los otros nodos de la red según sea necesario, manteniendo las tablas de rutas en el nodo. Los nodos PSTN son redundantes por diseño y por lo tanto proporcionan un servicio confiable, pero si un nodo llegara a fallar debido a un terremoto u otro desastre natural importante, pueden ocurrir interrupciones de servicios si se han completado, sin que otros nodos puedan asimilar la carga.
Los sistemas de VoIP existentes no permiten la alta disponibilidad y resistencia para entregar el servicio de Protocolo del Protocolo de Iniciación de Sesión (SIP) basado en Voz Sobre IP en un área dispersada geográficamente como una ciudad, región o continente. La mayor resistencia se origina de la provisión de los servicios de telefonía basada en la IP a una ubicación o a un número más pequeño de ubicaciones tales como una sola oficina o de oficinas de sucursales.
El documento US 7.046.658 desvela un sistema de VoIP en el que los llamantes están conectados mediante cableado permanente a conmutadores de PSTN. El documento US 6.597.686 desvela un sistema para enrutar automáticamente una llamada telefónica a través de una red de telefonía.
Breve descripción de la invención
De acuerdo con un aspecto de la presente invención, se proporciona un proceso para operar un controlador de enrutamiento de llamadas de acuerdo con la reivindicación 1.
El proceso puede implicar recibir una solicitud para establecer una llamada, desde un controlador de llamadas en comunicación con el que envía la llamada identificada por el identificador del que recibe la llamada.
La utilización de los criterios de clasificación de llamadas implica buscar en una base de datos para localizar la llamada en un registro que identifica los atributos de llamada asociados con el que envía la llamada identificado por un identificador del que envía la llamada.
La localización de un registro puede implicar localizar un perfil de marcación del que envía la llamada que comprende un nombre del usurario asociado con el que envía la llamada, un dominio asociado con el que envía la llamada, y al menos un atributo de la llamada.
El uso de los criterios de clasificación de llamadas implica comparar los atributos de llamada asociados con el perfil de marcación del que envía la llamada con aspectos del identificador del que recibe la llamada.
La comparación puede implicar determinar si el identificador del que recibe la llamada incluye una porción que coincide con un IDD asociado con el perfil de marcación del que envía la llamada.
La comparación puede implicar determinar si el identificador del que recibe la llamada incluye una porción que coincide con un NDD asociado con el perfil de marcación del que envía la llamada.
5
10
15
20
25
30
35
40
45
50
55
60
65
La comparación puede implicar determinar si el identificador del que recibe la llamada incluye una porción que coincide con un código de área asociado con el perfil de marcación del que envía la llamada.
La comparación puede implicar determinar si el identificador del que recibe la llamada tiene una longitud dentro de un rango especificado en el perfil de marcación del que envía la llamada.
El proceso puede implicar formatear el identificador del que recibe la llamada en de un formato predefinido de dígitos para producir un identificador del que recibe la llamada re-formateado.
El formateado puede implicar eliminar un dígito de marcación internacional del identificador del que recibe la llamada cuando el identificador del que recibe la llamada comienza con un dígito que coincide con un dígito de marcación internacional especificado por el perfil de marcación del que envía la llamada asociado con el que envía la llamada.
El formateado puede implicar eliminar un dígito de marcación nacional del identificador del que recibe la llamada prefijando un código del país que emite la llamada al identificador del que recibe la llamada cuando el identificador de que recibe la llamada comienza con un dígito de marcación nacional.
El formateado puede implicar prefijar un código del país que envía la llamada para el identificador del que recibe la llamada cuando el identificador del que recibe la llamada comienza con dígitos que identifican un código de área especificada por el perfil de marcación del que envía la llamada. El formateado puede implicar prefijar un código del país que envía la llamada y un código de área para el identificador del que recibe la llamada cuando el identificador del que recibe la llamada tiene una longitud que coincide con un formato del número de marcación del que envía la llamada especificado por el perfil de marcación del que envía la llamada y solamente un código de área es especificado como que estuviera asociado con el que envía la llamada en el perfil de marcación del que envía la llamada.
El proceso puede implicar clasificar la llamada como una llamada de red privada cuando el identificador del que recibe la llamada re-formateado identifica a un suscriptor para una red privada.
El proceso puede implicar determinar si el identificador del que recibe la llamada cumple con un formato del nombre del usurario predefinido y si es así, clasificar la llamada como una llamada de red privada.
El proceso puede implicar provocar que se busque en una base de datos de registros para localizar un registro directo en la tabla del banco de datos para marcación (DID) que asocie a un número de teléfono público con el identificador re-formateado del que recibe la llamada y si se halla el registro de la tabla del banco DID, clasificar la llamada como una llamada de red privada y si no se halla un registro de la tabla del banco DID, clasificar la llamada como una llamada de la red pública.
La producción del mensaje de enrutamiento que identifica un nodo en la red privada puede comprender ajustar el identificador del que recibe la llamada en respuesta a un nombre del usurario asociado con el registro de la tabla del banco DID.
Producir el mensaje de enrutamiento puede implicar determinar si un nodo asociado con el identificador del que recibe la llamada re-formateado es el mismo que un nodo asociado con el identificador del que envía la llamada.
Determinar si un nodo asociado con el identificador re-formateado del que recibe la llamada es el mismo que un nodo asociado con el identificador del que envía la llamada puede implicar determinar si un prefijo del identificador re-formateado del que recibe la llamada coincide con un prefijo correspondiente de un nombre del usurario asociado con el perfil de marcación del que envía la llamada. Cuando el nodo asociado con el que envía la llamada no es el mismo que el nodo asociado con el que recibe la llamada, el proceso implica producir un mensaje de enrutamiento que incluye el identificador del que envía la llamada, el identificador del que recibe la llamada re-formateado y una identificación de un nodo de red privada asociado con el que recibe la llamada y que comunica el mensaje de enrutamiento a un controlador de llamadas.
Cuando el nodo asociado con el que envía la llamada es el mismo que el nodo asociado con el que recibe la llamada, el proceso implica determinar si realizar al menos uno de los siguientes: reenviar la llamada a otra parte, bloquear la llamada y dirigir al que envía la llamada a un servidor de correo de voz asociado con el que recibe la llamada.
La producción de un mensaje de enrutamiento puede implicar producir un mensaje de enrutamiento que tiene una identificación de al menos uno del identificador del que recibe la llamada, una identificación de una parte en la cual debería reenviarse la llamada y una identificación de un servidor de correo de voz asociado con el que recibe la llamada.
El proceso puede implicar comunicar el mensaje de enrutamiento a un controlador de llamadas.
5
10
15
20
25
30
35
40
45
50
55
60
65
La producción de un mensaje de enrutamiento que identifica una pasarela de la red pública puede implicar el buscar en una base de datos registros de rutas que asocian los identificadores de ruta con los códigos de marcación para hallar un registro de ruta que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción con el identificador re-formateado del que recibe la llamada.
El proceso puede implicar buscar en una base de datos de registros del proveedor que asocian a los identificadores del proveedor con los identificadores de ruta para localizar al menos un registro del proveedor asociado con el identificador de ruta asociado con el registro de ruta que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción del identificador re-formateado de quien recibe la llamada.
El proceso puede implicar cargar una memoria intermedia de mensaje de enrutamiento con el identificador del que recibe la llamada re-formateado y una identificación de las rutas específicas asociadas con los registros respectivos del proveedor asociado con el registro de ruta y cargar la memoria intermedia del mensaje de enrutamiento con un valor de tiempo y un valor de tiempo de espera.
El proceso puede implicar comunicar un mensaje de enrutamiento que implica los contenidos de la memoria intermedia del mensaje de enrutamiento a un controlador de llamadas.
El proceso puede implicar además provocar que el perfil de marcación incluya un valor máximo de llamadas concurrentes y un valor de recuento de llamadas concurrentes lo que ocasiona que el valor del recuento de llamadas concurrentes se incremente cuando el usurario asociado con el perfil de marcación inicia una llamada y provocar que el valor del recuento de llamadas concurrentes se reduzca cuando se termina una llamada con el usurario asociado con el perfil de marcación.
De acuerdo con otro aspecto de la presente invención, se proporciona un aparato de enrutamiento de llamadas de acuerdo con la reivindicación 23.
Las provisiones de recepción pueden configurarse de manera operable para recibir una solicitud para establecer una llamada, de un controlador de llamada en comunicación con el que envía la llamada identificada por el identificador del que recibe la llamada.
El aparato incluye además buscar provisiones para buscar en una base de datos que incluye registros asociados con los atributos de llamada con los suscriptores para la red privada para localizar un registro que identifica los atributos de llamada asociados con el que envía la llamada identificados por el identificador del que envía la llamada.
Los registros pueden incluir perfiles de marcación incluyendo cada uno un nombre del usurario asociado con el suscriptor, una identificación de un dominio asociado con el suscriptor y una identificación de al menos un atributo de llamadas asociadas con el suscriptor.
Las provisiones de clasificación de llamadas pueden configurarse de manera operable para comparar los atributos de llamada asociados con el perfil de marcación del que envía la llamada con aspectos del identificador del que recibe la llamada.
Los atributos de llamada pueden incluir un dígito de marcación internacional y las provisiones de clasificación de llamadas pueden configurarse de manera operable para determinar si el identificador del que recibe la llamada incluye una porción que coincide con un IDD asociado con el perfil de marcación del que envía la llamada.
Los atributos de llamada pueden incluir un dígito de marcación nacional y las provisiones de clasificación de llamadas pueden configurarse de manera operable para determinar si el identificador del que recibe la llamada incluye una porción que coincide con un NDD asociado con el perfil de marcación del que envía la llamada.
Los atributos de llamada pueden incluir un código de área y las provisiones de clasificación de llamadas pueden configurarse de manera operable para determinar si el identificador del que recibe la llamada incluye una porción que coincide con un código de área asociado con el perfil de marcación del que envía la llamada.
El atributo de llamada puede incluir un rango de longitud numérico y las provisiones de clasificación de llamadas pueden configurarse de manera operable para determinar si el identificador del que recibe la llamada tiene una longitud dentro de un rango de longitud numérico especificado en el perfil de marcación del que envía la llamada.
El aparato puede incluir además provisiones de formateo para formatear el identificador del que recibe la llamada en un formato de dígitos predefinido para producir un identificador del que recibe la llamada re-formateado.
Las provisiones de formateado pueden configurarse de manera operable para eliminar un dígito de marcación internacional del identificador del que recibe la llamada, cuando el identificador del que recibe la llamada comienza con un dígito que coincide con un dígito de marcación internacional especificado por el perfil de marcación del que envía la llamada asociado con el que envía la llamada.
5
10
15
20
25
30
35
40
45
50
55
60
65
Las provisiones de formateado pueden configurarse de manera operable para eliminar un dígito de marcación nacional del identificador del que recibe la llamada y prefijar un código de país del que envía la llamada al identificador del que recibe la llamada cuando el identificador del que recibe la llamada comienza con un dígito de marcación nacional.
Las provisiones de formateado pueden configurarse de manera operable para prefijar un código del país del que envía la llamada para el identificador del que recibe la llamada, cuando el identificador del que recibe la llamada comienza con dígitos que identifican un código de área especificado por el perfil de marcación del que envía la llamada.
Las provisiones de formateado pueden configurarse de manera operable para prefijar un código del país del que envía la llamada y un código de área para el identificador del que recibe la llamada cuando el identificador del que recibe la llamada tiene una longitud que coincide con un formato del número de marcación del que envía la llamada especificado por el perfil de marcación del que envía la llamada y solamente se especifica un código de área como que está asociado con el que envía la llamada en el perfil de marcación del que envía la llamada.
Las provisiones de clasificación pueden configurarse de manera operable para clasificar la llamada como una llamada de red privada cuando el identificador re-formateado del que recibe la llamada identifica un suscriptor para la red privada. Las provisiones de clasificación pueden configurarse de manera operable para clasificar la llamada como una llamada de red privada cuando el identificador del que recibe la llamada cumple con un formato del nombre del usurario predefinido.
El aparato puede incluir además provisiones de búsqueda para buscar en una base de datos de registros para localizar un registro directo en una tabla de banco de marcación (DID) que asocia un número de teléfono público con el identificador del que recibe la llamada re-formateado y las provisiones de clasificación pueden configurarse de manera operable para clasificar la llamada como una llamada de red privada cuando se halla el registro de la tabla del banco DID y para clasificar la llamada como una llamada de la red pública cuando no se halla el registro de la tabla del banco DID.
Las provisiones de producción de mensaje de enrutamiento de la red privada pueden configurarse de manera operable para producir un mensaje de enrutamiento que tiene un identificador del que recibe la llamada ajustado de acuerdo con un nombre del usurario asociado con el registro de la tabla del banco DID.
Las provisiones de producción de mensaje de enrutamiento de la red privada pueden configurarse de manera operable para determinar si un nodo asociado con el identificador re-formateado del que recibe la llamada es el mismo que un nodo asociado con el identificador del que envía la llamada.
Las provisiones del enrutamiento de la red privada pueden incluir provisiones para determinar si un prefijo del identificador del que recibe la llamada re-formateado coincide con un prefijo correspondiente de un nombre del usurario asociado con el perfil de marcación del que envía la llamada.
Las provisiones de producción de mensaje de enrutamiento de la red privada pueden configurarse de manera operable para producir un mensaje de enrutamiento que incluye un identificador del que envía la llamada, el identificador del que recibe la llamada re-formateado, y una identificación de un nodo de red privada asociado con el que recibe la llamada y para comunicar el mensaje de enrutamiento a un controlador de llamadas.
Las provisiones de producción de mensaje de enrutamiento de la red privada pueden configurarse de manera operable para realizar al menos uno de los siguientes: reenviar la llamada a otra parte, bloquear la llamada y dirigir al que envía la llamada a un servidor de correo de voz asociado con el que recibe la llamada, cuando el nodo asociado con el que envía la llamada es el mismo que el nodo asociado con el que recibe la llamada.
Las provisiones para producir el mensaje de enrutamiento de la red privada pueden configurarse de manera operable para producir un mensaje de enrutamiento que tiene una identificación de al menos uno de un identificador del que recibe la llamada, una identificación de una parte a la cual debe reenviarse la llamada, y una identificación de un servidor de correo de voz asociado con el que recibe la llamada.
El aparato incluye además provisiones para comunicar el mensaje de enrutamiento a un controlador de llamadas.
Las provisiones para producir un mensaje de enrutamiento de la red pública que identifican una pasarela para la red pública pueden incluir provisiones para buscar en una base de datos de registros de rutas que asocian los identificadores de ruta con los códigos de marcación para hallar un registro de ruta que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción con el identificador re-formateado del que recibe la llamada.
El aparato incluye además provisiones para buscar una base de datos de registros del proveedor que asocia los identificadores del proveedor con los identificadores de ruta para localizar al menos un registro del proveedor
5
10
15
20
25
30
35
40
45
50
55
60
65
asociado con el identificador de ruta asociado con el registro de ruta que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción con el identificador re-formateado del que recibe la llamada.
El aparato incluye además una memoria intermedia de mensajes de enrutamiento y provisiones para cargar la memoria intermedia de mensajes de enrutamiento con el identificador del que recibe la llamada re-formateado y una identificación de las rutas específicas asociadas con las respectivas de los registros del proveedor asociados con el registro de ruta y la carga de la memoria intermedia del mensaje de enrutamiento con un valor del tiempo y con un valor de tiempo de espera. El aparato incluye además provisiones para comunicar un mensaje de enrutamiento que incluye los contenidos de la memoria intermedia del mensaje de enrutamiento a un controlador de llamadas.
El aparato incluye además medios para provocar que dicho perfil de marcación incluya un valor máximo de llamadas concurrentes y un valor de recuento de llamadas concurrentes y para provocar que dicho valor de recuento de llamadas concurrentes se incremente cuando el usurario asociado con el perfil de marcación inicia una llamada y para provocar que dicho de valor de recuento de llamadas concurrentes se reduzca cuando se termina una llamada con dicho usurario asociado con dicho perfil de marcación.
Otras características de la presente invención se harán evidentes para los expertos en la materia al revisar la siguiente descripción de las realizaciones específicas de la invención en conjunto con las figuras adjuntas.
Breve descripción de los dibujos
En los dibujos que ilustran las realizaciones de la invención,
La figura 1, es un diagrama de bloques de un sistema de acuerdo con una primera realización de la invención;
La figura 2, es un diagrama de bloques de un teléfono del que envía las llamadas de acuerdo con la primera realización de la invención.
La figura 3, es una representación esquemática de un mensaje de invitación SIP transmitido entre el teléfono que envía la llamada y un controlador mostrado en la figura 1;
La figura 4, es un diagrama de bloques de un controlador de llamadas mostrado en la figura 1;
La figura 5, es un diagrama de flujo de un proceso ejecutado por el controlador de llamadas mostrado en la figura 1;
La figura 6, es una representación esquemática de un mensaje de solicitud de enrutamiento, facturación y tarifas (RC) producido por el controlador de llamadas mostrado en la figura 1;
La figura 7, es un diagrama de bloques de un circuito procesador de un elemento de enrutamiento, facturación y tarifas del sistema mostrado en la figura 1;
Las figuras 8A a 8D, son un diagrama de flujo de un manejador de mensaje de solicitud RC ejecutado por el circuito del procesador RC mostrado en la figura 7;
La figura 9, es una representación tabular de un perfil de marcación almacenado en una base de datos accesible por el RC mostrado en la figura 1;
La figura 10, es una representación tabular de un perfil de marcación del que envía la llamada que utiliza el teléfono del que envía la llamada mostrado en la figura 1;
La figura 11, es una representación tabular de un perfil del que recibe la llamada para el que recibe la llamada localizado en Calgary;
La figura 12, es una representación tabular de un perfil del que recibe la llamada para el que recibe la llamada localizado en Londres;
La figura 13, es una representación tabular de un registro de una tabla del banco de Marcación Directa (DID) almacenado en la base de datos mostrada en la figura 1;
La figura 14, es una representación tabular de un registro de la tabla del banco DID de ejemplo para el que recibe la llamada al que nos referimos en la figura 11;
La figura 15, es una representación tabular de un mensaje de enrutamiento transmitido desde el RC al controlador de llamadas mostrado en la figura 1;
La figura 16, es una representación esquemática de una memoria intermedia de mensajes de enrutamiento que mantiene un mensaje de enrutamiento para enrutar una llamada al que recibe la llamada de Calgary que se hace referencia en la figura 11;
La figura 17, es una representación tabular de un prefijo de un registro de una tabla de súper-nodo almacenada en la base de datos mostrada en la figura 1;
La figura 18, es una representación tabular de un prefijo para un registro de tabla de súper-nodo que se utilizaría para el que recibe la llamada en Calgary al que se hace referencia en la figura 11;
La figura 19, es una representación tabular de un registro de lista maestra almacenada en una tabla de lista maestra de la base de datos mostrada en la figura 1;
La figura 20, es una representación tabular de un registro de lista maestra rellenado;
La figura 21, es una representación tabular de un registro de lista de proveedores almacenada en la base de datos mostrada en la figura 1;
La figura 22, es una representación tabular de un registro de la lista de proveedores específicos para un primer proveedor;
La figura 23, es una representación tabular de un registro de la lista de proveedores específicos para un segundo
5
10
15
20
25
30
35
40
45
50
55
60
65
proveedor;
La figura, 24 es una representación tabular de un registro de la lista de proveedores específicos para un tercer proveedor;
La figura 25, es una representación esquemática de un mensaje de enrutamiento, mantenido en una memoria intermedia de mensaje de enrutamiento que identifica para el controlador una pluralidad de posibles proveedores que pueden llevar la llamada.
La figura 26, es una representación tabular de un registro de una tabla de bloqueo de llamadas;
La figura 27, es una representación tabular de un registro de una tabla de bloqueo de llamadas para que el que recibe la llamada de Calgary;
La figura 28, es una representación tabular de un registro de una tabla de reenvío de llamadas;
La figura 29, es una representación tabular de un registro de una tabla de reenvío de llamadas específico para el que recibe la llamada de Calgary;
La figura 30, es una representación tabular de un registro de la tabla de correo de voz que especifica los parámetros del correo de voz para hacer posible que el que envíe la llamada deje un mensaje de correo de voz para el que recibe la llamada;
La figura 31, es una representación tabular de un registro de la tabla de correo de voz específico para el que recibe la llamada de Calgary;
La figura 32, es una representación esquemática de un mensaje de enrutamiento de ejemplo mantenido en una memoria intermedia de mensaje de enrutamiento que indica los números de reenvío de llamadas y un identificador del servidor de correo de voz;
Las figuras 33A y 33B son respectivas porciones de un diagrama de flujo y un proceso ejecutado por el procesador RC para determinar un valor de tiempo de vida.
La figura 34, es una representación tabular de un registro de la tabla del conjunto de suscriptores;
La figura 35, es una representación tabular de un registro del conjunto de suscriptores para el que envía la llamada de Vancouver;
La figura 36, es una representación tabular de un registro de una tabla de anulación del conjunto;
La figura 37, es una representación tabular del registro de anulación del conjunto para una ID de la lista maestra localizada;
La figura 38, es una representación tabular de un registro de una tabla de cuenta del suscriptor;
La figura 39, es una representación tabular de un registro de cuenta del suscriptor para el que envía la llamada en Vancouver;
La figura 40, es un diagrama de flujo de un proceso para producir un segundo valor de tiempo ejecutado por el circuito del procesador RC mostrado en la figura 7;
La figura 41, es un diagrama de flujo para calcular un coste de llamada por unidad de tiempo;
La figura 42, es una representación tabular de un registro de la tabla de tarifas especiales del operador del sistema;
La figura 43, es una representación tabular de un registro de la tabla de tarifas especiales del operador del sistema para un revendedor llamado Klondike;
La figura 44, es una representación tabular de un registro de la tabla de marca del operador del sistema;
La figura 45, es una representación tabular de un registro de la marca del operador del sistema para el revendedor Klondike;
La figura 46, es una representación tabular de un registro de la tabla de marca del operador del sistema por defecto;
La figura 47, es una representación tabular de un registro de tablas de destinos especiales del revendedor;
La figura 48, es una representación tabular de un registro de la tabla de destinos especiales del revendedor para el revendedor Klondike;
La figura 49, es una representación tabular de un registro de la tabla de marca global del revendedor;
La figura 50, es una representación tabular de un registro de la tabla de marca global del revendedor para el revendedor Klondike;
La figura 51, es una representación tabular de un mensaje de despedida SIP al controlador de llamadas transmitido desde cualquiera de los teléfonos mostrados en la figura 1;
La figura 52, es una representación tabular de un mensaje de despedida SIP enviado al controlador desde el que recibe la llamada de Calgary;
La figura 53, es un diagrama de flujo de un proceso ejecutado por el controlador de llamadas para producir un mensaje de fin RC en respuesta a la recepción de un mensaje de despedida SIP;
La figura 54, es una representación tabular de un mensaje de fin de la llamada RC de ejemplo;
La figura 55, es una representación tabular de un mensaje de fin de llamada RC para el que recibe la llamada de Calgary;
Las figuras 56A y 56B son respectivas porciones de un diagrama de flujo de una rutina de manejo de un mensaje de fin de llamada RC ejecutado por el RC mostrado en la figura 1;
La figura 57, es una representación tabular de un registro de la tabla de cuentas del revendedor;
La figura 58 es una representación tabular de un registro de la tabla de cuentas del revendedor para el revendedor Klondike;
La figura 59 es una representación tabular de un registro de la tabla de cuentas del operador del sistema; y La figura 60, es una representación tabular de un registro de cuentas del operador del sistema para el operador del sistema descrito en el presente documento.
5
10
15
20
25
30
35
40
45
50
55
60
65
Descripción detallada
Haciendo referencia a la figura 1, se muestra un sistema para hacer llamadas de teléfono/videoteléfono de voz sobre IP en general en 10. El sistema incluye un primer súper-nodo mostrado generalmente en 11 y un segundo súper- nodo mostrado generalmente en 21. El primer súper-nodo 11 está localizado por ejemplo, en un área geográfica tal como Vancouver, B.C., Canadá y el segundo súper-nodo 21 está localizado por ejemplo en Londres, Inglaterra. Pueden estar localizados súper-nodos diferentes en regiones geográficas diferentes en todo el mundo para proporcionar el servicio de teléfono/videoteléfono a los suscriptores en las regiones respectivas. Estos súper-nodos pueden estar en comunicación entre ellos por medio de enlaces de alta velocidad / alto caudal de datos que incluyen fibra óptica, satélite, enlace y/o enlaces de cable que forman una estructura troncal para el sistema. Estos súper- nodos pueden como alternativa o además, estar en comunicación entre sí a través de los servicios convencionales de Internet.
En la realización mostrada, el súper-nodo 11 de Vancouver proporciona servicios de teléfono/videoteléfono a los clientes en Canadá Occidental desde la isla de Vancouver hasta Ontario. Otro nodo (no mostrado) puede estar localizado en Canadá Oriental para proporcionar servicios a los suscriptores en dicha área.
Otros nodos del tipo mostrado también pueden emplearse dentro del área geográfica que recibe el servicio de un súper-nodo, para hacer que se comparta la carga de las llamadas, por ejemplo, dentro de una región del área geográfica que recibe el servicio de súper-nodo. Sin embargo, en general, todos los nodos son similares y tienen las propiedades descritas a continuación en relación con el súper-nodo 11 de Vancouver.
En esta realización, el súper-nodo de Vancouver incluye un controlador de llamadas (C) 14, un controlador de enrutamiento (RC) 16, una base de datos 18 y un servidor 19 de correo de voz y un retransmisor 9 de medios. Cada uno de estos puede implementarse por ejemplo, como módulos separados en un sistema informático común o por medio de ordenadores separados. El servidor 19 de correo de voz no necesita estar incluido en el nodo y puede proporcionarse por un proveedor de servicio externo.
Los suscriptores tales como un suscriptor en Vancouver y un suscriptor en Calgary se comunican con el súper-nodo de Vancouver utilizando sus propios proveedores de servicio de Internet, los cuales enrutan el tráfico de internet desde estos suscriptores a través del Internet, mostrado generalmente en 13 de la figura 1. Para estos suscriptores, el súper-nodo de Vancouver es accesible en una dirección de protocolo de internet (IP) predeterminada o un nombre del dominio completamente calificado al que se puede acceder del modo usual a través del proveedor de servicios del internet del suscriptor. El suscriptor en Vancouver utiliza un teléfono 12 que tiene la capacidad de comunicarse con el súper-nodo 11 de Vancouver utilizando los mensajes de Protocolo de Iniciación de Sesión (SIP) y el suscriptor de Calgary utiliza un teléfono 15 similar, en Calgary AB.
Deberá observarse que en toda la descripción de las realizaciones de la presente invención, las direcciones de IP/UDP y todos los elementos tales como los teléfonos del que envía la llamada, y el que las recibe, el controlador de llamadas, el retransmisor de medios y cualesquiera otros, se supondrá que son direcciones de IP/UDP válidas directamente accesibles por medio de Internet o una red de IP privada, por ejemplo, dependiendo de la implementación específica del sistema. Como tal, se supondrá, por ejemplo, que los teléfonos del que envía la llamada y el que la recibe tendrán direcciones de IP/UDP directamente accesibles por medio de los controladores de llamadas y los retransmisores de medios en sus súper-nodos respectivos, y aquellas direcciones no se obstaculizarán por la Traducción de la Dirección de Red (NAT) o mecanismos similares. En otras palabras, la información de IP/UDP contenida en los mensajes SIP (por ejemplo, mensajes de invitación SIP o el mensaje de solicitud RC los cuales se describirán a continuación) coincidirá con las direcciones de IP/UDP de los paquetes de IP que llevan estos mensajes SIP.
Se apreciará que en muchas situaciones, las direcciones de IP asignadas a los diferentes elementos del sistema pueden ser en un espacio de direcciones de IP privadas, y por lo tanto, no directamente accesibles desde otros elementos. Además, también se apreciará que la NAT se utiliza generalmente para compartir una dirección de IP “pública” entre múltiples dispositivos, por ejemplo, entre los PC domésticas y los teléfonos de IP que comparten una sola conexión de Internet. Por ejemplo, a un PC doméstica se le puede asignar, una dirección de IP tal como 192.168.0.101 y a un teléfono de Voz sobre IP puede asignarse una dirección de IP 192.168.0.103. Estas direcciones están localizadas y son denominadas del espacio de direcciones (IP) “no enrutable”, y no pueden accederse directamente desde la internet. Con el objeto de que estos aparatos se comuniquen con otros ordenadores localizados en la internet, estas direcciones de IP tienen que convertirse en direcciones de IP “públicas”, por ejemplo, 24.10.10.123 asignada por el Proveedor del Servicio de Internet al suscriptor, o por un dispositivo que realiza el NAT, generalmente un enrutador doméstico. Además de traducir las direcciones de IP, la NAT generalmente también traduce los números de puerto UDP, por ejemplo, una trayectoria de audio que se origina en un teléfono VoIP y que utiliza un puerto UDP 12378 en su dirección de IP privada, puede tener que traducirse al puerto UDP 23465 asociado con la dirección de IP pública del dispositivo de NAT. En otras palabras, cuando un paquete que se origina desde el teléfono VoIP anterior llega a un súper-nodo basado en la internet, la dirección de IP/UDP de origen en el encabezado del paquete IP será 24.10.10.1:23465, mientras que la información de la dirección de IP/UDP de origen contenida en el mensaje SIP dentro de este paquete IP será
5
10
15
20
25
30
35
40
45
50
55
60
65
192.168.0.103:12378. Esta falta de coincidencia en las direcciones de IP/UDP puede ocasionar un problema en los sistemas VoIP basados en SIP, debido a que, por ejemplo, un súper-nodo intentará enviar mensajes a una dirección privada de un teléfono, pero los mensajes nunca llegarán.
Haciendo referencia a la figura 1, en un intento por hacer una llamada por el teléfono/videoteléfono 12 de Vancouver al teléfono/videoteléfono 15 de Calgary, el teléfono/videoteléfono de Vancouver envía un mensaje de invitación SIP al súper-nodo 11 de Vancouver y en respuesta, el controlador 14 de llamadas envía un mensaje de solicitud RC al RC 16 el cual hace varias consultas a la base de datos 18 para producir un mensaje de enrutamiento el cual se envía de vuelta al controlador 14 de llamadas. El controlador 14 de llamadas entonces se comunica con el retransmisor 9 de medios para provocar que se establezca un enlace de comunicaciones que incluye una trayectoria de audio y un videoteléfono (si es una llamada de trayectoria de vídeo) a través del retransmisor de medios para el mismo nodo, un nodo diferente o una pasarela del proveedor de comunicaciones como se muestra generalmente en 20 para llevar audio, y donde sea aplicable, el tráfico de vídeo al receptor de la llamada o al que recibe la llamada.
Generalmente, el RC 16 ejecuta un proceso para facilitar la comunicación entre los que envían la llamada y los que la reciben. El proceso implica, en respuesta a la iniciación de una llamada por un suscriptor que llama, recibir un identificador de quien recibe la llamada del suscriptor que envía la llamada, utilizando los criterios de clasificación de llamada asociados con el suscriptor que envía la llamada para clasificar la llamada como una llamada de red pública o una llamada de red privada y producir un mensaje de enrutamiento que identifica una dirección en la red privada, asociada con el que recibe la llamada cuando la llamada se clasifica como una llamada de red privada y produciendo un mensaje de enrutamiento que identifica una pasarela para la red pública cuando la llamada se clasifica como una llamada de red pública.
Teléfono de suscriptor
Con mayor detalle, haciendo referencia a la figura 2, en esta realización, el teléfono/videoteléfono 12 incluye un circuito del procesador mostrado generalmente en 30 que comprende un microprocesador 32, la memoria 34 de programa, un puerto 36 de entrada/salida (E/S), una memoria 38 de parámetros y una memoria 40 temporal. La memoria 34 de programa, el puerto 36 de entrada/salida E/S, la memoria 38 de parámetros y la memoria 40 temporal todos están en comunicación con el microprocesador 32. El puerto 36 de E/S tiene una entrada 42 de marcación para recibir un número de teléfono/videoteléfono marcado desde un teclado numérico, por ejemplo, o desde una unidad de reconocimiento de voz o por ejemplo, desde los números de teléfono/videoteléfono previamente almacenados en la memoria 38 de parámetros. Por razones de simplicidad, en la figura 2, un cuadro etiquetado con funciones 44 de marcación representa cualquier dispositivo que tiene la capacidad de informar al microprocesador 32 de un identificador del que recibe la llamada, por ejemplo, el número del teléfono/videoteléfono del que recibe la llamada.
El procesador 32 almacena el identificador del que recibe la llamada en una memoria intermedia 45 de números marcados. En este caso, supongamos que el número marcado es 2001 1050 2222 y que es un número asociado con el suscriptor de Calgary. El puerto 36 de E/S también tiene una interfaz 46 de auricular para recibir y producir señales desde y hasta un auricular que el usuario puede colocar en su oreja. Esta interfaz 46 puede incluir, por ejemplo una interfaz inalámbrica BLUETOOTH™, una interfaz cableada o un teléfono de altavoz. El auricular actúa como un punto de terminación de una trayectoria de audio (no mostrado) la cual se apreciará posteriormente. El puerto 36 de E/S también tiene una conexión 48 de internet que preferentemente es una conexión de internet de alta velocidad y que se puede operar para conectar el teléfono/videoteléfono a un proveedor de servicio de internet.
La conexión 48 de internet también actúa como una parte de la trayectoria de voz, como se apreciará posteriormente. Deberá apreciarse que en donde el aparato del suscriptor es un videoteléfono, se establece una trayectoria de vídeo separada del mismo modo que se establece una trayectoria de audio. Por razones de simplicidad, la siguiente descripción se refiere a una llamada telefónica, pero deberá quedar entendido que la llamada del videoteléfono se maneja de una manera similar, provocando al controlador de llamadas que facilite al retransmisor de medios tanto trayectoria de audio como una trayectoria de vídeo en lugar de solamente una trayectoria de audio.
La memoria 38 de parámetros tiene por ejemplo un campo 50 del nombre del usuario, un campo 52 de contraseña, un campo 53 de dirección de IP y un campo 54 de dirección del intermediario SIP. El campo 50 del nombre del usuario se puede operar para mantener un nombre del usuario, que en este caso es 2001 1050 8667. El nombre del usuario se asigna en el momento de la suscripción o registro en el sistema y, en esta realización, incluye un número de doce dígitos que tiene un código 61 de continente, un código 63 de país, un código 70 del distribuidor y un código 74 de número único. El código 61 de continente comprende el primer dígito o el dígito más a la izquierda del nombre del usuario en esta realización. El código 63 de país comprende los tres siguientes dígitos. El código 70 del distribuidor comprende los siguientes cuatro dígitos y el código 74 de número único comprende los últimos cuatro dígitos. El campo 52 de contraseña mantiene una contraseña de hasta 512 caracteres, en este ejemplo. El campo 53 de dirección de IP almacena una dirección de IP del teléfono, que para esta explicación es 192.168.0.20. El campo 54 de dirección del intermediario SIP mantiene una dirección de intermediario compatible con el protocolo de IP que puede proporcionarse al teléfono a través de la conexión 48 de internet como parte de un procedimiento de
5
10
15
20
25
30
35
40
45
50
55
60
65
registro.
La memoria 34 de programa almacena los bloques de código para dirigir el procesador 32 para llevar a cabo las funciones del teléfono, una de las cuales incluye un bloque 56 de cortafuegos que proporciona funciones de cortafuegos al teléfono, para evitar el acceso de personas no autorizadas al microprocesador 32 y a las memorias 34, 38 y 40 a través de la conexión 48 de internet. La memoria 34 de programa también almacena los códigos 57 para establecer una ID de llamada. Los códigos 57 de ID de llamada dirigen el procesador 32 para producir un identificador de llamadas que tiene un formato que comprende una cadena de hexadecimal en una dirección de IP, siendo la dirección de IP, la dirección de IP del teléfono. Por lo tanto, un identificador de llamadas de ejemplo podría ser
FF10@192.168.0.20.
FF10@192.168.0.20.
Generalmente, en respuesta a coger la interfaz 46 del auricular y a activar una función 44 de marcación, el microprocesador 32 produce y envía un mensaje de invitación SIP como se muestra en la figura 3, al controlador 16 de enrutamiento mostrado en la figura 1. Este mensaje de invitación SIP es esencialmente para iniciar una llamada por un suscriptor que está llamando.
Haciendo referencia a la figura 3, el mensaje de invitación SIP incluye un campo 60 de ID del que envía la llamada, un campo 62 de identificador del que recibe la llamada, un campo 64 de parámetros de resumen, un campo 65 de ID de la llamada, un campo 67 de dirección de IP y un campo 69 del puerto UDP del que envía la llamada. En esta realización, un campo 60 de ID del que envía la llamada incluye el nombre del usuario 2001 10508667 que es el nombre del usuario de Vancouver almacenado en el campo 50 del nombre del usuario de la memoria 38 de parámetros en el teléfono 12 mostrado en la figura 2. Además, haciendo referencia de vuelta a la figura 3, el campo 62 del identificador del que recibe la llamada incluye un identificador del que recibe la llamada que en esta realización es el nombre del usuario 2001 1050 2222 que es el número marcado del suscriptor de Calgary almacenado en la memoria intermedia 45 de número marcado mostrada en la figura 2. El campo 64 de parámetros de resumen incluye parámetros de resumen y el campo 65 de ID de llamada incluye un código que comprende un código de prefijo generado (FF10) y un sufijo que es la dirección del Protocolo de Internet (IP) del teléfono 12 almacenada en el campo 53 de dirección de IP del teléfono. El campo 67 de dirección de IP mantiene la dirección de IP asignada al teléfono, en esta realización, 192.168.0.20, y el campo 69 del puerto UDP del que envía la llamada incluye un identificador del puerto UDP que identifica un puerto UDP en el que se terminará la trayectoria de audio en el teléfono del que envía la llamada.
Controlador de llamadas
Haciendo referencia a la figura 4, un circuito de controlador de llamadas del controlador 14 de llamadas (figura 1) se muestra con mayor detalle en 100. El circuito 100 controlador de llamadas incluye un microprocesador 102, una memoria 104 del programa y un puerto 106 de E/S. El circuito 100 puede incluir una pluralidad de microprocesadores, una pluralidad de memorias de programa y una pluralidad de puertos E/S para poder manejar un volumen grande de llamadas. Sin embargo, por razones de simplicidad, el circuito 100 controlador de llamadas se describirá, como que tiene solamente un microprocesador 102, una memoria 104 del programa y un puerto 106 de E/S, quedando entendido que pueden ser más.
Generalmente, el puerto 106 de E/S incluye una entrada 108 para recibir mensajes tales como el mensaje de invitación SIP mostrado en la figura 3, del teléfono mostrado en la figura 2. El puerto 106 de E/S también tiene una salida 110 de mensaje de solicitud RC para transmitir un mensaje de solicitud RC al RC 16 de la figura 1, una entrada 112 de mensaje RC para recibir mensajes de enrutamiento del RC 16, una salida 114 de pasarela para transmitir mensajes a una de las pasarelas 20 de comunicación mostradas en la figura 1, para avisar a la pasarela para que establezca, por ejemplo, una trayectoria de audio, y una entrada 116 de pasarela para recibir mensajes de la pasarela. El puerto 106 de E/S incluye además una salida 118 SIP para transmitir mensajes al teléfono 12 para avisar al teléfono de las direcciones de IP de las pasarelas de comunicación que establecerán la trayectoria de audio. El puerto 106 de E/S incluye además una entrada y salida 117, 119 respectivamente, de servidor de correo de voz, para comunicarse con el servidor 19 de correo de voz mostrado en la figura 1.
Aunque ciertas entradas y salidas se han mostrado como separadas, se podrá apreciar que algunas pueden ser una sola dirección de IP y puerto de IP. Por ejemplo, los mensajes enviados al RC 16 y recibidos del RC 16 pueden transmitirse y recibirse en un solo puerto de IP.
La memoria 104 del programa incluye bloques de códigos para dirigir el microprocesador 102 para llevar a cabo varias funciones del controlador 14 de llamadas. Por ejemplo, estos bloques de códigos incluyen un primer bloque 120 para provocar que el circuito 100 controlador de llamadas ejecute una invitación SIP al proceso de solicitud RC para producir un mensaje de solicitud RC en respuesta a un mensaje de invitación SIP recibido. Además, existe un mensaje de enrutamiento al bloque 122 de mensajes de la pasarela que provoca que el circuito 100 controlador de llamadas produzca un mensaje de consulta de pasarela en respuesta a un mensaje de enrutamiento recibido del RC 16.
5
10
15
20
25
30
35
40
45
50
55
60
65
Haciendo referencia a la figura 5, la invitación SIP al proceso de solicitud RC se muestra con mayor detalle en 120. Al recibir un mensaje de invitación SIP del tipo mostrado en la figura 3, el bloque 122 de la figura 5 dirige el circuito 100 controlador de llamadas de la figura 4 para autenticar al usuario. Esto se puede hacer, por ejemplo, pidiendo al usuario una contraseña, enviando de vuelta el mensaje al teléfono 12 que se interpreta en el teléfono como una solicitud de entrada de la contraseña o la contraseña puede enviarse automáticamente al controlador 14 de llamadas desde el teléfono, en respuesta al mensaje. El controlador 14 de llamadas entonces puede hacer consultas a las bases de datos a las que tiene acceso, para determinar si la contraseña del usuario coincide o no con una contraseña almacenada en la base de datos. Pueden utilizarse varias funciones pueden para pasar claves de encriptación o códigos de función de troceo de ida y vuelta para asegurar que la transmisión de las contraseñas es segura.
Si fallara el proceso de autentificación, el circuito 100 controlador de llamadas se dirige a una rutina 124 de manejo de error que provoca que se visualicen los mensajes en el teléfono 12 para indicar que existía un problema de autentificación. Si se pasa el procedimiento de autentificación, el bloque 121 dirige el circuito 100 controlador de llamadas para determinar si los contenidos del campo 60 de ID del que envía la llamada del mensaje de invitación SIP recibido del teléfono es una dirección de IP. Si es una dirección de IP, entonces el bloque 123 dirige el circuito 100 controlador de llamadas para ajustar los contenidos de un campo del tipo variable mantenido por el microprocesador 102 a un código que representa que el tipo de llamada es una invitación de terceros. Si en el bloque 121 los contenidos del campo de ID del que envía la llamada no identifican una dirección de IP, entonces el bloque 125 dirige el microprocesador para ajustar los contenidos del campo del tipo a un código que indica que la llamada está siendo hecha por un suscriptor del sistema. Entonces, el bloque 126 dirige el circuito controlador de llamadas para que lea el identificador 65 de llamadas proporcionado en el mensaje de invitación SIP desde el teléfono 12, y en el bloque 128 el procesador se dirige para producir un mensaje de solicitud RC que incluye la ID de la llamada. El bloque 129 entonces dirige el circuito 100 controlador de llamadas para que envíe una solicitud RC al RC 16.
Haciendo referencia a la figura 6, se muestra un mensaje de solicitud RC generalmente en 150 e incluye un campo 152 del que envía la llamada, un campo 154 del que recibe la llamada, un campo 156 de resumen, un campo 158 de ID de la llamada y un campo 160 de tipo. Los campos 152, 154, 156 y 158 del que envía la llamada y el que la recibe, y los de resumen de la ID de la llamada contienen copias de los parámetros del que envía la llamada, el que la recibe, de resumen y los campos 60, 62, 64 y 65 de ID de llamada del mensaje de invitación SIP mostrado en la figura 3. El campo 160 de tipo contiene el código de tipo establecido en los bloques 123 o 125 de la figura 5 para indicar si la llamada es de terceros o de un suscriptor del sistema, respectivamente. El campo identificador del que envía la llamada puede incluir, por ejemplo, un número de PSTN o un nombre del usuario del suscriptor del sistema como se muestra.
Controlador de enrutamiento (RC)
Haciendo referencia a la figura 7, el RC 16 se muestra con mayor detalle e incluye un circuito del procesador del RC mostrado generalmente en 200. El circuito procesador del RC 200 incluye un procesador 202, una memoria 204 de programa, una memoria 206 de la tabla, una memoria 207 intermedia, y un puerto 208 de E/S, todos en comunicación con el procesador 202. (Como se indicó anteriormente puede existir una pluralidad de circuitos (202) de procesadores, memorias (204), etc.).
La memoria 207 intermedia incluye una memoria intermedia 209 de identificación del que envía la llamada y una memoria 211 intermedia de identificación del que recibe la llamada.
El puerto 208 de E/S incluye un puerto 210 de solicitud de la base de datos a través del cual se puede hacer una solicitud a la base de datos (18 mostrado en la figura 1) e incluye un puerto 212 de respuesta de la base de datos para recibir una respuesta de la base de datos 18. El puerto 208 de E/S incluye además una entrada 214 del mensaje de solicitud RC para recibir el mensaje de solicitud RC del controlador de llamadas (14 mostrado en la figura 1) e incluye una salida 216 del mensaje de enrutamiento para enviar de vuelta un mensaje de enrutamiento al controlador 14 de llamadas. El puerto 208 de E/S actúa de esta manera para recibir el identificador del que envía la llamada, y un identificador del que recibe la llamada contenidos en el mensaje de solicitud RC del controlador de llamadas, recibiéndose el mensaje de solicitud RC en respuesta a la iniciación de una llamada por un suscriptor que está efectuando la llamada.
La memoria 204 de programa incluye los bloques de códigos para dirigir el procesador 202 para llevar a cabo varias funciones del RC (16). Uno de estos bloques incluye un manejador 250 de mensaje de solicitud RC que dirige el RC para producir un mensaje de enrutamiento en respuesta a un mensaje de solicitud RC recibido. El proceso del manejador de mensaje de solicitud RC se muestra con mayor detalle en 250 en las figuras 8A a 8D.
Manejador de mensaje de solicitud RC
Haciendo referencia a la figura 8A, el procesador de mensaje de solicitud RC comienza con un primer bloque 252 que dirige el circuito (200) procesador RC para almacenar los contenidos del mensaje (150) de solicitud RC en
5
10
15
20
25
30
35
40
45
50
55
60
65
memorias intermedias en la memoria 207 intermedia de la figura 7, una de las cuales incluye la memoria intermedia 209 de ID del que envía la llamada de la figura 7 para almacenar por separado los contenidos del campo 154 del que recibe la llamada del mensaje de solicitud RC. El bloque 254 entonces dirige el circuito de procesador RC para utilizar los contenidos del campo 152 del que envía la llamada en el mensaje de solicitud RC mostrado en la figura 6, para localizar y recuperar de la base de datos 18 un registro que asocia los atributos de llamada con el suscriptor que envía la llamada. Puede hacerse referencia al registro localizado como un perfil de marcación para el que envía la llamada. Por ejemplo, el perfil de marcación recuperado entonces puede almacenarse en la memoria 207 intermedia.
Haciendo referencia a la figura 9, se muestra una estructura de datos de ejemplo para el perfil de marcación generalmente en 253 e incluye un campo 258 del nombre del usuario, el campo 260 de dominio, y los atributos de llamada que comprenden un campo 262 de dígitos de marcación nacionales (NDD), un campo 264 de dígitos de marcación internacional (IDD), un campo 266 de código del país, un campo 267 de códigos de área local, un campo 268 de longitud mínima local del que envía la llamada, un campo 270 de longitud máxima local del que envía la llamada, un campo 273 del revendedor, un número máximo del campo 275 de llamadas concurrentes y un número actual del campo 277 de llamadas concurrentes.
Efectivamente, el perfil de marcación es un registro que identifica los atributos de llamada del que envía la llamada identificados por el identificador del que envía la llamada. Más generalmente, los perfiles de marcación representan atributos de llamada de los respectivos suscriptores.
Un perfil de ejemplo del que envía la llamada para el suscriptor de Vancouver se muestra generalmente en 276 en la figura 10 e indica que el campo 258 del nombre del usuario incluye el nombre del usuario (2001 1050 8667) que se ha asignado al suscriptor y se ha almacenado en el campo 50 del nombre del usuario en el teléfono como se muestra en la figura 2.
Haciendo referencia nuevamente a la figura 10, el campo 260 de dominio incluye un nombre de dominio como se muestra en 282, que incluye un identificador 284 de tipo de nodo, un identificador 286 del código de ubicación, un identificador 288 del proveedor del sistema y una porción 290 de dominio. El campo 260 de dominio identifica de manera efectiva un dominio o nodo asociado con el usuario identificado por los contenidos del campo 258 del nombre del usuario.
En esta realización, el identificador 284 del tipo de nodo incluye el código “sp” que identifica un súper-nodo y el identificador 286 de ubicación identifica el súper-nodo como que se encuentra en Vancouver (YVR). El identificador 288 del proveedor del sistema identifica la compañía que suministra el servicio y la porción 290 de dominio identifica el dominio “com”.
El campo 262 de dígitos marcados nacionales en esta realización incluye el dígito ”1” y en general incluye un número especificado por la Unión Internacional de Telecomunicaciones (ITU), Sector de Normalización de Telecomunicaciones (ITU-T) E. 164, recomendación que asigna los dígitos de marcación nacional a los países.
El campo 264 de dígitos de marcación internacional incluye un código también asignado de acuerdo con la ITU-T de acuerdo con el país o ubicación del usuario.
El campo 266 de código del país también incluye el dígito “1” y, en general, incluye un número asignado de acuerdo con la ITU-T para representar el país en que está localizado el usuario.
El campo 267 de códigos de áreas locales incluye una lista de los códigos de área que se han asignado por la ITU-T al área geográfica en la cual el suscriptor está localizado. Los campos 268 y 270 de longitud de números máximos y mínimos locales del que envía la llamada mantienen los números que representan las longitudes máximas y mínimas permitidas de números locales en el código o los códigos de área especificados por los contenidos del campo 267 de códigos de área local. El campo 273 del revendedor es opcional y mantiene un código que identifica un vendedor de servicios, en esta realización “Klondike”. El número máximo del campo 275 de llamadas concurrentes mantiene un código que identifica el número máximo de llamadas concurrentes que el usuario tiene derecho a provocar que existan de manera concurrente. Esto permite que ocurra más de una llamada concurrentemente mientras que todas las llamadas del usuario se facturan a la misma cuenta. El número actual del campo 277 de llamadas concurrentes inicialmente es 0 y se incrementa cada vez que se inicia una llamada concurrente asociada con el usuario y se reduce cuando la llamada concurrente se termina.
Los códigos de área asociados con el usuario son los códigos de área asociados con el identificador 286 de código de ubicación de los contenidos del campo 260 de dominio.
Un perfil de marcación del tipo mostrado en la figura 9 se produce siempre que un usuario se registra con el sistema y acuerda convertirse en un suscriptor del sistema. Por lo tanto, por ejemplo, un usuario que desea suscribirse al sistema puede contactar con la oficina mantenida por un operador del sistema y el personal de la oficina puede hacer al usuario ciertas preguntas acerca de su ubicación y las preferencias de servicio, donde pueden utilizarse las
5
10
15
20
25
30
35
40
45
50
55
60
65
tablas para proporcionar al personal de la oficina la información correcta que va a introducirse en el nombre 258 del usuario, dominio 260, NDD 262, IDD 264, el código 266 de país, los códigos 267 de área local, los campos 268 y 270 de longitud local mínima y máxima, el campo 273 del revendedor y los campos 275 y 277 de llamada concurrente para establecer un perfil de marcación para el usuario.
Haciendo referencia a las figuras 11 y 12, se muestran por ejemplo los perfiles de marcación del que recibe la llamada para los usuarios de Calgary y Londres, respectivamente.
Además de crear los perfiles de marcación cuando un usuario se registra con el sistema, un registro de marcación directa (DID) del tipo mostrado en 278 de la figura 13 se agrega a una tabla de banco de marcación directa en la base de datos (18 en la figura 1) para asociar el nombre del usuario y el nombre del anfitrión del súper-nodo con el cual el usuario está asociado, con número E.164 asociado con el usuario en la red PSTN.
Una entrada del registro de la tabla DID de ejemplo para el que recibe la llamada en Calgary se muestra generalmente en 300 en la figura 14. El campo 281 del nombre del usuario y el campo 272 de dominio del usuario son análogos para los campos 258 y 260 de nombre del usuario y de dominio del usuario del perfil de marcación del que envía la llamada mostrado en la figura 10. Los contenidos del campo 274 DID incluyen un número de teléfono público E.164 que incluye un código 283 del país, un código 285 de área, un código 287 de intercambio y un número 289. Si el usuario tiene números telefónicos múltiples, entonces se incluirán registros múltiples del tipo mostrado en 300 en la tabla del banco DID, teniendo cada uno el mismo nombre del usuario y dominio del usuario, pero diferente campo 274 DID en sus contenidos que reflejan los diferentes números telefónicos asociados con ese usuario.
Además de crear los perfiles de marcación como se muestran en la figura 9 y los registros DID como se muestran en la figura 13, cuando el usuario se registra con el sistema, se pueden agregar registros de bloqueo de llamada del tipo mostrado en la figura 26, registros de reenvío de llamadas del tipo mostrado en la figura 28 y registros de correo de voz del tipo mostrado en la figura 30 a la base de datos 18 cuando se agrega al sistema un nuevo suscriptor.
Haciendo referencia nuevamente a la figura 8A, después de recuperar un perfil de marcación para el que envía la llamada, tal como el que se muestra en 276 en la figura 10, el circuito 200 procesador RC se dirige al bloque 256 que dirige el circuito (200) del procesador para determinar si los contenidos del campo 277 de llamada concurrente son menos que los contenidos del campo 275 máximo de llamadas concurrentes del perfil de marcación para el que envía la llamada y, si es así, el bloque 271 dirige el circuito del procesador para incrementar los contenidos del campo 277 de llamadas concurrentes. Si los contenidos del campo 277 de llamadas concurrentes son iguales o mayores que los contenidos del campo 275 de llamadas concurrentes máximas, el bloque 259 dirige el circuito 200 del procesador para enviar de vuelta un mensaje de error al controlador (14) de llamadas para provocar que el controlador de llamadas notifique al que envía la llamada que se ha alcanzado el número máximo de llamadas concurrentes y que no pueden existir concurrentemente llamadas adicionales, incluyendo la llamada solicitada actualmente.
Suponiendo que el bloque 256 permite que continúe la llamada, el circuito 200 del procesador RC se dirige para realizar ciertas comprobaciones del identificador del que recibe la llamada proporcionadas por los contenidos del campo 154 del que recibe la llamada en la figura 6 del mensaje 150 de solicitud RC. Estas comprobaciones se muestran con mayor detalle en la figura 8B. Haciendo referencia a la figura 8B, el procesador (202 en la figura 7) se dirige a un primer bloque 257 para provocar que determine si un patrón de dígitos del identificador (154) del que recibe la llamada proporcionado en el mensaje (150) de solicitud RC incluye un patrón que coincide con los contenidos del campo 264 de dígitos de marcación internacional (IDD) en el perfil del que envía la llamada mostrado en la figura 10. De ser así, entonces el bloque 259 dirige el procesador (202) para establecer un identificador de código del tipo de llamada variable mantenido por el procesador para indicar que la llamada es una llamada internacional y el bloque 261 dirige el procesador para producir un identificador re-formateado del que recibe la llamada, volviendo a formatear el identificador del que recibe la llamada dentro de un formato de dígitos predefinido. En esta realización, esto se hace eliminando el patrón de dígitos que coincide con los contenidos 264 del campo IDD del perfil de marcación del que envía la llamada para acortar de manera efectiva el identificador del que recibe la llamada. Entonces, el bloque 263 dirige el procesador 202 para determinar si el identificador del que recibe la llamada tiene una longitud que cumple con los criterios que lo establecen como un número que cumple con la norma E.164 proporcionada por la ITU. Si la longitud no cumple con este criterio, el bloque 265 dirige el procesador 202 para enviar de vuelta al controlador (14) de llamadas un mensaje que indica que la longitud no es correcta. El proceso entonces se finaliza. En el controlador 14 de llamadas, las rutinas (no mostradas) almacenadas en la memoria 104 del programa pueden dirigir el procesador (102 de la figura 4) para responder al mensaje de longitud incorrecta transmitiendo de vuelta un mensaje al teléfono (12 mostrado en la figura 1) para indicar que se ha marcado un número inválido.
Todavía haciendo referencia a la 8B, si la longitud del identificador del que recibe la llamada modificada cumple con los criterios establecidos en el bloque 263, el bloque 269 dirige el procesador (202 de la figura 7) para hacer una solicitud de la base de datos para determinar si el identificador del que envía la llamada se halla o no en un registro de la tabla del banco (DID) de marcación directa. Haciendo referencia nuevamente a la figura 8B, en el bloque 269, si el procesador 202 recibe una respuesta de la base de datos indicando que el identificador re-formateado del que
5
10
15
20
25
30
35
40
45
50
55
60
65
recibe la llamada producido en el bloque 261 se halla en un registro en la tabla del banco DID, entonces el que recibe la llamada es un suscriptor del sistema y la llamada se clasifica como una llamada de red privada dirigiendo el procesador del bloque 279, que dirige el procesador para copiar los contenidos del campo del nombre del usuario correspondiente (281 en la figura 14) del registro de la tabla del banco DID del que recibe la llamada (300 en la figura 14) dentro de la memoria intermedia de ID del que recibe la llamada (211 en la figura 7). Por lo tanto, el procesador 202 localiza un nombre del usuario del suscriptor asociado con el identificador re-formateado del que recibe la llamada. El procesador 202 entonces se dirige al punto B de la figura 8A.
Llamadas de suscriptor a suscriptor entre nodos diferentes
Haciendo referencia a la figura 8A, el bloque 280 dirige el procesador (202 de la figura 7) para ejecutar un proceso para determinar si el nodo asociado con el identificador re-formateado del que recibe la llamada es o no el mismo nodo que está asociado con el identificador del que envía la llamada. Para hacer esto, el procesador 202 determina si se puede mantener un prefijo (por ejemplo, el código 61 del continente) del nombre del que recibe la llamada en la memoria intermedia de ID del que recibe la llamada (211 de la figura 7), que es el mismo que el prefijo correspondiente al nombre del que envía la llamada mantenido en el campo 278 del nombre del usuario del perfil de marcación del que envía la llamada mostrado en la figura 10. Si los prefijos correspondientes no son iguales, el bloque 302 en la figura 8A dirige el procesador (202 en la figura 7) para establecer una bandera del tipo de llamada de la memoria intermedia (207 en la figura 7) para indicar que la llamada es una llamada de dominio cruzado. Entonces, el bloque 350 de la figura 8A dirige el procesador (202 de la figura 7) para producir un mensaje de enrutamiento que identifica una dirección en la red privada con la cual el que recibe la llamada identificado por los contenidos de la memoria intermedia de ID del que recibe la llamada a los que está asociado y para ajustar un tiempo de vida para la llamada, por ejemplo en un valor máximo de 99999.
Por lo tanto, el mensaje de enrutamiento incluye un identificador del que envía la llamada, un ajuste del identificador de la llamada de acuerdo con un nombre del usuario asociado con el registro de la tabla del banco DID localizado e incluye un identificador de un nodo en la red privada con que está asociado el que envía la llamada.
El nodo del sistema con que está asociado el que envía la llamada se determina utilizando el identificador del que recibe la llamada para dirigirse a una tabla de súper-nodo que tiene registros del tipo mostrados en 370 en la figura 17. Cada registro 370 tiene un campo 372 de prefijo y un campo 374 de dirección del súper-nodo. El campo 372 de prefijo incluye los primeros n dígitos del identificador del que recibe la llamada. En esta realización n=2. El campo 374 de dirección del súper-nodo mantiene un código que representa una dirección de IP o un nombre de dominio completamente calificado del nodo asociado con el código almacenado en el campo 372 del prefijo del identificador del que recibe la llamada. Haciendo referencia a la figura 18, por ejemplo, si el prefijo es 20, la dirección del súper- nodo asociada con este prefijo es sp.yvr.digifonica.com.
Haciendo referencia a la figura 15, se muestra generalmente en 352 un mensaje de enrutamiento genérico e incluye un campo 354 de prefijo del proveedor opcional, y un campo 356 delimitador opcional, un campo 358 del nombre del usuario del que recibe la llamada, al menos un campo 360 de ruta, un campo 362 de tiempo de vida y otros campos 364. El campo 354 del prefijo del proveedor opcional mantiene un código para identificar el tráfico del proveedor. El campo 356 delimitador opcional mantiene un símbolo que delimita el código del prefijo del proveedor del campo 358 del nombre del usuario del que recibe la llamada. En esta realización, el símbolo es un signo de número (#). El campo 360 de ruta mantiene un nombre de dominio o dirección de IP de una pasarela o nodo que va a llevar la llamada, y el campo 362 del tiempo de vida mantiene un valor que representa el número de segundos que tiene permitido la llamada para estar activa, basándose en los minutos disponibles del suscriptor y otros parámetros de facturación.
Haciendo referencia a la figura 8A y a la figura 16, se muestra un ejemplo de un mensaje de enrutamiento producido por el procesador en el bloque 350 para el que emite la llamada asociado con un nodo diferente del que envía la llamada generalmente en 366 e incluye solamente un campo 359 del que recibe la llamada, un campo 361 de ruta y el campo 362 de tiempo de vida de la llamada.
Haciendo referencia a la figura 8A, habiendo producido un mensaje de enrutamiento como se muestra en la figura 16, el bloque 381 dirige el procesador (202 de la figura 7) para enviar el mensaje de enrutamiento mostrado en la figura 16 al controlador 14 de llamadas mostrado en la figura 1.
Haciendo referencia nuevamente a la figura 8B, si en el bloque 257, el identificador del que recibe la llamada almacenado en la memoria intermedia de identificación del que recibe la llamada (211 en la figura 7) no comienza con un dígito de marcación internacional, el bloque 380 dirige el procesador (202) para determinar si el identificador del que recibe la llamada comienza o no con el mismo código del dígito de marcación nacional asignado al que envía la llamada. Para hacer esto, el procesador (202) se dirige para que haga referencia al perfil de marcación del que envía la llamada recuperado como se muestra en la figura 10. En la figura 10, el código 262 de dígitos de marcación nacional es el número 1. Por lo tanto, si el identificador del que recibe la llamada comienza en 1, entonces el procesador (202) se dirige al bloque 382 en la figura 8B.
5
10
15
20
25
30
35
40
45
50
55
60
65
El bloque 382 dirige el procesador (202 de la figura 7) para examinar el identificador del que recibe la llamada para determinar si los dígitos después del dígito NDD identifican o no un código de área que es el mismo que cualquiera de los códigos de área identificados en el campo 267 de códigos de área locales del perfil 276 de marcación del que envía la llamada mostrado en la figura 10. De no ser así, el bloque 384 de la figura 8B dirige el procesador 202 para ajustar la bandera del tipo de llamada para que indique que la llamada es una llamada nacional. Si los dígitos después del dígito NDD que identifican un código de área que es el mismo que el código de área local asociado con el que envía la llamada como lo indica el perfil de marcación del que envía la llamada, el bloque 386 dirige el procesador 202 para ajustar la bandera del tipo de llamada para que indique una llamada local, estilo nacional. Después de ejecutar los bloques 384 o 386, el bloque 388 dirige el procesador 202 para formatear el identificador del que recibe la llamada en un formato de dígitos predefinido para producir un identificador del que recibe la llamada re-formateado eliminando el dígito marcado nacional y prefijando un código del país del que envía la llamada identificado por el campo 266 del código del país del perfil de marcación del que envía la llamada mostrado en la figura 10. El procesador (202) entonces se dirige al bloque 263 de la figura 8B para realizar otro procesamiento como ya se ha descrito anteriormente.
Si en el bloque 380, el identificador del que recibe la llamada no comienza con un dígito marcado nacional, el bloque 390 dirige el procesador (202) para determinar si el identificador del que recibe la llamada comienza con los dígitos que identifican el mismo código de área del que envía la llamada. Nuevamente, la referencia para esto es el perfil de marcación del que envía la llamada recuperado mostrado en la figura 10. El procesador (202) determina si los primeros pocos dígitos del identificador del que recibe la llamada identifican o no un código de área correspondiente al campo 267 de códigos de área local del perfil de marcación del que envía la llamada recuperado. De ser así, entonces el bloque 392 dirige el procesador 202 para ajustar la bandera del tipo de llamada para que indique que la llamada es una llamada local y el bloque 394 dirige el procesador (202) para formatear el identificador del que recibe la llamada en un formato de dígitos predefinido para producir un identificador del que recibe la llamada reformateado para prefijar el código del país del que envía la llamada para el identificador del que recibe la llamada, determinándose el código del país del que envía la llamada del campo del código 266 de país del perfil de marcación del que envía la llamada mostrado en la figura 10. El procesador (202) entonces se dirige al bloque 263 para el procesamiento adicional como se ha descrito anteriormente.
Haciendo referencia nuevamente a la figura 8B, en el bloque 390, el identificador del que recibe la llamada no comienza con el mismo código de área del que envía la llamada, el bloque 396 dirige el procesador (202 en la figura 7) para determinar si el número de dígitos del identificador del que recibe la llamada, es decir la longitud del identificador del que recibe la llamada, se encuentra dentro del rango de dígitos indicado por el campo 268 de longitud del número local mínimo del que envía la llamada y el campo 270 de longitud máxima del número local del que envía la llamada del perfil de marcación del que envía la llamada recuperado mostrado en la figura 10. De ser así, entonces el bloque 398 dirige el procesador (202) para ajustar la bandera del tipo de llamada para indicar una llamada local y el bloque 400 dirige el procesador (202) para formatear el identificador del que recibe la llamada en un formato de dígito predefinido para producir un identificador del que recibe la llamada re-formateado prefijando el identificador del que recibe la llamada, el código del país del que envía la llamada (como lo indica el campo 266 del código del país del perfil de marcación del que envía la llamada recuperado mostrado en la figura 10), seguido por el código de área del que envía la llamada (como lo indica el campo 267 de código de área local del perfil del que envía la llamada mostrado en la figura 10). El procesador (202) entonces se dirige al bloque 263 de la figura 8B para el procesamiento adicional como se ha descrito anteriormente.
Haciendo referencia nuevamente a la figura 8B, si en el bloque 396, el identificador del que recibe la llamada tiene una longitud que no cae en el rango especificado por el campo mínimo de longitud del número local del que envía la llamada (268 en la figura 10) y el campo máximo de longitud del número local del que envía la llamada (270 en la figura 10), el bloque 402 dirige el procesador 202 de la figura 7 para determinar si el identificador del que recibe la llamada identifica o no un nombre del usuario válido. Para hacer esto, el procesador 202 busca a través de la base de datos (18 de la figura 10) de los perfiles de marcación para hallar un perfil de marcación que tiene los contenidos del campo de nombre del usuario (258 en la figura 10) que coincide con el identificador del que recibe la llamada. Si no se halla coincidencia, el bloque 404 dirige el procesador (202) para enviar de vuelta un mensaje de error al controlador (14) de llamadas. Si en el bloque 402, se halla un perfil de marcación que tiene el campo 258 del nombre del usuario que coincide con el identificador del que recibe la llamada, el bloque 406 dirige el procesador 202 para ajustar la bandera del tipo de llamada para que indique que la llamada es una llamada de red privada, entonces el procesador se dirige al bloque 280 de la figura 8A. Por lo tanto, la llamada se clasifica como una llamada de red privada cuando el identificador del que recibe la llamada identifica un suscriptor de la red privada.
A partir de la figura 8B, se podrá apreciar que existen ciertos grupos de bloques de códigos que dirigen el procesador 202 en la figura 7 para determinar si el identificador del que recibe la llamada tiene ciertas características, tales como un dígito de marcación internacional, un dígito de marcación nacional, un código de área y una longitud que cumplen ciertos criterios y provoca que el procesador 202 reformatee el identificador del que recibe la llamada almacenado en la memoria intermedia de identificación del que recibe la llamada 211, según sea necesario, en un formato objetivo predeterminado que incluye solamente un código de país, código de área, y un número de teléfono normal, por ejemplo, para provocar que el identificador del que recibe la llamada sea compatible con la norma de plan numérico E.164 de esta realización. Esto hace posible que el bloque 269 de la figura 8B tenga
5
10
15
20
25
30
35
40
45
50
55
60
65
un formato consistente de identificadores de los que reciben las llamadas para utilizarlo en la búsqueda a través de los registros de la tabla de banco DID del tipo mostrado en la figura 13 para determinar cómo enrutar llamadas de suscriptor a llamadas de suscriptor en el mismo sistema.
Efectivamente, por lo tanto, los bloques 257, 380, 390, 396 y 402 establecen los criterios de clasificación de llamadas para clasificar la llamada como una llamada de la red pública o una llamada de la red privada. El bloque 269 clasifica la llamada, dependiendo de si el identificador del que recibe la llamada formateado tiene un registro de la tabla del banco DID y éste depende de cómo se cumplen los criterios de la clasificación de llamadas y el bloque 402 dirige el procesador 202 de la figura 7 para clasificar la llamada como una llamada de red privada cuando el identificador del que recibe la llamada cumple con un formato predefinido, es decir, es un nombre de usuario válido e identifica un suscriptor para la red privada, después de que el identificador del que recibe la llamada se ha sometido a los criterios de clasificación de los bloques 257, 380, 390 y 396.
Llamadas de suscriptor no suscriptores
No todas las llamadas serán llamadas de suscriptores a suscriptores y esto se detectará por el procesador 202 de la figura 7 cuando ejecuta el bloque 269 en la figura 8B, y no se encuentra un registro de la tabla del banco DID que esté asociado con el que recibe la llamada, en la tabla de banco DID. Cuando esto ocurre, la llamada se clasifica como una llamada de red pública dirigiendo al procesador 202 al bloque 408 de la figura 8B que provoca que ajuste los contenidos de la memoria 211 intermedia de identificación del que recibe la llamada de la figura 7 iguales al identificador del que recibe la llamada recientemente formateado, es decir, un número compatible con la norma E.164. Entonces el bloque 410 de la figura 8B dirige el procesador (202) para buscar en una base de datos de rutas o registros de la lista maestra que asocian los identificadores de ruta con los códigos de marcación mostrados en la figura 19 para localizar un enrutador que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción con el identificador re-formateado del que recibe la llamada.
Haciendo referencia a la figura 19, se muestra una estructura de datos para una lista maestra o registro de la lista de ruta. Cada registro de la lista maestra incluye un campo 500 de ID de lista maestra, un campo 502 de código de marcación, un campo 504 de código de país, un campo 506 del número de firma nacional, un campo 508 de longitud mínima, un campo 510 de longitud máxima, un campo 512 de dígitos marcados nacionales, un campo 514 de dígitos marcados internacionales y un campo 516 de tarifa de la memoria intermedia.
El campo 500 de ID de la lista maestra mantiene un código único tal como 1019, por ejemplo, que identifica el registro. El campo 502 de código de marcación mantiene un patrón numérico predeterminado que el procesador 202 de la figura 7 utiliza en el bloque 410 en la figura 8B para hallar el registro de la lista maestra que tiene un código de marcación que coincide con los primeros dígitos del identificador del que recibe la llamada modificado almacenado en la memoria intermedia 211 del identificador del que recibe la llamada. El campo 504 del código del país mantiene un número que representa el código del país asociado con el registro y el campo 506 del número de firma nacional mantiene un número que representa el código de área asociado con el registro. (Se podrá observar que el código de marcación es una combinación de los contenidos del campo 504 del código de país y el campo 506 del número de firma nacional). El campo 508 de longitud mínima mantiene un número que representa la longitud mínima de dígitos asociados con el registro y el campo 51 de longitud máxima mantiene un número que representa el número máximo de dígitos en un número con el cual el registro puede compararse. El campo 512 de dígitos marcados nacionales (NDD) mantiene un número que representa un código de acceso utilizado para hacer una llamada dentro del país especificado por el código del país, y el campo 514 de dígitos marcados internacionales (IDD) mantiene un número que representa el prefijo internacional necesario para hacer una llamada desde el país indicado por el código del país.
Por lo tanto, por ejemplo, el registro de lista maestra puede tener un formato que se muestra en la figura 20 con los contenidos del campo de ejemplo como se muestra.
Haciendo referencia nuevamente a la figura 8B, utilizando las porciones del código de país y del código de área del identificador re-formateado del que recibe la llamada almacenado en la memoria intermedia 211 del identificador del que recibe la llamada, el bloque 410 dirige el procesador 202 de la figura 7 para hallar un registro de lista maestra tal como el que se muestra en la figura 20 que tiene un código de marcación que coincide con el código (1) del país y el código (604) de área del identificador del que recibe la llamada. Por lo tanto, en este ejemplo, el procesador (202) hallaría un registro de lista maestra que tiene un campo de ID que contiene el número 1019. A este número nos podemos referir como un ID de la ruta. Por lo tanto, el número de ID de la ruta se halla en el registro de lista maestra asociado con el patrón numérico predeterminado en el identificador del que recibe la llamada re-formateado.
Después de ejecutar el bloque 410 en la figura 8B, el proceso continúa como se muestra en la figura 8D. Haciendo referencia a la figura 8D, el bloque 412 dirige el procesador 202 de la figura 7 para utilizar el número de ID de ruta para buscar en una base de datos de registros de proveedor que asocian los identificadores del proveedor con los identificadores de ruta para localizar al menos un registro del proveedor asociado con el identificador de ruta para identificar al menos un proveedor que puede operar para suministrar un enlace de comunicación para la ruta.
5
10
15
20
25
30
35
40
45
50
55
60
65
Haciendo referencia a la figura 21, se muestra una estructura de datos de un registro de la lista de proveedores. Los registros de la lista de proveedores incluyen un campo 540 de ID del proveedor, un campo 542 de ID de la lista maestra, un campo 544 de prefijo opcional, un campo 546 de identificador de la ruta específica, un campo 548 de reescritura NDD/IDD, un campo 550 de tarifas, y un campo 551 de tiempo de espera. El campo 540 de identificación del proveedor mantiene un código que identifica el nombre del proveedor y el campo 542 de ID de la lista maestra mantiene un código para asociar el registro del proveedor con un registro de la lista maestra. El campo 544 del prefijo mantiene una cadena utilizada para identificar el tráfico del proveedor y el campo 546 del identificador de la ruta específica mantiene una dirección de IP de una pasarela operada por el proveedor indicado por el campo 540 de ID del proveedor. El campo 548 de re-escritura NDD/IDD mantiene un código que representa un valor de reescritura del NDD/IDD asociado con esta ruta para este proveedor, y el campo 550 de tarifa mantiene un código que indica el coste por segundo para el operador del sistema para que utilice la ruta proporcionada por la pasarela especificada por los contenidos del campo 546 del identificador de ruta. El campo 551 de tiempo de espera mantiene un código que indica un tiempo que debería esperar el controlador de la llamada para una respuesta de una pasarela asociada antes de abandonar e intentar en una siguiente pasarela. Este valor de tiempo puede ser por ejemplo en segundos. Los registros del proveedor de ejemplo se muestran en las figuras 22, 23 y 24 para los proveedores de ejemplo mostrados en 20 en la figura 1, es decir Telus, Shaw y Sprint.
Haciendo referencia nuevamente a la figura 8D, en el bloque 412 el procesador 202 halla todos los registros de los proveedores que identifican la ID de la lista maestra hallada en el bloque 410 de la figura 8B.
Haciendo referencia nuevamente a la figura 8D, el bloque 560 dirige el procesador 202 de la figura 7 para que comience a producir el mensaje de enrutamiento del tipo mostrado en la figura 15. Para hacer esto, el procesador 202 carga una memoria intermedia de mensaje de enrutamiento como se muestra en la figura 25 con un prefijo del proveedor menos costoso, donde el proveedor menos costoso se determina de los campos 550 de tarifas de la figura 21 de los registros asociados con los respectivos proveedores.
Haciendo referencia a las figuras de 22 a 24, en la realización mostrada, el proveedor “Telus” tiene el número más bajo del campo 550 de tarifas y por lo tanto, el prefijo 4973 asociado con este proveedor se carga dentro de la memoria intermedia del mensaje de enrutamiento mostrado en primer lugar en la figura 25.
El bloque 562 en la figura 8D dirige el procesador para delimitar el prefijo 4973 por el signo de número (#) y para cargar después el identificador del que recibe la llamada re-formateado dentro de la memoria intermedia del mensaje de enrutamiento mostrado en la figura 25. En el bloque 563 de la figura 8D, los contenidos del campo 546 identificador de la ruta de la figura 21 del registro asociado con el proveedor “Telus” se agregan por el procesador 202 de la figura 7 en la memoria intermedia del mensaje de enrutamiento mostrado en la figura 25 después de un delimitador de signo @ y a continuación el bloque 564 de la figura 8D dirige el procesador para obtener un valor de tiempo de vida, que en una realización puede ser, por ejemplo, de 3600 segundos. El bloque 566 entonces dirige el procesador 202 para cargar este valor del tiempo de vida y el valor (551) de tiempo de espera en la figura 21 en la memoria intermedia del mensaje de enrutamiento de la figura 25. Por consiguiente, se muestra una primera parte del mensaje de enrutamiento para la pasarela de Telus generalmente en 570 de la figura 25.
Haciendo referencia nuevamente a la figura 8D, el bloque 571 dirige el procesador de vuelta 202 al bloque 560 y provoca que se repiten los bloques 560, 562, 563, 564 y 566 para cada proveedor sucesivo hasta que la memoria intermedia del mensaje de enrutamiento esté cargada con la información que pertenece a cada proveedor identificado por el procesador en el bloque 412. De este modo, una segunda porción del mensaje de enrutamiento como se muestra en 572 de la figura 25 se refiere al segundo proveedor identificado por el registro mostrado en la figura 23. Haciendo referencia nuevamente a la figura 25, una tercera porción del mensaje de enrutamiento como se muestra en 574, está asociada con un tercer proveedor indicado por el registro de proveedores mostrado en la figura 24.
Por consiguiente, haciendo referencia a la figura 25, la memoria intermedia del mensaje de enrutamiento mantiene un mensaje de enrutamiento que identifica una pluralidad de proveedores diferentes que pueden proporcionar pasarelas a la red de telefonía pública (por ejemplo, rutas específicas) para establecer al menos parte de un enlace de comunicación a través del cual el que envía la llamada puede hacer contacto con el que recibe la llamada. En esta realización, cada uno de los proveedores se identifica, en serie, de acuerdo con la tarifa. Otros criterios para determinar el orden en que se encuentran los proveedores en la lista del mensaje de enrutamiento pueden incluir, por ejemplo, las prioridades preferidas del proveedor, que pueden establecerse basándose en acuerdos de servicio.
Haciendo referencia nuevamente a la figura 8D, el bloque 568 dirige el procesador 202 de la figura 7 para enviar un mensaje de enrutamiento mostrado en la figura 25 al controlador 14 de llamadas de la figura 1.
Llamadas de suscriptor a suscriptor dentro del mismo nodo
Haciendo referencia nuevamente a la figura 8A, si en el bloque 280, el identificador del que recibe la llamada recibido en el mensaje de solicitud RC tiene un prefijo que identifica el mismo nodo que el asociado con el que envía la llamada, el bloque 600 dirige el procesador 202 para utilizar el identificador del que recibe la llamada en la
5
10
15
20
25
30
35
40
45
50
55
60
65
memoria 211 intermedia de identificación del que recibe la llamada para localizar y recuperar un perfil de marcación para el que recibe la llamada. El perfil de marcación puede ser, por ejemplo, del tipo mostrado en la figura 11 o 12. El bloque 602 de la figura 8A entonces dirige el procesador 202 de la figura 7 para obtener los registros de bloqueo de llamadas, de reenvío de llamadas, y de correo de voz de la base de datos 18 de la figura 1 basados en el nombre del usuario identificado en el perfil de marcación del que recibe la llamada recuperado por el procesador en el bloque 600. Los registros de bloqueo de llamadas, reenvío de llamadas y de correo de voz pueden ser, por ejemplo, como se muestran en las figuras 26, 27, 28 y 30.
Haciendo referencia a la figura 26, los registros de bloqueo de llamadas incluyen el campo 604 del nombre del usuario y el campo 606 del patrón del bloqueo. El campo del nombre del usuario mantiene un nombre del usuario correspondiente al nombre del usuario en el campo del nombre del usuario (258 en la figura 10) del perfil del que recibe la llamada y el campo de patrón del bloqueo 606 mantiene uno o más de los números compatibles con E.164 o nombres de usuario que identifican los números PSTN o suscriptores de sistemas de los cuales el suscriptor identificado en el campo 604 del nombre del usuario no desea recibir llamadas.
Haciendo referencia a la figura 8A y a la figura 27, el bloque 608 dirige el procesador 202 de la figura 7 para determinar si el identificador del que envía la llamada ha recibido o no el mensaje de solicitud RC que coincide con el patrón de bloqueo almacenado en el campo 606 de patrón de bloqueo del registro de bloqueo de llamadas asociado con el que recibe la llamada identificado por los contenidos del campo 604 del nombre del usuario en la figura 26. Si el identificador del que envía la llamada coincide con un patrón de bloqueo, el bloqueo 610 dirige el procesador para enviar un mensaje de una llamada caída o de llamada incompleta al controlador (14) de llamadas y el proceso se finaliza. Sí el identificador del que envía la llamada no coincide con un patrón de bloqueo asociado con el que recibe la llamada, el bloque 609 dirige el procesador para almacenar el nombre del usuario y el dominio del que recibe la llamada, según se determinan del perfil de marcación del que recibe la llamada, y un valor de tiempo de vida en la memoria intermedia del mensaje de enrutamiento mostrado en 650 en la figura 32. Haciendo referencia nuevamente a la figura 8A, el bloque 612 dirige entonces el procesador 202 para determinar si se requiere reenviar la llamada.
Haciendo referencia a la figura 28, los registros de reenvío de llamada incluyen un campo 614 de nombre del usuario, un campo 616 de número de destino, y un campo 618 de número de secuencia. El campo 614 de nombre del usuario almacena un código que representa un usuario con el que está asociado el registro. El campo 616 del número de destino mantiene un nombre de usuario que representa un número al cual debe de reenviarse la llamada actual, y el campo 618 de número de secuencia mantiene un número entero que indica el orden en el cual el nombre del usuario asociado con el campo 616 de número de destino correspondiente debería intentarse para el reenvío de llamada. La tabla de reenvíos de llamadas puede tener una pluralidad de registros para un usuario determinado. El procesador 202 de la figura 7 utiliza los contenidos del campo 618 del número de secuencia para colocar los registros para un usuario dado orden. Como se apreciará más adelante, esto hace posible que se intenten los números de reenvío de llamada en una secuencia ordenada.
Haciendo referencia a la figura 8A y a la figura 29, si en el bloque 612, el registro de reenvío de llamada para el que recibe la llamada identificado por el identificador del que recibe la llamada no tiene contenido en el campo 616 del número de destino y por consiguiente, no tiene contenidos en el campo 618 del número de secuencia, no existen entradas de reenvío de llamada para el que recibe la llamada, y el procesador 202 se dirige al bloque 620 de la figura 8C. Si existen entradas en la tabla 27 de reenvío de llamadas, el bloque 622 de la figura 8A dirige el procesador 202 para buscar la tabla de perfil de marcación para hallar un registro del perfil de marcación como se muestra en la figura 9, para el usuario identificado por el campo 616 del número de destino del registro de reenvío de llamada mostrado en la figura 28. El procesador 202 de la figura 7 se dirige además para almacenar el nombre del usuario y el dominio para ese usuario y el valor de tiempo de vida en la memoria intermedia de mensaje de enrutamiento como se muestra en 652 en la figura 32, para producir un mensaje de enrutamiento como se ilustra. Este proceso se repite por cada registro de reenvío de llamada asociado con el que recibe la llamada identificado por la memoria 211 intermedia de identificación del que recibe la llamada en la figura 7 para agregar a la memoria intermedia del mensaje de enrutamiento todos los nombres del usuario de reenvíos de llamada y dominios asociados con el que recibe la llamada. Haciendo referencia nuevamente a la figura 8A, si en el bloque 612 no existen registros de reenvío de llamada, entonces en el bloque 620 en la figura 8C el procesador 202 se dirige para determinar si el usuario identificado por el identificador del que recibe la llamada ha pagado o no el servicio de correo de voz. Esto se hace revisando para ver si está establecida una bandera en un registro de correo de voz del tipo mostrado en la figura 30 en una tabla de correo de voz almacenada en la base de datos 18 mostrada en la figura 1.
Haciendo referencia a la figura 30, los registros de correo de voz en esta realización pueden incluir un campo 624 del nombre del usuario, un campo 626 del servidor de correo de voz, un campo 628 de segundos para el correo de voz y un campo 630 de activación. El campo 624 del nombre del usuario almacena el nombre del usuario del que recibe la llamada. El campo 626 del servidor de correo de voz mantiene un código que identifica un nombre de dominio de un servidor de correo de voz asociado con el usuario identificado por el campo 624 del nombre del usuario. El campo 628 de segundos para el correo de voz mantiene un código que identifica el tiempo de espera antes de conectar el correo de voz, y el campo 630 de activación mantiene un código que representa si está
5
10
15
20
25
30
35
40
45
50
55
60
65
activado o no el correo de voz para el usuario. Haciendo referencia nuevamente a la figura 8C, en el bloque 620 si el procesador 202 de la figura 7 halla un registro de correo de voz como se muestra en la figura 30 que tiene el campo 624 de nombre del usuario y coinciden los contenidos del identificador del que recibe la llamada, el procesador se dirige para examinar los contenidos del campo 630 de activación para determinar si está activado o no el correo de voz. Si el correo de voz está activado, entonces el bloque 640 de la figura 8C dirige el procesador 202 de la figura 7 para almacenar los contenidos del campo 626 de servidor de correo de voz y los contenidos del campo 628 de segundos para el correo de voz en la memoria intermedia del mensaje de enrutamiento como se muestra en 654 en la figura 32. El bloque 642 dirige entonces el procesador 202 para obtener los valores de tiempo de vida para cada trayectoria especificada por el mensaje de enrutamiento de acuerdo con el coste del enrutamiento y el saldo del usuario. Estos valores de tiempo de vida entonces se anexan a las trayectorias correspondientes ya almacenadas en la memoria intermedia del mensaje de enrutamiento.
Haciendo referencia nuevamente a la figura 8C, el bloque 644 dirige entonces el procesador 202 de la figura 7 para almacenar las direcciones de IP del nodo actual en la memoria intermedia del mensaje de enrutamiento como se muestra en 656 de la figura 32. El bloque 646 entonces dirige el procesador 202 para enviar un mensaje de enrutamiento mostrado en la figura 32 al controlador 14 de llamadas en la figura 1. Por lo tanto, en la realización descrita, el controlador de enrutamiento producirá un mensaje de enrutamiento que provocará al menos uno de lo siguiente: reenviar la llamada a otra parte, bloquear la llamada y dirigir al que envía la llamada a un servidor de correo de voz.
Haciendo referencia nuevamente a la figura 1, el mensaje de enrutamiento, ya sea del tipo mostrado en las figuras 16, 25 o 32, se recibe en el controlador 14 de llamadas y el controlador de llamadas interpreta la recepción del mensaje de enrutamiento como una solicitud para establecer una llamada.
Haciendo referencia a la figura 4, la memoria 104 del programa del controlador 14 de llamadas incluye un enrutamiento a una rutina de pasarela ilustrada generalmente en 122.
En donde el mensaje de enrutamiento del tipo mostrado en la figura 32 se recibe por el controlador 14 de llamadas, el enrutamiento a la rutina 122 de la pasarela mostrado en la figura 4 puede dirigir el procesador 102 para provocar que se envíe de vuelta un mensaje a través de la internet 13 mostrado en la figura 1 a los teléfonos 15 que reciben la llamada, que conocen la dirección de IP del teléfono 15 del que recibe la llamada por el nombre del usuario.
Como alternativa, si el mensaje de enrutamiento es del tipo mostrado en la figura 16, que identifica un dominio asociado con otro nodo en el sistema, el controlador de llamadas puede enviar un mensaje de invitación SIP a lo largo de la estructura 17 troncal de alta velocidad conectada al otro nodo. El otro nodo funciona como se explicó anteriormente, en respuesta a la recepción del mensaje de invitación SIP.
Si el mensaje de enrutamiento es del tipo mostrado en la figura 25, donde existe una pluralidad de proveedores de pasarela de comunicaciones disponibles, el controlador de llamadas envía un mensaje de invitación SIP al primer proveedor, en este caso Telus, utilizando una línea especializada o una conexión de internet para determinar si Telus puede manejar la llamada. Si la pasarela de Telus regresa un mensaje que indica que no puede manejar la llamada, el controlador 14 de llamadas entonces procede a enviar un mensaje de invitación SIP al siguiente proveedor, en este caso Shaw. El proceso se repite hasta que uno de los proveedores responde indicando que está disponible para llevar la llamada. Una vez que un proveedor responde indicando que puede llevar la llamada, el proveedor envía de vuelta al controlador 14 de llamadas una dirección de IP para una pasarela proporcionada por el proveedor a través de la cual se llevará la llamada o trayectoria de audio de la llamada. Esta dirección de IP se envía en un mensaje desde el controlador 14 de llamadas al retransmisor 9 de medios que responde con un mensaje que indica una dirección de IP a la cual el teléfono del que envía la llamada debe enviar su audio/vídeo, tráfico y una dirección de IP al cual la pasarela de comunicaciones debe enviar su audio/vídeo para la llamada. El controlador de llamadas transporta la dirección de IP en la cual los retransmisores de medios esperan recibir audio/vídeo del teléfono que envía la llamada, al teléfono 12 del que envía la llamada en un mensaje. El teléfono del que envía la llamada responde al controlador de llamadas con una dirección de IP en la cual le gustaría recibir audio/vídeo y el controlador de llamadas lleva esa dirección de IP al retransmisor de medios. La llamada puede entonces realizarse entre el que realiza la llamada y el que la recibe a través del retransmisor de medios y la pasarela.
Haciendo referencia nuevamente a la figura 1, si el controlador 14 de llamadas recibe un mensaje de enrutamiento del tipo mostrado en la figura 32, y que tiene al menos un número de reenvío de llamadas y/o número de correo de voz, el controlador de llamadas intenta establecer una llamada para el teléfono 15 del que recibe la llamada buscando el teléfono que recibe la llamada un mensaje que indica una dirección de IP a la cual el retransmisor de medios debe de enviar el audio/vídeo. Si no se recibe uno de dichos mensajes del teléfono que recibe la llamada, no se establece la llamada. Si no se establecen llamadas dentro de un tiempo predeterminado, el controlador 14 de llamadas intenta establecer una llamada con el siguiente usuario identificado en el mensaje de enrutamiento de llamada de la misma manera. El proceso se repite hasta que se hayan agotado todas las posibilidades de reenvío de llamada, en cuyo caso el controlador de llamadas se comunica con el servidor 19 de correo de voz identificado en el mensaje de enrutamiento para obtener una dirección de IP a la cual el retransmisor de medios debe de enviar audio/vídeo y el resto del proceso mencionado anteriormente para establecer las direcciones de IP en el
5
10
15
20
25
30
35
40
45
50
55
60
65
retransmisor 9 de medios y el teléfono del que envía la llamada las lleva a cabo para establecer las trayectorias de audio/vídeo para permitir que el que envía la llamada deje un mensaje de correo de voz con el servidor de correo de voz.
Cuando se establece la trayectoria de audio/vídeo a través del retransmisor de medios, se mantiene el temporizador de la llamada por el controlador 14 de llamadas que registra la fecha y hora de inicio de la llamada y registra la ID de la llamada y una identificación de la ruta (por ejemplo, una dirección de IP de la trayectoria de audio/vídeo) para el uso posterior y facturación.
Tiempo de vida
Haciendo referencia a las figuras 33A y 33B, se describe un proceso para determinar un valor de tiempo de vida para cualquiera de los bloques 642 de la figura 8C, 350 en la figura 8A o 564 en la figura 8D anteriores. El proceso se ejecuta por el procesador 202 mostrado en la figura 7. Generalmente, el proceso implica calcular un coste por unidad de tiempo, calcular un valor de primera vez como una suma de un tiempo sin coste atribuido a un participante en la sesión de comunicación y el cociente de un saldo de fondos mantenido por el participante para el valor del coste por unidad de tiempo y produciendo un segundo valor de tiempo en respuesta al primer valor de tiempo y un patrón de facturación asociado con el participante, incluyendo el patrón de facturación primeros y segundos intervalos de facturación y el segundo valor de tiempo que es el tiempo para permitir que se realice una sesión de comunicaciones.
Haciendo referencia a la figura 33A, en esta realización, el proceso comienza con un primer bloque 700 que dirige el procesador RC para determinar si el tipo de llamada establecido en el bloque 302 de la figura 8A indica que la llamada es una llamada de dominio de red o cruzado. Si la llamada es una llamada de dominio red o cruzado, el bloque 702 de la figura 33A dirige el procesador RC para ajustar el tiempo de vida igual a 99999 y el proceso se finaliza. Por lo tanto, el tipo de llamada de dominio de red o cruzado tiene un tiempo de vida largo. Si en el bloque 700, se determina que el tipo de llamada no va a ser un tipo de dominio de red o cruzado, el bloque 704 dirige el procesador RC para obtener un registro de tabla del conjunto de suscriptores de la base de datos 18 de la figura 1 y los almacena localmente en la memoria intermedia del registro del conjunto de suscriptores en el RC 14.
Haciendo referencia a la figura 34, un registro de la tabla del conjunto de suscriptores se muestra generalmente en 706. El registro incluye un campo 708 de nombre del usuario y un campo 710 de servicios. El campo 708 de nombre del usuario mantiene un código que identifica el nombre del usuario del suscriptor y el campo 710 de servicios mantiene los códigos que identifican las características de servicio asignadas al suscriptor, tales como, por ejemplo, llamadas locales sin coste, el bloqueo de llamadas y el correo de voz. La figura 35 muestra un registro del conjunto de suscriptores de ejemplo para el que envía la llamada de Vancouver. En este registro, el campo 708 de nombre del usuario se carga con el nombre del usuario 2001 1050 8667 y el campo 710 de servicios se carga con los códigos 10, 14 y 16 que corresponden las llamadas locales sin coste, el bloqueo de llamadas y el correo de voz, respectivamente.
Por lo tanto, el usuario 2001 1050 8667 tiene características de llamadas locales sin coste, bloqueo de llamadas y correo de voz.
Haciendo referencia nuevamente a la figura 33A, después de haber cargado un registro del conjunto de suscriptores en la memoria intermedia del registro de conjunto de suscriptores, el bloque 712 dirige el procesador RC para buscar en la base de datos (18) para determinar si existe o no un registro de la tabla de anulación del conjunto para el valor de ID de la lista maestra que se determinó en el bloque 410 de la figura 8B. Un registro de la tabla de anulación del conjunto de ejemplo se muestra en 714 en la figura 36. El registro de la tabla del conjunto incluye un campo 716 de ID de la lista maestra, un campo 718 del tipo de anulación, un campo 720 de valor de la anulación, un campo 722 de primer intervalo y un campo 724 de segundo intervalo. El campo 716 de ID de la lista maestra mantiene un código de ID de la lista maestra. El campo 718 del tipo de anulación mantiene un código del tipo de anulación que indica una cantidad fija, de porcentajes o de céntimos que indica la cantidad por la cual se aumentará un pago. El campo 720 de valor de anulación mantiene un número real que representa el valor del tipo de anulación. El campo 722 del primer intervalo mantiene un valor que indica el número mínimo de segundos para un primer nivel de cobros y el segundo 724 campo de intervalos mantiene un número que representa un segundo nivel de cobros.
Haciendo referencia a la figura 37, un registro de anulación del conjunto para el código de ID de lista maestra localizado se muestra generalmente en 726 e incluye un campo 716 de ID de la lista maestra que mantiene el código 1019 que era el código localizado en el bloque 410 de la figura 8B. El campo 718 del tipo de anulación incluye un código que indica que el tipo de anulación es un valor de porcentaje, y el campo 720 de valor de anulación mantiene el valor 10,0 que indica que la anulación será del 10,0 % del valor cargado. El campo 722 del primer intervalo mantiene un valor que representa 30 segundos, y el campo 724 del segundo intervalo mantiene un valor que representa 6 segundos. El valor de 30 segundos en el primer campo 722 de intervalo indica que los cobros de la ruta se harán en una primera tarifa durante 30 segundos y posteriormente los cobros se harán en una tarifa diferente en incrementos de 6 segundos, como se indica por los contenidos del campo 724 del segundo intervalo.
5
10
15
20
25
30
35
40
45
50
55
60
65
Haciendo referencia nuevamente a la figura 33A, si en el bloque 712 el procesador halla un registro de anulación de un conjunto del tipo mostrado en la figura 37, el bloque 728 dirige el procesador para almacenar el registro de anulación del conjunto en la memoria local. En la realización mostrada, el registro de anulación del conjunto mostrado en la figura 37 se almacena en la memoria intermedia del registro de anulación del conjunto en el RC como se muestra en la figura 7. Todavía haciendo referencia a la figura 33A, el bloque 730 entonces dirige el procesador RC para determinar si el registro 706 de la tabla del conjunto del subscriptor de la figura 35 tiene o no un campo de servicios que incluye un código que identifica que el usuario tiene derecho a las llamadas locales sin coste y también dirige el procesador para determinar si el tipo de llamada será o no, una célula de dominio cruzado, es decir, es un estilo local o local/nacional. Si se satisfacen ambas de estas condiciones, el bloque 732 dirige el procesador para ajustar el tiempo de vida igual a 99999, dándole al usuario un período de tiempo largo para la llamada. El proceso entonces se finaliza. Si no se satisfacen las condiciones asociadas con el bloque 730, el bloque 734 de la figura 33B dirige el procesador RC para recuperar un registro de cuenta del subscriptor asociado con un participante en la llamada. Esto se hace copiando y almacenando en la memoria intermedia del registro de cuenta del subscriptor un registro de cuenta del subscriptor para el que envía la llamada.
Haciendo referencia a la figura 38, se muestra un registro de la tabla de cuenta de subscriptor de ejemplo generalmente en 736. El registro incluye un campo 738 de nombre del usuario, un campo 740 de saldo de fondos y un campo 742 de tiempo sin coste. El campo 738 de nombre del usuario mantiene un nombre del usuario del subscriptor, el campo 740 de saldo de fondos mantiene un número real que representa el valor en dólares del crédito disponible para el subscriptor, y el campo 742 de tiempo libre o sin coste mantiene un número entero que representa el número de segundos sin coste a los que tiene derecho el usuario.
Un registro de cuenta del subscriptor de ejemplo para el que envía la llamada de Vancouver, se muestra generalmente en 744 en la figura 39, en el que el campo 738 de nombre del usuario mantiene el nombre del usuario 2001 1050 8667, el campo 740 de saldo de fondos mantiene el valor de 10,00 $, y el campo 742 de tiempo sin coste mantiene el valor 100. El campo de saldo de fondos mantiene el valor de 10,00 $ e indica que el usuario tiene 10,00 $ dólares de crédito y el campo de tiempo sin coste que tiene el valor de 100 indica que el usuario tiene un saldo de 100 segundos sin coste de tiempo de llamada.
Haciendo referencia nuevamente a la figura 33B, después de copiar y almacenar el registro de cuenta del subscriptor mostrado en la figura 39 de la base de datos en la memoria intermedia de registro de cuenta del subscriptor RC, el bloque 746 dirige el procesador para determinar si el campo 740 de saldo de fondos del registro de cuenta del subscriptor, o el campo 742 de tiempo sin coste son mayores que cero. Si no son mayores que cero, el bloque 748 dirige el procesador para ajustar el tiempo de vida igual a cero, y el proceso se termina. El RC entonces envía de vuelta un mensaje al controlador de llamadas para provocar que el controlador de llamadas deniegue la llamada al que envía la llamada. Si se satisfacen las condiciones asociadas con el bloque 746, el bloque 750 dirige el procesador para calcular el coste de llamada por unidad de tiempo. Un procedimiento para calcular el coste de llamada por unidad de tiempo se describe a continuación en relación con la figura 41.
Suponiendo que el procedimiento de cálculo del coste por segundo devuelve un número que representa el coste de la llamada por segundo, el bloque 752 dirige el procesador 202 de la figura 7 para determinar si el coste por segundo es igual a cero. En caso afirmativo, el bloque 754 dirige el procesador para ajustar el tiempo de vida a 99999 para proporcionar al que envía la llamada una longitud muy larga de llamada, y el proceso se finaliza.
Si en el bloque 752 el coste de llamada por segundo no es igual a cero, el bloque 756 dirige el procesador 202 de la figura 7 para calcular un valor de primer tiempo de vida como una suma de un tiempo sin coste atribuido al participante en la sesión de comunicación y el cociente del saldo de fondos mantenido por el participante entre el valor de coste por unidad de tiempo. Para hacer esto, el procesador 202 de la figura 7 se dirige para ajustar un primer valor de tiempo o un valor de tiempo de vida temporal igual a la suma del tiempo sin coste proporcionado en el campo 742 de tiempo sin coste del registro de cuenta del subscriptor mostrado en la figura 39, y el cociente de los contenidos del campo 740 de saldo de fondos en el registro de cuenta del subscriptor para la llamada mostrada en la figura 39 y el coste por segundo determinado en el bloque 750 de la figura 33B. Por lo tanto, en este ejemplo, si en el bloque 750 el coste por segundo se determina que es de tres céntimos por segundo, y el campo de saldo de fondos mantiene el valor de 10,00 $ dólares, el cociente del saldo de fondos y el coste por segundo es 333 segundos y esto se agrega a los contenidos del campo 742 del tiempo sin coste, que es 100, dando como resultado un tiempo de vida de 433 segundos.
El bloque 758 entonces dirige el procesador RC para producir un segundo valor de tiempo en respuesta al primer valor de tiempo y al patrón de facturación asociado con el participante según se establece por el registro de anulación del conjunto mostrado en la figura 37.
Este proceso se muestra con mayor detalle en el punto 760 de la figura 40 y generalmente implica producir un valor restante que representa una porción del segundo intervalo de facturación restante después de dividir el segundo intervalo de facturación entre una diferencia del primer valor de primer y el primer intervalo de facturación.
5
10
15
20
25
30
35
40
45
50
55
60
65
Haciendo referencia a la figura 40, el proceso para producir el segundo valor de tiempo comienza con un primer bloque 762 que dirige el procesador 202 de la figura 7 a ajustar un valor restante igual a la diferencia entre el valor de tiempo de vida calculado en el bloque 756 en la figura 33B y los contenidos del primer campo 722 de intervalo del registro mostrado en la figura 37, multiplicado por el módulo de los contenidos del segundo campo 724 de intervalo de la figura 37. De este modo, en el ejemplo proporcionado, la diferencia entre el tiempo de vida y el primer campo de intervalo es 433 menos 30, que es 403 y por lo tanto, el resto producido por el módulo de 403 dividido entre 6 es 0,17. El bloque 764 entonces dirige el procesador para determinar si este valor restante es mayor o no que cero, y de ser así, el bloque 766 dirige el procesador para restar el resto del valor del primer valor de tiempo y ajustar la diferencia como el segundo valor de tiempo. Para hacer esto el procesador se dirige para ajustar el valor de tiempo de vida igual al tiempo de vida actual de 403 menos el resto de 1, por ejemplo, 402 segundos. Entonces el procesador se devuelve al bloque 758 de la figura 33B. Haciendo referencia nuevamente a la figura 40, si en el bloque 764 el resto no es mayor que cero, el bloque 768 dirige el procesador 202 de la figura 7 para determinar si el tiempo de vida es menor o no, que los contenidos del primer campo 722 de intervalo en el registro mostrado en la figura 37. De ser así, entonces el bloque 770 de la figura 40 dirige el procesador para ajustar el tiempo de vida igual a cero. Por lo tanto, el segundo valor de tiempo se ajusta a cero cuando el resto es mayor que cero y el primer valor de tiempo es menor que el tiempo sin coste asociado con el participante en la llamada. Si en el bloque 768 no se satisfacen las condiciones de ese bloque, el procesador devuelve el primer valor de tiempo de vida como el segundo valor de tiempo de vida.
Por lo tanto, haciendo referencia a la figura 33B, después de haber producido un segundo valor de tiempo de vida, el bloque 772 dirige el procesador para ajustar el valor de tiempo de vida para su uso en los bloques 342, 350 o 564.
Coste por segundo
Refiriéndonos nuevamente a la figura 33B, en el bloque 750 se explicó que se calcula un coste de la llamada por unidad de tiempo. Lo siguiente explica cómo se calcula el valor de coste por unidad de tiempo de la llamada.
Haciendo referencia a la figura 41, se muestra un proceso para calcular un coste por unidad de tiempo generalmente en 780. El proceso se ejecuta por el procesador 202 de la figura 7 y generalmente implica localizar un registro en una base de datos, comprendiendo el registro un indicador de tipo de marca, un valor de marca y un patrón de facturación y ajustar una tarifa del revendedor igual a la suma del valor de marca y la tarifa de la memoria intermedia, localizar al menos uno de un registro de anulación que especifica un coste de la ruta por cantidad de unidad de tiempo asociado con una ruta asociada con la sesión de comunicación, un registro del revendedor asociado con un revendedor de la sesión de comunicaciones, especificando el registro del revendedor un coste por unidad de tiempo del revendedor asociado con el revendedor para la sesión de comunicación, y un registro de marca del operador por defecto, que especifica un coste por unidad de tiempo por defecto y se ajusta como el coste por unidad de tiempo la suma de la tarifa del revendedor y al menos uno del coste de ruta por unidad de tiempo, el coste de revendedor por unidad de tiempo y el coste por unidad de tiempo por defecto. El proceso comienza con un primer conjunto de bloques 782, 802 y 820 que dirigen el procesador 202 de la figura 7 para localizar al menos uno de un registro asociado con un revendedor y una ruta asociada con el revendedor, un registro asociado con el revendedor y un registro de marca del revendedor por defecto. El bloque 782, en particular, dirige el procesador para consultar la base de datos 18 para buscar un registro asociado con un revendedor y una ruta con el revendedor buscando un registro de tarifa especial basada en el ID de la lista maestra establecida en el bloque 410 de la figura 8C.
Haciendo referencia a la figura 42, se muestra un registro de la tabla de tarifa especial del operador del sistema generalmente en 784. El registro incluye, un campo 786 del revendedor, un campo 788 de ID de la lista maestra, un campo 790 de tipo de marca, un campo 792 de valor de marca, un campo 794 del primer intervalo y un campo 796 del segundo intervalo. El campo 786 del revendedor mantiene un código de ID del revendedor y el campo 788 de ID de la lista maestra mantiene un código de ID de la lista maestra. El campo 790 de tipo de marca mantiene un tipo de marca tal como un porcentaje fijo o céntimos y el campo 792 de valor de marca mantiene un número real que representa el valor que corresponde al tipo de marca. El campo 794 del primer intervalo mantiene un número que representa un primer nivel de cobros y el campo 796 del segundo intervalo mantiene un número que representa un segundo nivel de cobros.
Una tabla de tarifa especial del operador del sistema de ejemplo para un revendedor conocido como “Klondike” se muestra en 798 de la figura 43. En este registro, el campo 786 del revendedor mantiene un código que indica que la ID del revendedor es Klondike, el campo 788 de ID de la lista maestra mantiene el código 1019 para asociar el registro con el código de ID de la lista maestra 1019.
El campo 790 de tipo de marca mantiene un código que indica que el tipo de marca es céntimos, y el campo 792 de valor de marca mantiene un valor de marca que indica 1/10 de un céntimo. El primer campo 794 de intervalo mantiene el valor 30 y el segundo campo 796 de intervalo mantiene el valor 6, estos dos campos indican que el operador permite 30 segundos sin coste, y después de eso la facturación se hace en incrementos de 6 segundos. Haciendo referencia nuevamente a la figura 41, si en el bloque 782 un registro tal como el mostrado en la figura 43 está localizado en la tabla de tarifas especiales del operador del sistema, el procesador se dirige al bloque 800 de la
5
10
15
20
25
30
35
40
45
50
55
60
65
figura 41. Si dicho registro no se halla en la tabla de tarifas especiales del operador del sistema, el bloque 802 dirige el procesador para consultar la base de datos 18 para buscar una tabla de marca del operador del sistema para un registro de marca asociado con el revendedor.
Haciendo referencia a la figura 44, se muestra generalmente un registro de la tabla de marca del operador del sistema de ejemplo en 804. El registro incluye un campo 806 del revendedor, un campo 808 del tipo de marca, un campo 810 del valor de marca, un primer campo 812 de intervalo y un segundo campo 814 de intervalo. El tipo de marca del revendedor, el valor de marca, el primer y segundo campos de intervalo son como se describieron en relación con los campos de los mismos nombres en la tabla de tarifas especiales del operador del sistema mostrada en la figura 42.
La figura 45 proporciona un registro de la tabla de marca del operador del sistema de ejemplo para el revendedor conocido como Klondike, y por lo tanto, el campo 806 del revendedor mantiene el valor “Klondike”, el campo 808 de tipo de marca mantiene el valor en céntimos, el campo de valor de marca mantiene el valor de 0,01, el primer campo 812 de intervalo mantiene el valor 30 y el segundo campo 814 de intervalo mantiene el valor 6. Esto indica que el revendedor “Klondike” cobra por céntimos en una tarifa de un céntimo por minuto. Los primeros 30 segundos de la llamada son sin coste y la facturación se cobra a una tarifa de un céntimo por minuto en incrementos de 6 segundos.
La figura 46 proporciona un registro de la tabla de marca del operador del sistema de ejemplo para los casos en donde no existe un registro de la tabla de marca del operador del sistema específico para un revendedor particular, es decir, un registro de marca del revendedor por defecto. Este registro es similar al registro mostrado en la figura 45, y el campo 806 del revendedor mantiene el valor “todos”, el campo 808 del tipo de marca se carga con una marca que indica que el código está basado en un porcentaje, el campo 810 de valor de marca mantiene el porcentaje mediante el cual se marca el coste, y el primer y segundo campos 812 y 814 de intervalo identifican el primer y segundo niveles de facturación. Haciendo referencia nuevamente a la figura 41, si no está localizado en el bloque 802 un registro de marca específico para el revendedor identificado en el bloque 782, el bloque 820 dirige el procesador para obtener el registro de marca mostrado en la figura 46, que tiene el código “todos” en el campo 806 del revendedor. Entonces el procesador se dirige al bloque 800.
Haciendo referencia nuevamente a la figura 41, en el bloque 800, el procesador 202 de la figura 7 se dirige para ajustar una tarifa del revendedor igual a la suma del valor de marca del registro localizado por los bloques 782, 802 o 820 y la tarifa de la memoria intermedia especificada por los contenidos del campo 516 de tarifa de memoria intermedia del registro de lista maestra mostrado en la figura 20. Para hacer esto, el procesador RC ajusta una variable titulada “coste por segundo del revendedor” a un valor igual a la suma de los contenidos del campo (792, 810) de valor de marca del registro asociado, más los contenidos del campo (516) de tarifa de memoria intermedia del registro de lista maestra asociado con la ID de lista maestra. Entonces, el bloque 822 dirige el procesador para ajustar una variable de coste de operador del sistema por segundo a los contenidos del campo (516) de tarifa de la memoria intermedia del registro de la lista maestra. El bloque 824 entonces dirige el procesador para determinar si la bandera del tipo de llamada indica que la llamada es local o de estilo nacional/local y si el que envía la llamada tiene llamadas locales sin coste. Si se cumplen ambas de estas condiciones, entonces el bloque 826 ajusta la variable del coste de usuario por segundo igual a cero y ajusta dos variables de incremento iguales a uno, para utilizar en el procesamiento posterior. El coste por segundo se ha calculado de esta manera, y el proceso mostrado en la figura 41 se finaliza.
Si en el bloque 824, las condiciones de ese bloque no se cumplen, el procesador 202 de la figura 7 se dirige para localizar al menos uno de un registro de la tabla de anulación del conjunto que específica un coste de ruta por unidad de tiempo asociado con una ruta asociada con la sesión de comunicación, el registro de la tabla de destinos especiales del revendedor asociados con un revendedor de la sesión de comunicaciones, especificando el registro del revendedor un coste del revendedor por unidad de tiempo asociado con el revendedor para la sesión de comunicación, y un registro de marca global del revendedor por defecto que especifica un coste por unidad de tiempo por defecto. Para hacer esto, el bloque 828 dirige el procesador 202 de la figura 7 para determinar si el registro 726 de anulación del conjunto de la figura 37 localizado en el bloque 712 de la figura 33A tiene o no, una ID de lista maestra igual a la ID de lista maestra almacenada que se determinó en el bloque 410 de la figura 8B. De no ser así, el bloque 830 dirige el procesador para hallar un registro de tabla de destinos especiales del revendedor en una tabla de destinos especiales del revendedor en la base de datos (18), que tiene un código de ID de lista maestra igual al código de ID de lista maestra de la ID de lista maestra que se determinó en el bloque 410 de la figura 8B. Un registro de la tabla de destinos especiales del revendedor de ejemplo se muestra en la figura 47 en 832. El registro de tabla de destinos especiales del revendedor incluye un campo 834 del revendedor, un campo 836 de identificación de la lista maestra, un campo 838 de tipo de marca, un campo 840 de valor de marca, un primer campo 842 de intervalo y un segundo 844 campo de intervalo. Este registro tiene el mismo formato que el registro de la tabla de tarifas especiales del operador del sistema mostrado en la figura 42, pero se almacena en una tabla diferente para permitir tipos y valores diferentes de marca e intervalos de tiempo que se han ajustado de acuerdo con las preferencias de los revendedores. Por lo tanto, por ejemplo, el registro de tabla de destinos especiales del revendedor de ejemplo para el revendedor “Klondike” se muestra en 846 en la figura 48. El campo 834 del revendedor mantiene un valor que indica al revendedor como el revendedor “Klondike”, y el campo de ID de la lista maestra mantiene el código 1019. El campo 838 de tipo de marca mantiene un código que indica que el tipo de
5
10
15
20
25
30
35
40
45
50
55
60
65
marca es un porcentaje, y el campo 840 de valor de marca mantiene un número que representa el valor de marca como el 5 %. El primer y segundo campos de intervalos identifican diferentes niveles de facturación diferentes utilizados como se ha descrito anteriormente.
Haciendo referencia nuevamente a la figura 41, el registro mostrado en la figura 48 puede localizarse, por ejemplo, en el bloque 830. Si en el bloque 830 no se halla dicho registro, entonces el bloque 832 dirige el procesador para obtener un registro de marca global del operador por defecto basado en el ID del revendedor.
Haciendo referencia a la figura 49, se muestra un registro de la tabla de marca global del revendedor por defecto generalmente en 848. Este registro incluye un campo 850 del revendedor, un campo 852 de tipo de marca, un campo 854 de valor de marca, un campo 856 del primer intervalo y un campo 858 del segundo intervalo. El campo 850 del revendedor mantiene un código que identifica al revendedor. Por ejemplo, el campo 852 del tipo de marca, el campo 854 de valor de marca y el primer y segundo campos 856 y 858 de intervalo son del mismo tipo descrito en relación con los campos del mismo nombre en la figura 47. Los contenidos de los campos de este registro 860 pueden ajustarse, por ejemplo, de acuerdo con las preferencias del operador del sistema.
Haciendo referencia a la figura 50, se muestra un registro de tabla de marca global del revendedor de ejemplo generalmente en 860. En este registro, el campo 850 del revendedor mantiene un código que indica que el revendedor es “Klondike”, el campo 852 de tipo de marca mantiene un código que indica que el tipo de marca es un porcentaje, el campo 854 de valor de marca mantiene un valor que representa el 10 % como el valor de marca, el campo 856 del primer intervalo mantiene el valor 30 y el campo 858 del segundo intervalo mantiene los valores 30 y 6 respectivamente para indicar que los primeros 30 segundos son sin coste, y la facturación se hará en incrementos de 6 segundos después de eso.
Haciendo referencia nuevamente a la figura 41, si el procesador llegara al bloque 832, se recupera el registro de la tabla de marca global del revendedor como se muestra en la figura 50 de la base de datos, y se almacena localmente en el RC. Como se puede observar en la figura 41, se apreciará que si las condiciones se cumplen en los bloques 828 o 830, o si el procesador ejecuta el bloque 832, entonces el procesador se dirige al bloque 862 que provoca que ajuste un valor de anulación igual a los contenidos del campo de valor de marca del registro localizado para ajustar la primera variable de incremento igual a los contenidos del primer campo de intervalo del registro localizado, y para ajustar una segunda variable de incremento igual al contenido del segundo campo de intervalo del registro localizado. (Las variables del incremento se ajustaron como alternativa a valores específicos en el bloque 826 de la figura 41).
Deberá apreciarse, que el registro localizado podría ser un registro de anulación del conjunto del tipo mostrado en la figura 37, o que el registro localizado podría ser un registro de destino especial del revendedor del tipo mostrado en la figura 48, o que el registro podría ser un registro de tabla de marca global del revendedor del tipo mostrado en la figura 50. Después de que las variables de anulación y del primer y segundo incremento se hayan ajustado en el bloque 862, el procesador 202 de la figura 7 se dirige para ajustar como el coste por unidad de tiempo la suma de la tarifa del revendedor y al menos uno del coste de ruta por unidad de tiempo, el coste del revendedor por unidad de tiempo y el coste por defecto por unidad de tiempo, dependiendo de en qué registro se localizó. Para hacer esto, el bloque 864 dirige el procesador para ajustar el coste por unidad de tiempo igual a la suma del coste del revendedor ajustado en el bloque 800 de la figura 41, más los contenidos de la variable de anulación calculada en el bloque 862 de la figura 41. El coste por unidad de tiempo se ha calculado de esta manera y es este el coste por unidad de tiempo que se usa en el bloque 752 de la figura 33B, por ejemplo.
Terminación de la llamada
En el caso de que cualquiera del que envía la llamada o el que recibe la llamada termine la llamada, el teléfono de la parte que la termina envía un mensaje de despedida SIP al controlador 14. Un mensaje de despedida SIP de ejemplo se muestra en 900 de la figura 51 e incluye un campo 902 del que envía la llamada, un campo 904 del que recibe la llamada y el campo 906 de ID de la llamada. El campo 902 del que envía la llamada mantiene un nombre del usuario de doce dígitos, el campo 904 del que recibe la llamada mantiene un número compatible con la PSTN o un nombre del usuario, y el campo 906 de ID de la llamada mantiene un campo de identificador de llamadas único del tipo mostrado en el campo 65 de ID de llamadas del mensaje de invitación SIP mostrado en la figura 3.
Por lo tanto, por ejemplo, haciendo referencia a la figura 52, un mensaje de despedida SIP para el que recibe la llamada en Calgary se muestra generalmente en 908 y el campo 902 del que envía la llamada mantiene un nombre del usuario que identifica al que envía la llamada, en este caso 2001 1050 8667, el campo 904 del que recibe la llamada mantiene un nombre del usuario que identifica al que recibe la llamada en Calgary, en este caso 2001 1050 2222, y el campo 906 de ID de la llamada mantiene el código FA10 @ 192.168.0.20, que es la ID para dicha llamada.
El mensaje de despedida SIP mostrado en la figura 52 se recibe en el controlador 14 de llamadas y el controlador de llamadas ejecuta un proceso como se muestra generalmente en 910 en la figura 53. El proceso incluye un primer bloque 912 que dirige el procesador 202 del controlador de la llamada de la figura 7 para copiar los contenidos del
5
10
15
20
25
30
35
40
45
50
55
60
65
campo del que envía la llamada, el que recibe la llamada y de identificación de la llamada del mensaje de despedida SIP recibido de la parte que la termina para los campos correspondientes de una memoria intermedia de mensaje de fin RC (no mostrado). El bloque 914 entonces dirige el procesador para copiar el tiempo de inicio de la llamada del temporizador de la llamada y para obtener un tiempo de fin de la llamada del temporizador de la llamada. El bloque 916 entonces dirige el controlador de la llamada para calcular un tiempo de sesión de comunicación determinando la diferencia en tiempo entre el tiempo de inicio de la llamada y el tiempo de fin de la llamada. Este tiempo de la sesión entonces se almacena en un campo correspondiente de la memoria intermedia del mensaje de fin de la llamada RC. El bloque 917 entonces dirige al procesador para disminuir los contenidos del campo 277 de la llamada concurrente actual del perfil de marcación para el que envía la llamada como se muestra en la figura 10, para indicar que existe una llamada concurrente menos en progreso. Una copia del perfil de marcación modificado para el que envía la llamada se almacena entonces en la base de datos 18 de la figura 1. El bloque 918 entonces dirige el procesador para copiar la ruta del registro de la llamada. Un mensaje de fin de la llamada RC producido como se ha descrito anteriormente se muestra generalmente en 1000 en la figura 54. Un mensaje de fin de la llamada RC específicamente asociado con la llamada hecha al que recibe la llamada en Calgary se muestra generalmente en 1020 en la figura 55.
Haciendo referencia a la figura 54, el mensaje de fin de la llamada RC incluye un campo 1002 del que envía la llamada, un campo 1004 del que recibe la llamada, un campo 1006 de ID de la llamada, un campo 1008 de tiempo de inicio de la cuenta, un campo 1010 de tiempo de fin de la cuenta, un tiempo 1012 de sesión de comunicación y un campo 1014 de ruta. El campo 1002 del que envía la llamada mantiene un nombre del usuario, el campo 1004 del que recibe la llamada mantiene un número compatible con la PSTN o número del sistema, el campo 1006 de ID de la llamada mantiene un identificador único de la llamada recibido del mensaje de invitación SIP mostrado en la figura 3, el campo 1008 de tiempo de inicio de la cuenta mantiene la hora y fecha de la llamada, el campo 1010 de tiempo de fin de la cuenta mantiene la fecha y hora que terminó la llamada, el campo 1012 de tiempo de sesión de comunicación mantiene un valor que representa la diferencia entre el tiempo de inicio y el tiempo de fin, en segundos, y el campo 1014 de ruta mantiene la dirección de IP para el enlace de comunicaciones que se estableció.
Haciendo referencia a la figura 55, se muestra un mensaje de fin de llamada RC de ejemplo para el que recibe la llamada en Calgary generalmente en 1020. En este ejemplo, el campo 1002 del que envía la llamada mantiene un nombre del usuario 2001 1050 8667 que identifica al que envía la llamada que tiene su base en Vancouver y el campo 1004 del que recibe la llamada mantiene el nombre del usuario 2001 1050 2222 que identifica el que recibe la llamada en Calgary. Los contenidos del campo 1006 de ID de la llamada son FA10 @ 192.168.0.20. Los contenidos del campo 1008 de inicio del tiempo de la cuenta son 2006-12-30 12:12:12 y los contenidos del campo del tiempo de fin de la cuenta son 2006-12-30 12:12:14. Los contenidos del campo 1012 de tiempo de la sesión de comunicación son 2 para indicar 2 segundos de duración de la llamada, y los contenidos del campo de la ruta son 72.64.39.58.
Haciendo referencia nuevamente a la figura 53, después de haber proporcionado un mensaje de fin de la llamada RC, el bloque 920 dirige al procesador 202 de la figura 7 para enviar un mensaje de fin RC compilado en la memoria intermedia del mensaje de fin de la llamada RC para el Rc 16 de la figura 1. El bloque 922 dirige al controlador 14 de llamadas para enviar de vuelta un mensaje de “despedida” a la parte que no terminó la llamada.
El RC 16 de la figura 1 recibe el mensaje de fin de la llamada y el proceso del mensaje de fin de la llamada RC se invoca en el RC, mostrándose el proceso en 950 en las figuras 56A, 56B y 56C. Haciendo referencia a la figura 56A, el proceso 950 del mensaje de fin RC comienza con un primer bloque 952 que dirige al procesador 202 de la figura 7 para determinar si el tiempo de la sesión de comunicación es menor o igual que el primer valor del incremento ajustado por la rutina del cálculo del coste mostrada en la figura 41, específicamente en los bloques 826 o 862 de la misma. Si se cumple esta condición, entonces el bloque 954 de la figura 56A dirige al procesador RC para ajustar una variable de tiempo que se puede cobrar igual al valor del primer incremento ajustado en el bloque 826 o 862 de la figura 41. Si en el bloque 952 de la figura 56A, la condición no se cumple, el bloque 956 dirige al procesador RC para ajustar una variable restante igual a la diferencia entre el tiempo de sesión de comunicación y el módulo del valor del primer incremento al valor del segundo incremento producido en el bloque 826 o 862 de la figura 41. Entonces, el procesador se dirige al bloque 958 de la figura 56A que lo dirige para determinar si el resto es mayor que cero. Si es así, el bloque 960 dirige al procesador RC para ajustar la variable de tiempo que se puede cobrar igual a la diferencia entre el tiempo de la sesión de comunicación y el valor restante.
Si en el bloque 958 el resto no es mayor que cero, el bloque 962 dirige al procesador RC para ajustar la variable de tiempo que se puede cobrar igual a los contenidos del tiempo de la sesión de comunicación del mensaje de fin RC. El procesador entonces se dirige al bloque 964. Además, después de ejecutar el bloque 954 o el bloque 960, el procesador se dirige al bloque 964.
El bloque 964 dirige al procesador 202 de la figura 7 para determinar si la variable de tiempo que se puede cobrar es o no, mayor o igual al saldo de tiempo sin coste determinado del campo 742 de tiempo sin coste del registro de cuenta del subscriptor mostrado en la figura 39. Si se satisface esta condición, el bloque 966 de la figura 56A dirige el procesador para ajustar a cero el campo 742 de tiempo sin coste en el registro mostrado en la figura 39. Si la variable de tiempo que se puede cobrar no es mayor que o igual al saldo de tiempo sin coste, el bloque 968 dirige al procesador RC para ajustar una variable de coste del usuario a cero, y el bloque 970 entonces disminuye el campo
5
10
15
20
25
30
35
40
45
742 de tiempo sin coste del registro del recuento del subscriptor para el que envía la llamada, por la cantidad de tiempo que se puede cobrar determinada por los bloques 954, 960 o 962.
Si en el bloque 964 el procesador 202 de la figura 7 se dirigió al bloque 966 que provoca que el campo de tiempo sin coste (742 de la figura 39) se ajuste a cero, haciendo referencia a la figura 56B, el bloque 972 dirige al procesador para ajustar una variable de tiempo que se puede cobrar restante igual a la diferencia entre el tiempo que se puede cobrar y los contenidos del campo del tiempo sin coste (742 de la figura 39). El bloque 974 entonces dirige al procesador para ajustar la variable de coste del usuario igual al producto del tiempo que se puede cobrar restante y el coste por segundo calculado en el bloque 750 de la figura 33B. El bloque 976 entonces dirige al procesador a disminuir el campo (740) de saldo de fondos del registro de cuenta del subscriptor mostrado en la figura 39 por los contenidos de la variable de coste del usuario calculada en el bloque 974.
Después de completar el bloque 976 o después de completar el bloque 970 de la figura 56A, el bloque 978 de la figura 56B, dirige al procesador 202 de la figura 7 para calcular una variable de coste del revendedor como el producto de la tarifa del revendedor como se indica en el campo 810 de valor de marca del registro de la tabla de marca del operador del sistema mostrado en la figura 45 y el tiempo de sesión de comunicación determinado en el bloque 916 en la figura 53. A continuación, el bloque 980 de la figura 56B dirige al procesador para agregar el coste del revendedor al campo 986 de saldo del revendedor de un registro de cuenta del revendedor del tipo mostrado en la figura 57 en 982.
El registro de cuenta del revendedor incluye un campo 984 de ID del revendedor y el campo 986 de saldo del revendedor anteriormente mencionados. El campo 984 de ID del revendedor mantiene un código de ID del revendedor y el campo 986 de saldo del revendedor mantiene un saldo acumulado de los cobros.
Haciendo referencia a la figura 58, se muestra un registro de cuentas del revendedor específico para el revendedor “Klondike” generalmente en 988. En este registro el campo 984 de ID del revendedor mantiene un código que representa al revendedor “Klondike” y el campo 986 de saldo del revendedor mantiene un saldo de 100,02 $. Por lo tanto, los contenidos del campo 986 de saldo del revendedor de la figura 58 se incrementan por el coste del revendedor calculado en el bloque 978 de la figura 56B.
Todavía haciendo referencia a la figura 56B, después de agregar el coste del revendedor al campo de saldo del revendedor como se indica por el bloque 980, el bloque 990 dirige al procesador al bloque 202 de la figura 7 para calcular un coste del operador del sistema como el producto del coste por segundo del operador del sistema, como se ajusta en el bloque 822 de la figura 41, y el tiempo de la sesión de comunicación como se determinó en el bloque 916 de la figura 53. El bloque 992 entonces dirige al procesador para agregar el valor de coste del operador del sistema calculado en el bloque 990 a un registro de tabla de cuentas del operador del sistema del tipo mostrado en 994 en la figura 59. Este registro incluye un campo 996 de saldo del operador del sistema que mantiene un saldo acumulado de los cobros. Haciendo referencia a la figura 60 en la realización descrita, el campo 996 de saldo del operador del sistema puede mantener el valor de, por ejemplo, 1.000,02 $, y a este valor se agrega el coste del operador del sistema calculado en el bloque 990 cuando el procesador ejecuta el bloque 992 de la figura 56B.
Finalmente, el saldo 986 final del revendedor de la figura 58 mantiene un número que representa una cantidad que le debe al revendedor el operador del sistema y el saldo 996 del operador del sistema de la figura 59 mantiene un número que representa una cantidad de beneficios para el operador del sistema.
Aunque se han descrito e ilustrado las realizaciones específicas de la presente invención, estás realizaciones deberán ser consideradas solamente como ilustrativas de la invención y no como que limitan la invención como se interpreta de acuerdo con las reivindicaciones adjuntas.
Claims (50)
- 5101520253035404550556065REIVINDICACIONES1. Un proceso para operar un controlador de enrutamiento de llamadas para facilitar la comunicación entre los que envían las llamadas y los que reciben las llamadas (12, 15) en un sistema que comprende una pluralidad de nodos con los que están asociados los que envían las llamadas y los que reciben las llamadas (12, 15), comprendiendo el proceso:en respuesta a la iniciación de una llamada por el suscriptor que envía la llamada en una red de IP, recibir un identificador del que envía la llamada y un identificador del que recibe la llamada;utilizar los criterios de clasificación de llamadas asociados con el identificador del que envía la llamada para clasificar la llamada como una llamada de red pública o una llamada de red privada;buscar en una base de datos (18) para localizar un registro que identifica atributos de la llamada asociados con el que envía la llamada identificado por dicho identificador del que envía la llamada;comparar al menos un atributo de la llamada asociado con un perfil de marcación del que envía la llamada con aspectos de dicho identificador del que recibe la llamada; yclasificar la llamada basándose en dicha comparación como una llamada de red pública cuando se cumplen criterios de clasificación de red pública y clasificar la llamada basándose en dicha comparación como una llamada de red privada cuando se cumplen criterios de clasificación de red privada;producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada cuando la llamada se clasifica como una llamada de la red privada; y producir un mensaje de enrutamiento que identifica una dirección de IP de una pasarela a una red pública cuando la llamada se clasifica como una llamada de red pública.
- 2. El proceso de la reivindicación 1, que comprende además recibir una solicitud para establecer una llamada, desde un controlador de llamadas en comunicación con el que envía la llamada identificado por dicho identificador del que recibe la llamada.
- 3. El proceso de la reivindicación 1 o 2, en el que localizar un registro comprende localizar un perfil de marcación del que envía la llamada que comprende un nombre del usuario asociado con dicho el que envía la llamada, un dominio asociado con dicho el que envía la llamada y al menos un atributo de la llamada.
- 4. El proceso de la reivindicación 1 o 2, en el que comparar comprende al menos uno de:determinar si dicho identificador del que recibe la llamada incluye una porción que coincide con un dígito de marcación internacional (IDD) asociado con dicho perfil de marcación del que envía la llamada; determinar si dicho identificador del que recibe la llamada incluye una porción que coincide con un dígito de marcación nacional (NDD) asociado con el perfil de marcación del que envía la llamada;determinar si dicho identificador del que recibe la llamada incluye una porción que coincide con un código de área asociado con dicho perfil de marcación del que envía la llamada; ydeterminar si dicho identificador del que recibe la llamada tiene una longitud dentro de un rango especificado en dicho perfil de marcación del que envía la llamada.
- 5. El proceso de la reivindicación 1 o 2, que comprende además formatear dicho identificador del que recibe la llamada en un formato de dígitos predefinido para producir un identificador del que recibe la llamada re-formateado.
- 6. El proceso de la reivindicación 5, en el que el formateado comprende al menos uno de:eliminar un dígito de marcación internacional de dicho identificador del que recibe la llamada, cuando dicho identificador del que recibe la llamada comienza con un dígito que coincide con un dígito de marcación internacional especificado por dicho perfil de marcación del que envía la llamada asociado con dicho el que envía la llamada;eliminar un dígito de marcación nacional de dicho identificador del que recibe la llamada y prefijar un código del país del que envía la llamada para dicho identificador del que recibe la llamada cuando dicho identificador del que recibe la llamada comienza con un dígito de marcación nacional;prefijar un código del país del que envía la llamada para dicho identificador del que recibe la llamada cuando dicho identificador del que recibe la llamada comienza con dígitos que identifican un código de área especificado por dicho perfil de marcación del que envía la llamada; yprefijar un código del país del que envía la llamada y el código de área para dicho identificador del que recibe la llamada cuando dicho identificador del que recibe la llamada tiene una longitud que coincide con un formato del número de marcación del que envía la llamada especificado por dicho perfil de marcación del que envía la llamada y solamente se especifica un código de área como que está asociado con dicho el que envía la llamada en dicho perfil de marcación del que envía la llamada.
- 7. El proceso de la reivindicación 5 o 6, que comprende clasificar la llamada como una llamada de red privada cuando dicho identificador re-formateado del que recibe la llamada identifica un suscriptor de la red privada.5101520253035404550556065
- 8. El proceso de una cualquiera de las reivindicaciones 1, 2 o 3, que comprende determinar si dicho identificador del que recibe la llamada cumple con un formato de nombre del usuario predefinido y de ser así, clasificar la llamada como una llamada de red privada, manteniéndose dicho identificador del que recibe la llamada en una memoria intermedia de identificador del que recibe la llamada.
- 9. El proceso de la reivindicación 5 o 6, que comprende provocar que se busque en una base de datos de registros para localizar un registro de la tabla de un banco de marcación directa (DID) que asocia un número de teléfono público con dicho identificador re-formateado del que recibe la llamada y si se halla dicho registro de la tabla del banco DID, clasificar la llamada como una llamada de red privada y si no se halla un registro de la tabla del banco DID, clasificar la llamada como una llamada de la red pública.
- 10. El proceso de la reivindicación 9, en el que producir un mensaje de enrutamiento que identifica una dirección de IP en una red privada comprende ajustar un identificador del que recibe la llamada en una memoria intermedia de identificador del que recibe la llamada en respuesta a un nombre de usuario asociado con dicho registro de tabla de banco DID.
- 11. El proceso de la reivindicación 8 o 10, en el que producir un mensaje de enrutamiento que identifica una dirección de IP en una red privada comprende determinar si un nodo asociado con dicho el que envía la llamada es el mismo que un nodo asociado con dicho el que recibe la llamada.
- 12. El proceso de la reivindicación 11, en el que determinar si un nodo asociado con dicho identificador reformateado del que recibe la llamada es el mismo que el nodo asociado con dicho el que envía la llamada, comprende determinar si un prefijo de un identificador mantenido en dicha memoria intermedia de identificador del que recibe la llamada coincide con un prefijo correspondiente de un nombre del usuario asociado con dicho perfil de marcación del que envía la llamada.
- 13. El proceso de la reivindicación 12, en el que cuando dicho nodo asociado con dicho el que envía la llamada no es el mismo que el nodo asociado con el que recibe la llamada, provocar que dicho mensaje de enrutamiento incluya dicho identificador del que envía la llamada, dicho identificador mantenido en dicha memoria intermedia de identificador del que recibe la llamada, y una identificación del nodo de una red privada asociada con dicho el que recibe la llamada y comunicar el mensaje de enrutamiento a un controlador de llamadas.
- 14. El proceso de la reivindicación 11, en el que cuando dicho nodo asociado con dicho el que envía la llamada es el mismo que el nodo asociado con dicho el que recibe la llamada, determinar si realizar al menos uno de lo siguiente: reenviar dicha llamada a otra parte, bloquear la llamada y dirigir al que envía la llamada a un servidor de correo de voz asociado con el que recibe la llamada.
- 15. El proceso de la reivindicación 14, en el que producir un mensaje de enrutamiento que identifica una dirección de IP en una red privada comprende producir un mensaje de enrutamiento que tiene una identificación de al menos uno del identificador del que recibe la llamada, una identificación de una parte a la que debería reenviarse la llamada y una identificación de un servidor de correo de voz asociado con el que recibe la llamada.
- 16. El proceso de la reivindicación 15, que comprende además comunicar dicho mensaje de enrutamiento que identifica una dirección de IP en una red privada a un controlador de llamadas.
- 17. El proceso de la reivindicación 5 o 6, en el que producir un mensaje de enrutamiento que identifica una dirección de IP de una pasarela para una red pública comprende buscar en una base de datos de registros de ruta que asocia identificadores de ruta con códigos de marcación para hallar un registro de ruta que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción con dicho identificador re-formateado del que recibe la llamada.
- 18. El proceso de la reivindicación 17, que comprende además buscar en una base de datos de registros de proveedores que asocia los identificadores del proveedor con dichos identificadores de la ruta para localizar al menos un registro del proveedor asociado con dicho identificador de la ruta asociado con dicho registro de la ruta que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción con dicho identificador re-formateado del que recibe la llamada.
- 19. El proceso de la reivindicación 18, que comprende además cargar una memoria intermedia de mensaje de enrutamiento con el identificador re-formateado del que recibe la llamada y una identificación de las rutas específicas asociadas con los respectivos de los registros de proveedores asociados con dicho registro de ruta y cargar dicha memoria intermedia de mensaje de enrutamiento con un valor de tiempo y un valor de tiempo de espera.
- 20. El proceso de la reivindicación 19, que comprende además comunicar un mensaje de enrutamiento que comprende los contenidos de dicha memoria intermedia de mensaje de enrutamiento a un controlador de llamadas.5101520253035404550556065
- 21. El proceso de la reivindicación 1 o 2, que comprende además provocar que dicho perfil de marcación incluya un valor máximo de llamadas concurrentes y un valor de recuento de llamadas concurrentes y provocar que dicho valor de recuento de llamadas concurrentes se incremente cuando el usuario asociado con dicho perfil de marcación inicia una llamada y provocar que el valor de recuento de llamadas concurrentes se reduzca cuando se termina una llamada con dicho usuario asociado con dicho perfil de marcación.
- 22. Un medio legible por ordenador codificado con códigos para dirigir un procesador para ejecutar el proceso de una cualquiera de las reivindicaciones 1-21.
- 23. Un aparato (10) de enrutamiento de llamadas para facilitar las comunicaciones entre los que envían llamadas y los que reciben llamadas (12, 15) en un sistema que comprende una pluralidad de nodos (11, 21) con los que están asociados los que envían llamadas y los que reciben llamadas, comprendiendo el aparato:medios (16) de recepción para recibir un identificador del que envía la llamada y un identificador del que recibe la llamada, en respuesta a la iniciación de una llamada en una red de IP por un suscriptor que hace la llamada; medios (16) de clasificación para clasificar la llamada como una llamada de red privada o una llamada de red pública de acuerdo con criterios de clasificación de llamadas asociados con el identificador del que envía la llamada, en el que dichos medios de clasificación comprenden:medios de búsqueda para buscar en una base de datos (18) que comprende registros que asocian atributos de llamada con suscriptores para que dicha red privada localice un registro que identifica al menos un atributo de llamada asociado con uno que envía la llamada identificado por dicho identificador del que envía la llamada;medios de comparación para comparar dicho al menos un atributo de llamada asociado con un perfil de marcación del que envía la llamada con aspectos de dicho identificador del que recibe la llamada; y medios para clasificar la llamada basándose en dichos medios de comparación como una llamada de red pública cuando se cumplen dichos criterios de clasificación de red pública y para clasificar la llamada basándose en dichos medios de comparación como una llamada de red privada cuando se cumplen criterios de clasificación de red privada;medios (16) para producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociada con el que envía la llamada cuando la llamada se clasifica como una llamada de red privada; ymedios (16) para producir un mensaje de enrutamiento que identifica una dirección de IP de una pasarela para la red pública si la llamada se clasifica como una llamada de red pública.
- 24. El aparato de la reivindicación 23, en el que dichos medios de recepción están configurados de manera operable para recibir una solicitud para establecer una llamada desde un controlador de llamadas en comunicación con uno que envía la llamada identificada por dicho identificador del que recibe la llamada.
- 25. El aparato de la reivindicación 23, en el que dichos registros que asocian atributos de llamada con suscriptores incluyen perfiles de marcación, comprendiendo cada uno un nombre de usuario asociado con un respectivo suscriptor, una identificación de un dominio asociado con dicho suscriptor, y una identificación de al menos un atributo de llamada asociado con el suscriptor.
- 26. El aparato de la reivindicación 23 o 24, en el que dichos medios de clasificación están configurados de manera operable para comparar atributos de llamada asociados con dicho perfil de marcación del que recibe la llamada con aspectos de dicho identificador del que recibe la llamada, en el que dichos atributos de llamada incluyen al menos uno de:un dígito de marcación internacional y en el que dichos medios de clasificación están configurados de manera operable para determinar si dicho identificador del que recibe la llamada incluye una porción que coincide con un IDD asociado con dicho perfil de marcación del que envía la llamada;un dígito de marcación nacional y en el que dichos medios de clasificación están configurados de manera operable para determinar si dicho identificador del que recibe la llamada incluye una porción que coindice con un NDD asociado con dicho perfil de marcación del que envía la llamada;un código de área y en el que dichos medios de clasificación están configurados de manera operable para determinar si dicho identificador del que recibe la llamada incluye una porción que coincide con un código de área asociado con dicho perfil de marcación del que recibe la llamada; yun rango de longitud del número y en el que dichos medios de clasificación están configurados de manera operable para determinar si dicho identificador del que recibe la llamada tiene una longitud en un rango especificado en dicho perfil de marcación del que envía la llamada.
- 27. El aparato de la reivindicación 23 o 24, que comprende además medios de formateado para formatear dicho identificador del que recibe la llamada en un formato de dígitos predeterminado para producir un identificador reformateado del que recibe la llamada.5101520253035404550556065
- 28. El aparato de la reivindicación 27, en el que dichos medios de formateado están configurados de manera operable para eliminar al menos uno de:un dígito de marcación internacional de dicho identificador del que recibe la llamada, cuando dicho identificador del que recibe la llamada comienza con un dígito que coincide con un dígito de marcación internacional especificado por dicho perfil de marcación del que envía la llamada asociado con dicho el que envía la llamada; y un dígito de marcación nacional de dicho identificador del que recibe la llamada y prefija un código del país del que envía la llamada para dicho identificador del que recibe la llamada cuando dicho identificador del que recibe la llamada comienza con un dígito de marcación nacional.
- 29. El aparato de la reivindicación 27 o 28, en el que dichos medios de formateado están configurados de manera operable para prefijar al menos uno de:un código del país del que envía la llamada para dicho identificador del que recibe la llamada cuando dicho identificador del que recibe la llamada comienza con dígitos que identifican un código de área especificado por dicho perfil de marcación del que envía la llamada; yun código del país del que envía la llamada y código de área para dicho identificador del que recibe la llamada cuando dicho identificador del que recibe la llamada tiene una longitud que coincide con un formato del número de marcación del que envía la llamada especificado por dicho perfil de marcación del que envía la llamada y únicamente se especifica un código de área como que está asociado con dicho el que envía la llamada en dicho perfil de marcación del que envía la llamada.
- 30. El aparato de la reivindicación 27 o 28, en el que dichos medios de clasificación están configurados de manera operable para clasificar dicha llamada como una llamada de red privada cuando dicho identificador re-formateado del que recibe la llamada identifica un suscriptor de la red privada.
- 31. El aparato de una cualquiera de las reivindicaciones 23, 24 o 25, en el que dichos medios de clasificación están configurados de manera operable para clasificar la llamada como una llamada de red privada cuando dicho identificador del que recibe la llamada cumple con un formato de nombre del usuario predefinido.
- 32. El aparato de la reivindicación 27, que comprende además medios de búsqueda para buscar en una base de datos de registros para localizar un registro de la tabla del banco de marcación directa (DID), que asocia un número de teléfono público con dicho identificador re-formateado del que recibe la llamada y en el que dichos medios de clasificación están configurados de manera operable para clasificar la llamada como una llamada de red privada cuando se halla dicho registro de la tabla del banco DID y para clasificar la llamada como una llamada de red pública cuando no se halla un registro de la tabla del banco DID.
- 33. El aparato de la reivindicación 32, en el que dichos medios para producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada están configurados de manera operable para producir un mensaje de enrutamiento que tiene un identificador del que recibe la llamada ajustado de acuerdo con un nombre de usuario asociado con dicho registro de tabla del banco DID.
- 34. El aparato de la reivindicación 33, en el que dichos medios para producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada están configurados de manera operable para determinar si un nodo asociado con el identificador re-formateado del que recibe la llamada es el mismo que un nodo asociado con el identificador del que envía la llamada.
- 35. El aparato de la reivindicación 34, en el que dichos medios para producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada incluyen medios para determinar si un prefijo del identificador re-formateado del que recibe la llamada coincide con un prefijo correspondiente de un nombre del usuario asociado con dicho perfil de marcación del que envía la llamada.
- 36. El aparato de la reivindicación 35, en el que dichos medios para producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada están configurados de manera operable para producir un mensaje de enrutamiento que incluye dicho identificador del que envía la llamada, el identificador re-formateado del que recibe la llamada y una identificación de un nodo de la red privada asociado con dicho el que recibe la llamada y comunicar dicho mensaje de enrutamiento a un controlador de llamadas.
- 37. El aparato de la reivindicación 34, en el que dichos medios para producir un mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada están configurados de manera operable para realizar al menos uno de lo siguiente: reenviar dicha llamada a otra parte, bloquear la llamada y dirigir al que envía la llamada a un servidor de correo de voz asociado con el que recibe la llamada, cuando dicho nodo asociado con dicho el que envía la llamada es el mismo que el nodo asociado con5101520253035404550556065dicho el que recibe la llamada.
- 38. El aparato de la reivindicación 37, en el que dichos medios para producir un mensaje de enriamiento que identifica una dirección de IP de un elemento de red, en la red privada, asociado con el que recibe la llamada están configurados de manera operable para producir un mensaje de enriamiento que tiene una identificación de al menos uno del identificador del que recibe la llamada, una identificación de una parte a la cual debe de reenviarse la llamada y una identificación de un servidor de correo de voz asociado con el que recibe la llamada.
- 39. El aparato de la reivindicación 38, que comprende además medios para comunicar dicho mensaje de enrutamiento que identifica una dirección de IP de un elemento de red, en una red privada, asociado con el que recibe la llamada a un controlador de llamadas.
- 40. El aparato de la reivindicación 27, en el que dichos medios para producir un mensaje de enrutamiento que identifica una dirección de IP de una pasarela a una red pública comprenden medios para buscar en una base de datos de registros de ruta que asocia los identificadores de la ruta con los códigos de marcación para hallar un registro de la ruta que tiene un código de marcación que tiene un patrón numérico que coincide al menos en una porción con dicho identificador re-formateado del que recibe la llamada.
- 41. El aparato de la reivindicación 23 o 24, que comprende además medios para provocar que dicho perfil de marcación incluya un valor máximo de llamadas concurrentes y un valor de recuento de llamadas concurrentes y para provocar que dicho valor de recuento de llamadas concurrentes se incremente cuando el usuario asociado con dicho perfil del marcación inicia una llamada y para provocar que dicho valor de recuento de llamadas concurrentes se reduzca cuando se termina una llamada con dicho usuario asociado con dicho perfil de marcación.
- 42. El proceso de una cualquiera de las reivindicaciones 1 a 21, en el que la pluralidad de nodos en el sistema comprende al menos un primer nodo (11) y un segundo nodo (21) en comunicación entre sí, en el que cada nodo está configurado de manera operable para proporcionar servicio a un respectivo conjunto de suscriptores asociado con ese nodo, estando asociado el que envía la llamada (12) con el primer nodo (11), y en el que el mensaje de enrutamiento identifica una pasarela (20) o nodo (11,21) que va a llevar la llamada.
- 43. El proceso de una cualquiera de las reivindicaciones 1-21 o 42, que comprende adicionalmente:determinar si el identificador del que recibe la llamada identifica un suscriptor a la red privada; yclasificar la llamada como una llamada de red privada cuando el identificador del que recibe la llamada identificaun suscriptor a la red privada.
- 44. El proceso de una cualquiera de las reivindicaciones 1-21 o 42-43, que comprende adicionalmente uno de:buscar en la base de datos (18) para determinar si el identificador del que recibe la llamada identifica un nombre de usuario de suscriptor válido, y si el identificador del que recibe la llamada identifica un nombre de usuario de suscriptor válido, clasificar la llamada como una llamada de red privada;buscar en la base de datos (18), basándose en el identificador del que recibe la llamada, para determinar si se halla al menos un registro DID de marcación directa que representa un número de teléfono público asociado con el que recibe la llamada, y si no se halla el registro DID de marcación directa que representa un número de teléfono público asociado con el que recibe la llamada, clasificar la llamada como una llamada de red pública; e intentar establecer la llamada a través de al menos una de una pluralidad de pasarelas, y establecer la llamada al que recibe la llamada a través de una pasarela desde la pluralidad de pasarelas que indica que está disponible para llevar la llamada.
- 45. El proceso de una cualquiera de las reivindicaciones 1-21 o 42-44, que comprende adicionalmente:buscar en la base de datos (18), basándose en el identificador del que recibe la llamada, un perfil de marcación asociado con el que recibe la llamada;en respuesta a localizar un perfil de marcación asociado con el que recibe la llamada, recuperar desde la base de datos (18) al menos un registro de bloqueo de llamada asociado con el que recibe la llamada, identificando el al menos un registro de bloqueo de llamada al menos una parte desde la que el que recibe la llamada no desea recibir llamadas; ydeterminar si se halla un registro de bloqueo de llamada que identifica al que envía la llamada en la base de datos (18), y producir el mensaje de enrutamiento si el registro de bloqueo de llamada no identifica al que envía la llamada.
- 46. El proceso de una cualquiera de las reivindicaciones 1-21 o 42-44, que comprende adicionalmente:buscar en la base de datos (18), basándose en el identificador del que recibe la llamada, un perfil de marcación asociado con el que recibe la llamada;en respuesta a localizar un perfil de marcación asociado con el que recibe la llamada, recuperar desde la base51015202530de datos (18) al menos un registro de reenvío de llamada asociado con el que recibe la llamada; eintentar establecer la llamada, basándose en el al menos un registro de reenvío de llamada, a al menos uno deuna pluralidad de destinos de reenvío de llamada.
- 47. El proceso de una cualquiera de las reivindicaciones 45 o 46, que comprende adicionalmente al menos uno de:determinar un nombre de dominio de un nodo asociado con el que recibe la llamada basándose en el perfil de marcación asociado con el que recibe la llamada, y almacenar el nombre de dominio del nodo asociado con el que recibe la llamada en el mensaje de enrutamiento; ydeterminar un nombre de dominio de un nodo asociado con el que envía la llamada basándose en el perfil de marcación del que envía la llamada.
- 48. El proceso de una cualquiera de las reivindicaciones 1-21 o 42-47, que comprende adicionalmente:enviar, al que envía la llamada, una identificación de una dirección de IP asociada con un retransmisor de medios con el que debería comunicar el que envía la llamada; yprovocar que se establezca un enlace de comunicaciones desde el que envía la llamada, a través del retransmisor de medios, al que recibe la llamada.
- 49. El aparato de una cualquiera de las reivindicaciones 23 a 41, en el que la pluralidad de nodos (11, 21) en el sistema comprende al menos un primer nodo (11) y un segundo nodo (21) en comunicación entre sí, en el que cada nodo está configurado de manera operable para proporcionar servicio a un respectivo conjunto de suscriptores asociado con ese nodo, estando asociado el que envía la llamada (12) con el primer nodo (11), y en el que el mensaje de enrutamiento identifica una pasarela (20) o nodo (11, 21) que va a llevar la llamada, comprendiendo el sistema adicionalmente al menos un retransmisor de medios para establecer un enlace de comunicación para la llamada entre el que envía la llamada y el que recibe la llamada.
- 50. El aparato de una cualquiera de las reivindicaciones 23-41 o 49, que comprende adicionalmente medios de bloqueo de llamada para recuperar, desde la base de datos, registros de bloqueo de llamada que identifican patrones de bloqueo de llamada, y para bloquear la llamada cuando se halla un patrón de bloqueo de llamada asociado con el que recibe la llamada que coincide con el identificador del que envía la llamada.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85621206P | 2006-11-02 | 2006-11-02 | |
US856212P | 2006-11-02 | ||
PCT/CA2007/001956 WO2008052340A1 (en) | 2006-11-02 | 2007-11-01 | Producing routing messages for voice over ip communications |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2685443T3 true ES2685443T3 (es) | 2018-10-09 |
Family
ID=39343752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES07816106.4T Active ES2685443T3 (es) | 2006-11-02 | 2007-11-01 | Producir mensajes de enrutamiento para comunicaciones de voz sobre IP |
Country Status (14)
Country | Link |
---|---|
US (14) | US8542815B2 (es) |
EP (2) | EP3386155A1 (es) |
KR (1) | KR20090086428A (es) |
CN (1) | CN101584166A (es) |
BR (1) | BRPI0718312B1 (es) |
CA (9) | CA2668025C (es) |
DK (1) | DK2084868T3 (es) |
ES (1) | ES2685443T3 (es) |
HK (1) | HK1256252A1 (es) |
HU (1) | HUE040485T2 (es) |
MX (1) | MX2009004811A (es) |
PL (1) | PL2084868T3 (es) |
PT (1) | PT2084868T (es) |
WO (1) | WO2008052340A1 (es) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8166547B2 (en) | 2005-09-06 | 2012-04-24 | Fortinet, Inc. | Method, apparatus, signals, and medium for managing a transfer of data in a data network |
KR20090086428A (ko) | 2006-11-02 | 2009-08-12 | 디지포니카 (인터내셔널) 리미티드 | VoIP 통신을 위한 라우팅 메세지 생성 |
CN101584150A (zh) | 2006-11-29 | 2009-11-18 | 迪吉福尼卡(国际)有限公司 | 监听基于ip的语音通信和其它数据通信 |
US20080172545A1 (en) * | 2007-01-12 | 2008-07-17 | John Christian Boucard | System and method for accessing and displaying interactive content and advertising |
WO2008116296A1 (en) | 2007-03-26 | 2008-10-02 | Digifonica (International) Limited | Emergency assistance calling for voice over ip communications systems |
CA2732148C (en) | 2008-07-28 | 2018-06-05 | Digifonica (International) Limited | Mobile gateway |
US8995428B2 (en) * | 2009-01-16 | 2015-03-31 | Telefonaktiebolaget L M Ericsson (Publ) | Signalling messages in a communications network node to communicate a called address string |
CA2812174C (en) | 2009-09-17 | 2018-05-15 | Digifonica (International) Limited | Uninterrupted transmission of internet protocol transmissions during endpoint changes |
US9305273B2 (en) * | 2011-12-31 | 2016-04-05 | Verizon Patent And Licensing Inc. | Telephone number use analysis for grouping of consecutive telephone numbers based on assignment status |
EP3057097B1 (en) * | 2015-02-11 | 2017-09-27 | Nxp B.V. | Time zero convergence single microphone noise reduction |
US10581795B2 (en) * | 2015-10-07 | 2020-03-03 | Google Llc | Systems and methods for dynamically selecting a communication identifier |
US10069871B2 (en) * | 2016-02-01 | 2018-09-04 | Verizon Patent And Licensing Inc. | Measuring session initiation protocol (SIP) messaging latency |
US11509764B1 (en) * | 2016-06-23 | 2022-11-22 | 8X8, Inc. | Region-based connecting of calls using client-specific control and provisioned numbers |
CN109691067A (zh) * | 2016-07-05 | 2019-04-26 | 皇家Kpn公司 | 用于传送和接收兴趣消息的系统和方法 |
IT201700093693A1 (it) | 2017-08-14 | 2019-02-14 | St Microelectronics Srl | Procedimento per trasmettere almeno un pacchetto di dati ip, relativo sistema e prodotto informatico |
CN108712327B (zh) * | 2018-03-30 | 2020-09-08 | 苏州诺登德智能科技有限公司 | 一种有线接入卡位式网关装置 |
US20210099576A1 (en) * | 2018-07-09 | 2021-04-01 | Victor Tokunbo Ojesina | Global Dialing Format |
US10644893B2 (en) | 2018-08-06 | 2020-05-05 | At&T Intellectual Property I, L.P. | Ensuring correctness of session identifiers in call duration records in mobile networks |
US11412005B2 (en) * | 2019-08-29 | 2022-08-09 | Juniper Networks, Inc. | Lawfully intercepting traffic for analysis based on an application identifier or a uniform resource locator (URL) associated with the traffic |
US11438940B2 (en) * | 2020-04-21 | 2022-09-06 | At&T Intellectual Property I, L.P. | Selectively enabling identifier resources for connections in a fifth generation (5G) or other next generation wireless network |
US20220094788A1 (en) * | 2020-09-22 | 2022-03-24 | Capital One Services, Llc | Systems and methods for routing a call with local telecommunication platforms |
US11863594B2 (en) * | 2021-01-07 | 2024-01-02 | Samsung Electronics Co., Ltd. | Electronic device and method for processing call request in electronic device |
EP4360282A1 (en) * | 2021-06-21 | 2024-05-01 | Niantic, Inc. | Routing using partial message parsing |
US11916787B2 (en) * | 2021-11-23 | 2024-02-27 | Capital One Services, Llc | Stream listening cache updater |
US11695696B2 (en) | 2021-11-23 | 2023-07-04 | Capital One Services, Llc | Prepopulation of caches |
US11855770B2 (en) | 2021-11-23 | 2023-12-26 | Capital One Services, Llc | Authentication control based on previous actions |
Family Cites Families (422)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4747124A (en) | 1982-09-28 | 1988-05-24 | Opcom | PBX telephone call control system |
US4845739A (en) | 1985-07-10 | 1989-07-04 | Fdr Interactive Technologies | Telephonic-interface statistical analysis system |
US5255309A (en) | 1985-07-10 | 1993-10-19 | First Data Resources Inc. | Telephonic-interface statistical analysis system |
DE3637737A1 (de) | 1986-11-05 | 1988-05-19 | Waldner Gmbh & Co Hermann | Trockner, insbesondere fuer die chemische industrie |
JPS63278145A (ja) * | 1987-05-11 | 1988-11-15 | Nec Corp | パラメ−タ対応検査方式 |
JPH01198770A (ja) | 1987-10-16 | 1989-08-10 | Ricoh Co Ltd | 複写機の制御装置 |
US5726984A (en) | 1989-01-31 | 1998-03-10 | Norand Corporation | Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones |
US5303297A (en) | 1991-07-25 | 1994-04-12 | Motorola, Inc. | Dynamic pricing method and apparatus for communication systems |
US5265155A (en) | 1991-07-31 | 1993-11-23 | Integrated Communications, Ltd. | Method and apparatus for prepayment of telecommunication connections in a telecommunication switching network |
US5146491A (en) | 1991-08-08 | 1992-09-08 | Pilgrim Telephone, Inc. | Telephone billing method |
US5359642A (en) * | 1991-10-30 | 1994-10-25 | International Integrated Communications, Inc. | Method and apparatus for prepayment of telecommunication connections by registered groups of subscribers in a telecommunication switching network |
US5608756A (en) * | 1991-11-06 | 1997-03-04 | Televerket | Device for identifying traffic on a paired cable |
US5247571A (en) | 1992-02-28 | 1993-09-21 | Bell Atlantic Network Services, Inc. | Area wide centrex |
EP0564669A1 (de) | 1992-04-04 | 1993-10-13 | Alcatel SEL Aktiengesellschaft | Netzwerk aus Sprach- und/oder Faxspeichersystemen |
US5325421A (en) | 1992-08-24 | 1994-06-28 | At&T Bell Laboratories | Voice directed communications system platform |
FI96156C (fi) * | 1992-11-18 | 1996-05-10 | Nokia Telecommunications Oy | Menetelmä ja järjestelmä tietoliikenneyhteyden muodostamiseksi rajoitetulla kutsualueella sijaitseville tietoliikennelaitteille |
US5469497A (en) | 1993-01-19 | 1995-11-21 | Teledebit | Networked interactive call management subsystems with prevention of simultaneous use of a single account number |
US5506893A (en) | 1993-02-19 | 1996-04-09 | At&T Corp. | Telecommunication network arrangement for providing real time access to call records |
US5802502A (en) | 1993-05-24 | 1998-09-01 | British Telecommunications Public Limited Company | System for selective communication connection based on transaction pricing signals |
SE9304119D0 (sv) | 1993-12-10 | 1993-12-10 | Ericsson Ge Mobile Communicat | Apparatuses and mobile stations for providing packet data communication in digital TDMA cellular systems |
JP3299620B2 (ja) * | 1994-01-21 | 2002-07-08 | 富士通株式会社 | 課金制御方式 |
US5425085C1 (en) | 1994-03-18 | 2001-10-09 | Rates Technology Inc | Least control routing device for separate connection into phone line |
US5519769C1 (en) | 1994-04-04 | 2002-05-28 | Rates Technology Inc | Method and system for updating a call rating database |
US5793762A (en) | 1994-04-12 | 1998-08-11 | U S West Technologies, Inc. | System and method for providing packet data and voice services to mobile subscribers |
US5768521A (en) | 1994-05-16 | 1998-06-16 | Intel Corporation | General purpose metering mechanism for distribution of electronic information |
US5719926A (en) | 1994-06-10 | 1998-02-17 | Communications Product Development, Inc. | Prepaid long-distance telephone service system with flexible operating parameters |
US5559871A (en) | 1994-09-23 | 1996-09-24 | Lucent Technologies Inc. | Call charge control and notification |
US6005926A (en) | 1997-08-29 | 1999-12-21 | Anip, Inc. | Method and system for global communications network management |
US5854975A (en) * | 1994-12-23 | 1998-12-29 | Freedom Wireless, Inc. | Prepaid security cellular telecommunications system |
US5722067A (en) | 1994-12-23 | 1998-02-24 | Freedom Wireless, Inc. | Security cellular telecommunications system |
CA2139081C (en) | 1994-12-23 | 1999-02-02 | Alastair Gordon | Unified messaging system and method |
JP2910608B2 (ja) | 1995-03-17 | 1999-06-23 | 日本電気株式会社 | 通話料金予告システムおよび通話料金予告装置 |
US5677955A (en) | 1995-04-07 | 1997-10-14 | Financial Services Technology Consortium | Electronic funds transfer instruments |
AU5922996A (en) | 1995-05-24 | 1996-12-11 | Walker Asset Management Limited Partnership | 900 number billing and collection system and method for on-l ine computer services |
US5799072A (en) | 1995-07-21 | 1998-08-25 | Callmanage | Telecommunications call management system |
US5621787A (en) | 1995-09-13 | 1997-04-15 | Bell Atlantic Network Services, Inc. | Prepaid cash card |
US5712907A (en) | 1995-09-18 | 1998-01-27 | Open Port Technology, Inc. | Pro-active message delivery system and method |
US5745556A (en) | 1995-09-22 | 1998-04-28 | At&T Corp. | Interactive and information data services telephone billing system |
US5953504A (en) | 1995-10-10 | 1999-09-14 | Suntek Software Corporation | Public accessible terminal capable of opening an account for allowing access to the internet and E-mail by generating ID code and security code for users |
US5724355A (en) | 1995-10-24 | 1998-03-03 | At&T Corp | Network access to internet and stored multimedia services from a terminal supporting the H.320 protocol |
US5661790A (en) | 1995-11-03 | 1997-08-26 | Ericsson, Inc. | Call back service for a regulatory restrictive area |
IL115967A (en) | 1995-11-12 | 1999-05-09 | Phonet Communication Ltd | Network based distributed pbx system |
US5838682A (en) | 1995-11-28 | 1998-11-17 | Bell Atlantic Network Services, Inc. | Method and apparatus for establishing communications with a remote node on a switched network based on hypertext dialing information received from a packet network |
US5825863A (en) | 1995-12-11 | 1998-10-20 | Walker Asset Management Limited Partnership | Prepaid limited usage calling card |
US5930343A (en) | 1995-12-15 | 1999-07-27 | Lucent Technologies Inc. | Toll call rate provider |
JP3644108B2 (ja) | 1995-12-19 | 2005-04-27 | ソニー株式会社 | 通話システム、接続装置、通信端末装置及び通話方法 |
US5751961A (en) | 1996-01-31 | 1998-05-12 | Bell Communications Research, Inc. | Integrated internet system for translating logical addresses of internet documents to physical addresses using integrated service control point |
US5956391A (en) | 1996-02-09 | 1999-09-21 | Telefonaktiebolaget Lm Ericsson | Billing in the internet |
US6069890A (en) | 1996-06-26 | 2000-05-30 | Bell Atlantic Network Services, Inc. | Internet telephone service |
US5905736A (en) | 1996-04-22 | 1999-05-18 | At&T Corp | Method for the billing of transactions over the internet |
US5883891A (en) | 1996-04-30 | 1999-03-16 | Williams; Wyatt | Method and apparatus for increased quality of voice transmission over the internet |
US5850433A (en) | 1996-05-01 | 1998-12-15 | Sprint Communication Co. L.P. | System and method for providing an on-line directory service |
US6295549B1 (en) | 1996-05-08 | 2001-09-25 | Apple Computer, Inc. | Method and apparatus for listening for incoming calls on multiple port/socket combinations |
US6141404A (en) | 1996-06-13 | 2000-10-31 | @Track Communications, Inc. | Voice and data communication |
US6021126A (en) | 1996-06-26 | 2000-02-01 | Bell Atlantic Network Services, Inc. | Telecommunication number portability |
US6014379A (en) | 1996-06-26 | 2000-01-11 | Bell Atlantic Network Services, Inc. | Telecommunications custom calling services |
US5970477A (en) | 1996-07-15 | 1999-10-19 | Bellsouth Intellectual Property Management Corporation | Method and system for allocating costs in a distributed computing network |
US6115737A (en) | 1996-07-24 | 2000-09-05 | Telcordia Technologies, Inc. | System and method for accessing customer contact services over a network |
US6005870A (en) * | 1996-08-12 | 1999-12-21 | At&T Corp. | Method for called party control of telecommunications network services |
US6594254B1 (en) | 1996-08-16 | 2003-07-15 | Netspeak Corporation | Domain name server architecture for translating telephone number domain names into network protocol addresses |
DE19634664A1 (de) | 1996-08-28 | 1998-03-05 | Sel Alcatel Ag | Verfahren und Vorrichtung zur Festlegung einer Gebühr in einem Telekommunikationsnetz |
US5845267A (en) | 1996-09-06 | 1998-12-01 | At&T Corp | System and method for billing for transactions conducted over the internet from within an intranet |
US5974043A (en) | 1996-09-16 | 1999-10-26 | Solram Electronics Ltd. | System and method for communicating information using the public switched telephone network and a wide area network |
US5923659A (en) | 1996-09-20 | 1999-07-13 | Bell Atlantic Network Services, Inc. | Telecommunications network |
ES2140965T3 (es) | 1996-10-07 | 2000-03-01 | Teles Ag | Procedimiento para la transmision de datos en una red de telecomunicaciones y conmutador para la realizacion del procedimiento. |
US5907547A (en) | 1996-10-24 | 1999-05-25 | At&T Corp | System and method for establishing internet communications links |
US6073013A (en) | 1996-11-04 | 2000-06-06 | Qualcomm Incorporated | Method and apparatus for performing position-based call processing in a mobile telephone system |
CA2218218A1 (en) | 1996-11-08 | 1998-05-08 | At&T Corp. | Promiscuous network monitoring utilizing multicasting within a switch |
US6188752B1 (en) | 1996-11-12 | 2001-02-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for providing prepaid telecommunications services |
US5828740A (en) | 1996-11-14 | 1998-10-27 | Sprint Communications Co., L.P. | Prepaid calling card external/adjunct database processor |
US5867495A (en) | 1996-11-18 | 1999-02-02 | Mci Communications Corporations | System, method and article of manufacture for communications utilizing calling, plans in a hybrid network |
US5917899A (en) * | 1996-12-17 | 1999-06-29 | Ameritech Corporation | Method of connecting a plurality of virtual networks |
US5910946A (en) | 1997-01-13 | 1999-06-08 | Samsung Electronics Co., Ltd. | Wireless internet network architecture for voice and data communications |
US5940598A (en) | 1997-01-28 | 1999-08-17 | Bell Atlantic Network Services, Inc. | Telecommunications network to internetwork universal server |
US6058300A (en) * | 1997-02-04 | 2000-05-02 | National Telemanagement Corporation | Prepay telecommunications system |
US6029062A (en) | 1997-02-04 | 2000-02-22 | National Telemanagement Corporation | Prepay telecommunications system with unregistered roaming call processing |
US6205139B1 (en) | 1997-03-06 | 2001-03-20 | Bell Atlantic Network Services, Inc. | Automatic called party locator over internet |
US6137869A (en) | 1997-09-16 | 2000-10-24 | Bell Atlantic Network Services, Inc. | Network session management |
US6445694B1 (en) | 1997-03-07 | 2002-09-03 | Robert Swartz | Internet controlled telephone system |
US6785266B2 (en) | 1998-03-02 | 2004-08-31 | Robert Swartz | Internet controlled telephone system |
US6721306B1 (en) | 1997-03-11 | 2004-04-13 | Verizon Services Corp. | Public wireless/cordless internet gateway |
US5889774A (en) | 1997-03-14 | 1999-03-30 | Efusion, Inc. | Method and apparatus for selecting an internet/PSTN changeover server for a packet based phone call |
US5909486A (en) | 1997-03-19 | 1999-06-01 | Walker Asset Management Limited Partnership | Method and apparatus for awarding and redeeming prepaid telephone time |
US6690779B2 (en) * | 1997-03-19 | 2004-02-10 | Walker Digital, Llc | Method and apparatus for awarding and redeeming prepaid telephone time |
US6104704A (en) | 1997-03-20 | 2000-08-15 | At&T Corp. | Methods and apparatus for gathering and processing billing information for internet telephony |
US20010048738A1 (en) | 1997-04-03 | 2001-12-06 | Sbc Technology Resourses, Inc. | Profile management system including user interface for accessing and maintaining profile data of user subscribed telephony services |
US5862202A (en) | 1997-04-10 | 1999-01-19 | Information Medical Retrieval, Inc. | Fax routing system and method using standard fax machine and personal computer |
US6192123B1 (en) | 1997-04-14 | 2001-02-20 | National Tech Team Inc. | Method and apparatus for initiating telephone calls using a data network |
CA2286338A1 (en) * | 1997-04-22 | 1998-10-29 | Telcordia Technologies, Inc. | Apparatus and method for internet telephony routing |
US5915093A (en) | 1997-04-24 | 1999-06-22 | Howard Berlin | Computer network debit disk used for prepayment to transfer information from a central computer |
US5915005A (en) | 1997-05-23 | 1999-06-22 | Mci Communications Corporation | Method and system for toll charge and rate inquiry service for portable numbers |
US6298250B1 (en) * | 1997-06-19 | 2001-10-02 | Kimberly Nanette Engen | Wireless prepaid telephone system with extended capability |
US6036090A (en) * | 1997-07-17 | 2000-03-14 | Telefonaktiebolaget Lm Ericsson | Automated prepayment method for mobile terminals |
US5883810A (en) | 1997-09-24 | 1999-03-16 | Microsoft Corporation | Electronic online commerce card with transactionproxy number for online transactions |
US6614765B1 (en) * | 1997-10-07 | 2003-09-02 | At&T Corp. | Methods and systems for dynamically managing the routing of information over an integrated global communication network |
CN1137562C (zh) * | 1997-10-30 | 2004-02-04 | Ntt移动通信网株式会社 | 分组通信网 |
US6078647A (en) * | 1997-11-21 | 2000-06-20 | Hewlett Packard Company | Method and apparatus for detecting a data service provider in a public switched telephone network |
US6636833B1 (en) | 1998-03-25 | 2003-10-21 | Obis Patents Ltd. | Credit card system and method |
US6173272B1 (en) | 1998-04-27 | 2001-01-09 | The Clearing House Service Company L.L.C. | Electronic funds transfer method and system and bill presentment method and system |
US8254371B2 (en) | 1998-06-26 | 2012-08-28 | Alcatel Lucent | Method and system for routing and security for telephone calls over a packet-switched network |
US6151385A (en) | 1998-07-07 | 2000-11-21 | 911 Notify.Com, L.L.C. | System for the automatic notification that a 9-1-1 call has occurred |
US6185414B1 (en) * | 1998-07-24 | 2001-02-06 | Telefonaktiebolaget Lm Ericsson (Publ) | Wireless telecommunication system with prepaid architecture |
US6249573B1 (en) | 1998-08-26 | 2001-06-19 | Harris Corporation | Method of time-to-talk calculation |
US6839734B1 (en) | 1998-09-21 | 2005-01-04 | Microsoft Corporation | Multimedia communications software with network streaming and multi-format conferencing |
GB2332337B (en) | 1998-09-22 | 2000-05-24 | Cellcom Ltd | Apparatus for generating billing data |
US7212522B1 (en) | 1998-09-30 | 2007-05-01 | Cisco Technology, Inc. | Communicating voice over a packet-switching network |
US6298062B1 (en) | 1998-10-23 | 2001-10-02 | Verizon Laboratories Inc. | System providing integrated services over a computer network |
US6128304A (en) | 1998-10-23 | 2000-10-03 | Gte Laboratories Incorporated | Network presence for a communications system operating over a computer network |
US6240449B1 (en) | 1998-11-02 | 2001-05-29 | Nortel Networks Limited | Method and apparatus for automatic call setup in different network domains |
US7366157B1 (en) | 1998-11-17 | 2008-04-29 | Ericsson Inc. | Methods and system for routing emergency calls through the internet |
US6614781B1 (en) | 1998-11-20 | 2003-09-02 | Level 3 Communications, Inc. | Voice over data telecommunications network architecture |
US6243689B1 (en) | 1998-12-29 | 2001-06-05 | Robert G. Norton | System and method for authorizing electronic funds transfer at a point of sale |
US6674745B1 (en) | 1998-12-31 | 2004-01-06 | 3Com Corporation | Method and system for mapping phone numbers to IP addresses |
CA2299037A1 (en) | 1999-02-22 | 2000-08-22 | Peter O. Roach | Method and apparatus for providing quasi-mobile telephone service |
US6609113B1 (en) | 1999-05-03 | 2003-08-19 | The Chase Manhattan Bank | Method and system for processing internet payments using the electronic funds transfer network |
US6507644B1 (en) | 1999-06-08 | 2003-01-14 | Worldcom, Inc. | Pre-paid telephone calling card linked to a stored value account |
US7882011B2 (en) | 2000-10-31 | 2011-02-01 | Integral Development Corp. | Systems and methods of conducting financial transactions |
US6650641B1 (en) | 1999-07-02 | 2003-11-18 | Cisco Technology, Inc. | Network address translation using a forwarding agent |
US7644037B1 (en) | 1999-08-16 | 2010-01-05 | Vladimir Ostrovsky | Method and system for transferring electronic funds |
US6553025B1 (en) | 1999-08-18 | 2003-04-22 | At&T Corp. | Multiple routing and automatic network detection of a monitored call from an intercepted targeted IP phone to multiple monitoring locations |
US6560224B1 (en) | 1999-08-18 | 2003-05-06 | At&T Corp. | Automatic IP directory number masking and dynamic packet routing for IP phone surveillance |
US6760324B1 (en) | 1999-09-10 | 2004-07-06 | Array Telecom Corporation | Method, system, and computer program product for providing voice over the internet communication |
US6351464B1 (en) | 1999-09-20 | 2002-02-26 | Mci Worldcom, Inc. | Virtual second line hybrid network communication system |
FR2799326B1 (fr) | 1999-10-04 | 2001-12-28 | France Telecom | Protocole de lancement d'une application logicielle a distance et de reservation de ressources reseau avec qualite de service |
WO2001033522A1 (en) | 1999-11-05 | 2001-05-10 | American Express Travel Related Services Company, Inc. | Systems and methods for facilitating commercial transactions between parties residing at remote locations |
US6434143B1 (en) | 1999-11-08 | 2002-08-13 | Mci Worldcom, Inc. | Internet protocol telephony voice/video message deposit and retrieval |
US6798767B1 (en) * | 1999-11-16 | 2004-09-28 | Cisco Technology, Inc. | System and method for generating multiple line appearances in a communication network |
US6873599B1 (en) * | 1999-12-21 | 2005-03-29 | Lucent Technologies Inc. | Apparatus and method for error isolation in hybrid communications systems |
US6937713B1 (en) | 1999-12-30 | 2005-08-30 | At&T Corp. | IP call forward profile |
AU7248200A (en) | 2000-01-05 | 2001-07-12 | Www.Internet Solutions Limited | Messaging system |
US7068668B2 (en) | 2000-01-07 | 2006-06-27 | Feuer Donald S | Method and apparatus for interfacing a public switched telephone network and an internet protocol network for multi-media communication |
US6597783B1 (en) * | 2000-02-01 | 2003-07-22 | Cisco Systems, Inc. | System and method for storing, routing, and tracking digital documents in a call center |
US6603977B1 (en) | 2000-02-04 | 2003-08-05 | Sbc Properties, Lp | Location information system for a wireless communication device and method therefor |
US6415018B1 (en) | 2000-02-08 | 2002-07-02 | Lucent Technologies Inc. | Telecommunication system and method for handling special number calls having geographic sensitivity |
US20020019797A1 (en) | 2000-02-16 | 2002-02-14 | Rocky Stewart | Message routing system for enterprise wide electronic collaboration |
US6766159B2 (en) | 2000-03-10 | 2004-07-20 | Nokia Mobile Phones Ltd. | Alpha tagging and type indication of emergency call number |
US6934279B1 (en) | 2000-03-13 | 2005-08-23 | Nortel Networks Limited | Controlling voice communications over a data network |
US20010052081A1 (en) | 2000-04-07 | 2001-12-13 | Mckibben Bernard R. | Communication network with a service agent element and method for providing surveillance services |
US7006508B2 (en) | 2000-04-07 | 2006-02-28 | Motorola, Inc. | Communication network with a collection gateway and method for providing surveillance services |
GB2361389B (en) | 2000-04-15 | 2004-01-28 | Ericsson Telefon Ab L M | Telecommunications system |
US7324635B2 (en) | 2000-05-04 | 2008-01-29 | Telemaze Llc | Branch calling and caller ID based call routing telephone features |
US6574328B1 (en) | 2000-05-04 | 2003-06-03 | Telemaze, Inc. | Telephone call control system for the public switched telephone network |
US6839323B1 (en) | 2000-05-15 | 2005-01-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of monitoring calls in an internet protocol (IP)-based network |
US6892184B1 (en) | 2000-06-19 | 2005-05-10 | E4X Inc. | System and method for multiple currency transactions |
US7046658B1 (en) | 2000-06-23 | 2006-05-16 | At & T Corp. | Method and system for customer selected direct dialed voice-over-internet protocol (VOIP) |
JP4250859B2 (ja) | 2000-07-04 | 2009-04-08 | 沖電気工業株式会社 | 通信端末装置および通信傍受装置 |
US6772210B1 (en) | 2000-07-05 | 2004-08-03 | Nortel Networks Limited | Method and apparatus for exchanging communications between telephone number based devices in an internet protocol environment |
US6772188B1 (en) | 2000-07-14 | 2004-08-03 | America Online, Incorporated | Method and apparatus for communicating with an entity automatically identified in an electronic communication |
US7031939B1 (en) | 2000-08-15 | 2006-04-18 | Yahoo! Inc. | Systems and methods for implementing person-to-person money exchange |
US7047561B1 (en) | 2000-09-28 | 2006-05-16 | Nortel Networks Limited | Firewall for real-time internet applications |
US20030179747A1 (en) | 2000-10-10 | 2003-09-25 | Pyke Craik R | System and method for intercepting telecommunications |
US20020068545A1 (en) * | 2000-11-06 | 2002-06-06 | Johnson Oyama | Method and apparatus for coordinating charging for services provided in a multimedia session |
US6775356B2 (en) | 2000-11-13 | 2004-08-10 | Angelo Salvucci | Real-time incident and response information messaging INA system for the automatic notification that an emergency call has occurred from a telecommunication device |
US7218722B1 (en) | 2000-12-18 | 2007-05-15 | Westell Technologies, Inc. | System and method for providing call management services in a virtual private network using voice or video over internet protocol |
US20020122547A1 (en) | 2000-12-21 | 2002-09-05 | Hinchey Allan J. | Method and apparatus for telephony route selection |
US7554442B2 (en) | 2005-06-17 | 2009-06-30 | Terahop Networks, Inc. | Event-driven mobile hazmat monitoring |
US6674850B2 (en) | 2001-01-09 | 2004-01-06 | Santera Systems Inc. | Call processing digit translation and characterization |
US20020122391A1 (en) | 2001-01-12 | 2002-09-05 | Shalit Andrew L. | Method and system for providing audio conferencing services to users of on-line text messaging services |
US6744858B1 (en) | 2001-01-26 | 2004-06-01 | Telcontrol, Inc. | System and method for supporting multiple call centers |
US7801953B1 (en) | 2001-02-12 | 2010-09-21 | Nortel Networks Limited | Push-to-talk wireless telecommunications system utilizing an voice-over-IP network |
US20020116464A1 (en) | 2001-02-20 | 2002-08-22 | Mak Joon Mun | Electronic communications system and method |
US7055174B1 (en) | 2001-02-26 | 2006-05-30 | Sprint Spectrum L.P. | Method and system for wiretapping of packet-based communications |
US7120682B1 (en) * | 2001-03-08 | 2006-10-10 | Cisco Technology, Inc. | Virtual private networks for voice over networks applications |
EP1244250A1 (de) | 2001-03-21 | 2002-09-25 | Siemens Aktiengesellschaft | Verfahren und Telekommunikationssystem zur Überwachung eines Datenstroms in einem Datennetz |
US6724860B2 (en) | 2001-03-23 | 2004-04-20 | Siemens Information And Communication Networks, Inc. | Methods and apparatus for transmitting accurate emergency location identification numbers (ELINs) from behind a multi-line telephone system (MLTS) after an emergency caller disconnects |
US6961334B1 (en) | 2001-03-29 | 2005-11-01 | Sonus Networks, Inc. | Intelligence engine |
US7068772B1 (en) * | 2001-03-30 | 2006-06-27 | Accessline Communications Corporation | Economical call processing system and method, such as for providing one-number telecommunication services |
US7165052B2 (en) | 2001-03-31 | 2007-01-16 | First Data Corporation | Payment service method and system |
US8363647B2 (en) | 2001-04-03 | 2013-01-29 | Voxpath Networks, Inc. | System and method for configuring an IP telephony device |
US7215643B2 (en) | 2003-07-29 | 2007-05-08 | Level 3 Communications, Llc | System and method for providing alternate routing in a network |
US7593884B2 (en) | 2001-04-10 | 2009-09-22 | Goldman Sachs & Co. | Multi-currency marketplace |
US6907116B2 (en) * | 2001-04-25 | 2005-06-14 | Telecommunication Systems Inc. | Time balance based prepaid subscriber database and reporting |
EP1396113B1 (en) | 2001-05-16 | 2009-07-29 | Nokia Corporation | Method and system allowing lawful interception of connections such as voice-over-internet-protocol calls |
US7899742B2 (en) | 2001-05-29 | 2011-03-01 | American Express Travel Related Services Company, Inc. | System and method for facilitating a subsidiary card account |
US7010727B1 (en) * | 2001-06-15 | 2006-03-07 | Nortel Networks Limited | Method and system for negotiating compression techniques to be utilized in packet data communications |
US7996324B2 (en) | 2001-07-10 | 2011-08-09 | American Express Travel Related Services Company, Inc. | Systems and methods for managing multiple accounts on a RF transaction device using secondary identification indicia |
US20030043974A1 (en) | 2001-09-04 | 2003-03-06 | Emerson Harry E. | Stored profile system for storing and exchanging user communications profiles to integrate the internet with the public switched telephone network |
US7076529B2 (en) | 2001-09-27 | 2006-07-11 | Bellsouth Intellectual Property Corporation | Systems and methods for notification of electronic mail receipt in a shared computer environment via advanced intelligent network systems |
US7774711B2 (en) | 2001-09-28 | 2010-08-10 | Aol Inc. | Automatic categorization of entries in a contact list |
US7499533B2 (en) * | 2001-11-02 | 2009-03-03 | At&T Intellectual Property, I, L.P. | System and method for caller controlled time demarcation |
US7062222B2 (en) | 2001-12-17 | 2006-06-13 | Nokia Corporation | Initiating a wireless connection to a broadcast program |
US20030120553A1 (en) * | 2001-12-21 | 2003-06-26 | Bell Canada | Method and apparatus for vending and delivering telephone services |
US6947531B1 (en) * | 2001-12-27 | 2005-09-20 | Sprint Spectrum L.P. | System and method for advertising supported communications |
US6726092B2 (en) * | 2001-12-28 | 2004-04-27 | Interdigital Technology Corporation | Portable device service payments by multiple means |
US7836160B2 (en) | 2002-01-08 | 2010-11-16 | Verizon Services Corp. | Methods and apparatus for wiretapping IP-based telephone lines |
US7277528B2 (en) | 2002-02-12 | 2007-10-02 | Siemens Information And Communication Networks, Inc.- Boca Raton | Call-content determinative selection of interception access points in a soft switch controlled network |
US7062253B2 (en) * | 2002-04-10 | 2006-06-13 | Sprint Spectrum L.P. | Method and system for real-time tiered rating of communication services |
US6957062B2 (en) | 2002-05-09 | 2005-10-18 | Casabyte, Inc. | Method, apparatus and article to remotely associate wireless communications devices with subscriber identities and/or proxy wireless communications devices |
US7177311B1 (en) | 2002-06-04 | 2007-02-13 | Fortinet, Inc. | System and method for routing traffic through a virtual router-based network switch |
EP1522198B1 (en) * | 2002-07-16 | 2010-08-25 | Nokia Corporation | Optimized routing between communication networks |
US20040019539A1 (en) * | 2002-07-25 | 2004-01-29 | 3Com Corporation | Prepaid billing system for wireless data networks |
DE60201827T2 (de) | 2002-08-08 | 2005-11-10 | Alcatel | Legales Abfangen für VOIP Anrufe in einem IP-Fernmeldenetz |
US8166533B2 (en) | 2002-08-17 | 2012-04-24 | Rockstar Bidco Lp | Method for providing media communication across firewalls |
US7676215B2 (en) | 2002-10-16 | 2010-03-09 | Alcatel Lucent Usa Inc. | Emergency call back method |
US6963739B2 (en) | 2002-10-21 | 2005-11-08 | Motorola, Inc. | Method and apparatus for providing information intercept in an ad-hoc wireless network |
US7539086B2 (en) | 2002-10-23 | 2009-05-26 | J2 Global Communications, Inc. | System and method for the secure, real-time, high accuracy conversion of general-quality speech into text |
US7330835B2 (en) | 2002-10-31 | 2008-02-12 | Federal Reserve Bank Of Minneapolis | Method and system for tracking and reporting automated clearing house transaction status |
US7454200B2 (en) | 2002-11-13 | 2008-11-18 | Lucent Technologies Inc. | Personal handyphone system component employment of prepay telephone service system component to allow user employment of wireless telephone service subsequent to purchase thereof |
EP1437693A1 (en) | 2003-01-08 | 2004-07-14 | Itsmobile Limited | A mobile telecommunications billing routing system and method |
JP4270888B2 (ja) | 2003-01-14 | 2009-06-03 | パナソニック株式会社 | Wlan相互接続におけるサービス及びアドレス管理方法 |
US7003493B2 (en) | 2003-01-22 | 2006-02-21 | First Data Corporation | Direct payment with token |
US7457865B2 (en) * | 2003-01-23 | 2008-11-25 | Redknee Inc. | Method for implementing an internet protocol (IP) charging and rating middleware platform and gateway system |
US7797459B1 (en) | 2003-02-11 | 2010-09-14 | At&T Intellectual Property Ii, L.P. | Access independent common architecture for real-time communications services for networking environments |
US20040165709A1 (en) | 2003-02-24 | 2004-08-26 | Pence Robert Leslie | Stealth interception of calls within a VoIP network |
US6963557B2 (en) | 2003-03-29 | 2005-11-08 | Intrado Inc. | System and method for routing telephone calls involving internet protocol network |
WO2004091250A1 (en) | 2003-04-09 | 2004-10-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Lawful interception of multimedia calls |
US7058052B2 (en) * | 2003-04-11 | 2006-06-06 | Nokia Corporation | System and method for using a mobile router tunneling protocol to locate functionality in a distributed architecture |
US20040218748A1 (en) | 2003-04-30 | 2004-11-04 | Stephen Fisher | Method and system for providing and using telephone call routing rules |
US7454510B2 (en) | 2003-05-29 | 2008-11-18 | Microsoft Corporation | Controlled relay of media streams across network perimeters |
US7436835B2 (en) | 2003-05-30 | 2008-10-14 | Lucent Technologies Inc. | Forced bearer routing for packet-mode interception |
US7447909B2 (en) | 2003-06-05 | 2008-11-04 | Nortel Networks Limited | Method and system for lawful interception of packet switched network services |
US7440441B2 (en) * | 2003-06-16 | 2008-10-21 | Redknee Inc. | Method and system for Multimedia Messaging Service (MMS) rating and billing |
US7620808B2 (en) * | 2003-06-19 | 2009-11-17 | Nokia Corporation | Security of a communication system |
US7627091B2 (en) | 2003-06-25 | 2009-12-01 | Avaya Inc. | Universal emergency number ELIN based on network address ranges |
US6932268B1 (en) | 2003-06-30 | 2005-08-23 | Checkfree Corporation | Dual mode credit card based payment technique |
EP1661367B1 (en) | 2003-07-11 | 2013-08-21 | Computer Associates Think, Inc. | Packet sniffer |
EP1507395A1 (de) | 2003-08-14 | 2005-02-16 | Siemens Aktiengesellschaft | Verfahren zur Einrichtung einer Anrufumleitung für eine SIP-Telefonnummer eines SIP Clients in einem gemischten leitungsgebundenen und paketvermittelten Netz |
US7042985B1 (en) | 2003-08-27 | 2006-05-09 | Bellsouth Intellectual Property Corporation | Method, system and computer program product for providing a regional E911 network |
ATE431056T1 (de) | 2003-09-05 | 2009-05-15 | Ericsson Telefon Ab L M | Überwachung in einem telekommunikationsnetz |
US7477843B1 (en) | 2003-09-05 | 2009-01-13 | Nortel Networks Limited | Method of and system for routing in a photonic network |
US7027564B2 (en) | 2003-09-22 | 2006-04-11 | Foundry Networks, Inc. | System, method and apparatus for supporting E911 emergency services in a data communications network |
US8543477B2 (en) | 2003-09-30 | 2013-09-24 | Federal Reserve Bank Of Atlanta | Value tracking and reporting of automated clearing house transactions |
US7486684B2 (en) | 2003-09-30 | 2009-02-03 | Alcatel-Lucent Usa Inc. | Method and apparatus for establishment and management of voice-over IP virtual private networks in IP-based communication systems |
US7881449B2 (en) | 2003-09-30 | 2011-02-01 | At&T Intellectual Property Ii, L.P. | Enhanced call notification service |
US7440442B2 (en) | 2003-10-21 | 2008-10-21 | 3Com Corporation | IP-based enhanced emergency services using intelligent client devices |
US7715413B2 (en) | 2003-10-23 | 2010-05-11 | Emerj, Inc. | Multi-network exchange system for telephony applications |
US7808895B2 (en) * | 2003-10-30 | 2010-10-05 | Intel Corporation | Isochronous device communication management |
EP1528774A1 (en) | 2003-10-30 | 2005-05-04 | Alcatel | Method and system of providing lawful interception of calls |
US7203478B2 (en) | 2003-12-08 | 2007-04-10 | Lucent Technologies Inc. | Network support for mobile service plan minute exchange by category |
US8078164B2 (en) | 2004-01-06 | 2011-12-13 | Vasu Networks Corporation | Mobile telephone VOIP/cellular seamless roaming switching controller |
US7346156B1 (en) | 2004-01-29 | 2008-03-18 | Stanacard Llc | Methods and apparatuses for placing a telephone call |
US20050169248A1 (en) | 2004-02-04 | 2005-08-04 | Nortel Networks Limited | Method and apparatus for providing in-band location information in an emergency response network |
US20050192897A1 (en) | 2004-02-10 | 2005-09-01 | First Data Corporation | Methods and systems for payment-network enrollment |
US7587757B2 (en) | 2004-02-11 | 2009-09-08 | Texas Instruments Incorporated | Surveillance implementation in managed VOP networks |
US8594298B2 (en) | 2004-02-20 | 2013-11-26 | Avaya Inc. | Call management |
US7177399B2 (en) | 2004-02-27 | 2007-02-13 | Nortel Network Limited | Determining the geographical location from which an emergency call originates in a packet-based communications network |
US7574736B2 (en) | 2004-03-03 | 2009-08-11 | Microsoft Corporation | System and method for efficiently transferring media across firewalls |
US7702308B2 (en) | 2004-03-11 | 2010-04-20 | Alcatel-Lucent Usa Inc. | Method of associating data with a call to a call center |
US7738384B2 (en) | 2004-03-23 | 2010-06-15 | Level 3 Communications, Llc | Systems and methods for accessing voice transmissions |
US20050222952A1 (en) | 2004-03-31 | 2005-10-06 | Dave Garrett | System and method for real-time account validation for an on-line payment system |
US8145182B2 (en) | 2004-05-07 | 2012-03-27 | Interdigital Technology Corporation | Supporting emergency calls on a wireless local area network |
US7174156B1 (en) | 2004-05-10 | 2007-02-06 | Sprint Spectrum L.P. | Method and system for tracking and billing vocoder bypass calls in a wireless wide area network |
US7764944B2 (en) | 2004-06-24 | 2010-07-27 | Alcatel-Lucent Usa Inc. | Method of providing a unique call back number for wireless 9-1-1 calls |
US8016185B2 (en) | 2004-07-06 | 2011-09-13 | Visa International Service Association | Money transfer service with authentication |
US7437665B2 (en) | 2004-07-23 | 2008-10-14 | International Business Machines Corporation | SEF parser and EDI parser generator |
US7089012B2 (en) * | 2004-07-29 | 2006-08-08 | Motorola, Inc. | Method and system for use in reducing cost associated with lost connections in wireless communication |
US8571011B2 (en) | 2004-08-13 | 2013-10-29 | Verizon Business Global Llc | Method and system for providing voice over IP managed services utilizing a centralized data store |
DE602004023547D1 (de) * | 2004-08-19 | 2009-11-19 | Miroslav Marc | Drahtloses gebührensammelsystem |
US7567131B2 (en) | 2004-09-14 | 2009-07-28 | Koninklijke Philips Electronics N.V. | Device for ultra wide band frequency generating |
US7580886B1 (en) | 2004-09-15 | 2009-08-25 | Federal Reserve Bank Of Atlanta | Managing foreign payments in an international ACH |
US8116307B1 (en) | 2004-09-23 | 2012-02-14 | Juniper Networks, Inc. | Packet structure for mirrored traffic flow |
US20060072547A1 (en) | 2004-09-29 | 2006-04-06 | Lucent Technologies Inc. | Systems and methods for serving VolP emergency calls |
US7643822B2 (en) | 2004-09-30 | 2010-01-05 | Google Inc. | Method and system for processing queries initiated by users of mobile devices |
US7764768B2 (en) | 2004-10-06 | 2010-07-27 | Alcatel-Lucent Usa Inc. | Providing CALEA/legal intercept information to law enforcement agencies for internet protocol multimedia subsystems (IMS) |
US7573982B2 (en) | 2004-10-12 | 2009-08-11 | Bellsouth Intellectual Property Corporation | Methods and systems for managing a call session |
US7441271B2 (en) | 2004-10-20 | 2008-10-21 | Seven Networks | Method and apparatus for intercepting events in a communication system |
EP1808010A2 (en) | 2004-10-25 | 2007-07-18 | Intrado, Inc. | System and method for unilateral verification of caller location information |
US20060095320A1 (en) | 2004-11-03 | 2006-05-04 | Jones Lisa S | System and method of electronic advertisement and commerce |
US7190959B2 (en) | 2004-11-19 | 2007-03-13 | Tekelec | Methods and systems for signaling in a communications network for ported, migrated and/or dual-mode subscribers |
US8824655B2 (en) | 2004-11-23 | 2014-09-02 | Transera Communications, Inc. | Routing inbound communications across call centers and the like |
FI20041659A0 (fi) | 2004-12-23 | 2004-12-23 | Nokia Corp | Menetelmä liikkeen reitittämiseksi VoIP-päätteeseen matkaviestinjärjestelmässä |
US8682919B1 (en) | 2004-12-23 | 2014-03-25 | Google Inc. | System and method for navigating related data |
US7593390B2 (en) | 2004-12-30 | 2009-09-22 | Intel Corporation | Distributed voice network |
JP2006191474A (ja) | 2005-01-07 | 2006-07-20 | Oki Electric Ind Co Ltd | 緊急通報システム |
US7738915B2 (en) | 2005-01-14 | 2010-06-15 | Nextel Communications Inc. | System and method for private wireless networks |
US8856359B2 (en) | 2005-06-29 | 2014-10-07 | Qualcomm Connected Experiences, Inc. | Caller-callee association of a plurality of networked devices |
NZ537800A (en) | 2005-01-20 | 2007-03-30 | Colin Lawrence Melvin Baker | Global telephone number |
US8718258B2 (en) * | 2005-01-24 | 2014-05-06 | Sprint Communication Company L.P. | System and method for jurisdictional routing |
US20060195398A1 (en) | 2005-02-04 | 2006-08-31 | Sanjeev Dheer | Method and apparatus for processing payment requests |
US7715821B2 (en) | 2005-02-18 | 2010-05-11 | Alcatel-Lucent Usa Inc. | Method of updating a unique call back number for a wireless emergency call |
US7565131B2 (en) | 2005-03-08 | 2009-07-21 | Alcatel-Lucent Usa Inc. | Emergency call back through intersystem paging |
US20060235758A1 (en) | 2005-04-08 | 2006-10-19 | Paypal Inc. | Authorization techniques |
US7496182B2 (en) | 2005-04-15 | 2009-02-24 | Verizon Business Global Llc | Handling emergency service calls originating from internet telephony |
US7664495B1 (en) | 2005-04-21 | 2010-02-16 | At&T Mobility Ii Llc | Voice call redirection for enterprise hosted dual mode service |
GB2425679A (en) | 2005-04-27 | 2006-11-01 | Hewlett Packard Development Co | Scanning computing entities for vulnerabilities |
US20060258328A1 (en) | 2005-05-10 | 2006-11-16 | Lucent Technologies Inc. | User defined codes for emergency calls |
US7545761B1 (en) * | 2005-06-08 | 2009-06-09 | Cellco Partnership | Session classification for differentiated prepaid accounting |
US8750290B2 (en) | 2005-06-10 | 2014-06-10 | Zoom Telephonics, Inc. | Method and apparatus for ensuring accessibility to emergency service via VoIP or via PSTN |
US20060281437A1 (en) | 2005-06-13 | 2006-12-14 | Qwest Communications International Inc. | Systems and methods for supporting E911 emergency services in a data communications network |
US7843902B2 (en) | 2005-07-01 | 2010-11-30 | Relefonaktiebolaget L M Ericsson | Interception of multimedia services |
GB0515123D0 (en) | 2005-07-22 | 2005-08-31 | M M I Res Ltd | Method of compiling a list of identifiers associated with a mobile device user |
US20070036139A1 (en) | 2005-08-09 | 2007-02-15 | Ashish Patel | System and method for authenticating internetwork resource requests |
JP4457058B2 (ja) | 2005-08-26 | 2010-04-28 | アラクサラネットワークス株式会社 | フィルタリングを備えるパケット転送装置 |
US8166547B2 (en) | 2005-09-06 | 2012-04-24 | Fortinet, Inc. | Method, apparatus, signals, and medium for managing a transfer of data in a data network |
US20070064919A1 (en) | 2005-09-14 | 2007-03-22 | Zoneson Chen | Communication method for placing phone calls by using a fixed dial plan |
US7817608B2 (en) | 2005-09-23 | 2010-10-19 | Widevine Technologies, Inc. | Transitioning to secure IP communications for encoding, encapsulating, and encrypting data |
WO2007044454A2 (en) | 2005-10-06 | 2007-04-19 | Telecommunication Systems, Inc. | Voice over internet protocol (voip) location based 911 conferencing |
US7907551B2 (en) | 2005-10-06 | 2011-03-15 | Telecommunication Systems, Inc. | Voice over internet protocol (VoIP) location based 911 conferencing |
US8200575B2 (en) | 2005-10-11 | 2012-06-12 | Raul Armando Cordero Torres | Secure electronic payment system and methods |
US7907713B2 (en) * | 2005-10-25 | 2011-03-15 | Tekelec | Methods, systems, and computer program products for using a presence database to deliver enhanced presence information regarding communications made to or from a presentity |
WO2007056158A2 (en) | 2005-11-03 | 2007-05-18 | Roamware, Inc. | Network-based system for rerouting phone calls from phone networks to voip clients for roamers and subscribers who do not answer |
US7907718B2 (en) | 2005-11-18 | 2011-03-15 | Cisco Technology, Inc. | VoIP call routing |
US7639792B2 (en) | 2005-11-23 | 2009-12-29 | Att Knowledge Ventures, L.P. | System and method for location management and emergency support for a voice over internet protocol device |
US20070121866A1 (en) * | 2005-11-28 | 2007-05-31 | Nokia Corporation | Method, system and corresponding program products and devices for VoIP-communication |
US7647500B2 (en) | 2005-12-16 | 2010-01-12 | Microsoft Corporation | Synchronous validation and acknowledgment of electronic data interchange (EDI) |
US7447707B2 (en) | 2005-12-16 | 2008-11-04 | Microsoft Corporation | Automatic schema discovery for electronic data interchange (EDI) at runtime |
US7599944B2 (en) | 2005-12-16 | 2009-10-06 | Microsoft Corporation | Electronic data interchange (EDI) schema simplification interface |
CN104702803A (zh) | 2006-01-12 | 2015-06-10 | 联想创新有限公司(香港) | 移动通信系统及其通话方法以及程序软件 |
US8024785B2 (en) | 2006-01-16 | 2011-09-20 | International Business Machines Corporation | Method and data processing system for intercepting communication between a client and a service |
EP1974304A4 (en) | 2006-01-17 | 2009-08-26 | Medical Envelope L L C | SYSTEM AND METHOD FOR PROVIDING MEDICAL AND CONTACT INFORMATION DURING AN EMERGENCY CALL |
CN101496387B (zh) | 2006-03-06 | 2012-09-05 | 思科技术公司 | 用于移动无线网络中的接入认证的系统和方法 |
US7706779B2 (en) * | 2006-03-16 | 2010-04-27 | Research In Motion Limited | System and method for controlling VCC functionality in a network environment including IMS |
US7657011B1 (en) | 2006-03-16 | 2010-02-02 | Juniper Networks, Inc. | Lawful intercept trigger support within service provider networks |
US8036362B1 (en) * | 2006-03-17 | 2011-10-11 | RNK Inc. | Communication system and call forwarding management |
CA2659007C (en) | 2006-03-20 | 2015-06-16 | Google Inc. | Synchronous message management system |
US8768951B2 (en) | 2006-03-20 | 2014-07-01 | Bce Inc. | Method for populating a location information database used in the delivery of emergency and other location-based services in a VoIP environment |
US8763081B2 (en) | 2006-04-03 | 2014-06-24 | Bridgeport Networks, Inc. | Network based authentication |
US8228897B2 (en) | 2006-04-04 | 2012-07-24 | Telecommunication Systems, Inc. | SS7 ANSI-41 to SIP based call signaling conversion gateway for wireless VoIP E911 |
WO2007125530A2 (en) | 2006-04-27 | 2007-11-08 | D.S.P. Group Ltd. | Routing path optimization between si p endpoints according to nat topology |
US7929955B1 (en) | 2006-04-28 | 2011-04-19 | At&T Mobility Ii Llc | Managing multiple CLI identities |
US8050273B2 (en) | 2006-06-22 | 2011-11-01 | Alcatel Lucent | Lawful interception in IP networks |
US7940896B2 (en) | 2006-06-29 | 2011-05-10 | Avaya Inc. | Adaption of emergency calls to the emergency services network based on caller location |
US8417791B1 (en) | 2006-06-30 | 2013-04-09 | Google Inc. | Hosted calling service |
US7680737B2 (en) | 2006-07-06 | 2010-03-16 | Moneygram International, Inc. | Systems and methods for processing payments with payment review features |
US9014197B2 (en) | 2006-07-14 | 2015-04-21 | Verizon Patent And Licensing Inc. | E911 implementation for IP phones |
US8036366B2 (en) | 2006-08-04 | 2011-10-11 | Microsoft Corporation | Intelligent formatting of VoIP telephone numbers |
CA2598200C (en) | 2006-08-21 | 2015-10-27 | Connexon Telecom Inc. | System and method for delivering callback numbers for emergency calls in a voip system |
US8774370B2 (en) | 2006-08-21 | 2014-07-08 | Connexon Telecom Inc. | System and method for delivering callback numbers for emergency calls in a VOIP system |
US9432830B2 (en) * | 2006-08-29 | 2016-08-30 | Nokia Technologies Oy | Method of advertising using mobile communications |
US8306063B2 (en) | 2006-08-29 | 2012-11-06 | EXFO Services Assurance, Inc. | Real-time transport protocol stream detection system and method |
US7676229B2 (en) | 2006-08-31 | 2010-03-09 | Syniverse Technologies, Inc. | Cellular-to-VoIP call establishment systems, methods, devices, and computer software |
US8161078B2 (en) | 2006-09-20 | 2012-04-17 | Microsoft Corporation | Electronic data interchange (EDI) data dictionary management and versioning system |
ITMI20061886A1 (it) | 2006-10-02 | 2008-04-03 | Ericsson Telefon Ab L M | Procedimento e architettura di intercettazione legale in reti a banda larga filari |
KR20090086428A (ko) | 2006-11-02 | 2009-08-12 | 디지포니카 (인터내셔널) 리미티드 | VoIP 통신을 위한 라우팅 메세지 생성 |
US7983691B1 (en) | 2006-11-06 | 2011-07-19 | Google Inc. | Geographically localizing mobile communciation devices |
CN101584150A (zh) | 2006-11-29 | 2009-11-18 | 迪吉福尼卡(国际)有限公司 | 监听基于ip的语音通信和其它数据通信 |
CA2612581C (en) | 2006-12-19 | 2011-05-24 | Bce Inc. | Method, system and apparatus for handling a request for a media-over-packet communication session |
US8599747B1 (en) | 2006-12-20 | 2013-12-03 | Radisys Canada Inc. | Lawful interception of real time packet data |
US8010079B2 (en) | 2006-12-28 | 2011-08-30 | Trueposition, Inc. | Emergency wireless location system including a wireless transceiver |
US9100500B2 (en) | 2007-01-08 | 2015-08-04 | Qualcomm Incorporated | Methods and systems of providing local access number calling features |
US8427981B2 (en) | 2007-02-23 | 2013-04-23 | Interactive Intelligence, Inc. | System and method for recording and monitoring communications using a media server |
WO2008116296A1 (en) | 2007-03-26 | 2008-10-02 | Digifonica (International) Limited | Emergency assistance calling for voice over ip communications systems |
US8627211B2 (en) | 2007-03-30 | 2014-01-07 | Uranus International Limited | Method, apparatus, system, medium, and signals for supporting pointer display in a multiple-party communication |
US7950046B2 (en) | 2007-03-30 | 2011-05-24 | Uranus International Limited | Method, apparatus, system, medium, and signals for intercepting a multiple-party communication |
US7765266B2 (en) | 2007-03-30 | 2010-07-27 | Uranus International Limited | Method, apparatus, system, medium, and signals for publishing content created during a communication |
US8060887B2 (en) | 2007-03-30 | 2011-11-15 | Uranus International Limited | Method, apparatus, system, and medium for supporting multiple-party communications |
US7765261B2 (en) | 2007-03-30 | 2010-07-27 | Uranus International Limited | Method, apparatus, system, medium and signals for supporting a multiple-party communication on a plurality of computer servers |
US8702505B2 (en) | 2007-03-30 | 2014-04-22 | Uranus International Limited | Method, apparatus, system, medium, and signals for supporting game piece movement in a multiple-party communication |
US7978620B2 (en) | 2007-05-14 | 2011-07-12 | Cisco Technology, Inc. | Dynamically troubleshooting voice quality |
US9185216B2 (en) | 2007-06-15 | 2015-11-10 | Blackberry Limited | System and method for indicating emergency call back to user equipment |
MX2009013117A (es) | 2007-06-27 | 2010-01-15 | Hoffmann La Roche | Sistema de distribucion de terapia que tiene una arquitectura abierta y un metodo del mismo. |
US20090135724A1 (en) | 2007-11-27 | 2009-05-28 | Tellabs Operations, Inc. | Method and apparatus of RTP control protocol (RTCP) processing in real-time transport protocol (RTP) intermediate systems |
US20090135735A1 (en) | 2007-11-27 | 2009-05-28 | Tellabs Operations, Inc. | Method and apparatus of RTP control protocol (RTCP) processing in real-time transport protocol (RTP) intermediate systems |
US8514841B2 (en) | 2007-11-30 | 2013-08-20 | Broadsoft, Inc. | IP-based call content intercept using repeaters |
US8244204B1 (en) | 2007-12-11 | 2012-08-14 | Cellco Partnership | Timed override of incoming call restrictions to facilitate callback after an emergency call |
US8472431B2 (en) | 2008-01-24 | 2013-06-25 | At&T Intellectual Property I, L.P. | System and method of providing IMS services to users on terminating non IMS devices |
WO2009102245A1 (en) | 2008-02-14 | 2009-08-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Lawful interception of non-local subscribers |
US8300632B2 (en) | 2008-02-21 | 2012-10-30 | Avaya Inc. | System and method for distributed call monitoring/recording using the session initiation protocol (SIP) |
US8910272B2 (en) | 2008-02-28 | 2014-12-09 | Hob Gmbh & Co. Kg | Computer communication system for communication via public networks |
US20090238168A1 (en) | 2008-03-18 | 2009-09-24 | Paraxip Technologies Inc. | Communication node and method for handling sip communication |
US8837465B2 (en) | 2008-04-02 | 2014-09-16 | Twilio, Inc. | System and method for processing telephony sessions |
CA2720398C (en) | 2008-04-02 | 2016-08-16 | Twilio Inc. | System and method for processing telephony sessions |
US8219115B1 (en) | 2008-05-12 | 2012-07-10 | Google Inc. | Location based reminders |
US8165090B2 (en) | 2008-05-15 | 2012-04-24 | Nix John A | Efficient handover of media communications in heterogeneous IP networks |
CN101621506A (zh) | 2008-07-01 | 2010-01-06 | 鸿富锦精密工业(深圳)有限公司 | 透过nat实现实时多媒体双向通信的方法 |
CA2732148C (en) | 2008-07-28 | 2018-06-05 | Digifonica (International) Limited | Mobile gateway |
US8605869B1 (en) | 2008-08-08 | 2013-12-10 | Mobilesphere, Ltd. | Method and apparatus for forcing a call to a carrier provided voice mail facility |
US8228861B1 (en) | 2008-09-12 | 2012-07-24 | Nix John A | Efficient handover of media communications in heterogeneous IP networks using handover procedure rules and media handover relays |
US7958233B2 (en) | 2008-09-26 | 2011-06-07 | Media Patents, S.L. | Method for lawfully intercepting communication IP packets exchanged between terminals |
CA2778905A1 (en) | 2008-10-29 | 2010-08-26 | Google Inc. | Network and application merging and asset tracking |
US8275404B2 (en) | 2008-10-29 | 2012-09-25 | Google Inc. | Managing and monitoring emergency services sector resources |
KR100964375B1 (ko) | 2008-10-31 | 2010-06-17 | 한국전자통신연구원 | 통신 망과 인터넷 망에 연동한 감청 방법 |
US8526306B2 (en) | 2008-12-05 | 2013-09-03 | Cloudshield Technologies, Inc. | Identification of patterns in stateful transactions |
JP5237083B2 (ja) | 2008-12-25 | 2013-07-17 | 株式会社エヌ・ティ・ティ・ドコモ | 呼制御システム、呼制御装置、端末装置、および、呼制御方法 |
US8995428B2 (en) | 2009-01-16 | 2015-03-31 | Telefonaktiebolaget L M Ericsson (Publ) | Signalling messages in a communications network node to communicate a called address string |
US8848887B2 (en) | 2009-02-27 | 2014-09-30 | Verizon Patent And Licensing Inc. | Jurisdictionally optimized call routing |
EP2227048A1 (fr) | 2009-03-05 | 2010-09-08 | France Telecom | Procédé de gestion de profils d'utilisateurs d'un réseau de pairs |
US8396445B2 (en) | 2009-03-12 | 2013-03-12 | At&T Intellectual Property I, L.P. | Method to implement E911 services in IMS (IP Multimedia Subsystem) |
WO2010107346A1 (en) | 2009-03-18 | 2010-09-23 | Telefonaktiebolaget L M Ericsson (Publ) | Access node comprising voip cards with common ip/mac addresses |
US8315521B2 (en) | 2009-05-01 | 2012-11-20 | Verizon Patent And Licensing Inc. | Peer-to-peer voice over internet protocol |
CN101582798B (zh) | 2009-06-19 | 2012-01-11 | 中兴通讯股份有限公司 | 一种对语音家庭网关终端进行远程网管的方法及系统 |
EP2449749B1 (en) | 2009-06-29 | 2014-03-12 | Telefonaktiebolaget LM Ericsson (publ) | Method and apparatus for relaying packets |
CN101605342B (zh) | 2009-07-01 | 2012-12-19 | 中兴通讯股份有限公司 | 一种ims网络中通信内容的监听方法、系统及装置 |
US8255393B1 (en) | 2009-08-07 | 2012-08-28 | Google Inc. | User location reputation system |
CN102484884B (zh) | 2009-08-14 | 2015-06-17 | 瑞典爱立信有限公司 | 在两个终端之间建立连接 |
CA2812174C (en) | 2009-09-17 | 2018-05-15 | Digifonica (International) Limited | Uninterrupted transmission of internet protocol transmissions during endpoint changes |
US8862701B2 (en) | 2009-09-22 | 2014-10-14 | George Havriluk | Communication network utilizing email or web addresses that describe a physical location |
US8837360B1 (en) | 2009-12-11 | 2014-09-16 | Google Inc. | Determining geographic location of network hosts |
US20110153809A1 (en) | 2009-12-23 | 2011-06-23 | Microsoft Corporation | Legal Intercept |
US8810392B1 (en) | 2010-02-04 | 2014-08-19 | Google Inc. | Device and method for monitoring the presence of items and issuing an alert if an item is not detected |
JP5447042B2 (ja) | 2010-03-17 | 2014-03-19 | 株式会社リコー | 制御装置、制御方法、及びプログラム |
US9003306B2 (en) | 2010-05-04 | 2015-04-07 | Qwest Communications International Inc. | Doodle-in-chat-context |
US9559869B2 (en) | 2010-05-04 | 2017-01-31 | Qwest Communications International Inc. | Video call handling |
US8819566B2 (en) | 2010-05-04 | 2014-08-26 | Qwest Communications International Inc. | Integrated multi-modal chat |
US8468196B1 (en) | 2010-05-20 | 2013-06-18 | Google Inc. | System and method of reducing latency using adaptive retransmission timeouts |
US8228837B2 (en) | 2010-06-17 | 2012-07-24 | Google Inc. | Maintaining network connectivity |
US8667057B1 (en) | 2010-10-01 | 2014-03-04 | Google Inc. | Method and system for delivering object update messages including payloads |
US20120084288A1 (en) | 2010-10-01 | 2012-04-05 | Mohammed Abdul-Razzak | Criminal relationship analysis and visualization |
CN102457494B (zh) | 2010-10-20 | 2014-10-01 | 中国移动通信集团四川有限公司 | 一种基于sip信令提高监听成功率的方法和装置 |
US8364172B2 (en) | 2010-12-15 | 2013-01-29 | Google Inc. | Peer-to-peer location service |
US20120155333A1 (en) | 2010-12-17 | 2012-06-21 | Electronics And Telecommunications Research Institute Of Daejeon | Appratus and method for lawful interception |
US8938534B2 (en) | 2010-12-30 | 2015-01-20 | Ss8 Networks, Inc. | Automatic provisioning of new users of interest for capture on a communication network |
US20120195236A1 (en) | 2011-02-02 | 2012-08-02 | Comvoice Holdings Llc | System for Multilocation Calling Line Identification Provisioning |
US8972612B2 (en) | 2011-04-05 | 2015-03-03 | SSB Networks, Inc. | Collecting asymmetric data and proxy data on a communication network |
CN102137024B (zh) | 2011-04-19 | 2013-11-20 | 福建星网锐捷网络有限公司 | 报文处理方法、出口路由设备及边界路由设备 |
US9686235B2 (en) | 2011-07-20 | 2017-06-20 | Visa International Service Association | Mobile banking system with cryptographic expansion device |
US8948061B2 (en) | 2011-08-09 | 2015-02-03 | Google Technology Holdings LLC | Method of intercepting VOIP communications |
US8838539B1 (en) | 2011-10-05 | 2014-09-16 | Google Inc. | Database replication |
US8599837B2 (en) | 2011-11-18 | 2013-12-03 | Verizon Patent And Licensing Inc. | Local identity based on called number |
US8749610B1 (en) | 2011-11-29 | 2014-06-10 | Google Inc. | Managing nodes of a synchronous communication conference |
US8792374B1 (en) | 2011-12-07 | 2014-07-29 | Google Inc. | Managing network routes from a central server |
CN102572123B (zh) | 2011-12-21 | 2014-10-22 | 成都三零瑞通移动通信有限公司 | 一种监测x卧底窃听类软件通话录音上传的方法 |
US9305273B2 (en) | 2011-12-31 | 2016-04-05 | Verizon Patent And Licensing Inc. | Telephone number use analysis for grouping of consecutive telephone numbers based on assignment status |
US8712425B2 (en) | 2012-01-11 | 2014-04-29 | Apple Inc. | Managing a packet service call within mobile communications user equipment |
US8391136B1 (en) | 2012-01-27 | 2013-03-05 | Google Inc. | Fallback messaging |
WO2013120069A1 (en) | 2012-02-09 | 2013-08-15 | Connectify | Secure remote computer network |
US9143429B2 (en) | 2012-02-28 | 2015-09-22 | Google Inc. | Identifying an egress point to a network location |
US8792905B1 (en) | 2012-03-01 | 2014-07-29 | Google Inc. | Location monitoring using clusters of entities |
US20130237198A1 (en) | 2012-03-06 | 2013-09-12 | Apple Inc. | System and method for managing data calls |
US9264390B2 (en) | 2012-03-22 | 2016-02-16 | Google Inc. | Synchronous communication system and method |
US8774721B2 (en) | 2012-04-10 | 2014-07-08 | Google Inc. | Detecting a communication tap via signal monitoring |
US8903360B2 (en) | 2012-05-17 | 2014-12-02 | International Business Machines Corporation | Mobile device validation |
US8738051B2 (en) | 2012-07-26 | 2014-05-27 | Twilio, Inc. | Method and system for controlling message routing |
WO2014066155A2 (en) | 2012-10-22 | 2014-05-01 | Google Inc. | Monitoring media consumption habits |
CN103973565B (zh) | 2013-02-01 | 2017-11-28 | 华为技术有限公司 | 路由域选择方法、装置和系统 |
US20140244393A1 (en) | 2013-02-28 | 2014-08-28 | Google Inc. | Fall-back to saved location where user location is unknown |
US9055488B2 (en) | 2013-03-01 | 2015-06-09 | Apple Inc. | Assisting return to a first network from a second network after performance of a circuit switched fallback procedure |
US9338718B2 (en) | 2013-03-14 | 2016-05-10 | Apple Inc. | Voice call resumption on a legacy network |
CN104104781B (zh) | 2013-04-09 | 2018-11-23 | 中兴通讯股份有限公司 | 一种显示手机sim卡联系人的方法及装置 |
US8903051B2 (en) | 2013-04-12 | 2014-12-02 | Verizon Patent And Licensing Inc. | Returning calls to emergency callers without valid telephone numbers |
US20140337961A1 (en) | 2013-05-08 | 2014-11-13 | Promise Technology, Inc. | System for implementing dynamic access to private cloud environment via public network |
US9282579B2 (en) | 2013-05-23 | 2016-03-08 | Broadcom Corporation | Deactivating elevated priority public data network connections in user equipment |
-
2007
- 2007-11-01 KR KR1020097011418A patent/KR20090086428A/ko not_active Application Discontinuation
- 2007-11-01 CA CA2668025A patent/CA2668025C/en active Active
- 2007-11-01 CN CNA200780049136XA patent/CN101584166A/zh active Pending
- 2007-11-01 CA CA3045681A patent/CA3045681C/en active Active
- 2007-11-01 CA CA2916220A patent/CA2916220C/en active Active
- 2007-11-01 PT PT07816106T patent/PT2084868T/pt unknown
- 2007-11-01 EP EP18174930.0A patent/EP3386155A1/en not_active Withdrawn
- 2007-11-01 HU HUE07816106A patent/HUE040485T2/hu unknown
- 2007-11-01 EP EP07816106.4A patent/EP2084868B1/en active Active
- 2007-11-01 WO PCT/CA2007/001956 patent/WO2008052340A1/en active Application Filing
- 2007-11-01 US US12/513,147 patent/US8542815B2/en active Active
- 2007-11-01 CA CA3103310A patent/CA3103310C/en active Active
- 2007-11-01 DK DK07816106.4T patent/DK2084868T3/en active
- 2007-11-01 CA CA3032707A patent/CA3032707C/en active Active
- 2007-11-01 CA CA2916217A patent/CA2916217C/en active Active
- 2007-11-01 PL PL07816106T patent/PL2084868T3/pl unknown
- 2007-11-01 CA CA3045683A patent/CA3045683C/en active Active
- 2007-11-01 MX MX2009004811A patent/MX2009004811A/es not_active Application Discontinuation
- 2007-11-01 CA CA3045694A patent/CA3045694C/en active Active
- 2007-11-01 BR BRPI0718312A patent/BRPI0718312B1/pt active IP Right Grant
- 2007-11-01 CA CA3045672A patent/CA3045672C/en active Active
- 2007-11-01 ES ES07816106.4T patent/ES2685443T3/es active Active
-
2013
- 2013-08-13 US US13/966,096 patent/US9179005B2/en active Active
- 2013-09-17 US US14/029,615 patent/US8774378B2/en not_active Expired - Fee Related
- 2013-09-17 US US14/029,671 patent/US9137385B2/en active Active
-
2014
- 2014-07-07 US US14/325,181 patent/US9998363B2/en not_active Expired - Fee Related
-
2015
- 2015-09-14 US US14/853,705 patent/US11171864B2/en active Active
- 2015-10-07 US US14/877,570 patent/US9537762B2/en active Active
-
2016
- 2016-12-30 US US15/396,344 patent/US9813330B2/en active Active
-
2017
- 2017-01-12 US US15/405,188 patent/US9826002B2/en active Active
- 2017-10-11 US US15/730,600 patent/US9935872B2/en active Active
- 2017-10-19 US US15/788,666 patent/US9948549B2/en active Active
-
2018
- 2018-03-30 US US15/942,282 patent/US10218606B2/en active Active
- 2018-11-29 HK HK18115309.4A patent/HK1256252A1/zh unknown
-
2019
- 2019-02-25 US US16/285,162 patent/US20190199621A1/en not_active Abandoned
-
2021
- 2021-11-08 US US17/521,836 patent/US20220070088A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2685443T3 (es) | Producir mensajes de enrutamiento para comunicaciones de voz sobre IP |