ES2685443T3 - Producir mensajes de enrutamiento para comunicaciones de voz sobre IP - Google Patents

Producir mensajes de enrutamiento para comunicaciones de voz sobre IP Download PDF

Info

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
Application number
ES07816106.4T
Other languages
English (en)
Inventor
Clay Perreault
Steve Nicholson
Rod Thomson
Johan Emil Victor Bjorsell
Fuad Arafa
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Voip Pal com Inc Canada
Voip Pal com Inc USA
Original Assignee
Voip Pal com Inc Canada
Voip Pal com Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=39343752&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2685443(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Voip Pal com Inc Canada, Voip Pal com Inc USA filed Critical Voip Pal com Inc Canada
Application granted granted Critical
Publication of ES2685443T3 publication Critical patent/ES2685443T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/63Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • H04L45/3065Route determination based on the nature of the carried application for real time traffic
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61KPREPARATIONS FOR MEDICAL, DENTAL OR TOILETRY PURPOSES
    • A61K39/00Medicinal preparations containing antigens or antibodies
    • A61K39/395Antibodies; Immunoglobulins; Immune serum, e.g. antilymphocytic serum
    • A61K39/39533Antibodies; Immunoglobulins; Immune serum, e.g. antilymphocytic serum against materials from animals
    • A61K39/39558Antibodies; Immunoglobulins; Immune serum, e.g. antilymphocytic serum against materials from animals against tumor tissues, cells, antigens
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61KPREPARATIONS FOR MEDICAL, DENTAL OR TOILETRY PURPOSES
    • A61K45/00Medicinal preparations containing active ingredients not provided for in groups A61K31/00 - A61K41/00
    • A61K45/06Mixtures of active ingredients without chemical characterisation, e.g. antiphlogistics and cardiaca
    • CCHEMISTRY; METALLURGY
    • C07ORGANIC CHEMISTRY
    • C07KPEPTIDES
    • C07K16/00Immunoglobulins [IGs], e.g. monoclonal or polyclonal antibodies
    • C07K16/18Immunoglobulins [IGs], e.g. monoclonal or polyclonal antibodies against material from animals or humans
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1439Metric aspects time-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1485Tariff-related aspects
    • H04L12/1496Tariff-related aspects involving discounts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1033Signalling gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3226Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/04Recording calls, or communications in printed, perforated or other permanent form
    • H04M15/06Recording class or number of calling, i.e. A-party or called party, i.e. B-party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/51Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/56Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for VoIP communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8033Rating or billing plans; Tariff determination aspects location-dependent, e.g. business or home
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8044Least cost routing
    • H04M15/8055Selecting cheaper transport technology for a given service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8083Rating or billing plans; Tariff determination aspects involving reduced rates or discounts, e.g. time-of-day reductions or volume discounts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/82Criteria or parameters used for performing billing operations
    • H04M15/8228Session based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/88Provision for limiting connection, or expenditure
    • H04M15/887Provision for limiting connection, or expenditure limit per user or user related number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/88Provision for limiting connection, or expenditure
    • H04M15/888Provision for limiting connection, or expenditure severing connection after predetermined time or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42025Calling or Called party identification service
    • H04M3/42085Called party identification service
    • H04M3/42102Making use of the called party identifier
    • H04M3/4211Making use of the called party identifier where the identifier is used to access a profile
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks 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/0075Details of addressing, directories or routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/64Distributing or queueing
    • H04Q3/66Traffic distributors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/70Identification of class of calling subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13091CLI, identification of calling line
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13141Hunting for free outlet, circuit or channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13196Connection circuit/link/trunk/junction, bridge, router, gateway
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1322PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13384Inter-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.
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)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. 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.
  2. 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. 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. 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; y
    determinar 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. 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. 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; y
    prefijar 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. 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.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
  8. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
  21. 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. 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. 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; y
    medios (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. 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. 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. 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; y
    un 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. 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.
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
  28. 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. 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; y
    un 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. 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. 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. 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. 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. 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. 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. 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. 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 con
    5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    dicho el que recibe la llamada.
  38. 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. 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. 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. 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. 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. 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; y
    clasificar la llamada como una llamada de red privada cuando el identificador del que recibe la llamada identifica
    un suscriptor a la red privada.
  44. 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. 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; y
    determinar 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. 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 base
    5
    10
    15
    20
    25
    30
    de datos (18) al menos un registro de reenvío de llamada asociado con el que recibe la llamada; e
    intentar establecer la llamada, basándose en el al menos un registro de reenvío de llamada, a al menos uno de
    una pluralidad de destinos de reenvío de llamada.
  47. 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; y
    determinar 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. 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; y
    provocar 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. 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. 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.
ES07816106.4T 2006-11-02 2007-11-01 Producir mensajes de enrutamiento para comunicaciones de voz sobre IP Active ES2685443T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
US11171864B2 (en) 2021-11-09
US20180034729A1 (en) 2018-02-01
US9137385B2 (en) 2015-09-15
US9179005B2 (en) 2015-11-03
BRPI0718312B1 (pt) 2020-05-19
CA3045672C (en) 2021-01-19
HK1256252A1 (zh) 2019-09-20
US20140010119A1 (en) 2014-01-09
US20190199621A1 (en) 2019-06-27
US10218606B2 (en) 2019-02-26
US20180041427A1 (en) 2018-02-08
BRPI0718312A2 (pt) 2013-11-26
MX2009004811A (es) 2009-08-28
CA3103310A1 (en) 2008-05-08
DK2084868T3 (en) 2018-09-03
PL2084868T3 (pl) 2019-01-31
HUE040485T2 (hu) 2019-03-28
CA2916217C (en) 2019-04-16
US8774378B2 (en) 2014-07-08
US8542815B2 (en) 2013-09-24
PT2084868T (pt) 2018-10-15
US20160006882A1 (en) 2016-01-07
CA3032707C (en) 2021-02-09
CA2668025C (en) 2020-02-25
US20180227222A1 (en) 2018-08-09
US20140321333A1 (en) 2014-10-30
CA2916220C (en) 2019-11-26
EP2084868A4 (en) 2012-07-25
EP2084868A1 (en) 2009-08-05
WO2008052340A1 (en) 2008-05-08
CA3045694A1 (en) 2008-05-08
US20170111265A1 (en) 2017-04-20
US20160028619A1 (en) 2016-01-28
CA3045694C (en) 2021-09-07
US9826002B2 (en) 2017-11-21
CA2916217A1 (en) 2008-05-08
KR20090086428A (ko) 2009-08-12
CA3032707A1 (en) 2008-05-08
EP3386155A1 (en) 2018-10-10
US20140016764A1 (en) 2014-01-16
CA3103310C (en) 2023-04-04
CA3045681C (en) 2021-10-12
US9948549B2 (en) 2018-04-17
CA2668025A1 (en) 2008-05-08
WO2008052340A8 (en) 2009-06-04
US20170126752A1 (en) 2017-05-04
US9537762B2 (en) 2017-01-03
EP2084868B1 (en) 2018-05-30
US9935872B2 (en) 2018-04-03
CA3045683A1 (en) 2008-05-08
US20100150328A1 (en) 2010-06-17
US20220070088A1 (en) 2022-03-03
US9998363B2 (en) 2018-06-12
CA3045681A1 (en) 2008-05-08
US9813330B2 (en) 2017-11-07
CN101584166A (zh) 2009-11-18
CA3045683C (en) 2021-10-26
US20130329722A1 (en) 2013-12-12
CA2916220A1 (en) 2008-05-08
CA3045672A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
ES2685443T3 (es) Producir mensajes de enrutamiento para comunicaciones de voz sobre IP