CA2441344A1 - Recursive query for communications network data - Google Patents
Recursive query for communications network data Download PDFInfo
- Publication number
- CA2441344A1 CA2441344A1 CA002441344A CA2441344A CA2441344A1 CA 2441344 A1 CA2441344 A1 CA 2441344A1 CA 002441344 A CA002441344 A CA 002441344A CA 2441344 A CA2441344 A CA 2441344A CA 2441344 A1 CA2441344 A1 CA 2441344A1
- Authority
- CA
- Canada
- Prior art keywords
- request
- response
- server
- contact
- location server
- 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.)
- Abandoned
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/04—Recording calls, or communications in printed, perforated or other permanent form
- H04M15/06—Recording class or number of calling, i.e. A-party or called party, i.e. B-party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/04—Billing or invoicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1403—Architecture for metering, charging or billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/14—Charging, metering or billing arrangements for data wireline or wireless communications
- H04L12/1442—Charging, metering or billing arrangements for data wireline or wireless communications at network operator level
- H04L12/1446—Charging, metering or billing arrangements for data wireline or wireless communications at network operator level inter-operator billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/19—Flow control; Congestion control at layers above the network layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2408—Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4523—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using lightweight directory access protocol [LDAP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4535—Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4557—Directories for hybrid networks, e.g. including telephone numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1023—Media gateways
- H04L65/103—Media gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1033—Signalling gateways
- H04L65/104—Signalling gateways in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
- H04L65/1043—Gateway controllers, e.g. media gateway control protocol [MGCP] controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1094—Inter-user-equipment sessions transfer or sharing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1096—Supplementary features, e.g. call forwarding or call holding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/401—Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/762—Media network packet handling at the source
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/306—User profiles
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/52—Network services specially adapted for the location of the user terminal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/61—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/41—Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/43—Billing software details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/44—Augmented, consolidated or itemized billing statement or bill presentation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/47—Fraud detection or prevention means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/49—Connection to several service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/51—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for resellers, retailers or service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/52—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for operator independent billing system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/53—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP using mediation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/55—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for hybrid networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/56—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for VoIP communications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/58—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on statistics of usage or network monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/63—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP based on the content carried by the session initiation protocol [SIP] messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/70—Administration or customization aspects; Counter-checking correct charges
- H04M15/745—Customizing according to wishes of subscriber, e.g. friends or family
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/80—Rating or billing plans; Tariff determination aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/82—Criteria or parameters used for performing billing operations
- H04M15/8207—Time based data metric aspects, e.g. VoIP or circuit switched packet data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/82—Criteria or parameters used for performing billing operations
- H04M15/8214—Data or packet based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M15/00—Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
- H04M15/82—Criteria or parameters used for performing billing operations
- H04M15/8292—Charging for signaling or unsuccessful connection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/22—Arrangements for supervision, monitoring or testing
- H04M3/2218—Call detail recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42229—Personal communication services, i.e. services related to one subscriber independent of his terminal and/or location
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/46—Arrangements for calling a number of substations in a predetermined sequence until an answer is obtained
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/46—Arrangements for calling a number of substations in a predetermined sequence until an answer is obtained
- H04M3/465—Arrangements for simultaneously calling a number of substations until an answer is obtained
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0075—Details of addressing, directories or routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
- H04M7/0078—Security; Fraud detection; Fraud prevention
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/12—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
- H04M7/1205—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/12—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal
- H04M7/1205—Arrangements for interconnection between switching centres for working between exchanges having different types of switching equipment, e.g. power-driven and step by step or decimal and non-decimal where the types of switching equipement comprises PSTN/ISDN equipment and switching equipment of networks other than PSTN/ISDN, e.g. Internet Protocol networks
- H04M7/128—Details of addressing, directories or routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/0016—Arrangements providing connection between exchanges
- H04Q3/0029—Provisions for intelligent networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2207/00—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place
- H04M2207/20—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place hybrid systems
- H04M2207/203—Type of exchange or network, i.e. telephonic medium, in which the telephonic communication takes place hybrid systems composed of PSTN and data network, e.g. the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0104—Augmented, consolidated or itemised billing statement, e.g. additional billing information, bill presentation, layout, format, e-mail, fax, printout, itemised bill per service or per account, cumulative billing, consolidated billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0108—Customization according to wishes of subscriber, e.g. customer preferences, friends and family, selecting services or billing options, Personal Communication Systems [PCS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0148—Fraud detection or prevention means
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0152—General billing plans, rate plans, e.g. charge rates, numbering plans, rate centers, customer accounts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0164—Billing record, e.g. Call Data Record [CDR], Toll Ticket[TT], Automatic Message Accounting [AMA], Call Line Identifier [CLI], details, i.e. parameters, identifiers, structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0168—On line or real-time flexible customization or negotiation according to wishes of subscriber
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0172—Mediation, i.e. device or program to reformat CDRS from one or more switches in order to adapt to one or more billing programs formats
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0176—Billing arrangements using internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/01—Details of billing arrangements
- H04M2215/0188—Network monitoring; statistics on usage on called/calling number
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/20—Technology dependant metering
- H04M2215/2013—Fixed data network, e.g. PDN, ATM, B-ISDN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/20—Technology dependant metering
- H04M2215/202—VoIP; Packet switched telephony
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/20—Technology dependant metering
- H04M2215/2046—Hybrid network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/22—Bandwidth or usage-sensitve billing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/44—Charging/billing arrangements for connection made over different networks, e.g. wireless and PSTN, ISDN, etc.
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/46—Connection to several service providers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/54—Resellers-retail or service providers billing, e.g. agreements with telephone service operator, activation, charging/recharging of accounts
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/78—Metric aspects
- H04M2215/7813—Time based data, e.g. VoIP or circuit switched packet data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2215/00—Metering arrangements; Time controlling arrangements; Time indicating arrangements
- H04M2215/78—Metric aspects
- H04M2215/782—Data or packet based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/006—Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/20—Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
Abstract
An approach for providing telephony and other services over a data network is disclosed. A communications system (100) includes a location server (115) that generates a first subset from the set of all addresses relating to a called party (118). A proxy server (113) obtains a first subset of addresses from the location server (115) and attempts to establish a session with the called party (118) based on the subset of addresses. In response to whether the first subset of addresses results in session establishment, the proxy server (113) may then request a second subset from the location server (115). Context information provided by the location server (115) with the first subset may be returned to the location server (115) as part of the request for the second subset.
Description
RECURSIVE QUERY FOR COMMUNICATIONS NETWORK DATA
FIELD OF THE INVENTION
FIELD OF THE INVENTION
[0002] The present invention relates to a communications system, and is more particularly related to determining addresses for establishing communications sessions.
BACKGROUND
BACKGROUND
[0003] The proliferation of data transport networks, most notably the Internet, is causing a revolution in telephony and other forms of real-time communication. Businesses that have been accustomed to having telephony traffic and data traffic separately supported over different systems and networks are now moving towards so-called "converged networks"
wherein telephone voice traffic and other forms of real-time media are converted into digital form and carried by a packet data network along with other forms of data. Now that the technologies are feasible to support it, voice over data transport offers many advantages in terms of reduced capital and operating costs, resource efficiency and flexibility.
wherein telephone voice traffic and other forms of real-time media are converted into digital form and carried by a packet data network along with other forms of data. Now that the technologies are feasible to support it, voice over data transport offers many advantages in terms of reduced capital and operating costs, resource efficiency and flexibility.
[0004] For example, at commercial installations, customer premise equipment investments are substantially reduced as most of the enhanced functions, such as PBX and automatic call distribution functions, may reside in a service provider's network. Various types of gateways allow for sessions to be established even among diverse systems such as IP
phones, conventional analog phones and PBXs as well as with networked desktop computers.
phones, conventional analog phones and PBXs as well as with networked desktop computers.
[0005] To meet the demand for voice over data transport, service providers and network equipment vendors are faced with the challenges of establishing new protocols and standards, recognizing new business models, implementing new services, and designing new equipment in a way that would have been difficult to imagine twenty years ago.
[0006] For example, a new generation of end user terminal devices are now replacing the traditional telephones and even the more recent PBX phone sets. These new sets, such as those offered by Cisco and Pingtel, may connect directly to a common packet data network, via an Ethernet connection for example, and feature large visual displays to enhance the richness of the userinterface.
[0007] Even before such devices were developed, computers equipped with audio adapters and connected to the Internet were able to conduct some rudimentary form of Internet telephony, although the quality was unpredictable and often very poor. The emphasis now is upon adapting Internet protocol (IP) networks and other packet transport networks to provide reliable toll-quality connections, easy call set-up and enhanced features to supply full-featured telephony as well as other forms of media transport. Some other types of media sessions enabled by such techniques may include video, high quality audio, mufti-party conferencing, messaging and collaborative applications.
[0008] Of course, as a business or residential communications subscriber begins using such voice-over-packet communications to replace conventional telephony, there will naturally be an expectation that the quality of the connections and the variety of services will be at least as good as in the former telephone network. In terms of services, for example, some businesses have come to rely upon PBX features or network-resident "Centrex" features such as call forwarding and conditional call handling. In the near future, such special services are expected to see increased use because the new terminal devices mentioned earlier can provide a much more intuitive interface for the users. With existing systems, users often forget which combinations of keystrokes are required to invoke enhanced features.
[0009] For establishing a communications session in a network, new protocols and control architectures have emerged. It is worth noting that these have been inspired by the migration to a voice over data but are not necessarily limited to such an environment. In some respects the protocols and control architectures described next may be used to establish calls through any form of transport.
[0010] Both the ITU H.323 standard and the IETF's Session Initiation Protocol '(SIP) are examples of protocols which may be used for establishing a communications session among terminals connected to a network. The SIP protocol is described in IETF
document RFC 2543 and its successors. Various architectures have been proposed in conjunction with these protocols with a common theme of having an address resolution function, referred to as a "location server," somewhere in the network to maintain current information on how to reach any destination and to control features on behalf of users.
document RFC 2543 and its successors. Various architectures have been proposed in conjunction with these protocols with a common theme of having an address resolution function, referred to as a "location server," somewhere in the network to maintain current information on how to reach any destination and to control features on behalf of users.
[0011] For large scale-deployment of voice over data transport as well as other real-time communications, it is essential that the network~control architectures be extremely robust and highly scalable to reliably accommodate millions of sessions on a daily basis.
Robustness may necessitate designing in redundancy and failover mechanisms. Preferably, these measures will even provide transparent continuity of existing sessions and features even if a failure occurs in the midst of a session. For ensuring this level of reliability and for maximizing scalability, it is generally preferable to minimize the demand upon control functions, such as location servers, to maintain any persistent state information for each call in the network.
SUMMARY
Robustness may necessitate designing in redundancy and failover mechanisms. Preferably, these measures will even provide transparent continuity of existing sessions and features even if a failure occurs in the midst of a session. For ensuring this level of reliability and for maximizing scalability, it is generally preferable to minimize the demand upon control functions, such as location servers, to maintain any persistent state information for each call in the network.
SUMMARY
[0012] The need for robustness and scalability in a session processing system, as well as other needs, are addressed by the present invention in which an integrated communication system provides telephony and data services over a data network. The system utilizes, in an exemplary embodiment, the Session Initiation Protocol (SIP) fox establishing communications sessions.
[0013] Briefly, a session is initiated in the following manner: The proxy server first receives a request, such as a SIP "INVITE" message, typically from a calling station where a first user desires to contact a second user. The second user may be identified by telephone number, IP
address, or uniform resource locator (URL), for example. The proxy server may then relay a c routing request to the location server for such purposes as verifying the privileges of the first user to reach the second user, finding one or more locations for the second user and performing any.
call handling features provisioned for the fixst or second users. Generally, the location server responds to the proxy's request by returning to the proxy server one or more addresses of terminals where the second user may be contacted.
address, or uniform resource locator (URL), for example. The proxy server may then relay a c routing request to the location server for such purposes as verifying the privileges of the first user to reach the second user, finding one or more locations for the second user and performing any.
call handling features provisioned for the fixst or second users. Generally, the location server responds to the proxy's request by returning to the proxy server one or more addresses of terminals where the second user may be contacted.
[0014] Upon receipt of the address information from the location server, the proxy server commences to send an "INVITE" message, or the like, to each address. Thus, the proxy server attempts to reach the second user by trying the addresses either serially or in parallel.
[0015] Multiple addresses may be returned by the location server if, for example, a given user profile indicates a "Find-Me" list, that is, a set of contacts that should be tried for reaching the second user being called. By provisioning of their profile maintained by the location sewer, a user may specify, for example, that incoming calls go to an IP telephone first, then another phone, then a mobile phone and, if there is still no answer at those locations, then into a voice mail system.
[0016] An entry in a Find-Me list may be an address that represents yet another account within the network. This account may in turn have its own associated profile including a Find-Me list.
Therefore, it is possible for a single called party requested by a user to correspond to a hierarchy of contact addresses in the location server.
Therefore, it is possible for a single called party requested by a user to correspond to a hierarchy of contact addresses in the location server.
[0017] This phenomenon places a considerable burden upon the location server because a potentially large number of contact addresses may have to be determined and returned for each INVITE request, even though the called party might be reached at one of the earliest contact addresses attempted by the proxy server.
[0018] In one aspect, the present invention provides an alternative approach wherein a large number of addresses may not have to be determined by the location server all at once. I Instead, the location server may return a first set of addresses upon an initial routing request from the proxy server and then may return further addresses upon subsequent routing requests from the proxy server.
(0019] In accordance with a preferred embodiment, the location server returns a list of addresses, some of which may correspond to other accounts that will themselves yield multiple contacts. This initial list returned to the proxy does not include the complete "expanded" listing of these latter contacts. Instead, in accordance with a preferred embodiment, each such "expandible" address is merely reported in the initial list along with a flag or tag associated with the address to indicate that it may expand into multiple addresses. In working through the initial list of addresses, the proxy server uses this tag to trigger subsequent retrieval of the expanded address sets only if and when they are needed.
[0020] To enable the location server to efficiently handle these subsequent requests from the proxy without keeping persistent state information for the session, additional context information is provided with the each address returned by the location server to the proxy server. As the proxy server subsequently requests further contacts from the location server, the proxy server includes the context information in the subsequent requests. As will be explained in greater detail below, passing this context information back to the location server advantageously allows the location server to skip many steps that need only be performed for an initial routing request.
[0021] Freeing the location server from maintaining state in this manner is also especially important for allowing any of the available location servers to handle the subsequent requests.
In other words, the location server servicing a subsequent request for an expanded address set does not have to be the same location server instance that provided the initial list. All of the location servers should operate equivalently and maintain a consistent image of the addressing and user profile information. The need to consult different location servers may arise due to failover or load balancing mechanisms.
In other words, the location server servicing a subsequent request for an expanded address set does not have to be the same location server instance that provided the initial list. All of the location servers should operate equivalently and maintain a consistent image of the addressing and user profile information. The need to consult different location servers may arise due to failover or load balancing mechanisms.
[0022] In one aspect of the present invention, a method is disclosed for establishing a communications session with a party using multiple contacts. A location server maintains a set of contacts for the party. The method generally comprises the steps of obtaining an initial set of contacts from the location server, attempting to establish a session with the party using the initial set of contacts, and, if the session is not successfully established using the first set of contacts, obtaining a subsequent set of contacts to try.
[0023] In another aspect of the present invention, context information related to the processing that occurs in the location server is obtained from the location server in conjunction with a request for contacts for a party. The same context information is provided to the location server in conjunction with a subsequent request to facilitate processing of the subsequent request by the location server.
[0024] In another aspect of the present invention, one or more contacts obtained from a location server may trigger further requests to the location server.
[0025] In another aspect of the present invention, one or more contacts obtained from a location server may bear an indication of whether or not a subsequent request to the location server is appropriate for the given contact.
[0026] In another aspect of the present invention, a location server means is disclosed which is able to provide contact information for a party in response to initial and subsequent requests.
[0027] In accordance with a preferred embodiment, the location server means includes means for providing and receiving context information related to processing in the location server.
Furthermore, in accordance with a preferred embodiment, the location server means includes means for providing a finality indicator with each contact provided in response to a request.
Furthermore, in accordance with a preferred embodiment, the location server means includes means for providing a finality indicator with each contact provided in response to a request.
[0028] In another aspect of the present invention, a proxy server means is disclosed for handling session requests by obtaining contacts from a location server and attempting to establish a session with a party using the contacts provided. In accordance with a preferred embodiment, the proxy server means determines whether a session is established using the contacts and, in response,-determines whether to obtain further contacts from the location server.
[0029] In accordance with a preferred embodiment, the proxy server means accepts processing context information from the location server in conjunction with obtaining one set of contacts and then provides the context information to the location server in conjunction with a subsequent request for contacts.
[0030] Tn accordance with a preferred embodiment, the proxy server means interprets a response from a location server to determine if a subsequent request for further contacts should be submitted. In accordance with a preferred embodiment, the proxy server means initiates a subsequent request for contacts from the location server in response to a contact provided in an earlier response. In accordance with a preferred embodiment, the proxy server means interprets an indicator associated with a contact to determine if a subsequent request should be submitted to the location server in response to the contact.
[0031] In another aspect of the present invention, a computer-readable medium is disclosed having computer executable instructions for carrying out a method for implementing the location server means.
[0032] In another aspect of the present invention, a computer-readable medium is disclosed having computer executable instructions for carrying out a method for implementing the proxy server means.
(0033] Still other aspects, features, and advantages of the present invention will be readily apparent from the following detailed description, simply by illustrating a number of particular embodiments and implementations, including the best mode contemplated for carrying out the present invention. The present invention is also capable of other different embodiments and its several details can be modified in various respects without departing from the spirit and scope of the present invention. Accordingly, the drawings and description that follow are to be regarded as illustrative in nature, and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
BRIEF DESCRIPTION OF THE DRAWINGS
[0034] The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1 is a diagram of a data communications system capable of supporting voice services, in accordance with an exemplary embodiment of the present invention;
FIG. 2 is a diagram of functional elements involved in establishing a session among parties according to an exemplary embodiment of the present invention;
FIG. 3 is a call flow diagram describing how messaging typically occurs to establish a session when a destination party may have multiple contacts;
FIG. 4 is a schematic depicting an example nesting of contacts for a destination party;
FIG. S is a diagram of a typical SIP multiple choices message in accordance with the prior art;
FIG. 6 is a block diagram of functional elements involved in session initiation in accordance with a preferred exemplary embodiment of the present invention;
FIG. 7 is diagram of a SIP multiple choices message in accordance with a preferred exemplary embodiment of the present invention;
FIG. S is a diagram of an SIP INVITE message in accordance with a preferred exemplary embodiment of the present invention;
FIG. 9A-9B is a flowchart of a process for handling session requests as performed by a location server in accordance with a preferred exemplary embodiment of the present invention;
FIG. 10 is a flowchart of a process for handling session requests as performed by a proxy server in accordance with a preferred exemplary embodiment of the present invention;
FIG. 11 is a flowchart of a process in a communications system for obtaining and trying multiple contacts in subsets in accordance with a preferred exemplary embodiment of the present invention; and FIG. 12 is a diagram of a computer system that can be used to implement an embodiment of the present invention.
DETAILED DESCRIPTION
FIG. 1 is a diagram of a data communications system capable of supporting voice services, in accordance with an exemplary embodiment of the present invention;
FIG. 2 is a diagram of functional elements involved in establishing a session among parties according to an exemplary embodiment of the present invention;
FIG. 3 is a call flow diagram describing how messaging typically occurs to establish a session when a destination party may have multiple contacts;
FIG. 4 is a schematic depicting an example nesting of contacts for a destination party;
FIG. S is a diagram of a typical SIP multiple choices message in accordance with the prior art;
FIG. 6 is a block diagram of functional elements involved in session initiation in accordance with a preferred exemplary embodiment of the present invention;
FIG. 7 is diagram of a SIP multiple choices message in accordance with a preferred exemplary embodiment of the present invention;
FIG. S is a diagram of an SIP INVITE message in accordance with a preferred exemplary embodiment of the present invention;
FIG. 9A-9B is a flowchart of a process for handling session requests as performed by a location server in accordance with a preferred exemplary embodiment of the present invention;
FIG. 10 is a flowchart of a process for handling session requests as performed by a proxy server in accordance with a preferred exemplary embodiment of the present invention;
FIG. 11 is a flowchart of a process in a communications system for obtaining and trying multiple contacts in subsets in accordance with a preferred exemplary embodiment of the present invention; and FIG. 12 is a diagram of a computer system that can be used to implement an embodiment of the present invention.
DETAILED DESCRIPTION
[0035] In the following description, well-known structures and devices may be shown in block diagram form or otherwise summarized in order to avoid unnecessarily obscuring the present invention. For the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It should be understood however that the present invention may be practiced in a variety of ways beyond these specific details.
[0036] For example, although the present invention is discussed in the context of the Session Initiation Protocol (SIP) and an Internet Protocol (IP)-based network, one of ordinary skill in the art will recognize that the present invention may be generally applicable to other equivalent or analogous communication protocols or communications networks.
[0037] It should be understood throughout this disclosure that, although SIP-type messages are shown for convenience, any type of protocol or a mixture of such protocols may be applied in various parts of the overall system. In particular, the routing requests and responses between the proxy server and location server may strictly or loosely conform to SIP or some other standardized protocol, or rnay be proprietary in nature.
[0038] FIG. 1 shows a diagram of a data communications system capable of supporting voice services, in accordance with an exemplary embodiment of the present invention.
The communication system 100 includes a packet data transport network 101, which in an exemplary embodiment is an Internet Protocol (IP) based network. System 100 provides the ability to establish communications among various terminal equipment coupled thereto, such as telephone 125, PBX phone 11 ~ and SIP phone 109. In practice, there may be thousands or millions of such terminal devices served by one or more systems 100.
The communication system 100 includes a packet data transport network 101, which in an exemplary embodiment is an Internet Protocol (IP) based network. System 100 provides the ability to establish communications among various terminal equipment coupled thereto, such as telephone 125, PBX phone 11 ~ and SIP phone 109. In practice, there may be thousands or millions of such terminal devices served by one or more systems 100.
[0039] As used herein, the term "SIP phone" refers to any client (e.g., a personal computer, a web-appliance, etc.) that is configured to provide SIP phone functionalities.
The SIP phones 109 may take the form of standalone devices - e.g., a SIP phone may be designed and configured to function and appear like a Plain Old Telephone Service (POTS) telephone station. A SIP client 111, however, is a software client and may that run, for example, on a conventional personal computer (PC) or laptop computer. From a signaling perspective, these devices 109, 111 may operate quite similarly, with the main differences relating to the user interface. Unless otherwise stated, it is recognized that the functionalities of both the SIP phones 109 and the SIP client 111 are comparable and that the network operates similarly with either type of device.
The SIP phones 109 may take the form of standalone devices - e.g., a SIP phone may be designed and configured to function and appear like a Plain Old Telephone Service (POTS) telephone station. A SIP client 111, however, is a software client and may that run, for example, on a conventional personal computer (PC) or laptop computer. From a signaling perspective, these devices 109, 111 may operate quite similarly, with the main differences relating to the user interface. Unless otherwise stated, it is recognized that the functionalities of both the SIP phones 109 and the SIP client 111 are comparable and that the network operates similarly with either type of device.
[0040] The system 100 provides a number of elements to support the voice services, including an enterprise gateway 103, a Dedicated Access Line (DAL) gateway 105, a network gateway 107 and SIP conferencing platform 127. In particular, system 100 comprises the important elements of a proxy server 113 (also known as a network server (NS)) and a location server (LS) 115.
Location server 115 serves as a repository for end user information to enable address validation, feature status, and real-time subscriber feature configuration. Additionally, LS 115 may store configuration information.
Location server 115 serves as a repository for end user information to enable address validation, feature status, and real-time subscriber feature configuration. Additionally, LS 115 may store configuration information.
[0041] For the purposes of explanation, the capabilities of system 100 are described with respect to large enterprise users. It is noted that the featurelfunctionality of system 100 may be applicable to a variety of user types and communications needs. System 100 is able to support customers that maintain multiple locations with voice and data requirements.
(0042] As shown, enterprise gateway 103 provides connectivity from a PBX 117, which contains trunks or lines often for a single business customer or location (e.g., PBX phones 118).
Signaling for calls from PBX 117 into the IP network comprises information which uniquely identifies~the customer, trunk group, or carrier. This allows private numbers to be interpreted in their correct context. To interface to PBX 117, enterprise gateway 103 may use Integrated Digital Services Network (ISDN), Circuit Associated Signaling (CAS), or other PBX interfaces (e.g., European~Telecommunications Standards Institute (ETSI) PRI, R2).
Signaling for calls from PBX 117 into the IP network comprises information which uniquely identifies~the customer, trunk group, or carrier. This allows private numbers to be interpreted in their correct context. To interface to PBX 117, enterprise gateway 103 may use Integrated Digital Services Network (ISDN), Circuit Associated Signaling (CAS), or other PBX interfaces (e.g., European~Telecommunications Standards Institute (ETSI) PRI, R2).
(0043] The Dedicated Access.L,ine (DAL) gateway 105 is employed in system 100 to allow virtual private network (VPN) customers to be able to access their service even from a conventional telephone not served by the VPN.
[0044] Through system 100, corilmunications may be established among the voice stations 125 that are serviced through the PSTN 123 and personal computers (e.g., PC 111) that are attached to packet data network 1 O1. .
[0045] Keeping in mind the similar nature of PC soft clients and standalone IP
telephones, it maybe said that four possible scenarios exist with the placement of a voice over IP call: (1) phone-to-phone, (2) phone-to-PC, (3) PC-to-phone, and (4) PC-to-PC. In the first scenario of phone-to-phone call establishment, a call from the phone 125 is switched through PSTN 123 by a switch to the network gateway 107, which forwards the call through the IP
backbone network 101. The packetized voice call is then routed through network 101, perhaps to another similar network gateway 107, to be at another PSTN phone (not shown). Under the second scenario, the phone 125 places a call to a PC through a switch to the PSTN 123. This voice call is then switched by the PSTN 123 to the SIP network gateway 107, which forwards the voice call to a PC 111 via the network 101. The third scenario involves a PC 111 that places a call to a voice station (e.g., phone 125). Using a voice encoder, the PC 111 introduces a stream of voice packets into the network 101 that are destined for the SIP network gateway 107. The SIP
network gateway 107 converts the packetized voice information into a POTS
electrical signal, which is circuit switched to the voice station (e.g., phone 125). Lastly, in the fourth scenario, a PC 111 establishes a voice call with another PC (not shown); in this case, packetized voice data is transmitted from the PC 111 via the network 101 to the other PC (not shown), where the packetized voice data is decoded.
telephones, it maybe said that four possible scenarios exist with the placement of a voice over IP call: (1) phone-to-phone, (2) phone-to-PC, (3) PC-to-phone, and (4) PC-to-PC. In the first scenario of phone-to-phone call establishment, a call from the phone 125 is switched through PSTN 123 by a switch to the network gateway 107, which forwards the call through the IP
backbone network 101. The packetized voice call is then routed through network 101, perhaps to another similar network gateway 107, to be at another PSTN phone (not shown). Under the second scenario, the phone 125 places a call to a PC through a switch to the PSTN 123. This voice call is then switched by the PSTN 123 to the SIP network gateway 107, which forwards the voice call to a PC 111 via the network 101. The third scenario involves a PC 111 that places a call to a voice station (e.g., phone 125). Using a voice encoder, the PC 111 introduces a stream of voice packets into the network 101 that are destined for the SIP network gateway 107. The SIP
network gateway 107 converts the packetized voice information into a POTS
electrical signal, which is circuit switched to the voice station (e.g., phone 125). Lastly, in the fourth scenario, a PC 111 establishes a voice call with another PC (not shown); in this case, packetized voice data is transmitted from the PC 111 via the network 101 to the other PC (not shown), where the packetized voice data is decoded.
[0046] As mentioned, system 100 may employ SIP to exchange session setup messages.
Another popular session establishment protocol is referred to as the H.323 protocol, although it is actually a set of related protocols promulgated by the International Telecommunication Union (ITU) for accomplishing multimedia communication. SIP is an alternative standard that has been developed by the Internet Engineering Task Force (IETF). SIP is a signaling protocol that is based on a client-server model, generally meaning that clients invoke required services by messaging requests to servers that can provide the services. Similar to other IETF protocols (e.g., the simple mail transfer protocol (SMTP) and Hypertext Transfer Protocol' (HTTP)), SIP is a textual, humanly readable protocol.
Another popular session establishment protocol is referred to as the H.323 protocol, although it is actually a set of related protocols promulgated by the International Telecommunication Union (ITU) for accomplishing multimedia communication. SIP is an alternative standard that has been developed by the Internet Engineering Task Force (IETF). SIP is a signaling protocol that is based on a client-server model, generally meaning that clients invoke required services by messaging requests to servers that can provide the services. Similar to other IETF protocols (e.g., the simple mail transfer protocol (SMTP) and Hypertext Transfer Protocol' (HTTP)), SIP is a textual, humanly readable protocol.
(0047] It may be noted that neither the H.323 or SIP protocols are limited to 1P telephony applications, but have applicability to multimedia services in general. In one embodiment of the present invention, SIP is used to establish telephone calls and other types of sessions through system 100. However, it will be apparent to those of ordinary skill in the art that the H.323 protocol (with some modifications or extensions) or other similar protocols could be utilized .
instead of SIP. Separate from SIP, but often used in conjunction with SIP, is the Session Description Protocol (SDP), which provides information about media streams in the multimedia sessions to permit the recipients of the session description to participate in the session.
instead of SIP. Separate from SIP, but often used in conjunction with SIP, is the Session Description Protocol (SDP), which provides information about media streams in the multimedia sessions to permit the recipients of the session description to participate in the session.
[0048] The Internet Engineering Task Force's SIP protocol defines numerous types of requests, which are also referred to as methods. An important method is the.
INVITE method, which invites a user to a conference. Another method is the BYE request, which indicates that the call may be released. In other words, BYE terminates a connection between two users or parties in a conference. Another method is the OPTIONS method. This method solicits information about capabilities without necessarily establishing a call. The REGISTER method may used to provide information to a SIP server about a user's present location.
INVITE method, which invites a user to a conference. Another method is the BYE request, which indicates that the call may be released. In other words, BYE terminates a connection between two users or parties in a conference. Another method is the OPTIONS method. This method solicits information about capabilities without necessarily establishing a call. The REGISTER method may used to provide information to a SIP server about a user's present location.
[0049] Details regarding SIP and its call control services are described in IETF RFC 2543 and IETF Internet Draft "SIP Call Control Services", June 17, 1999; both of these documents are incorporated herein by reference in their entireties.
[0050] Transmission of SIP messages can take place in an IP network through the well known User Datagram Protocol(UDP) or through the more reliable Transaction Control Protocol (TCP) Whereas SIP, H.323, or other protocols may be used to establish sessions through a data network, the actual media or "traffic" that is to be communicated among users may take place according to the well known Real-time Transport Protocol(RTP) as described in the IETF
document RFC 1889.
document RFC 1889.
[0051] It is likely, though not essential, that all of the call control signaling (SIP, H.323), media traffic(RTP/RTCP) and network management and provisioning will be communicated through common transport network 101. Thus, in FIG. 1, all of the elements appear in a hub arrangment around transport network 101.
[0052] In the traditional telephone network, calls are directed to specific locations ~or terminal devices uniquely identified by the called telephone number. In contrast, system 100 enables the caller to specify a called party to be reached independent of any particular location or terminal.
(0053] The user may move from one terminal to another and, at each terminal, may register as being present so that inbound calls are directed to the most recently registered location.
Furthermore, a user may have both personal and group-wise profile settings ,that affect the activation of features, such as call blocking, even as a function of the time of day.
Furthermore, a user may have both personal and group-wise profile settings ,that affect the activation of features, such as call blocking, even as a function of the time of day.
[0054] Because of the dynamic nature of user location and of call handling features, each request to establish a session is first routed to a proxy server so that user permissions may be' verified, destination addresses may be found, and special features related to a user or a business may be applied to the call. Requests are serviced internally or by passing them on, possibly after translation, to other servers. A proxy interprets, and, if necessary, rewrites a request message before forwarding it.
[0055] In general, location server 115 accepts a routing request, such as from a proxy server, and determines addresses or "contacts" corresponding to the destination party expressed in the routing request. In response to the request, the location server may return a redirect response comprising contact information for the party. It is noted that messaging between NS 113 and LS
115 may use a modified version of SIP. For example, SIP acknowledge messages may be unnecessary between NS 113 and LS 115. Otherwise, messaging among network functions, such as NS 113 and LS 115, may use standard SIP or even non-SIP alternatives.
115 may use a modified version of SIP. For example, SIP acknowledge messages may be unnecessary between NS 113 and LS 115. Otherwise, messaging among network functions, such as NS 113 and LS 115, may use standard SIP or even non-SIP alternatives.
[0056] System 100 further includes an Operational Support Systems (OSS) 121 to provide provisioning, billing, and network management capabilities. OSS 1'21 may provide an environment or an interface, such as a web-based interface, for provisioning many aspects of dialing plans, user permissions and how features operate on behalf of each user. Many of these aspects are configured via OSS 121 by changing information within location servers or databases within system 100. Some specific features that may be configured by OSS 121 include legacy Centrex features such as Unconditional Call Forwarding, Conditional Call Forwarding, CaII
Blocking and Call Screening.
Blocking and Call Screening.
[0057] One feature that may be configured involves the so-called "Find-Me"
service. A Find-Me schedule provides a mechanism to route calls using a list of possible destinations, wherein each destination is tried in turn. A Find-Me list may be specified to apply during a time-of day or day-of week or may be associated with different categories of calling numbers. Furthermore, a default Find-Me list might be provisioned to determine general handling when the more specific Find-Me lists are not in effect.
service. A Find-Me schedule provides a mechanism to route calls using a list of possible destinations, wherein each destination is tried in turn. A Find-Me list may be specified to apply during a time-of day or day-of week or may be associated with different categories of calling numbers. Furthermore, a default Find-Me list might be provisioned to determine general handling when the more specific Find-Me lists are not in effect.
[0058] The possible destinations in a Find-Me list can be specific addresses associated with an account's profile. For instance, a specific cell-phone number or wire-line phone number can be a possible destination address. Furthermore, as a user registers their presence at a terminal, such as a SIP phone, the address of the terminal may be temporarily added to the Find-Me list.
[0059) For a SIP phone profile, the Find-Me list can contain specific destination addresses provisioned in the user profile, and/or a reference to current registered addresses. For a traditional phone behind an enterprise gateway profile, the Find-Me list can contain specific destination addresses provisioned in the user profile and/or a reference to the user's PBX-phone.
The Find-Me list feature can be enabled for a user during account creation and then updated by the user. Entries made to the Find-Me list may be verified against the Feature Blocking List for the subscriber's dial plan. The user profile has a link to update the Find-Me list. Specifically, the system 100 allows the user to Create, Read, Update, and Delete an inventory of potential devices, which can be used for populating Find-Me listings.
The Find-Me list feature can be enabled for a user during account creation and then updated by the user. Entries made to the Find-Me list may be verified against the Feature Blocking List for the subscriber's dial plan. The user profile has a link to update the Find-Me list. Specifically, the system 100 allows the user to Create, Read, Update, and Delete an inventory of potential devices, which can be used for populating Find-Me listings.
[0060] SIP phones T09 allow users to register and de-register, or login and logout, from the phone. In an exemplary embodiment, to provide mobility, SIP phones 109 permit usernames and passwords to be entered for visitors. Logging in allows the SIP phone to assume the profile of the visitor. By logging in, incoming calls to the visitor's profile are directed to the phone. When a visitor logs in, SIP phones 109 register the visitor with the Network Server 113 and Location Server 115. Any incoming call to any of the profiles registered by the phone can be directed to the phone. Network Server 113 and Location Server 115 may respond similarly to both situations where a user is logged in as a visitor or where the user is logged in to their usual home device, if there is one. The Network Server 113 and Location Server 115 logic may rely upon the user name delivered as a result of the proxy authorization challenge. , [0061] With respect to E.164 and DNS addressing, SIP phones 109 may support ENUM
(Electronic Number) service, which is be used to route calls that originate in the IP domain or with ENUM-enabled networks. ENUM service is detailed in IETF RFC 2916, entitled "ENUM", which is incorporated herein by reference in its entirety. The SIP
phones 109 may also support LINCP for client-based directory lookup.
(Electronic Number) service, which is be used to route calls that originate in the IP domain or with ENUM-enabled networks. ENUM service is detailed in IETF RFC 2916, entitled "ENUM", which is incorporated herein by reference in its entirety. The SIP
phones 109 may also support LINCP for client-based directory lookup.
[0062] A "Do Not Disturb" feature may be available at a terminal so that incoming calls are declined and, in the case of telephones and pagers for example, no ringing occurs to disturb users nearby. ,When "Do Not Disturb" is invoked on a SIP phone 109, the SIP phone 109 returns a Busy message if contacted by NS 113. For example, the phone returns a busy signal instead of ringing when an incoming call arrives. When the SIP phone 109 returns a "486 Busy" message, the Network Server 113 and Location Server 115 can make intelligent routing decisions based on a user profile, such as whether a Call Forwarding On Busy feature has been provisioned.
[0063] FIG. 2 is a diagram depicting the typical interaction of basic elements according to the prior art to perform a session setup by using the SIP protocol. Communications among these elements will typically take place through a common packet data network such as IP network 101 in FIG. 1.
.[0064] In FIG. 2, User A 210 desires to establish communications with User B
220. User B
220 rnay be reachable at any one of several addresses. These addresses or contacts may correspond to conventional telephones, IP phones, wireless phones, pagers, etc. The list of addresses may even be changing as User B moves about and registers as being present at various terminal devices 222. The current information about User B's contact information is typically maintained in location server 240 or in a presence registry of some type not shown here.
[0065] To initiate contact, User A 210 accesses a terminal, calling station 212, and specifies User B as the destination to be reached. This expression of the specific desired destination may take the form of dialing of digits or of selecting a user name or URL-style address from a list. In some cases, User A may also be able to express what type of session is desired (video, high quality, messaging,etc.) or specify a desired quality level for the session.
Once the request is specified at station 212, a SIP "INVITE" message describing the request is composed and sent to proxy server 230.
[0066] Proxy server 230 typically forwards a request to location server 240 to retrieve one or more contacts at which User B might be reached. As described earlier, proxy server 230 consults location server 240 for a variety of purposes, such as invoking profile-controlled feature behavior and obtaining the latest known location information pertaining to User B.
[0067] Location server 240 analyzes the request and responds to proxy server 230 in one of several possible ways. Location server 240 may disallow the session if User A
is not permitted to contact User B, if User B's address cannot be recognized, or if User B has a feature activated that renders User B unreachable by User A. Location server 240 may respond to proxy server 230 that User A must authenticate themselves to the system before the session can be established.
[0068] Location server 240 may determine that User A is allowed, to contact User B and may even find multiple addresses at which User B may be reachable. If this is the case, location server 240 returns a SIP "300 Multiple Choices" message containing a list of the contacts to be tried.
[0069] Upon receiving such a response, proxy server 230 then commences trying the contacts to see if User B can successfully be reached at any of the corresponding terminals 222. This "Find-Me" functionality is usually carried out in sequence starting with the most recent registered location or following a specific order as provisioned for User B
(phone then pager). In some configurations, it is conceivable that proxy server 230 may attempt all.contacts in parallel.
An attempt to establish contact with a terminal 222 involves sending a SIP
"INVITE" to the terminal and waiting for a reply indicative of success or failure. This pr~cess is described in greater detail in FIG. 3.
(0070] FIG. 3 is call flow diagram depicting the typical sequence of messaging that occurs among various elements to establish a session using the SIP protocol, although other protocols could be used. In this example, the station associated with User A is denoted "User A."
However, because User B may be associated with any number of devices (or clients) under the Find-Me feature, these devices are referred to as "Terminal 1 ", "Terminal 2", and "Terminal 3."
It is noted that, in general, any number of terminations (i.e., destination clients) may be specified in the Find-Me list of User B. Under this scenario, it is assumed that User B
is eventually reached via Terminal 3. . Each terminal device User A and Terminals l, 2, and 3 can be a SIP
phone or other type of phone and may be coupled through an enterprise gateway or a network gateway 107 or the like. User B has a Find Me feature as part of their profile, resulting in multiple contacts to be tried. Based on this, NS 1 responds to User A's request to reach User B
by sending INVITE messages first to Terminal 1, then Terminal 2, then Terminal 3, where the call finally completes. In this example, Terminals 1, 2 and 3 are assumed to be SIP phones.
Each instance of a message being sent from one element to another will be referred to as a step, as in a process or sequence.
[0071] In step 301, a SIP "INVITE" message indicating User A's intent to reach User B is sent from User A's terminal to the proxy, NS 1. In step 303, the proxy responds with a SIP "407 Authorization Required" message to challenge the authenticity of User A before honoring any requests. To provide closure on this initial exchange, User A sends back a SIP
acknowledgement message to the proxy in step 305.
[0072] User A subsequently repeats the INVITE request in step 307, but this time includes an authentication header in response to the challenge of step 303. If the authentication of User A is satisfactory, then, in step 309, the INVITE is forwarded to the location server. The location server begins examining the request and determining whether User B has a profile and what features are currently active. In the meantime, a "100 Trying" provisional response is sent back l~
to the User A terminal as a call progress indicator of sorts. Soon thereafter, the location server responds in step 313 with a SIP "300 Multiple Choices" message indicating that it has found the Find-Me list for User B. This response comprises a list of contacts at which communication with User B should be attempted, in this case Terminals 1, 2 and 3.
[0073] The proxy NS 1 then begins trying the contacts sequentially. In step 315, NS 1 sends an INVITE message to Terminal 1, whereupon Terminal 1 responds in step 617 with a "404 Not Found" message. This indicates that User B will not be reachable at Terminal 1. NS 1 acknowledges the "404" message by sending back an "ACK" message in step 319.
Without this 'acknowledgement, Terminal 1 would repeat the "404" response at intervals to make sure its response had been received.
[0074] In step 321, proxy NS 1 attempts contact via Terminal 2 by sending an INVITE
message. In step 323, Terminal 2 sends back a "180 Ringing" provisional response as a progress indicator telling the calling party that the terminal is ringing (telephone) or otherwise alerting users in the vicinity of ari incoming call. In step 325, this ringing message is passed from the proxy to the User A terminal. Eventually, after Terminal 2 has been ringing for awhile without being answered, a timeout is declared and NS 1 issues a "CANCEL" message in step 327 so that Terminal 2 will stop ringing.
[0075] Proxy NS 1 then tries to reach User B via Terminal 3 and sends an INVITE message to Terminal 3 in step 327. While this new contact is being started, Terminal 2 happens to respond to the earlier "CANCEL" by sending back a "200 OK" message in step 331.
Terminal 2 then sends a "487 Request Cancelled" message in step 333 to indicate its understanding of the recent cancellation. Proxy NS 1 terminates the transaction with Terminal 2 by sending an "ACK" in step 335 confirming that the call attempt to Terminal 2 is cancelled.
[0076] In step 337, Terminal 3 sends back a "180 Ringing" response, which is repeated back to User A in step 339. In step 641, Terminal 3 sends a "200 OK" message indicating that the call has been accepted at this terminal. The "200 OK" is sent back to the User A
terminal as well in step 343. Acknowledgement of the viable connection is returned in steps 345 and 347. At this point, User A's terminal and Terminal 3 are now mutually aware of each other's addresses and a two-way RTP media connection may be established through the network between User A and User B.
[0077] To afford an understanding of the present invention and an appreciation of its advantages, FIG 4. depicts a situation that is both enabled and properly handled in accordance with a preferred embodiment of the present invention.
[0078] In FIG. 4, an INVITE message 402 identifying User B is received by a location server.
After perhaps verifying the validity of other aspects of the request, the location server determines a first contact list 410 pertaining to User B at the time of the request.
Among the first list of contacts 410; one or more of the contacts may in fact represent other accounts having profiles accessible by the location sewer. For example; as shown in Fig. 4, contact A2 in the first contact list 410 may have a profile that in turn specifies a second contact list 420.
It is conceivable that a first contact list might comprise some number of contacts, each of which might have a profile specifying a further list of contacts. This effect may continue to any depth.
It may be readily demonstrated that a very large number of contacts may follow from a single inquiry. The calculation of all of these contacts may be burdensome for a location server and yet may be largely unnecessary if the called party is reachable within the first few contacts attempted. The present invention seeks to improve scalability and efficiency by lessening this burden on the location server.
[0079] FIG. 5 depicts a typical redirect response message 500 as might be returned by a location server in the situation set forth in FIG. 4. For convenience, message 500 is shown to be patterned after a SIP "300 Multiple Choices" message, although other formats may be used.
Message 500 is identified as a "multiple choices" response by virtue of the first header line 502.
The path that message 500 has traversed in going from an originating terminal to a proxy server is reflected in the set of "Via" address lines 504. This "via stack" aspect of SIP is useful for routing messages among proxy servers, location servers, terminals and other SIP-conversant elements involved in setting up the ession. Other typical header information relating to the call is provided in header section 506 and is usually copied from the original INVITE message sent by the originating terminal. Contact section 508 comprises the list of contacts that location server has determined for User B. In reponse to message 500 a proxy server will consult contact section 508 and begin sending INVITE messages to each contact in the list. It should be observed that message 500 is representative of the situation wherein all of the possible contacts for User B have been calculated and returned in a single message.
[0080] FIG. 6 is a schematic of interaction among elements to establish a session in accordance with a preferred exemplary embodiment of the present invention. As in the previous scenarios, a User A 610 desires to establish a session with a User B 620 who may be at one of several different contacts. Note that, in this example, contacts 622 are consistent with the situation depicted in FIG. 4. .
[0081] User A originates the session request using terminal 612, which then assembles a SIP
INVITE message indicating the intent to reach User B. Along message path 650, terminal 612 sends the INVITE message to a SIP proxy server, network server(NS) 630a. To obtain information on where User B may be contacted, NS 630a sends a routing request to a location server, represented by location server (LS) 640, as indicated by message path 651. This routing request may optionally take the form of a SIP INVITE message. After processing the routing request, LS 640 responds to NS 630a along message path 652. For purposes of illustration this response is assumed to resemble the SIP "300 Multiple Choices" message depicted in Fig 7.
[0082] Turning briefly to FIG. 7, SIP message 700 is representative of a response from a location server in accordance with an exemplary embodiment of the present invention. SIP-message 700 is identified as "multiple choices" response by header 702. As described before, the set of "via" headers 704 are used for routing of SIP messages among SIP
elements such as NS 630a and LS 640. Section 706 of message 700 comprises information identifying the call and the parties to be involved in the session.
[0083] Sections 702, 704 and 706 are comparable to the prior art SIP message shown in FIG.
5. However, contact section 708 is significantly different than section 508 of Fig. 5. In section 708, the contact list is noticeably shorter than section 508, even though the call circumstances are equivalent. Moreover, each contact listed in section 708 further comprises an added parameter not found among the contacts in section 508. Specifically, some contacts have a "final=yes"
parameter 714. In accordance with a preferred embodiment of the present invention, these correspond to contact addresses for which no further location server look-up is necessary. In other words, these are addresses that do not have profiles that could result in further addresses.
One entry in contact section 708 has a "final=no" parameter 710 along with context info parameter 712. In accordance with a preferred embodiment, this parameter indicates that the contact may have a corresponding profile that could elicit further contact addresses, although these further addresses have not yet been explored. Contact list section 708 may be compared to the situation of FIG. 4 to clearly show why the initial response from LS 640 indicates contact A2 as being "non-final".
[0084] For a clear understanding of how NS 630a responds to these parameters or "flags" in the contact list, it is useful to now resume the explanation of Fig 6. Upon receiving the "multiple choices" response from LS 640, NS 630a begins the sequence of messaging to each contact in the contact list provided by LS 640. As seen in message 700, the first contact Al has a "final=yes" parameter indicating that no further address look-up is required.
Accordingly, NS
630a simply sends an INVITE message along message path 653 directly to a terminal 622 corresponding to contact A1. This activity is similar to the customary way in which a proxy attempts to reach a destination.
[0085] It is possible that terminal 622 may return a "404 Not Found" message as a final response, indicating that User B will definitely not be reachable at the contact. . Alternatively, terminal 622 may return a provisional response along message path 654, such as a "180 Ringing"
message to indicate that the terminal is trying to summon someone to answer the call.
[0086] If User B is successfully reached at contact A1, then terminal 622a returns a "200 OK"
message whereupon User A and User B establish a media connection with each other and the session is successfully started. Response messages from terminal A1 may be returned to originating terminal 612 along message path 659.
[0087] If User B is not reached at contact Al, then NS 630a proceeds to contact A2 listed in section 708. Contact A2 bears a "final=no" parameter 710, representing the possible existence of a secondary list of addresses such as contact list 420. In accordance with a preferred embodiment of the present invention, NS 630a sends an INVITE message to itself rather than to a terminal contact. This behavior is depicted in FIG. 6 by the presence of NS
630b. NS 630b is actually the same proxy server as NS630a, although it is likely be a different instance of the proxying process in the processing environment of the server. Showing NS 630a and NS 630b separately is helpful for illustrating the messaging behavior. Upon reaching the non-final A2 contact, the proxy server sends an INVITE message to itself along message path 655. An example of this INVITE message is shown as message 800 in FIG 8. In accordance with a preferred exemplary embodiment, the Request-URI portion 802 of message 800 carries additional information copied directly from the A2 contact list entry seen in message 700. The significance of this added information will become more apparent in later description.
[0088) Upon receipt of the INVITE message from NS 630a~ NS 630b is instantiated just as if a new INVITE message had been received from an originator. The self addressed INVITE
message along path 655 is handled as any other incoming INVITE message.
Accordingly, NS
630b sends a routing request along message path 656 to LS 640 to seek contact information for the addressee, in this case contact A2. It is at this time that LS 640 "expands" the single A2 contact into the longer list of contacts comprising contacts B 1 through B4.
LS 640 returns this list in a response to NS 630b along message path 657. NS 630b then attempts to contact User B
at these locations B I - B4. For example, NS 630b first sends an INVITE
message to terminal B I
along message path 658. The responses from each contact attempt are returned to the proxy and the originator through message paths 660, 661 and 659. This return messaging behavior is part of the SIP mechanism.
[0089] If none of contacts B1-B4 are successful, then NS 630a continues with addresses A3 and A4. In the present example, NS 630b is only engaged for exploring the additional addresses associated with contact A2. Contacts A1, A3 and A4 are merely~carried out directly by NS630a in the usual manner without the creation or utilization of NS 630b.
[0090] Notice also that, in this scenario, if User B were to be successfully reached at contact Al, then all of the following activities would be obviated, thereby reducing the burden upon LS
640:
1) Address lookup of contacts Bl-B4 based on the profile of contact A2 2) Other feature invocations related to the A2 profile 3) Use of second NS 630b 4) Messaging along paths 655,656,657,661.
[0091] In the example scenario shown, the retrieval of an initial set of addresses along paths 651 and 652 would take place exactly once in accordance with an exemplary embodiment, resulting in the contact list of message 700 being returned to NS 630a. (Other preparatory messaging among the NS and LS might occur during authentication of User A, for example.) [0092] In the example scenario shown, messaging along paths 655, 656 and 657 would occur only once resulting in the list of Bl-B4 contacts being returned to NS 630b, and even then only after contact Al proved unsuccessful. NS 630b would then send an INVITE to each of the four contacts B 1-B4.
[0093] To generalize beyond the specific scenario, the "messaging to self "
represented by NS
630b and message paths 655, 654, 657, and 669, would be repeated once for each non-final contact listed in the redirect response returned along message path 652.
[0094] Furthermore, it is possible that one or more of the second tier contacts, such as contacts Bl-B4 might also have a profle that yields further addresses. If this is.encountered, an additional level of nesting occurs and the proxy server again sends an INVITE
message to itself.
As can be envisioned upon FIG. 6, this would amount to the instantiation of a third NS receiving INVITE messaging from second NS 630b.
[0095] Further description is now provided to reinforce the understanding of the above "
processes as well as to describe how the context information parameter mentioned thus far enhances the efficiency and robustness of the technique. The description will now focus upon processes performed by a location server and a network server.
[0096] FIG. 9A-B is a flowchart describing a process 900 by which a location server handles inbound routing requests. Other processing, 'such as the processing of other types of messages, may take place in the location server but is not important to an understanding of the present invention. The processing of other types of SIP messages is well understood among those of ordinary skill in the art and is excluded here for the sake of clarity and brevity.
[0097] Process 900 commences with step 902 upon the receipt of an incoming routing request.
Then in step 904, it is determined whether the contact portion, such as the Request-URI portion of an INVITE message, bears a "final =no" parameter similar to parameter 804 in FIG 8. If not, then the routing request is treated as an original request and the process proceeds to step 908 to further analyze the request and the originator. Step 908 may involve the retrieving of information from a database regarding the originator and the intended destination. Such context information may include, for example, a dialing plan identifier so that the origination and destination addresses are interpreted in the proper context.
[0098] A dialing plan ID is a function of a particular enterprise customer having a VPN with its own dialing plan. The dialing plan ID ensures that multiple VPNs can coexist and be adequately differentiated in system 100. For example, an originator dialing extension "2665205"
in a private network belonging to Company A should reach the intended destination within Company A, even if Company B sharing the same system 100 happens to also have a "2665205"
location in its private numbering plan.
[0099] Another example of context information might be a "nature of address"
used to distinguish among, for example, public telephone numbers, private dialing plan numbers, and IP
addresses. Yet another example of context information is a location identifier, which may be a geographical or logical division and may correspond to dialing plan prefixes, for example.
(0100]~ In geileral, context info may be any information about the originator, the destination or the session request that must be looked up or otherwise determined by the location server to ensure proper handling of the request. This context info may comprise a variety and plurality of elements but is summarized herein by the notation "contextinfo=".
(0101] Note that a "final=yes" parameter should never be received by a location server. Upon detecting the "final=yes" parameter, the NS should refrain from re-querying the location server.
Nevertheless, if such a routing request is received, the LS may simply return a response comparable to a SIP "302 Moved Temporarily" message with a single contact comprising the same requested contact provided in the routing request.
(0102] After the additional context information is obtained in step 908, the process continues with step 910 where it is determined whether the originator's request is valid. This determination may be based upon such factors as whether the originator is permitted to contact the destination, whether the originator can be authenticated and whether the destination is recognized by the location server.
[0103] If the request cannot be validated in step 910, then, in step 909, a reject message of some type is returned to the network server in step 909 and the LS processing is concluded in step 916.
Otherwise, if, in step 910, the session request is found to be valid, then processing continues at step 912 to begin the retrieval of contacts at which the destination party may be reached.
[0104] Before describing the processing of step 912 and beyond, it is important to describe the role of step 906 as it relates to the significant efficiencies gained by passing context information with the routing request.
[0105] Returning to decision step 904, if it is determined that the Request-URI of the routing request does have the "final=no" parameter, this signifies that the routing request is a subsequent request stemming from a previous initial request. The presence of the "final=no" parameter indicates an inbound message of the type that NS 630b sends along path 656 in FIG 6.
[0106] Upon recognizing this aspect of the routing request, the location server skips steps 908 and 910 and instead executes step 906 to retrieve the necessary context information from the message itself. Considering that the steps of obtaining context information and validating the originator's request have already been performed in processing an initial routing request, there is no need to have the location server repeat these steps for subsequent requests. Therefore, the context information, once obtained, is appended to the messages between the NS
and LS.
[0107] Message 700, introduced earlier, shows context info parameter 712 provided by the LS
in response to the routing request. Message 800 shows how this informaton is provided back to the location server as context info parameter 804. For subsequent requests, this saves the location server from repeating the steps that first provided the context information. This also saves the location server from maintaining any state information between the time of the initial routing request from NS 630a and a subsequent routing request from NS 630b.
Due to ringing time at each contact, a subsequent routing request may be presented, if at all, several seconds or even a minute later than a corresponding initial request.
[0108] As mentioned earlier, the fact that the subsequent requests are self contained and require no persistence in the location server also lends several advantages in terms of load balancing and failover. Any location server can handle any initial or subsequent request from a network server. Thus, in Fig 9A, step 906 relates to skipping steps 908 and 910 and instead reading 'the previously derived context info values directly from the message header.
[0109] Step 912 is next performed when context information has either been obtained by steps 908 and 910 or been retrieved in step 906. In step 912, it is determined whether the destination specified in the routing request, such as the Request-URI of an INVTTE
message, has a profile.
This profile may have been provisioned through an OSS as described earlier.
This profile may contain a variety of information affecting the handling of inbound calls. For example, a profile might contain a Find-Me list, call blocking or call forwarding information and even time-of day and day of week variable contact information. The profile may also comprise temporarily registered contacts where the destination user has recently indicated presence.
[0110] If such a profile is not found then, in step 914, a response such as a SIP "302" message is returned to the proxy server that sent the routing request, indicating a single contact determined for the destination.
[0111] In some cases, if the contact to the destination is a conventional telephone number, additional steps may be taken to identify a gateway, such as network gateway 107 in FIG l, to which the NS should be redirected. The message returned to the proxy will then contain the address of the gateway. After responding to the NS in step 914, the LS is done processing the routing request received in step 902 and processing concludes in step 916.
[0112] If, in step 912, a profile is found for the destination, then step 918 is executed to apply any feature processing indicated by the profile, including the invocation of a Find-Me list, if applicable. The result of step 918 will often be a list of contacts. It is also possible that step 918 may yield no contacts, especially if feature processing according'to the destination profile specifies the blocking of the originator's call attempt.
[0113] Process 900 then continues in FIG. 9B with step 920. If there are no contacts provided by the execution of step 918, then step 924 is performed to return to the proxy a SIP "403"
message or the like. Processing then terminates in step 940.
[0114] Otherwise, if, in step 920, there are contacts .generated by feature and profile .
processing, then a redirect response, such as a SIP "3XX" message, is created in step 926. The general manner of constructing such a SIP 300-series response is well known in SIP and described in the IETF document RFC 2543. The response at this point may resemble sections 702, 704 and 706 of FIG. 7.
[0115] Next, steps 928 through 936 are performed to append one or more contacts to the redirect response. Step 928 involves selecting one of the contacts. Step 930 is then performed to determine if the contact is of a type that may have a profile. If so, then step 932 is executed wherein a "final=no" parameter as appended to the contact along with the context information that has been previously described. Otherwise,.if, in step 930, the contact is of a type that cannot have a profile, then, in step 933, only a "final=yes" parameter as added to the text of the contact information. An example of a contact type that may be appropriate for a "final=yes"
parameter is a registered address where the destination party has temporarily registered as being present at a particular terminal device. In this case, because the party is only a "visiting" user, it may be inappropriate to invoke the profile of the terminal's regular user, if any.
[0116] Whether step 932 or step 933 is executed, step 934 is executed next to add the selected contact to the contact list of the redirect response. Step 936 is then executed to determine if there are more contacts to be processed. If so, then execution returns to step 928 to repeat steps- 930 through 934 for all of the contacts that were determined in step 9I 8. After all contacts have been so processed, execution proceeds to step 938 whereupon the redirect response is dispatched back to the proxy that sent the routing request in step 902 and processing then concludes with step 940.
[01I7] To complement process 900, FIG. 10 describes a process 1000 by which a proxy server handles INVITE messages and interacts with a location server. Process 1000 begins in step 1002 upon the receipt of an INVITE message from an originating terminal, for example. Then, in step 1004, the proxy sends a corresponding routing request to the location server and waits for a response. When the response is received, step 1006 is executed to determine if the response is a redirect response, such as a SIP 300-series response, indicating the return of contact addresses from the location server. If not, then other processing to handle non-redirect type messages is executed in step 1008 and then the process concludes at step 1032. Step 1008 summarizes the processing of myriad other possible message types, the details of which are reasonably well known and are unimportant to describing the present invention.
[0118] If, in step 1006, the response from the LS is determined to be a redirect response having contact addresses, processing moves to step 1010 to select one of the contacts returned in the message. Then, in step 1012, the selected contact is examined to determine if a "final=no"
parameter appears with the contact address. If so, then step 1016 is executed wherein an INVITE message is sent to the proxy server itself. This message will use the contact line in the redirect response as the requested contact (such as the Request-URI of an INVITE message), including the finality flag and any context information. The reasons and effects of doing this have been fully described earlier. Otherwise, if there is no "final=no" flag found in step 1012, then the proxy simply sends an INVITE message in the usual manner to the contact and waits for a response in step 1020.
[0119] Step 1020 of waiting for and handling 'responses from the contact may involve handling both provisional responses and final responses. For example, the contact may send back a SIP
"180 Ringixig" provisional message which might be passed along back to the network server and originating terminal. The contact may instead or subsequently send a final response indicating either success or failure of the contact to reach the intended party. Step 1020 is intended to encompass all varieties of responses that might be received. Step 1020 involves the appropriate.
handling of a variety of possible responses in a manner that is familiar to, or may be readily envisioned by, those of ordinary skill in session initiation techniques.
[0120] In step 1022, it is determined whether a session has been successfully established using the contact selected in step 1010. If so, then no further contacts need to be tried, so processing terminates in step 1026. Otherwise, if the attempted contact did not result in session establishment, then step 1024 is executed to determine if there are more contacts to be tried. If so, then processing returns to step 1010 to select the next available contact.
Otherwise, if no more contacts are available, then processing of the INVITE message received in step 1002 is concluded in step 1026. .
[0121] To summarize the net interaction of the network server and location server, FIG. 11 is a flowchart of an overall process 1100 for performing recursive querying to establish a session according to an embodiment of the present invention. The process of FIG. 11 also generalizes the present teachings in that a location server may provide subsets of contacts on an as-needed basis rather than providing all contacts at once. The subsets of contacts might be derived from recursion of nested contacts, as shown by example herein, or by iteration through some other arbitrary division of the superset of contacts. Those of ordinary skill will appreciate that many possible arrangements of subsets might be chosen. Those of ordinary skill will also appreciate that context information passed between proxies and location servers may also assist the location server in selecting subsequent batches of contacts to retrieve. For example, the context, info may include a sequence number or a "last contact attempted" to serve as an index for the location server to fetch the next group of contacts for the proxy.
[0122] Process 1100 begins in step 1102 when a user accesses a terminal and initiates a session request to reach another party. Moving to step 1104, the originating terminal sends a session request, such as a SIP INVITE message, to a network server or proxy. In step 1106, the proxy sends a corresponding routing request to a location server. In step 1108, the location server examines the request and, based on user profiles, features and other factors, compiles a list of contact addresses by which the destination party might be reached. In accordance with a preferred embodiment of the present invention, the location server may provide a subset of~
contacts, along with sufficient context information to allow a subsequent re-query of the location server to retrieve further contacts, if and when they are needed.
[0123] In step 1110, the location server returns the set of contacts to the proxy, along with the aforementioned context information. In step 1112, the proxy attempts to reach the destination party using the list of contacts provided in step 1110. In step 1114, it is determined whether any of the contacts successfully reach the destination party, as. evidenced by the return of a SIP "200 OK" message. If so, then processing continues with step 1118 wherein a media session is established between the originating terminal and the successful contact address and process 1100 is concluded in step 1120.
[0124] Returning to step 1114, if it is otherwise determined that none of the contacts provided thus far are successful in reaching the intended party, then, in step 1116, the proxy again consults the location server to obtain a further set of contact addresses. In step 1117, if it is determined, perhaps by the location server, that all contacts have been exhausted, then in step 1122 it is declared that the session cannot be established at the current time.
This,condition may be handled, for example, by indicating to the originating party that the destination cannot be reached. Following whatever action is appropriate in step 1122, process 1100 then terminates in step 1120.
[0125] Returning to step 11 I7, if there are more contacts known to the location server that have not been given to the proxy server, then, in step 1118, the location server~determines a further set of contact addresses to be tried. In doing so, the location server may use context information provided with the request to perhaps avoid redundant efforts or to assist in determining what set of addresses should be returned next.
[0126] Processing then returns to 1110 wherein the location server responds with the further list of contacts. The processing of steps 1110 through 1118 continues until either the destination party is reached or all contacts have been tried without success.
[0I27] FIG. 12 illustrates a computer system 1200 within which an embodiment according to the present invention can be implemented. The computer system 1200 includes a bus 1201 or other communication mechanism for conununicating information, and a processor 1203 coupled to the bus 1201 for processing information. The computer system 1200 also includes main memory 1205, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 1201 for storing information and instructions to be executed by the processor 1203. Main memory 1205 can also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 1203. The computer system 1200 further includes a read only memory (ROM) 1207 or other static storage device coupled to the bus 1201 for storing static information and instructions for the processor 1203. A storage device 1209, such as a magnetic disk or optical disk, is additionally coupled to the bus 1201 for storing information and instructions.
[0128] The computer system 1200 may be coupled via the bus 1201 to a display 1211, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device 1213, such as a keyboard including alphanumeric and other keys, is coupled to the bus 1201 for communicating information and command selections to the processor 1203. Another type of user input device is cursor control 1215, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the processor 1203 and for controlling cursor movement on the display 12I 1.
[0129] According to one embodiment of the invention, the SIP server functionalities (particularly recursive query capability as described in FIG. 9) are provided by the computer system 1200 in response to the processor 1203 executing an arrangement of instructions contained in mains memory 1205. Such instructions can be read into main memory 1205 from another computer-readable medium, such as the storage device 1209. Execution of the arrangement of instructions contained in main memory 1205 causes the processor 1203 to perform the process steps described herein. One or more processors in a mufti-processing arrangement may also be employed to execute the instructions contained in main memory 1205.
In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the present invention.
Thus, embodiments.
of the present invention are not limited to any specific combination of hardware~circuitry and software.
[0130] The computer system 1200 also includes a communication interface 1217 coupled to bus 1201. The communication interface 1217 provides a two-way data communication coupling to a network link 1219 connected to a local network 1221: For example, the communication interface 1217 may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, or a telephone modem to provide a data communication connection to a corresponding type of telephone line. As another example, . .
communication interface 1217 may be a local area network (LAN) card (e.g. for EthernetTM or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 1217 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
Further, the communication interface 1217 can include peripheral interface devices, such as a Universal ' Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although only a single communication interface 1217 is shown, it is recognized that multiple communication interfaces may be employed to communicate with different networks and devices. ' [0131] The network link 1219 typically provides data communication through one or more networks to other data devices. For example, the network link 1219 may provide a connection through local network 1221 to a host computer 1223, which has connectivity to a network 1225 (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the "Internet") or to data equipment operated by service provider. The local network 1221 and network 1225 both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on network link 1219 and through communication interface 121 T, which communicate digital data with computer system 1200, are exemplary forms of carrier waves bearing the information and instructions.
[0132] The computer system 1200 can send messages and receive data, including program code, through the networks, network link 1219, and communication interface 1217. In the Internet example, a server (not shown) might transmit requested code belonging an application program for implementing an embodiment of the present invention through the network 1225, local network 1221 and communication interface 1217. The processor 1204 may execute the transmitted code while being received and/or store the code in storage device 129, or other non-volatile storage for later execution. In this manner, computer system 1200 may obtain application code in the form of a carrier wave.
(0133] The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to the processor 1204 for execution.
Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 1209. Volatile media include dynamic memory, such as main memory 1205.
Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1201. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as. those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
[0134] Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the present invention may initially be'borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistance (PDA) and a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory may optionally be stored on storage device either before or after execution by processor. .
[0135] While the present invention has been described in connection with a number of embodiments and implementations, the present invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims.
REFERENCES
[1] Handley, et al., "SIP: Session Initiation Protocol", IETF RFC 2543, 1999.
[2] Handley, et al., "RFC 2543bis", IETF Internet-Draft, Work in Progress.
[3] Sparks, R., "SIP Call Control: REFER", IETF Internet-Draft, Work in Progress.
[4] Johnston, et al., "SIP Telephony Call Flow Examples", IETF Internet-Draft, Work in Progress.
[5] Johnston, et al., "SIP Service Examples", IETF Internet 127-Draft, Work in Progress.
.[0064] In FIG. 2, User A 210 desires to establish communications with User B
220. User B
220 rnay be reachable at any one of several addresses. These addresses or contacts may correspond to conventional telephones, IP phones, wireless phones, pagers, etc. The list of addresses may even be changing as User B moves about and registers as being present at various terminal devices 222. The current information about User B's contact information is typically maintained in location server 240 or in a presence registry of some type not shown here.
[0065] To initiate contact, User A 210 accesses a terminal, calling station 212, and specifies User B as the destination to be reached. This expression of the specific desired destination may take the form of dialing of digits or of selecting a user name or URL-style address from a list. In some cases, User A may also be able to express what type of session is desired (video, high quality, messaging,etc.) or specify a desired quality level for the session.
Once the request is specified at station 212, a SIP "INVITE" message describing the request is composed and sent to proxy server 230.
[0066] Proxy server 230 typically forwards a request to location server 240 to retrieve one or more contacts at which User B might be reached. As described earlier, proxy server 230 consults location server 240 for a variety of purposes, such as invoking profile-controlled feature behavior and obtaining the latest known location information pertaining to User B.
[0067] Location server 240 analyzes the request and responds to proxy server 230 in one of several possible ways. Location server 240 may disallow the session if User A
is not permitted to contact User B, if User B's address cannot be recognized, or if User B has a feature activated that renders User B unreachable by User A. Location server 240 may respond to proxy server 230 that User A must authenticate themselves to the system before the session can be established.
[0068] Location server 240 may determine that User A is allowed, to contact User B and may even find multiple addresses at which User B may be reachable. If this is the case, location server 240 returns a SIP "300 Multiple Choices" message containing a list of the contacts to be tried.
[0069] Upon receiving such a response, proxy server 230 then commences trying the contacts to see if User B can successfully be reached at any of the corresponding terminals 222. This "Find-Me" functionality is usually carried out in sequence starting with the most recent registered location or following a specific order as provisioned for User B
(phone then pager). In some configurations, it is conceivable that proxy server 230 may attempt all.contacts in parallel.
An attempt to establish contact with a terminal 222 involves sending a SIP
"INVITE" to the terminal and waiting for a reply indicative of success or failure. This pr~cess is described in greater detail in FIG. 3.
(0070] FIG. 3 is call flow diagram depicting the typical sequence of messaging that occurs among various elements to establish a session using the SIP protocol, although other protocols could be used. In this example, the station associated with User A is denoted "User A."
However, because User B may be associated with any number of devices (or clients) under the Find-Me feature, these devices are referred to as "Terminal 1 ", "Terminal 2", and "Terminal 3."
It is noted that, in general, any number of terminations (i.e., destination clients) may be specified in the Find-Me list of User B. Under this scenario, it is assumed that User B
is eventually reached via Terminal 3. . Each terminal device User A and Terminals l, 2, and 3 can be a SIP
phone or other type of phone and may be coupled through an enterprise gateway or a network gateway 107 or the like. User B has a Find Me feature as part of their profile, resulting in multiple contacts to be tried. Based on this, NS 1 responds to User A's request to reach User B
by sending INVITE messages first to Terminal 1, then Terminal 2, then Terminal 3, where the call finally completes. In this example, Terminals 1, 2 and 3 are assumed to be SIP phones.
Each instance of a message being sent from one element to another will be referred to as a step, as in a process or sequence.
[0071] In step 301, a SIP "INVITE" message indicating User A's intent to reach User B is sent from User A's terminal to the proxy, NS 1. In step 303, the proxy responds with a SIP "407 Authorization Required" message to challenge the authenticity of User A before honoring any requests. To provide closure on this initial exchange, User A sends back a SIP
acknowledgement message to the proxy in step 305.
[0072] User A subsequently repeats the INVITE request in step 307, but this time includes an authentication header in response to the challenge of step 303. If the authentication of User A is satisfactory, then, in step 309, the INVITE is forwarded to the location server. The location server begins examining the request and determining whether User B has a profile and what features are currently active. In the meantime, a "100 Trying" provisional response is sent back l~
to the User A terminal as a call progress indicator of sorts. Soon thereafter, the location server responds in step 313 with a SIP "300 Multiple Choices" message indicating that it has found the Find-Me list for User B. This response comprises a list of contacts at which communication with User B should be attempted, in this case Terminals 1, 2 and 3.
[0073] The proxy NS 1 then begins trying the contacts sequentially. In step 315, NS 1 sends an INVITE message to Terminal 1, whereupon Terminal 1 responds in step 617 with a "404 Not Found" message. This indicates that User B will not be reachable at Terminal 1. NS 1 acknowledges the "404" message by sending back an "ACK" message in step 319.
Without this 'acknowledgement, Terminal 1 would repeat the "404" response at intervals to make sure its response had been received.
[0074] In step 321, proxy NS 1 attempts contact via Terminal 2 by sending an INVITE
message. In step 323, Terminal 2 sends back a "180 Ringing" provisional response as a progress indicator telling the calling party that the terminal is ringing (telephone) or otherwise alerting users in the vicinity of ari incoming call. In step 325, this ringing message is passed from the proxy to the User A terminal. Eventually, after Terminal 2 has been ringing for awhile without being answered, a timeout is declared and NS 1 issues a "CANCEL" message in step 327 so that Terminal 2 will stop ringing.
[0075] Proxy NS 1 then tries to reach User B via Terminal 3 and sends an INVITE message to Terminal 3 in step 327. While this new contact is being started, Terminal 2 happens to respond to the earlier "CANCEL" by sending back a "200 OK" message in step 331.
Terminal 2 then sends a "487 Request Cancelled" message in step 333 to indicate its understanding of the recent cancellation. Proxy NS 1 terminates the transaction with Terminal 2 by sending an "ACK" in step 335 confirming that the call attempt to Terminal 2 is cancelled.
[0076] In step 337, Terminal 3 sends back a "180 Ringing" response, which is repeated back to User A in step 339. In step 641, Terminal 3 sends a "200 OK" message indicating that the call has been accepted at this terminal. The "200 OK" is sent back to the User A
terminal as well in step 343. Acknowledgement of the viable connection is returned in steps 345 and 347. At this point, User A's terminal and Terminal 3 are now mutually aware of each other's addresses and a two-way RTP media connection may be established through the network between User A and User B.
[0077] To afford an understanding of the present invention and an appreciation of its advantages, FIG 4. depicts a situation that is both enabled and properly handled in accordance with a preferred embodiment of the present invention.
[0078] In FIG. 4, an INVITE message 402 identifying User B is received by a location server.
After perhaps verifying the validity of other aspects of the request, the location server determines a first contact list 410 pertaining to User B at the time of the request.
Among the first list of contacts 410; one or more of the contacts may in fact represent other accounts having profiles accessible by the location sewer. For example; as shown in Fig. 4, contact A2 in the first contact list 410 may have a profile that in turn specifies a second contact list 420.
It is conceivable that a first contact list might comprise some number of contacts, each of which might have a profile specifying a further list of contacts. This effect may continue to any depth.
It may be readily demonstrated that a very large number of contacts may follow from a single inquiry. The calculation of all of these contacts may be burdensome for a location server and yet may be largely unnecessary if the called party is reachable within the first few contacts attempted. The present invention seeks to improve scalability and efficiency by lessening this burden on the location server.
[0079] FIG. 5 depicts a typical redirect response message 500 as might be returned by a location server in the situation set forth in FIG. 4. For convenience, message 500 is shown to be patterned after a SIP "300 Multiple Choices" message, although other formats may be used.
Message 500 is identified as a "multiple choices" response by virtue of the first header line 502.
The path that message 500 has traversed in going from an originating terminal to a proxy server is reflected in the set of "Via" address lines 504. This "via stack" aspect of SIP is useful for routing messages among proxy servers, location servers, terminals and other SIP-conversant elements involved in setting up the ession. Other typical header information relating to the call is provided in header section 506 and is usually copied from the original INVITE message sent by the originating terminal. Contact section 508 comprises the list of contacts that location server has determined for User B. In reponse to message 500 a proxy server will consult contact section 508 and begin sending INVITE messages to each contact in the list. It should be observed that message 500 is representative of the situation wherein all of the possible contacts for User B have been calculated and returned in a single message.
[0080] FIG. 6 is a schematic of interaction among elements to establish a session in accordance with a preferred exemplary embodiment of the present invention. As in the previous scenarios, a User A 610 desires to establish a session with a User B 620 who may be at one of several different contacts. Note that, in this example, contacts 622 are consistent with the situation depicted in FIG. 4. .
[0081] User A originates the session request using terminal 612, which then assembles a SIP
INVITE message indicating the intent to reach User B. Along message path 650, terminal 612 sends the INVITE message to a SIP proxy server, network server(NS) 630a. To obtain information on where User B may be contacted, NS 630a sends a routing request to a location server, represented by location server (LS) 640, as indicated by message path 651. This routing request may optionally take the form of a SIP INVITE message. After processing the routing request, LS 640 responds to NS 630a along message path 652. For purposes of illustration this response is assumed to resemble the SIP "300 Multiple Choices" message depicted in Fig 7.
[0082] Turning briefly to FIG. 7, SIP message 700 is representative of a response from a location server in accordance with an exemplary embodiment of the present invention. SIP-message 700 is identified as "multiple choices" response by header 702. As described before, the set of "via" headers 704 are used for routing of SIP messages among SIP
elements such as NS 630a and LS 640. Section 706 of message 700 comprises information identifying the call and the parties to be involved in the session.
[0083] Sections 702, 704 and 706 are comparable to the prior art SIP message shown in FIG.
5. However, contact section 708 is significantly different than section 508 of Fig. 5. In section 708, the contact list is noticeably shorter than section 508, even though the call circumstances are equivalent. Moreover, each contact listed in section 708 further comprises an added parameter not found among the contacts in section 508. Specifically, some contacts have a "final=yes"
parameter 714. In accordance with a preferred embodiment of the present invention, these correspond to contact addresses for which no further location server look-up is necessary. In other words, these are addresses that do not have profiles that could result in further addresses.
One entry in contact section 708 has a "final=no" parameter 710 along with context info parameter 712. In accordance with a preferred embodiment, this parameter indicates that the contact may have a corresponding profile that could elicit further contact addresses, although these further addresses have not yet been explored. Contact list section 708 may be compared to the situation of FIG. 4 to clearly show why the initial response from LS 640 indicates contact A2 as being "non-final".
[0084] For a clear understanding of how NS 630a responds to these parameters or "flags" in the contact list, it is useful to now resume the explanation of Fig 6. Upon receiving the "multiple choices" response from LS 640, NS 630a begins the sequence of messaging to each contact in the contact list provided by LS 640. As seen in message 700, the first contact Al has a "final=yes" parameter indicating that no further address look-up is required.
Accordingly, NS
630a simply sends an INVITE message along message path 653 directly to a terminal 622 corresponding to contact A1. This activity is similar to the customary way in which a proxy attempts to reach a destination.
[0085] It is possible that terminal 622 may return a "404 Not Found" message as a final response, indicating that User B will definitely not be reachable at the contact. . Alternatively, terminal 622 may return a provisional response along message path 654, such as a "180 Ringing"
message to indicate that the terminal is trying to summon someone to answer the call.
[0086] If User B is successfully reached at contact A1, then terminal 622a returns a "200 OK"
message whereupon User A and User B establish a media connection with each other and the session is successfully started. Response messages from terminal A1 may be returned to originating terminal 612 along message path 659.
[0087] If User B is not reached at contact Al, then NS 630a proceeds to contact A2 listed in section 708. Contact A2 bears a "final=no" parameter 710, representing the possible existence of a secondary list of addresses such as contact list 420. In accordance with a preferred embodiment of the present invention, NS 630a sends an INVITE message to itself rather than to a terminal contact. This behavior is depicted in FIG. 6 by the presence of NS
630b. NS 630b is actually the same proxy server as NS630a, although it is likely be a different instance of the proxying process in the processing environment of the server. Showing NS 630a and NS 630b separately is helpful for illustrating the messaging behavior. Upon reaching the non-final A2 contact, the proxy server sends an INVITE message to itself along message path 655. An example of this INVITE message is shown as message 800 in FIG 8. In accordance with a preferred exemplary embodiment, the Request-URI portion 802 of message 800 carries additional information copied directly from the A2 contact list entry seen in message 700. The significance of this added information will become more apparent in later description.
[0088) Upon receipt of the INVITE message from NS 630a~ NS 630b is instantiated just as if a new INVITE message had been received from an originator. The self addressed INVITE
message along path 655 is handled as any other incoming INVITE message.
Accordingly, NS
630b sends a routing request along message path 656 to LS 640 to seek contact information for the addressee, in this case contact A2. It is at this time that LS 640 "expands" the single A2 contact into the longer list of contacts comprising contacts B 1 through B4.
LS 640 returns this list in a response to NS 630b along message path 657. NS 630b then attempts to contact User B
at these locations B I - B4. For example, NS 630b first sends an INVITE
message to terminal B I
along message path 658. The responses from each contact attempt are returned to the proxy and the originator through message paths 660, 661 and 659. This return messaging behavior is part of the SIP mechanism.
[0089] If none of contacts B1-B4 are successful, then NS 630a continues with addresses A3 and A4. In the present example, NS 630b is only engaged for exploring the additional addresses associated with contact A2. Contacts A1, A3 and A4 are merely~carried out directly by NS630a in the usual manner without the creation or utilization of NS 630b.
[0090] Notice also that, in this scenario, if User B were to be successfully reached at contact Al, then all of the following activities would be obviated, thereby reducing the burden upon LS
640:
1) Address lookup of contacts Bl-B4 based on the profile of contact A2 2) Other feature invocations related to the A2 profile 3) Use of second NS 630b 4) Messaging along paths 655,656,657,661.
[0091] In the example scenario shown, the retrieval of an initial set of addresses along paths 651 and 652 would take place exactly once in accordance with an exemplary embodiment, resulting in the contact list of message 700 being returned to NS 630a. (Other preparatory messaging among the NS and LS might occur during authentication of User A, for example.) [0092] In the example scenario shown, messaging along paths 655, 656 and 657 would occur only once resulting in the list of Bl-B4 contacts being returned to NS 630b, and even then only after contact Al proved unsuccessful. NS 630b would then send an INVITE to each of the four contacts B 1-B4.
[0093] To generalize beyond the specific scenario, the "messaging to self "
represented by NS
630b and message paths 655, 654, 657, and 669, would be repeated once for each non-final contact listed in the redirect response returned along message path 652.
[0094] Furthermore, it is possible that one or more of the second tier contacts, such as contacts Bl-B4 might also have a profle that yields further addresses. If this is.encountered, an additional level of nesting occurs and the proxy server again sends an INVITE
message to itself.
As can be envisioned upon FIG. 6, this would amount to the instantiation of a third NS receiving INVITE messaging from second NS 630b.
[0095] Further description is now provided to reinforce the understanding of the above "
processes as well as to describe how the context information parameter mentioned thus far enhances the efficiency and robustness of the technique. The description will now focus upon processes performed by a location server and a network server.
[0096] FIG. 9A-B is a flowchart describing a process 900 by which a location server handles inbound routing requests. Other processing, 'such as the processing of other types of messages, may take place in the location server but is not important to an understanding of the present invention. The processing of other types of SIP messages is well understood among those of ordinary skill in the art and is excluded here for the sake of clarity and brevity.
[0097] Process 900 commences with step 902 upon the receipt of an incoming routing request.
Then in step 904, it is determined whether the contact portion, such as the Request-URI portion of an INVITE message, bears a "final =no" parameter similar to parameter 804 in FIG 8. If not, then the routing request is treated as an original request and the process proceeds to step 908 to further analyze the request and the originator. Step 908 may involve the retrieving of information from a database regarding the originator and the intended destination. Such context information may include, for example, a dialing plan identifier so that the origination and destination addresses are interpreted in the proper context.
[0098] A dialing plan ID is a function of a particular enterprise customer having a VPN with its own dialing plan. The dialing plan ID ensures that multiple VPNs can coexist and be adequately differentiated in system 100. For example, an originator dialing extension "2665205"
in a private network belonging to Company A should reach the intended destination within Company A, even if Company B sharing the same system 100 happens to also have a "2665205"
location in its private numbering plan.
[0099] Another example of context information might be a "nature of address"
used to distinguish among, for example, public telephone numbers, private dialing plan numbers, and IP
addresses. Yet another example of context information is a location identifier, which may be a geographical or logical division and may correspond to dialing plan prefixes, for example.
(0100]~ In geileral, context info may be any information about the originator, the destination or the session request that must be looked up or otherwise determined by the location server to ensure proper handling of the request. This context info may comprise a variety and plurality of elements but is summarized herein by the notation "contextinfo=".
(0101] Note that a "final=yes" parameter should never be received by a location server. Upon detecting the "final=yes" parameter, the NS should refrain from re-querying the location server.
Nevertheless, if such a routing request is received, the LS may simply return a response comparable to a SIP "302 Moved Temporarily" message with a single contact comprising the same requested contact provided in the routing request.
(0102] After the additional context information is obtained in step 908, the process continues with step 910 where it is determined whether the originator's request is valid. This determination may be based upon such factors as whether the originator is permitted to contact the destination, whether the originator can be authenticated and whether the destination is recognized by the location server.
[0103] If the request cannot be validated in step 910, then, in step 909, a reject message of some type is returned to the network server in step 909 and the LS processing is concluded in step 916.
Otherwise, if, in step 910, the session request is found to be valid, then processing continues at step 912 to begin the retrieval of contacts at which the destination party may be reached.
[0104] Before describing the processing of step 912 and beyond, it is important to describe the role of step 906 as it relates to the significant efficiencies gained by passing context information with the routing request.
[0105] Returning to decision step 904, if it is determined that the Request-URI of the routing request does have the "final=no" parameter, this signifies that the routing request is a subsequent request stemming from a previous initial request. The presence of the "final=no" parameter indicates an inbound message of the type that NS 630b sends along path 656 in FIG 6.
[0106] Upon recognizing this aspect of the routing request, the location server skips steps 908 and 910 and instead executes step 906 to retrieve the necessary context information from the message itself. Considering that the steps of obtaining context information and validating the originator's request have already been performed in processing an initial routing request, there is no need to have the location server repeat these steps for subsequent requests. Therefore, the context information, once obtained, is appended to the messages between the NS
and LS.
[0107] Message 700, introduced earlier, shows context info parameter 712 provided by the LS
in response to the routing request. Message 800 shows how this informaton is provided back to the location server as context info parameter 804. For subsequent requests, this saves the location server from repeating the steps that first provided the context information. This also saves the location server from maintaining any state information between the time of the initial routing request from NS 630a and a subsequent routing request from NS 630b.
Due to ringing time at each contact, a subsequent routing request may be presented, if at all, several seconds or even a minute later than a corresponding initial request.
[0108] As mentioned earlier, the fact that the subsequent requests are self contained and require no persistence in the location server also lends several advantages in terms of load balancing and failover. Any location server can handle any initial or subsequent request from a network server. Thus, in Fig 9A, step 906 relates to skipping steps 908 and 910 and instead reading 'the previously derived context info values directly from the message header.
[0109] Step 912 is next performed when context information has either been obtained by steps 908 and 910 or been retrieved in step 906. In step 912, it is determined whether the destination specified in the routing request, such as the Request-URI of an INVTTE
message, has a profile.
This profile may have been provisioned through an OSS as described earlier.
This profile may contain a variety of information affecting the handling of inbound calls. For example, a profile might contain a Find-Me list, call blocking or call forwarding information and even time-of day and day of week variable contact information. The profile may also comprise temporarily registered contacts where the destination user has recently indicated presence.
[0110] If such a profile is not found then, in step 914, a response such as a SIP "302" message is returned to the proxy server that sent the routing request, indicating a single contact determined for the destination.
[0111] In some cases, if the contact to the destination is a conventional telephone number, additional steps may be taken to identify a gateway, such as network gateway 107 in FIG l, to which the NS should be redirected. The message returned to the proxy will then contain the address of the gateway. After responding to the NS in step 914, the LS is done processing the routing request received in step 902 and processing concludes in step 916.
[0112] If, in step 912, a profile is found for the destination, then step 918 is executed to apply any feature processing indicated by the profile, including the invocation of a Find-Me list, if applicable. The result of step 918 will often be a list of contacts. It is also possible that step 918 may yield no contacts, especially if feature processing according'to the destination profile specifies the blocking of the originator's call attempt.
[0113] Process 900 then continues in FIG. 9B with step 920. If there are no contacts provided by the execution of step 918, then step 924 is performed to return to the proxy a SIP "403"
message or the like. Processing then terminates in step 940.
[0114] Otherwise, if, in step 920, there are contacts .generated by feature and profile .
processing, then a redirect response, such as a SIP "3XX" message, is created in step 926. The general manner of constructing such a SIP 300-series response is well known in SIP and described in the IETF document RFC 2543. The response at this point may resemble sections 702, 704 and 706 of FIG. 7.
[0115] Next, steps 928 through 936 are performed to append one or more contacts to the redirect response. Step 928 involves selecting one of the contacts. Step 930 is then performed to determine if the contact is of a type that may have a profile. If so, then step 932 is executed wherein a "final=no" parameter as appended to the contact along with the context information that has been previously described. Otherwise,.if, in step 930, the contact is of a type that cannot have a profile, then, in step 933, only a "final=yes" parameter as added to the text of the contact information. An example of a contact type that may be appropriate for a "final=yes"
parameter is a registered address where the destination party has temporarily registered as being present at a particular terminal device. In this case, because the party is only a "visiting" user, it may be inappropriate to invoke the profile of the terminal's regular user, if any.
[0116] Whether step 932 or step 933 is executed, step 934 is executed next to add the selected contact to the contact list of the redirect response. Step 936 is then executed to determine if there are more contacts to be processed. If so, then execution returns to step 928 to repeat steps- 930 through 934 for all of the contacts that were determined in step 9I 8. After all contacts have been so processed, execution proceeds to step 938 whereupon the redirect response is dispatched back to the proxy that sent the routing request in step 902 and processing then concludes with step 940.
[01I7] To complement process 900, FIG. 10 describes a process 1000 by which a proxy server handles INVITE messages and interacts with a location server. Process 1000 begins in step 1002 upon the receipt of an INVITE message from an originating terminal, for example. Then, in step 1004, the proxy sends a corresponding routing request to the location server and waits for a response. When the response is received, step 1006 is executed to determine if the response is a redirect response, such as a SIP 300-series response, indicating the return of contact addresses from the location server. If not, then other processing to handle non-redirect type messages is executed in step 1008 and then the process concludes at step 1032. Step 1008 summarizes the processing of myriad other possible message types, the details of which are reasonably well known and are unimportant to describing the present invention.
[0118] If, in step 1006, the response from the LS is determined to be a redirect response having contact addresses, processing moves to step 1010 to select one of the contacts returned in the message. Then, in step 1012, the selected contact is examined to determine if a "final=no"
parameter appears with the contact address. If so, then step 1016 is executed wherein an INVITE message is sent to the proxy server itself. This message will use the contact line in the redirect response as the requested contact (such as the Request-URI of an INVITE message), including the finality flag and any context information. The reasons and effects of doing this have been fully described earlier. Otherwise, if there is no "final=no" flag found in step 1012, then the proxy simply sends an INVITE message in the usual manner to the contact and waits for a response in step 1020.
[0119] Step 1020 of waiting for and handling 'responses from the contact may involve handling both provisional responses and final responses. For example, the contact may send back a SIP
"180 Ringixig" provisional message which might be passed along back to the network server and originating terminal. The contact may instead or subsequently send a final response indicating either success or failure of the contact to reach the intended party. Step 1020 is intended to encompass all varieties of responses that might be received. Step 1020 involves the appropriate.
handling of a variety of possible responses in a manner that is familiar to, or may be readily envisioned by, those of ordinary skill in session initiation techniques.
[0120] In step 1022, it is determined whether a session has been successfully established using the contact selected in step 1010. If so, then no further contacts need to be tried, so processing terminates in step 1026. Otherwise, if the attempted contact did not result in session establishment, then step 1024 is executed to determine if there are more contacts to be tried. If so, then processing returns to step 1010 to select the next available contact.
Otherwise, if no more contacts are available, then processing of the INVITE message received in step 1002 is concluded in step 1026. .
[0121] To summarize the net interaction of the network server and location server, FIG. 11 is a flowchart of an overall process 1100 for performing recursive querying to establish a session according to an embodiment of the present invention. The process of FIG. 11 also generalizes the present teachings in that a location server may provide subsets of contacts on an as-needed basis rather than providing all contacts at once. The subsets of contacts might be derived from recursion of nested contacts, as shown by example herein, or by iteration through some other arbitrary division of the superset of contacts. Those of ordinary skill will appreciate that many possible arrangements of subsets might be chosen. Those of ordinary skill will also appreciate that context information passed between proxies and location servers may also assist the location server in selecting subsequent batches of contacts to retrieve. For example, the context, info may include a sequence number or a "last contact attempted" to serve as an index for the location server to fetch the next group of contacts for the proxy.
[0122] Process 1100 begins in step 1102 when a user accesses a terminal and initiates a session request to reach another party. Moving to step 1104, the originating terminal sends a session request, such as a SIP INVITE message, to a network server or proxy. In step 1106, the proxy sends a corresponding routing request to a location server. In step 1108, the location server examines the request and, based on user profiles, features and other factors, compiles a list of contact addresses by which the destination party might be reached. In accordance with a preferred embodiment of the present invention, the location server may provide a subset of~
contacts, along with sufficient context information to allow a subsequent re-query of the location server to retrieve further contacts, if and when they are needed.
[0123] In step 1110, the location server returns the set of contacts to the proxy, along with the aforementioned context information. In step 1112, the proxy attempts to reach the destination party using the list of contacts provided in step 1110. In step 1114, it is determined whether any of the contacts successfully reach the destination party, as. evidenced by the return of a SIP "200 OK" message. If so, then processing continues with step 1118 wherein a media session is established between the originating terminal and the successful contact address and process 1100 is concluded in step 1120.
[0124] Returning to step 1114, if it is otherwise determined that none of the contacts provided thus far are successful in reaching the intended party, then, in step 1116, the proxy again consults the location server to obtain a further set of contact addresses. In step 1117, if it is determined, perhaps by the location server, that all contacts have been exhausted, then in step 1122 it is declared that the session cannot be established at the current time.
This,condition may be handled, for example, by indicating to the originating party that the destination cannot be reached. Following whatever action is appropriate in step 1122, process 1100 then terminates in step 1120.
[0125] Returning to step 11 I7, if there are more contacts known to the location server that have not been given to the proxy server, then, in step 1118, the location server~determines a further set of contact addresses to be tried. In doing so, the location server may use context information provided with the request to perhaps avoid redundant efforts or to assist in determining what set of addresses should be returned next.
[0126] Processing then returns to 1110 wherein the location server responds with the further list of contacts. The processing of steps 1110 through 1118 continues until either the destination party is reached or all contacts have been tried without success.
[0I27] FIG. 12 illustrates a computer system 1200 within which an embodiment according to the present invention can be implemented. The computer system 1200 includes a bus 1201 or other communication mechanism for conununicating information, and a processor 1203 coupled to the bus 1201 for processing information. The computer system 1200 also includes main memory 1205, such as a random access memory (RAM) or other dynamic storage device, coupled to the bus 1201 for storing information and instructions to be executed by the processor 1203. Main memory 1205 can also be used for storing temporary variables or other intermediate information during execution of instructions to be executed by the processor 1203. The computer system 1200 further includes a read only memory (ROM) 1207 or other static storage device coupled to the bus 1201 for storing static information and instructions for the processor 1203. A storage device 1209, such as a magnetic disk or optical disk, is additionally coupled to the bus 1201 for storing information and instructions.
[0128] The computer system 1200 may be coupled via the bus 1201 to a display 1211, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device 1213, such as a keyboard including alphanumeric and other keys, is coupled to the bus 1201 for communicating information and command selections to the processor 1203. Another type of user input device is cursor control 1215, such as a mouse, a trackball, or cursor direction keys for communicating direction information and command selections to the processor 1203 and for controlling cursor movement on the display 12I 1.
[0129] According to one embodiment of the invention, the SIP server functionalities (particularly recursive query capability as described in FIG. 9) are provided by the computer system 1200 in response to the processor 1203 executing an arrangement of instructions contained in mains memory 1205. Such instructions can be read into main memory 1205 from another computer-readable medium, such as the storage device 1209. Execution of the arrangement of instructions contained in main memory 1205 causes the processor 1203 to perform the process steps described herein. One or more processors in a mufti-processing arrangement may also be employed to execute the instructions contained in main memory 1205.
In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the present invention.
Thus, embodiments.
of the present invention are not limited to any specific combination of hardware~circuitry and software.
[0130] The computer system 1200 also includes a communication interface 1217 coupled to bus 1201. The communication interface 1217 provides a two-way data communication coupling to a network link 1219 connected to a local network 1221: For example, the communication interface 1217 may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, or a telephone modem to provide a data communication connection to a corresponding type of telephone line. As another example, . .
communication interface 1217 may be a local area network (LAN) card (e.g. for EthernetTM or an Asynchronous Transfer Model (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 1217 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information.
Further, the communication interface 1217 can include peripheral interface devices, such as a Universal ' Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although only a single communication interface 1217 is shown, it is recognized that multiple communication interfaces may be employed to communicate with different networks and devices. ' [0131] The network link 1219 typically provides data communication through one or more networks to other data devices. For example, the network link 1219 may provide a connection through local network 1221 to a host computer 1223, which has connectivity to a network 1225 (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the "Internet") or to data equipment operated by service provider. The local network 1221 and network 1225 both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on network link 1219 and through communication interface 121 T, which communicate digital data with computer system 1200, are exemplary forms of carrier waves bearing the information and instructions.
[0132] The computer system 1200 can send messages and receive data, including program code, through the networks, network link 1219, and communication interface 1217. In the Internet example, a server (not shown) might transmit requested code belonging an application program for implementing an embodiment of the present invention through the network 1225, local network 1221 and communication interface 1217. The processor 1204 may execute the transmitted code while being received and/or store the code in storage device 129, or other non-volatile storage for later execution. In this manner, computer system 1200 may obtain application code in the form of a carrier wave.
(0133] The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to the processor 1204 for execution.
Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 1209. Volatile media include dynamic memory, such as main memory 1205.
Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise bus 1201. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as. those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
[0134] Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the present invention may initially be'borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistance (PDA) and a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory may optionally be stored on storage device either before or after execution by processor. .
[0135] While the present invention has been described in connection with a number of embodiments and implementations, the present invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims.
REFERENCES
[1] Handley, et al., "SIP: Session Initiation Protocol", IETF RFC 2543, 1999.
[2] Handley, et al., "RFC 2543bis", IETF Internet-Draft, Work in Progress.
[3] Sparks, R., "SIP Call Control: REFER", IETF Internet-Draft, Work in Progress.
[4] Johnston, et al., "SIP Telephony Call Flow Examples", IETF Internet-Draft, Work in Progress.
[5] Johnston, et al., "SIP Service Examples", IETF Internet 127-Draft, Work in Progress.
Claims
WHAT IS CLAIMED IS:
1. A method of establishing a communication session with at least one party coupled to a communication system, comprising the steps of:
from a location server, obtaining at least one first information set related to communicating with the party;
attempting to establish the session through the communication system using the first information set; and depending on whether the session is established using the first information set, obtaining from the location server at least one second information set related to communicating with the party and attempting to establish the session using the second information set.
2. The method of claim 1 wherein the first information set comprises at least one communication system address associated with the party.
3. The method of claim 1 further comprising providing, to the location server, context information relating to processing that occurs in the location server.
4. The method of claim 3 wherein the context information comprises at least one of a nature-of-address indicator, a dial plan identifier, and a location identifier.
5. The method of claim 1 further comprising obtaining, from the location server, context information relating to processing that occurs in the location server.
6. The method of claim 5 wherein the context information comprises at least one of a nature-of-address indicator, a dial plan identifier, and a location identifier.
7. The method of claim 1 wherein the context information is obtained from the location server in conjunction with obtaining the first information set and the context information is provided to the location server in conjunction with obtaining the second information set.
8. The method of claim 7 wherein the location server uses the context information in the course of providing the second information set.
9. The method of claim 7 wherein the context information comprises at least one of a nature-of-address indicator, a dial plan identifier, and a location identifier.
10. In a communication system comprising a location server, a method of establishing a communication session with at least one party coupled to the communication system, comprising the steps of:
submitting a first request to the location server for contact information associated with the party;
obtaining a first response from the location server responsive to the first request, the first response comprising at least one first set of one or more contacts associated with the party;
attempting to establish the session with the party using the first set of contacts;
responsive to whether the first set of contacts results in establishing the session, conditionally performing the steps of:
submitting at least one second request to the location server;
obtaining a second response from the location server responsive to the second request, the second response comprising at least one second set of one or more contacts for the party; and attempting to establish the session with the party using the second set of contacts.
11. The method of claim 7 wherein the second request relates to at least one contact provided in the first response.
12. The method of claim 7 wherein the second request is initiated in response to at least one contact in the first set of contacts in the first response.
13. The method of claim 7 wherein the second request is submitted conditionally upon the content of the first response.
14. The method of claim 13 wherein the first response comprises information relating to whether the second request should be submitted.
15. The method of claim 14 wherein at least one contact in the first response comprises information relating to whether the second request should be submitted.
16. The method of claim 10 further comprising providing to the location server context information relating to processing that occurs in the location server.
17. The method of claim 16 wherein the context information comprises at least one of a nature of address indicator, a dial plan identifier, and a location identifier.
18. The method of claim 16 wherein the location server uses the contest information provided in conjunction with the second request in the course of preparing the second response.
19. The method of claim 10 further comprising obtaining from the location server context information relating to processing that occurs in the location server.
20. The method of claim 19 wherein the context information comprises at least one of: a nature of address indicator, a dial plan identifier, and a location identifier.
21. The method of claim 19 wherein the location server uses the context information provided in conjunction with the second request in the course of preparing the second response.
22. The method of claim 10 wherein the context information is obtained from the location server in conjunction with the first response and the context information is provided to the location server in conjunction with the second request.
23. The method of claim 22 wherein the context information comprises at least one of a nature of address indicator, a dial plan identifier, and a location identifier.
24. The method of claim 22 wherein the location server uses the context information provided in conjunction with the second request in the course of preparing the second response.
25. A server for providing contact information about at least one party in a communications system comprising:
means for receiving a first request for contact information for the party;
means for determining a first contact set comprising zero or more contacts for the party;
means for outputting a first response, responsive to the first request, comprising the first contact set;
means for receiving a second request, subsequent to the first request, for contact information for the party;
means for determining a second contact set comprising zero or more contacts for the party;
means for outputting a second response to the second request comprising the second contact set; and wherein the second contact set differs from the first contact set.
26. The server of claim 25 wherein at least one of the first contact set and second contact set is a subset of all contacts for the party maintained by the location server.
27. The server of claim 25 wherein the second request relates to at least one contact provided in the first response.
28. The server of claim 25 wherein the second request is initiated in response to at least one contact in the contact set in the first response.
29. The server of claim 25 wherein the second request is submitted conditionally upon the content of the first response.
30. The server of claim 29 wherein the first response comprises information relating to whether the second request should be, submitted.
31. The server of claim 25 further comprising means for providing, in conjunction with the first response, at least one indicator of whether the second request should be submitted.
32. The server of claim 25 wherein at least one contact in the first response comprises information relating to whether the second response should be submitted.
33. The server of claim 25 further comprising means for determining context information pertaining to the-first request.
34. The server of claim 33 wherein the second request comprises the context information.
35. The server of claim 34 wherein the location server uses the context information provided in the second request in the course of preparing the second response.
37. The server of claim 33 wherein the context information comprises at least one of a nature of address indicator, a dial plan identifier, and a location identifier.
38. The server of claim 37 wherein the first response comprises the contest information.
39. The server of claim 37 wherein the location server uses the context information provided in the second request in the course of preparing the second response.
39. The server of claim 37 wherein the context information, comprises at least one of: a nature of address indicator, a dial plan identifier, and a location identifier.
40. The server of claim 37 wherein the second request comprises the context information.
41. The server of claim 40 wherein the location server uses the context information provided in the second request in the course of preparing the second response.
42. The server of claim 40 wherein the context information comprises at least one of: a nature of address indicator, a dial plan identifier, and a location identifier.
43. A proxy server for processing at least one request to establish a session with a party in a communications system comprising:
means for submitting to a location server a first request for contact information for the party;
means for receiving from the location server a first response to the first request, the first response comprising a first contact set;
means for determining from the first response whether a second request may be performed to obtain further contact information; and means for initiating the second request based upon the first response.
44. The proxy server of claim 43 further comprising means for submitting to the location server the second request.
45. The proxy server of claim 43 wherein at least one contact in the first response comprises information indicating the necessity of performing the second request.
46. The proxy server of claim 43 further comprising means for attempting to establish the session using at least one of the first contact set and the second contact set from the location server.
47. The proxy server of claim 43 wherein, depending upon the content of the first response, the proxy server dispatches the second request to itself.
48. The proxy server of claim 43 wherein the location server associates a finality indicator with at least one contact and the second request is conditionally submitted in response to a state of the finality indicator.
49. The proxy, server of claim 43 further comprising:
means for receiving at least one context information from the location server in conjunction with the first response; and means for providing the context information in conjunction with the second request.
50. The proxy server of claim 49 wherein the context information comprises at least one of: a nature-of-address indicator, a dial plan identifier, and a location identifier.
51. A computer-readable medium having computer-executable instructions for performing a method for providing contact information for a party, the method comprising the steps of:
receiving a first request for contact information for the party;
determining a first contact set comprising zero or more contacts for the party;
outputting a first response to the first request comprising the first contact set;
receiving at least one second request, subsequent to the first request, for contact information for the party;
determining a second contact set comprising zero or more contacts for the party; and outputting a second response to the second request comprising the second contact set;
wherein the second contact set may differ from the first contact set.
52. The computer-readable medium of claim 51 wherein the method further comprises the steps of:
determining context information related to the first request;
outputting the context information in conjunction with outputting the first response;
receiving the context information in conjunction with receiving the second request; and applying the context information in determining the second contact set.
53. A computer-readable medium having computer-executable instructions for performing a method for obtaining contact information for a party, the method comprising the steps of:
submitting to a location server a first request for contact information for the party;
receiving from the location server a first response to the first request, the first response comprising a first contact set;
determining from the first response whether at least one second request should be performed to, obtain further contact information; and initiating the second request based upon the first response.
54. The computer-readable medium of claim 53 wherein the method further comprises the steps of:
receiving context information from the location server in conjunction with the first response; and providing the context information to the location server in conjunction with the second request.
1. A method of establishing a communication session with at least one party coupled to a communication system, comprising the steps of:
from a location server, obtaining at least one first information set related to communicating with the party;
attempting to establish the session through the communication system using the first information set; and depending on whether the session is established using the first information set, obtaining from the location server at least one second information set related to communicating with the party and attempting to establish the session using the second information set.
2. The method of claim 1 wherein the first information set comprises at least one communication system address associated with the party.
3. The method of claim 1 further comprising providing, to the location server, context information relating to processing that occurs in the location server.
4. The method of claim 3 wherein the context information comprises at least one of a nature-of-address indicator, a dial plan identifier, and a location identifier.
5. The method of claim 1 further comprising obtaining, from the location server, context information relating to processing that occurs in the location server.
6. The method of claim 5 wherein the context information comprises at least one of a nature-of-address indicator, a dial plan identifier, and a location identifier.
7. The method of claim 1 wherein the context information is obtained from the location server in conjunction with obtaining the first information set and the context information is provided to the location server in conjunction with obtaining the second information set.
8. The method of claim 7 wherein the location server uses the context information in the course of providing the second information set.
9. The method of claim 7 wherein the context information comprises at least one of a nature-of-address indicator, a dial plan identifier, and a location identifier.
10. In a communication system comprising a location server, a method of establishing a communication session with at least one party coupled to the communication system, comprising the steps of:
submitting a first request to the location server for contact information associated with the party;
obtaining a first response from the location server responsive to the first request, the first response comprising at least one first set of one or more contacts associated with the party;
attempting to establish the session with the party using the first set of contacts;
responsive to whether the first set of contacts results in establishing the session, conditionally performing the steps of:
submitting at least one second request to the location server;
obtaining a second response from the location server responsive to the second request, the second response comprising at least one second set of one or more contacts for the party; and attempting to establish the session with the party using the second set of contacts.
11. The method of claim 7 wherein the second request relates to at least one contact provided in the first response.
12. The method of claim 7 wherein the second request is initiated in response to at least one contact in the first set of contacts in the first response.
13. The method of claim 7 wherein the second request is submitted conditionally upon the content of the first response.
14. The method of claim 13 wherein the first response comprises information relating to whether the second request should be submitted.
15. The method of claim 14 wherein at least one contact in the first response comprises information relating to whether the second request should be submitted.
16. The method of claim 10 further comprising providing to the location server context information relating to processing that occurs in the location server.
17. The method of claim 16 wherein the context information comprises at least one of a nature of address indicator, a dial plan identifier, and a location identifier.
18. The method of claim 16 wherein the location server uses the contest information provided in conjunction with the second request in the course of preparing the second response.
19. The method of claim 10 further comprising obtaining from the location server context information relating to processing that occurs in the location server.
20. The method of claim 19 wherein the context information comprises at least one of: a nature of address indicator, a dial plan identifier, and a location identifier.
21. The method of claim 19 wherein the location server uses the context information provided in conjunction with the second request in the course of preparing the second response.
22. The method of claim 10 wherein the context information is obtained from the location server in conjunction with the first response and the context information is provided to the location server in conjunction with the second request.
23. The method of claim 22 wherein the context information comprises at least one of a nature of address indicator, a dial plan identifier, and a location identifier.
24. The method of claim 22 wherein the location server uses the context information provided in conjunction with the second request in the course of preparing the second response.
25. A server for providing contact information about at least one party in a communications system comprising:
means for receiving a first request for contact information for the party;
means for determining a first contact set comprising zero or more contacts for the party;
means for outputting a first response, responsive to the first request, comprising the first contact set;
means for receiving a second request, subsequent to the first request, for contact information for the party;
means for determining a second contact set comprising zero or more contacts for the party;
means for outputting a second response to the second request comprising the second contact set; and wherein the second contact set differs from the first contact set.
26. The server of claim 25 wherein at least one of the first contact set and second contact set is a subset of all contacts for the party maintained by the location server.
27. The server of claim 25 wherein the second request relates to at least one contact provided in the first response.
28. The server of claim 25 wherein the second request is initiated in response to at least one contact in the contact set in the first response.
29. The server of claim 25 wherein the second request is submitted conditionally upon the content of the first response.
30. The server of claim 29 wherein the first response comprises information relating to whether the second request should be, submitted.
31. The server of claim 25 further comprising means for providing, in conjunction with the first response, at least one indicator of whether the second request should be submitted.
32. The server of claim 25 wherein at least one contact in the first response comprises information relating to whether the second response should be submitted.
33. The server of claim 25 further comprising means for determining context information pertaining to the-first request.
34. The server of claim 33 wherein the second request comprises the context information.
35. The server of claim 34 wherein the location server uses the context information provided in the second request in the course of preparing the second response.
37. The server of claim 33 wherein the context information comprises at least one of a nature of address indicator, a dial plan identifier, and a location identifier.
38. The server of claim 37 wherein the first response comprises the contest information.
39. The server of claim 37 wherein the location server uses the context information provided in the second request in the course of preparing the second response.
39. The server of claim 37 wherein the context information, comprises at least one of: a nature of address indicator, a dial plan identifier, and a location identifier.
40. The server of claim 37 wherein the second request comprises the context information.
41. The server of claim 40 wherein the location server uses the context information provided in the second request in the course of preparing the second response.
42. The server of claim 40 wherein the context information comprises at least one of: a nature of address indicator, a dial plan identifier, and a location identifier.
43. A proxy server for processing at least one request to establish a session with a party in a communications system comprising:
means for submitting to a location server a first request for contact information for the party;
means for receiving from the location server a first response to the first request, the first response comprising a first contact set;
means for determining from the first response whether a second request may be performed to obtain further contact information; and means for initiating the second request based upon the first response.
44. The proxy server of claim 43 further comprising means for submitting to the location server the second request.
45. The proxy server of claim 43 wherein at least one contact in the first response comprises information indicating the necessity of performing the second request.
46. The proxy server of claim 43 further comprising means for attempting to establish the session using at least one of the first contact set and the second contact set from the location server.
47. The proxy server of claim 43 wherein, depending upon the content of the first response, the proxy server dispatches the second request to itself.
48. The proxy server of claim 43 wherein the location server associates a finality indicator with at least one contact and the second request is conditionally submitted in response to a state of the finality indicator.
49. The proxy, server of claim 43 further comprising:
means for receiving at least one context information from the location server in conjunction with the first response; and means for providing the context information in conjunction with the second request.
50. The proxy server of claim 49 wherein the context information comprises at least one of: a nature-of-address indicator, a dial plan identifier, and a location identifier.
51. A computer-readable medium having computer-executable instructions for performing a method for providing contact information for a party, the method comprising the steps of:
receiving a first request for contact information for the party;
determining a first contact set comprising zero or more contacts for the party;
outputting a first response to the first request comprising the first contact set;
receiving at least one second request, subsequent to the first request, for contact information for the party;
determining a second contact set comprising zero or more contacts for the party; and outputting a second response to the second request comprising the second contact set;
wherein the second contact set may differ from the first contact set.
52. The computer-readable medium of claim 51 wherein the method further comprises the steps of:
determining context information related to the first request;
outputting the context information in conjunction with outputting the first response;
receiving the context information in conjunction with receiving the second request; and applying the context information in determining the second contact set.
53. A computer-readable medium having computer-executable instructions for performing a method for obtaining contact information for a party, the method comprising the steps of:
submitting to a location server a first request for contact information for the party;
receiving from the location server a first response to the first request, the first response comprising a first contact set;
determining from the first response whether at least one second request should be performed to, obtain further contact information; and initiating the second request based upon the first response.
54. The computer-readable medium of claim 53 wherein the method further comprises the steps of:
receiving context information from the location server in conjunction with the first response; and providing the context information to the location server in conjunction with the second request.
Applications Claiming Priority (11)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27695401P | 2001-03-20 | 2001-03-20 | |
US27695501P | 2001-03-20 | 2001-03-20 | |
US27695301P | 2001-03-20 | 2001-03-20 | |
US27692301P | 2001-03-20 | 2001-03-20 | |
US60/276,923 | 2001-03-20 | ||
US60/276,954 | 2001-03-20 | ||
US60/276,955 | 2001-03-20 | ||
US60/276,953 | 2001-03-20 | ||
US10/099,097 | 2002-03-15 | ||
US10/099,097 US7599351B2 (en) | 2001-03-20 | 2002-03-15 | Recursive query for communications network data |
PCT/US2002/008632 WO2002076049A1 (en) | 2001-03-20 | 2002-03-20 | Recursive query for communications network data |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2441344A1 true CA2441344A1 (en) | 2002-09-26 |
Family
ID=27501179
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002441344A Abandoned CA2441344A1 (en) | 2001-03-20 | 2002-03-20 | Recursive query for communications network data |
CA002441281A Abandoned CA2441281A1 (en) | 2001-03-20 | 2002-03-20 | Communications system with fraud monitoring |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002441281A Abandoned CA2441281A1 (en) | 2001-03-20 | 2002-03-20 | Communications system with fraud monitoring |
Country Status (8)
Country | Link |
---|---|
US (10) | US8200577B2 (en) |
EP (3) | EP1374508A4 (en) |
JP (3) | JP2004529549A (en) |
CN (1) | CN1509412A (en) |
BR (4) | BR0208231A (en) |
CA (2) | CA2441344A1 (en) |
MX (3) | MXPA03008511A (en) |
WO (1) | WO2002075339A1 (en) |
Families Citing this family (425)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002973B2 (en) * | 2000-12-11 | 2006-02-21 | Acme Packet Inc. | System and method for assisting in controlling real-time transport protocol flow through multiple networks via use of a cluster of session routers |
US7028092B2 (en) * | 2000-12-11 | 2006-04-11 | Acme Packet, Inc. | System and method for assisting in controlling real-time transport protocol flow through multiple networks via media flow routing |
US7133923B2 (en) | 2000-12-11 | 2006-11-07 | Acme Packet, Inc. | System and method for assisting in controlling real-time transport protocol flow through multiple networks via screening |
US7072303B2 (en) * | 2000-12-11 | 2006-07-04 | Acme Packet, Inc. | System and method for assisting in controlling real-time transport protocol flow through multiple networks |
US8200577B2 (en) * | 2001-03-20 | 2012-06-12 | Verizon Business Global Llc | Systems and methods for retrieving and modifying data records for rating and billing purposes |
US20020138296A1 (en) * | 2001-03-20 | 2002-09-26 | Holmes Ralph K. | Systems and methods for collecting and rating contact center usage |
US7406306B2 (en) * | 2001-03-20 | 2008-07-29 | Verizon Business Global Llc | Method for billing in a telecommunications network |
US8380840B2 (en) * | 2001-12-17 | 2013-02-19 | Verizon Business Global Llc | Method for recording events in an IP network |
US20030115480A1 (en) * | 2001-12-17 | 2003-06-19 | Worldcom, Inc. | System, method and apparatus that employ virtual private networks to resist IP QoS denial of service attacks |
US7945592B2 (en) * | 2001-03-20 | 2011-05-17 | Verizon Business Global Llc | XML based transaction detail records |
US7339934B2 (en) * | 2001-04-06 | 2008-03-04 | Level 3 Communications, Llc | Alternate routing of voice communication in a packet-based network |
US7215643B2 (en) * | 2003-07-29 | 2007-05-08 | Level 3 Communications, Llc | System and method for providing alternate routing in a network |
US7362707B2 (en) * | 2001-07-23 | 2008-04-22 | Acme Packet, Inc. | System and method for determining flow quality statistics for real-time transport protocol data flows |
US7031311B2 (en) * | 2001-07-23 | 2006-04-18 | Acme Packet, Inc. | System and method for providing rapid rerouting of real-time multi-media flows |
US8098651B1 (en) | 2001-07-27 | 2012-01-17 | Rockstar Bidco, LP | Integrating multimedia capabilities with circuit-switched calls |
US6888828B1 (en) * | 2001-10-02 | 2005-05-03 | Nokia Corporation | System and method for providing at least one service obtained from a service network for a user in a packet switched communication network |
US7882029B2 (en) * | 2001-10-16 | 2011-02-01 | Hewlett-Packard Development Company, L.P. | Centralized billing credit system utilizing a predetermined unit of usage |
US7206393B2 (en) * | 2001-11-01 | 2007-04-17 | Agilent Technologies, Inc. | Apparatus and method for processing information from a telephone network |
US20040162066A1 (en) * | 2001-11-02 | 2004-08-19 | Ravi Kuchibhotla | Isolation and remediation of a communication device |
US7460533B1 (en) * | 2001-11-15 | 2008-12-02 | 3Com Corporation | System and method for multi-casting announcements |
US7937439B2 (en) | 2001-12-27 | 2011-05-03 | Utbk, Inc. | Apparatus and method for scheduling live advice communication with a selected service provider |
US6898587B2 (en) | 2002-01-18 | 2005-05-24 | Bea Systems, Inc. | System and method for performing commutative operations in data access systems |
EP1474766A4 (en) * | 2002-02-11 | 2007-10-10 | At & T Wireless Services Inc | Centralized communications network charging methods and apparatus |
CA2479166A1 (en) * | 2002-03-27 | 2003-10-09 | International Business Machines Corporation | Methods apparatus and program products for wireless access points |
US7254640B2 (en) * | 2002-04-09 | 2007-08-07 | Vigilos, Inc. | System for providing fault tolerant data warehousing environment by temporary transmitting data to alternate data warehouse during an interval of primary data warehouse failure |
US20030215080A1 (en) * | 2002-05-17 | 2003-11-20 | Wengrovitz Michael S. | Presence-aware private branch exchange (PBX) |
US9565275B2 (en) | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
FR2841072A1 (en) * | 2002-06-14 | 2003-12-19 | France Telecom | System for consulting and updating DNS servers and LDAP directories, includes using protocol management unit for searching IP address of server hosting first database and transmitting request for reading and updating record to server |
US20040028080A1 (en) * | 2002-08-06 | 2004-02-12 | Harish Samarasinghe | Method of defining a SIP message body for communications between core network elements |
US7254643B1 (en) | 2002-08-08 | 2007-08-07 | At&T Corp. | System and method for providing multi-media services to communication devices over a communications network |
US7333798B2 (en) | 2002-08-08 | 2008-02-19 | Value Added Communications, Inc. | Telecommunication call management and monitoring system |
US8509736B2 (en) | 2002-08-08 | 2013-08-13 | Global Tel*Link Corp. | Telecommunication call management and monitoring system with voiceprint verification |
US7979297B1 (en) * | 2002-08-19 | 2011-07-12 | Sprint Communications Company L.P. | Order tracking and reporting tool |
US7315518B1 (en) * | 2002-09-05 | 2008-01-01 | Art Technology Group, Inc. | Method and apparatus for the prevention of unwanted calls in a callback system |
US7463620B2 (en) * | 2002-09-10 | 2008-12-09 | 3Com Corporation | Architecture and method for controlling features and services in packet-based networks |
US7646761B2 (en) * | 2002-10-01 | 2010-01-12 | Nortel Networks Limited | Integrating multimedia capabilities with legacy networks |
US7920546B2 (en) * | 2002-10-01 | 2011-04-05 | Nortel Networks Limited | Automated attendant multimedia session |
US7486944B2 (en) * | 2002-10-02 | 2009-02-03 | The Bill Police Llc | Method for managing wireless telecommunications bills |
JP3948389B2 (en) | 2002-10-24 | 2007-07-25 | 富士ゼロックス株式会社 | Communication analyzer |
GB0228367D0 (en) * | 2002-12-05 | 2003-01-08 | Bts Holdings Ltd | System and method for management of communications resources |
JP3917067B2 (en) * | 2002-12-06 | 2007-05-23 | 株式会社エヌ・ティ・ティ・ドコモ | Web providing system, web providing method, terminal used for these, and terminal control program |
US7180912B1 (en) | 2003-01-06 | 2007-02-20 | At&T Corp. | System and method for providing a plurality of multi-media services using a number of media servers to form a preliminary interactive communication relationship with a calling communication device |
US7768996B1 (en) * | 2003-01-09 | 2010-08-03 | Cisco Technology, Inc. | Route re-query scheme in communication networks |
US7283515B2 (en) * | 2003-02-14 | 2007-10-16 | Managed Inventions, Llc | Internet telephony network and methods for using the same |
US7319692B2 (en) * | 2003-02-21 | 2008-01-15 | Avaya Technology Corp. | Subscriber mobility in telephony systems |
CA2841289A1 (en) * | 2003-02-25 | 2004-09-10 | Thomas Erskine | Method and system for providing supervisory control over wireless phone usage |
US20050282559A1 (en) * | 2003-02-25 | 2005-12-22 | Boston Communications Group, Inc. | Method and system for providing supervisory control over wireless phone data usage |
US7508923B1 (en) | 2003-02-27 | 2009-03-24 | At&T Corp. | Call control element constructing a session initiation protocol (SIP) message including provisions for incorporating address related information of public switched telephone network (PSTN) based devices |
US7411917B1 (en) * | 2003-03-26 | 2008-08-12 | Network Equipment Technologies, Inc. | Method and system for providing registration-based SIP NAT traversal |
US7283516B1 (en) * | 2003-04-07 | 2007-10-16 | At&T Corp. | Session initiation protocol (SIP) messages incorporating address and/or routing information obtained from a contact header of a redirect message |
US7480723B2 (en) * | 2003-04-08 | 2009-01-20 | 3Com Corporation | Method and system for providing directory based services |
US7817791B2 (en) * | 2003-05-15 | 2010-10-19 | Verizon Business Global Llc | Method and apparatus for providing fraud detection using hot or cold originating attributes |
US7971237B2 (en) * | 2003-05-15 | 2011-06-28 | Verizon Business Global Llc | Method and system for providing fraud detection for remote access services |
US7783019B2 (en) * | 2003-05-15 | 2010-08-24 | Verizon Business Global Llc | Method and apparatus for providing fraud detection using geographically differentiated connection duration thresholds |
US20040230695A1 (en) * | 2003-05-15 | 2004-11-18 | Anschutz Thomas Arnold | Methods, systems, and computer program products for processing traffic in a communication network based on registration of an access session and/or application flow and specifying a treatment for the access session and/or application flow traffic |
US7774842B2 (en) * | 2003-05-15 | 2010-08-10 | Verizon Business Global Llc | Method and system for prioritizing cases for fraud detection |
US7808974B2 (en) * | 2003-06-19 | 2010-10-05 | At&T Intellectual Property I, L.P. | Method and apparatus for Voice over Internet Protocol telephony using a virtual private network |
US8139585B1 (en) * | 2003-07-10 | 2012-03-20 | Sprint Spectrum L.P. | Method and system for controlling sessions from a subscriber terminal |
US7412044B2 (en) * | 2003-07-14 | 2008-08-12 | Avaya Technology Corp. | Instant messaging to and from PBX stations |
US6845235B1 (en) * | 2003-07-18 | 2005-01-18 | Motorola, Inc. | Method and apparatus in a wireless communication system for expediting a request for uplink resources |
DE10335149A1 (en) * | 2003-07-31 | 2005-03-03 | Siemens Ag | Method for reversing a Bearer Redirect for SIP / SIP-T subscribers |
US7886009B2 (en) * | 2003-08-22 | 2011-02-08 | Utbk, Inc. | Gate keeper |
DE10341362A1 (en) * | 2003-09-08 | 2005-04-07 | Siemens Ag | Method for charging a service in a packet data network |
DE10344938A1 (en) * | 2003-09-27 | 2005-04-21 | Clariant Gmbh | Surfactant compounds containing fatty alcohol alkoxylates |
US20050071494A1 (en) * | 2003-09-30 | 2005-03-31 | Rundquist William A. | Method and apparatus for providing fixed bandwidth communications over a local area network |
US6977933B2 (en) * | 2003-10-06 | 2005-12-20 | Tekelec | Methods and systems for providing session initiation protocol (SIP) trunk groups |
US7280533B2 (en) * | 2003-10-15 | 2007-10-09 | Nokia Corporation | System and method for presence-based routing of communication requests over a network |
US7096043B1 (en) * | 2003-10-24 | 2006-08-22 | Nortel Networks Limited | Call origination control |
KR100600414B1 (en) * | 2003-10-28 | 2006-07-13 | (주)씨앤에스 테크놀로지 | Method for offering service of multimedia post-office box |
US7245609B2 (en) * | 2003-10-31 | 2007-07-17 | Agilent Technologies, Inc. | Apparatus and method for voice over IP traffic separation and factor determination |
US20050155036A1 (en) * | 2003-12-19 | 2005-07-14 | Nokia Corporation | Application server addressing |
US7734294B2 (en) * | 2004-01-12 | 2010-06-08 | At&T Intellectual Property, I,L.P. | Intelligent interactive call handling |
US7680259B2 (en) * | 2004-01-12 | 2010-03-16 | At&T Intellectual Property, I,L.P. | Rule-based intelligent call forwarding |
KR100602638B1 (en) * | 2004-01-20 | 2006-07-19 | 삼성전자주식회사 | The method for VoIP-UMS system access |
US8015119B2 (en) | 2004-01-21 | 2011-09-06 | Google Inc. | Methods and systems for the display and navigation of a social network |
US7362698B2 (en) * | 2004-01-22 | 2008-04-22 | International Business Machines Corporation | Method, system and service for achieving synchronous communication responsive to dynamic status |
TW200539641A (en) * | 2004-02-19 | 2005-12-01 | Matsushita Electric Ind Co Ltd | Connected communication terminal, connecting communication terminal, session management server and trigger server |
CN1678005B (en) | 2004-03-31 | 2010-10-13 | 国际商业机器公司 | Apparatus, system and method for sharing a single physical address by multiple virtual telephones |
US7408925B1 (en) | 2004-03-31 | 2008-08-05 | Avaya Technology Corp. | Originator based directing and origination call processing features for external devices |
US8908699B2 (en) | 2004-04-16 | 2014-12-09 | Broadcom Corporation | Providing automatic format conversion via an access gateway in a home |
US9014355B2 (en) | 2004-04-27 | 2015-04-21 | Value-Added Communications, Inc. | Telecommunication revenue management system |
US8929524B2 (en) | 2004-04-27 | 2015-01-06 | Value-Added Communications, Inc. | System and method for determining and associating tariff rates for institutional calls |
US8200839B1 (en) * | 2004-04-30 | 2012-06-12 | Rockstar Bidco Lp | Method and apparatus for restoring service label information |
US11062412B2 (en) | 2004-05-19 | 2021-07-13 | Touchpay Holdings, Llc | Machines and process for managing a service account |
US8799901B2 (en) * | 2004-05-20 | 2014-08-05 | Hewlett-Packard Development Company, L.P. | Establishing new service as conversation by replacing variables in generic service in an order with variables from a decoupled method of legacy service |
US8019875B1 (en) | 2004-06-04 | 2011-09-13 | Google Inc. | Systems and methods for indicating a user state in a social network |
US9462122B1 (en) | 2004-06-07 | 2016-10-04 | Aol Inc. | Selective call routing and blocking |
US7760707B1 (en) * | 2004-06-07 | 2010-07-20 | Aol Inc. | Voice over internet protocol application development framework |
US8832132B1 (en) | 2004-06-22 | 2014-09-09 | Google Inc. | Personalizing search queries based on user membership in social network communities |
US8621215B1 (en) | 2004-06-30 | 2013-12-31 | Google Inc. | Methods and systems for creating monetary accounts for members in a social network |
US8015019B1 (en) | 2004-08-03 | 2011-09-06 | Google Inc. | Methods and systems for providing a document |
CN1294728C (en) * | 2004-08-05 | 2007-01-10 | 华为技术有限公司 | Method and system for providing QoS assurance in edge router |
US7983245B2 (en) * | 2004-09-13 | 2011-07-19 | Tekelec | Methods and systems for converting an internet protocol (IP)-based message containing subscriber content to a public switched telephone network (PSTN)-based message including subscriber content |
US7599347B2 (en) * | 2004-09-16 | 2009-10-06 | Research In Motion Limited | System and method for allocating session initiation protocol (SIP) identifications (IDs) to user agents |
US7543740B2 (en) * | 2004-09-17 | 2009-06-09 | Digital Envoy, Inc. | Fraud analyst smart cookie |
US7497374B2 (en) * | 2004-09-17 | 2009-03-03 | Digital Envoy, Inc. | Fraud risk advisor |
US20060064374A1 (en) * | 2004-09-17 | 2006-03-23 | David Helsper | Fraud risk advisor |
US20060062358A1 (en) * | 2004-09-23 | 2006-03-23 | Sbc Knowledge Ventures L.P. | Method and apparatus for shared line FMFM sub-mailbox determination, dynamic out dialing and call path duplication in a telephone system |
US8340261B2 (en) * | 2004-09-27 | 2012-12-25 | At&T Intellectual Property Ii, L.P. | Method and apparatus for ubiquitous access to dialing plans for enterprise networks |
DE102004055494B4 (en) * | 2004-11-17 | 2007-11-08 | Siemens Ag | Method for forwarding a call in one of the directly communicating communication network and communication component for a directly communicating communication network |
US7742581B2 (en) | 2004-11-24 | 2010-06-22 | Value-Added Communications, Inc. | Electronic messaging exchange |
WO2007110679A2 (en) * | 2004-12-13 | 2007-10-04 | Radvision Ltd. | Systems and methods for incorporating video into voice-only call centers |
US7672443B2 (en) * | 2004-12-17 | 2010-03-02 | At&T Intellectual Property I, L.P. | Virtual private network dialed number nature of address conversion |
JP4664987B2 (en) * | 2004-12-21 | 2011-04-06 | サムスン エレクトロニクス カンパニー リミテッド | Method and system for providing a private voice call service to a mobile communication subscriber and a wireless soft switch device therefor |
US7716140B1 (en) | 2004-12-31 | 2010-05-11 | Google Inc. | Methods and systems for controlling access to relationship information in a social network |
US8060405B1 (en) | 2004-12-31 | 2011-11-15 | Google Inc. | Methods and systems for correlating connections between users and links between articles |
US8194640B2 (en) * | 2004-12-31 | 2012-06-05 | Genband Us Llc | Voice over IP (VoIP) network infrastructure components and method |
US10402457B1 (en) | 2004-12-31 | 2019-09-03 | Google Llc | Methods and systems for correlating connections between users and links between articles |
CN101099366B (en) | 2005-01-11 | 2016-01-13 | 艾利森电话股份有限公司 | Session initiation protocol intermediate node and the method to session initiation protocol terminal transmission information |
US8856359B2 (en) * | 2005-06-29 | 2014-10-07 | Qualcomm Connected Experiences, Inc. | Caller-callee association of a plurality of networked devices |
US8351419B2 (en) | 2005-01-19 | 2013-01-08 | Qualcomm Iskoot, Inc. | Local access to a mobile network |
US8756328B2 (en) * | 2005-01-19 | 2014-06-17 | Qualcomm Connected Experiences, Inc. | Caller-callee association of a plurality of networked devices with direct dial through thin client |
US9876915B2 (en) | 2005-01-28 | 2018-01-23 | Value-Added Communications, Inc. | Message exchange |
US9282188B2 (en) | 2005-01-28 | 2016-03-08 | Value-Added Communications, Inc. | Voice message exchange |
US7783021B2 (en) | 2005-01-28 | 2010-08-24 | Value-Added Communications, Inc. | Digital telecommunications call management and monitoring system |
GB2424141B (en) | 2005-03-08 | 2009-04-22 | Praesidium Technologies Ltd | Communication system with distributed risk management |
US7680060B2 (en) * | 2005-03-08 | 2010-03-16 | Cisco Technology, Inc. | Transferring state information in a network |
US8108869B2 (en) * | 2005-03-11 | 2012-01-31 | Adaptive Computing Enterprises, Inc. | System and method for enforcing future policies in a compute environment |
US20060218282A1 (en) * | 2005-03-23 | 2006-09-28 | Nokia Corporation | System and method for providing mobile assisted, fixed line video calls |
US8538810B2 (en) * | 2005-03-29 | 2013-09-17 | Google Inc. | Methods and systems for member-created advertisement in a member network |
US8412780B2 (en) | 2005-03-30 | 2013-04-02 | Google Inc. | Methods and systems for providing current email addresses and contact information for members within a social network |
US7765305B2 (en) * | 2005-04-07 | 2010-07-27 | Microsoft Corporation | Retry request overload protection |
US7743411B2 (en) * | 2005-04-14 | 2010-06-22 | At&T Intellectual Property I, L.P. | Method and apparatus for voice over internet protocol telephony using a virtual private network |
US7436814B2 (en) * | 2005-04-22 | 2008-10-14 | Cisco Technology, Inc. | Selecting transport addresses to route streams between endpoints |
US11308477B2 (en) | 2005-04-26 | 2022-04-19 | Spriv Llc | Method of reducing fraud in on-line transactions |
US20090102712A1 (en) | 2005-04-26 | 2009-04-23 | Guy Heffez | Method and system for monitoring electronic purchases and cash-withdrawals |
US9727867B2 (en) | 2005-04-26 | 2017-08-08 | Guy Hefetz | Method for detecting misuse of identity in electronic transactions |
US8640197B2 (en) * | 2005-04-26 | 2014-01-28 | Guy Heffez | Methods for acquiring an internet user's consent to be located and for authenticating the identity of the user using location information |
US8590007B2 (en) * | 2005-08-25 | 2013-11-19 | Guy Heffez | Method and system for authenticating internet user identity |
WO2008147353A1 (en) * | 2007-05-29 | 2008-12-04 | Heffez Guy S | Method and system for authenticating internet user indentity |
US7503489B2 (en) * | 2005-04-26 | 2009-03-17 | Bpriv, Llc | Method and system for monitoring electronic purchases and cash-withdrawals |
US8656458B2 (en) * | 2005-08-25 | 2014-02-18 | Guy Heffez | Method and system for authenticating internet user identity |
US20060248588A1 (en) * | 2005-04-28 | 2006-11-02 | Netdevices, Inc. | Defending Denial of Service Attacks in an Inter-networked Environment |
US8018854B1 (en) * | 2005-05-03 | 2011-09-13 | Eastern Research Inc. | Facility and equipment testing for packet networks |
US20070291734A1 (en) * | 2005-05-27 | 2007-12-20 | Medhavi Bhatia | Methods and Apparatus for Multistage Routing of Packets Using Call Templates |
US7657624B2 (en) * | 2005-06-22 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Network usage management system and method |
US7610287B1 (en) | 2005-06-28 | 2009-10-27 | Google Inc. | System and method for impromptu shared communication spaces |
CN100525476C (en) * | 2005-06-29 | 2009-08-05 | 华为技术有限公司 | Content transmitting method in media gate control protocol calling |
US7502320B2 (en) * | 2005-07-06 | 2009-03-10 | Cisco Technology, Inc. | Method and apparatus for network-based admission control using path-coupled quality of service signaling |
US20070008954A1 (en) * | 2005-07-11 | 2007-01-11 | Chao-Hung Wu | Method for transmitting audiovisual data using a mobile conversion device |
US8418254B2 (en) | 2005-07-25 | 2013-04-09 | Transunion Rental Screening Solutions, Inc. | Applicant screening |
US8234498B2 (en) | 2005-07-25 | 2012-07-31 | Britti Michael A | Screening using a personal identification code |
US8040875B2 (en) * | 2005-07-30 | 2011-10-18 | Alcatel Lucent | Network support for caller ID verification |
US11818287B2 (en) | 2017-10-19 | 2023-11-14 | Spriv Llc | Method and system for monitoring and validating electronic transactions |
US20070070981A1 (en) * | 2005-09-27 | 2007-03-29 | Marian Croak | Method and apparatus for dynamically establishing links between IP private branch exchanges |
US8085757B2 (en) * | 2005-11-07 | 2011-12-27 | At&T Intellectual Property I, L.P. | Caller-controlled routing to non-SIP/non-TEL URI destinations for an IMS-based ENUM query |
US7606223B2 (en) * | 2005-11-08 | 2009-10-20 | Siemens Communications, Inc. | Handling communications between stations in a digital telecommunications system |
WO2007056838A1 (en) * | 2005-11-21 | 2007-05-24 | Bce Inc. | Method, system and apparatus for announcing caller information over a television link |
US20070118660A1 (en) * | 2005-11-24 | 2007-05-24 | Nokia Corporation | Recording session contents in a network |
GB2432993A (en) * | 2005-12-01 | 2007-06-06 | Marconi Comm Ltd | Combating fraud in telecommunication systems |
US9060047B2 (en) | 2005-12-21 | 2015-06-16 | Genband Us Llc | Media stream management |
US8244532B1 (en) * | 2005-12-23 | 2012-08-14 | At&T Intellectual Property Ii, L.P. | Systems, methods, and programs for detecting unauthorized use of text based communications services |
US8649485B2 (en) * | 2005-12-28 | 2014-02-11 | Sap Ag | System and method for automated connection triggered by availability status |
FR2895858B1 (en) * | 2005-12-29 | 2008-06-13 | Radiotelephone Sfr | METHOD AND DEVICE FOR IMPROVING THE FUNCTIONING OF A TAXATION CHAIN BY SETTING UP A MULTI-LEVEL DEGRADE MODE |
US8077849B2 (en) * | 2006-01-10 | 2011-12-13 | Utbk, Inc. | Systems and methods to block communication calls |
US7881455B2 (en) * | 2006-01-12 | 2011-02-01 | At&T Intellectual Property I, L.P. | Apparatus and method for finding a called party over a telecommunication network |
US7529231B2 (en) * | 2006-01-13 | 2009-05-05 | At&T Intellectual Property L.L.P. | Routing methods and systems using ENUM servers internal and external to a service provider network |
US7697422B1 (en) | 2006-01-17 | 2010-04-13 | Marvell Israel (M.I.S.L.) Ltd. | Quality of service marking techniques |
US20070165605A1 (en) * | 2006-01-17 | 2007-07-19 | Samsung Electronics Co., Ltd. | Apparatus and method for handling call features activated by POTS phones in an IP multimedia subsystem |
US7945261B1 (en) * | 2006-01-25 | 2011-05-17 | Nextel Communications Inc. | Systems and methods for provisioning and synchronizing wireless subscriber data |
US9479604B2 (en) * | 2006-01-30 | 2016-10-25 | Qualcomm Incorporated | System and method for dynamic phone book and network content links in a mobile device |
US8144644B1 (en) | 2006-02-07 | 2012-03-27 | Sprint Spectrum L.P. | Network-side setup of a packet-data communication session on behalf of a mobile station, followed by transfer of the communication session to the mobile station |
EP1992126B1 (en) * | 2006-03-06 | 2012-04-25 | Nokia Corporation | Aggregation of vci routing tables |
CN101496387B (en) * | 2006-03-06 | 2012-09-05 | 思科技术公司 | System and method for access authentication in a mobile wireless network |
JP5105755B2 (en) * | 2006-03-10 | 2012-12-26 | サンデン株式会社 | Connection device for communication equipment. |
US20070234424A1 (en) * | 2006-03-31 | 2007-10-04 | Lucent Technologies, Inc. | Design and evaluation of a fast and robust worm detection algorithm |
US20070237131A1 (en) * | 2006-04-10 | 2007-10-11 | Microsoft Corporation | Voip client information |
JP2007282059A (en) * | 2006-04-10 | 2007-10-25 | Sony Corp | Video-phone terminal device and method for displaying address |
SE531400C2 (en) | 2006-05-10 | 2009-03-24 | Rebtel Networks Ab | telephone Communication |
US7890636B2 (en) * | 2006-06-28 | 2011-02-15 | Cisco Technology, Inc. | Application integrated gateway |
US9054909B2 (en) * | 2006-06-30 | 2015-06-09 | Microsoft Technology Licensing, Llc | Forwarding calls in real time communications |
US7809123B2 (en) * | 2006-08-02 | 2010-10-05 | At&T Intellectual Property I, L.P. | Method and system for determining independent authorization levels in a VPN |
US8036366B2 (en) * | 2006-08-04 | 2011-10-11 | Microsoft Corporation | Intelligent formatting of VoIP telephone numbers |
US20080046440A1 (en) * | 2006-08-16 | 2008-02-21 | Estes Philip F | Method And System For Enforcing User-Defined Relational Limitations In A Recursive Relational Database Table |
US7881297B2 (en) * | 2006-09-01 | 2011-02-01 | Avaya Inc. | Providing communications including an extended protocol header |
NO325487B1 (en) * | 2006-09-14 | 2008-05-13 | Tandberg Telecom As | Method and device for dynamic streaming / archiving configuration |
US8160218B2 (en) * | 2006-09-22 | 2012-04-17 | Alcatel Lucent | Event driven call generation |
US20080080527A1 (en) * | 2006-09-29 | 2008-04-03 | Motorola, Inc. | Method and apparatus for communication between session initiation protocol based networks and legacy networks |
US8270588B2 (en) | 2006-10-04 | 2012-09-18 | Ronald Schwartz | Method and system for incoming call management |
US20080086700A1 (en) * | 2006-10-06 | 2008-04-10 | Rodriguez Robert A | Systems and Methods for Isolating On-Screen Textual Data |
US8571198B2 (en) * | 2006-10-10 | 2013-10-29 | Cisco Technology, Inc. | Handling redirect calls |
US7706373B2 (en) * | 2006-11-01 | 2010-04-27 | Nuvoiz, Inc. | Session initiation and maintenance while roaming |
JP4410236B2 (en) * | 2006-11-28 | 2010-02-03 | 株式会社東芝 | Telephone system and call control method thereof |
GB0624577D0 (en) * | 2006-12-08 | 2007-01-17 | Skype Ltd | Communication Systems |
US8451825B2 (en) | 2007-02-22 | 2013-05-28 | Utbk, Llc | Systems and methods to confirm initiation of a callback |
US8542802B2 (en) | 2007-02-15 | 2013-09-24 | Global Tel*Link Corporation | System and method for three-way call detection |
US20080201158A1 (en) | 2007-02-15 | 2008-08-21 | Johnson Mark D | System and method for visitation management in a controlled-access environment |
CA2678816C (en) * | 2007-02-20 | 2016-02-09 | Anthony G. Macaluso | Automatic provisioning of abbreviated dialing codes |
US8730970B2 (en) * | 2007-02-23 | 2014-05-20 | Tekelec Global, Inc. | Methods systems, and computer program products for providing voicemail routing information in a network that provides customized voicemail services |
US9055517B2 (en) * | 2007-02-26 | 2015-06-09 | Blackberry Limited | System and method of user-directed dynamic domain selection |
US7995562B2 (en) * | 2007-02-26 | 2011-08-09 | Research In Motion Limited | System and method to trigger a mobile device in different domains based on unsuccessful initialization or handover |
US8010093B2 (en) | 2007-03-08 | 2011-08-30 | Infineon Technologies Ag | Communication network unit and method for exchanging capability information |
US20080247529A1 (en) * | 2007-04-03 | 2008-10-09 | Microsoft Corporation | Incoming Call Classification And Disposition |
US8983051B2 (en) * | 2007-04-03 | 2015-03-17 | William F. Barton | Outgoing call classification and disposition |
US8131556B2 (en) | 2007-04-03 | 2012-03-06 | Microsoft Corporation | Communications using different modalities |
US20080259918A1 (en) * | 2007-04-19 | 2008-10-23 | Craig Elliott Walker | Method and apparatus for managing telephone calls |
US11354667B2 (en) | 2007-05-29 | 2022-06-07 | Spriv Llc | Method for internet user authentication |
US20090003582A1 (en) * | 2007-06-27 | 2009-01-01 | Microsoft Corporation | Optimized Replacement of Calls Using A Grid Parameter |
JP5018329B2 (en) * | 2007-08-10 | 2012-09-05 | 富士通株式会社 | Program for controlling communication device and communication device |
BRPI0721937A2 (en) * | 2007-08-17 | 2014-03-18 | Google Inc | ONLINE COMMUNITY CREATION METHODS WITHIN ONLINE SOCIAL NETWORK AND COMPUTER PROGRAM PRODUCT |
US20110010384A1 (en) * | 2007-08-17 | 2011-01-13 | Google Inc. | Multi-community content sharing in online social networks |
US8572094B2 (en) * | 2007-08-17 | 2013-10-29 | Google Inc. | Ranking social network objects |
US8315362B2 (en) * | 2007-08-22 | 2012-11-20 | Citrix Systems, Inc. | Systems and methods for voicemail avoidance |
US8750490B2 (en) * | 2007-08-22 | 2014-06-10 | Citrix Systems, Inc. | Systems and methods for establishing a communication session among end-points |
US9137377B2 (en) * | 2007-08-22 | 2015-09-15 | Citrix Systems, Inc. | Systems and methods for at least partially releasing an appliance from a private branch exchange |
US9357061B2 (en) | 2007-09-10 | 2016-05-31 | Dsi-Iti, Llc | System and method for the automatic distribution of inmate phone recordings |
EP2206284B1 (en) * | 2007-10-03 | 2015-08-26 | Art Technology Group, Inc. | Method and apparatus for the prevention of unwanted calls in a callback system |
US7920474B2 (en) * | 2007-10-08 | 2011-04-05 | Samsung Electronics Co., Ltd. | System and method for context-based hierarchical adaptive round robin scheduling |
US8503334B2 (en) * | 2007-12-14 | 2013-08-06 | Level 3 Communications, Llc | System and method for providing network services over shared virtual private network (VPN) |
WO2009086316A1 (en) * | 2007-12-21 | 2009-07-09 | Citrix Systems, Inc. | Systems and methods for efficient processing of data displayed by a window |
JP4985435B2 (en) * | 2008-01-30 | 2012-07-25 | 日本電気株式会社 | Monitoring and analyzing apparatus, method, and program |
US8694617B2 (en) * | 2008-01-31 | 2014-04-08 | Centurylink Intellectual Property Llc | System and method for orders and troubles metric attribution identification and aggregation |
US8339959B1 (en) | 2008-05-20 | 2012-12-25 | Juniper Networks, Inc. | Streamlined packet forwarding using dynamic filters for routing and security in a shared forwarding plane |
US9031856B2 (en) * | 2008-06-12 | 2015-05-12 | Verizon Patent And Licensing Inc. | System and method for integrating issue tracking systems |
US20090319666A1 (en) * | 2008-06-18 | 2009-12-24 | Shih-Chang Liang | Method and Apparatus for Session Initiated Protocol (SIP) Based Information Uploading from an Optical Network Terminal (ONT) |
US8612614B2 (en) * | 2008-07-17 | 2013-12-17 | Citrix Systems, Inc. | Method and system for establishing a dedicated session for a member of a common frame buffer group |
US8955107B2 (en) * | 2008-09-12 | 2015-02-10 | Juniper Networks, Inc. | Hierarchical application of security services within a computer network |
US8538003B2 (en) * | 2008-09-12 | 2013-09-17 | Hartford Fire Insurance Company | Method and apparatus for integrating call center and existing telephony infrastructure |
GB2463494A (en) * | 2008-09-15 | 2010-03-17 | Data Connection Ltd | Providing a single telephone dialling number for multiple telephony devices |
US8300644B2 (en) * | 2008-09-30 | 2012-10-30 | Avaya Inc. | Coordination of user information across session initiation protocol-based proxy servers |
US8310609B2 (en) * | 2008-09-30 | 2012-11-13 | Sony Corporation | Liquid crystal device, electronic apparatus, and method of manufacturing liquid crystal device |
US7885253B2 (en) * | 2008-09-30 | 2011-02-08 | Avaya Inc. | Synchronization of session-initiation-protocol proxy databases |
US8224954B2 (en) * | 2008-10-20 | 2012-07-17 | At&T Intellectual Property I, L.P. | Protecting subscriber database data integrity in geographical redundant deployments |
US8040808B1 (en) | 2008-10-20 | 2011-10-18 | Juniper Networks, Inc. | Service aware path selection with a network acceleration device |
US8121118B2 (en) * | 2008-10-31 | 2012-02-21 | At&T Intellectual Property I, L.P. | Methods and apparatus to dynamically control connectivity within virtual private networks |
US8549616B2 (en) * | 2008-10-31 | 2013-10-01 | At&T Intellectual Property I, L.P. | Methods and apparatus to dynamically control access from virtual private networks to network-based shared resources |
US8903973B1 (en) * | 2008-11-10 | 2014-12-02 | Tanium Inc. | Parallel distributed network management |
US8374576B2 (en) | 2008-12-04 | 2013-02-12 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for generating resource utilization alerts through communication terminals |
US8218744B2 (en) * | 2008-12-12 | 2012-07-10 | At&T Intellectual Property I, L.P. | Method for indicating the context of a call to a called party |
US8385326B2 (en) * | 2008-12-29 | 2013-02-26 | Microsoft Corporation | Handling early media in VoIP communication with multiple endpoints |
WO2010083509A2 (en) * | 2009-01-16 | 2010-07-22 | Tekelec | Methods, systems, and computer readable media for centralized routing and call instance code management for bearer independent call control (bicc) signaling messages |
US9621714B2 (en) | 2009-01-27 | 2017-04-11 | Value-Added Communications, Inc. | System and method for electronic notification in institutional communication |
US8582560B2 (en) | 2009-01-30 | 2013-11-12 | Level 3 Communications, Llc | System and method for routing calls associated with private dialing plans |
US9225838B2 (en) | 2009-02-12 | 2015-12-29 | Value-Added Communications, Inc. | System and method for detecting three-way call circumvention attempts |
CA2754953A1 (en) * | 2009-03-10 | 2010-09-16 | Karen Swenson | Systems and methods for address intelligence |
JP5177042B2 (en) * | 2009-03-24 | 2013-04-03 | 富士通株式会社 | Communication terminal, location information notification method |
US8391884B2 (en) * | 2009-03-26 | 2013-03-05 | Andrew Llc | System and method for managing created location contexts in a location server |
CN101854268B (en) * | 2009-04-04 | 2013-06-05 | 华为技术有限公司 | Method, device and system of IP (Internet Protocol) network performance measurement as well as method, device and system of IP network service quality control |
US8200821B2 (en) * | 2009-06-19 | 2012-06-12 | Comcast Cable Communications, Llc | System and method for improved in-browser notification |
WO2011025689A1 (en) * | 2009-08-25 | 2011-03-03 | Bank Of America Corporation | Integrated fraud platform |
JP5216719B2 (en) * | 2009-08-27 | 2013-06-19 | 京セラドキュメントソリューションズ株式会社 | Information processing apparatus and control apparatus |
US8599834B2 (en) * | 2009-09-29 | 2013-12-03 | Ipc Systems, Inc. | Systems, methods, and computer program products for providing a manual ring-down communication line using session initiation protocol |
US20110103564A1 (en) * | 2009-10-30 | 2011-05-05 | Mitel Networks Corporation | System and method for communicating guest preferences to a telephony device |
US10389761B2 (en) * | 2009-11-17 | 2019-08-20 | Time Warner Cable Enterprises Llc | Internet protocol multimedia subsystem voice-video mail service over a home network |
US8494142B2 (en) | 2009-12-04 | 2013-07-23 | International Business Machines Corporation | Methods to improve fraud detection on conference calling systems based on observation of participants' call time durations |
US20110135081A1 (en) * | 2009-12-04 | 2011-06-09 | Charles Steven Lingafelt | Methods to improve fraud detection on conference calling systems by detection of non-typical useage of moderator passcode |
US8243904B2 (en) * | 2009-12-04 | 2012-08-14 | International Business Machines Corporation | Methods to improve security of conference calls by observation of attendees' order and time of joining the call |
US20110135073A1 (en) * | 2009-12-04 | 2011-06-09 | Charles Steven Lingafelt | Methods to improve fraud detection on conference calling systems by detection of conference moderator password utilization from a non-authorized device |
US8635683B2 (en) * | 2009-12-04 | 2014-01-21 | International Business Machines Corporation | Method to improve fraud detection on conference calling systems by detecting re-use of conference moderator passwords |
US8705513B2 (en) * | 2009-12-15 | 2014-04-22 | At&T Intellectual Property I, L.P. | Methods and apparatus to communicatively couple virtual private networks to virtual machines within distributive computing networks |
US8621366B1 (en) | 2010-02-16 | 2013-12-31 | Google Inc. | Self-creation of comic strips in social networks and other communications |
US11792314B2 (en) | 2010-03-28 | 2023-10-17 | Spriv Llc | Methods for acquiring an internet user's consent to be located and for authenticating the location information |
EP2383952B1 (en) * | 2010-04-27 | 2014-10-08 | BlackBerry Limited | Apparatus and method for resolving a race condition between two session initiation protocol (SIP) end points |
US20110286365A1 (en) * | 2010-05-21 | 2011-11-24 | Avaya Inc. | Method for Connection Preservation |
US8473557B2 (en) | 2010-08-24 | 2013-06-25 | At&T Intellectual Property I, L.P. | Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network |
US8606787B1 (en) | 2010-09-15 | 2013-12-10 | Google Inc. | Social network node clustering system and method |
BR112013006445A2 (en) | 2010-09-27 | 2019-09-24 | Google Inc | system and method for generating phantom profile in social network and computer program product |
CN103154884B (en) | 2010-10-27 | 2016-08-10 | 惠普发展公司,有限责任合伙企业 | Mode detection |
US9449302B1 (en) | 2010-11-04 | 2016-09-20 | Google Inc. | Generating personalized websites and newsletters |
US8359006B1 (en) * | 2010-11-05 | 2013-01-22 | Sprint Communications Company L.P. | Using communications records to detect unauthorized use of telecommunication services |
US9038177B1 (en) * | 2010-11-30 | 2015-05-19 | Jpmorgan Chase Bank, N.A. | Method and system for implementing multi-level data fusion |
US8595167B1 (en) | 2010-11-30 | 2013-11-26 | Google Inc. | Predicting likelihood of a successful connection between unconnected users within a social network using a learning network |
US8887070B1 (en) | 2010-12-16 | 2014-11-11 | Google Inc. | Conference calls for social streams |
US9158775B1 (en) | 2010-12-18 | 2015-10-13 | Google Inc. | Scoring stream items in real time |
US8826446B1 (en) | 2011-01-19 | 2014-09-02 | Google Inc. | System and method for applying privacy settings to a plurality of applications |
US8683557B1 (en) | 2011-02-05 | 2014-03-25 | Google Inc. | Delegation as a mechanism to manage business activity by taking on a shared identity |
US9002956B1 (en) | 2011-03-30 | 2015-04-07 | Google Inc. | Self-regulating social news feed |
US8694593B1 (en) | 2011-03-31 | 2014-04-08 | Google Inc. | Tools for micro-communities |
US8909711B1 (en) | 2011-04-27 | 2014-12-09 | Google Inc. | System and method for generating privacy-enhanced aggregate statistics |
US8818049B2 (en) | 2011-05-18 | 2014-08-26 | Google Inc. | Retrieving contact information based on image recognition searches |
US8538742B2 (en) | 2011-05-20 | 2013-09-17 | Google Inc. | Feed translation for a social network |
US8589407B2 (en) | 2011-06-17 | 2013-11-19 | Google Inc. | Automated generation of suggestions for personalized reactions in a social network |
US9148399B1 (en) | 2011-06-21 | 2015-09-29 | Google Inc. | Automatic publication of a user's application installation events |
US8959083B1 (en) | 2011-06-26 | 2015-02-17 | Google Inc. | Searching using social context |
US9417759B1 (en) | 2011-06-27 | 2016-08-16 | Google Inc. | Synchronizing data across multiple browser tabs or windows |
US9146656B1 (en) | 2011-06-27 | 2015-09-29 | Google Inc. | Notifications user interface |
US8832854B1 (en) | 2011-06-30 | 2014-09-09 | Google Inc. | System and method for privacy setting differentiation detection |
US8326769B1 (en) | 2011-07-01 | 2012-12-04 | Google Inc. | Monetary transfer in a social network |
US9900351B2 (en) * | 2011-07-20 | 2018-02-20 | Genband Us Llc | Methods, systems, and computer readable media for providing legacy devices access to a session initiation protocol (SIP) based network |
US8645484B2 (en) | 2011-08-02 | 2014-02-04 | Google Inc. | Messaging service using different text messaging channels |
US9317807B1 (en) | 2011-08-03 | 2016-04-19 | Google Inc. | Various ways to automatically select sharing settings |
US8782761B1 (en) | 2011-08-08 | 2014-07-15 | Google Inc. | Generating authentication challenges based on preferences of a user's contacts |
US9183515B2 (en) | 2011-08-22 | 2015-11-10 | Google Inc. | Share box for endorsements |
US8375331B1 (en) | 2011-08-23 | 2013-02-12 | Google Inc. | Social computing personas for protecting identity in online social interactions |
US20130061153A1 (en) * | 2011-09-07 | 2013-03-07 | Avaya Inc. | System and Method for Inserting a Control System Into a Conference |
US8903909B1 (en) | 2011-09-15 | 2014-12-02 | Google Inc. | Detecting and extending engagement with stream content |
US8997240B1 (en) | 2011-09-21 | 2015-03-31 | Google Inc. | Generating user authentication challenges based on social network activity information |
US9037864B1 (en) | 2011-09-21 | 2015-05-19 | Google Inc. | Generating authentication challenges based on social network activity information |
US8867849B1 (en) | 2011-10-05 | 2014-10-21 | Google Inc. | Suggesting profile images for a social network |
US9871757B1 (en) | 2011-10-07 | 2018-01-16 | Google Llc | Sharing user-generated content to external social networks |
US8935422B1 (en) | 2011-10-11 | 2015-01-13 | Google Inc. | Embedded streams user interface |
US9177062B2 (en) | 2012-10-31 | 2015-11-03 | Google Inc. | Sorting social profile search results based on computing personal similarity scores |
US20130121212A1 (en) * | 2011-11-15 | 2013-05-16 | Arunabha Guha | Method and apparatus for supporting location-aware services |
CN103139824A (en) * | 2011-11-25 | 2013-06-05 | 华为技术有限公司 | Method and device for identifying very annoying people (VAP) in mobile communication network |
US8754926B1 (en) | 2011-11-29 | 2014-06-17 | Google Inc. | Managing nodes of a synchronous communication conference |
US9043417B1 (en) | 2011-12-13 | 2015-05-26 | Google Inc. | Detecting spam across a social network |
US9043870B1 (en) | 2011-12-16 | 2015-05-26 | Google Inc. | Automated sign up based on existing online identity |
US9251535B1 (en) | 2012-01-05 | 2016-02-02 | Juniper Networks, Inc. | Offload of data transfer statistics from a mobile access gateway |
US8391136B1 (en) | 2012-01-27 | 2013-03-05 | Google Inc. | Fallback messaging |
US9497149B2 (en) * | 2012-02-03 | 2016-11-15 | Richard Kramer | System and method for reducing unsolicited E-mails |
US9477936B2 (en) | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
US9641609B2 (en) | 2012-02-28 | 2017-05-02 | Google Inc. | Integrated messaging |
US9524487B1 (en) * | 2012-03-15 | 2016-12-20 | Google Inc. | System and methods for detecting temporal music trends from online services |
US9385979B1 (en) | 2012-03-23 | 2016-07-05 | Google Inc. | Customizing posts by activity type and client type |
US8825658B1 (en) | 2012-03-27 | 2014-09-02 | Google Inc. | Organizing indications of approval for collections |
US8693648B1 (en) | 2012-04-16 | 2014-04-08 | Google Inc. | Providing backstage support for online video communication broadcasts |
US8463796B1 (en) | 2012-05-25 | 2013-06-11 | Google Inc. | System and method for providing noted items |
US8930392B1 (en) | 2012-06-05 | 2015-01-06 | Google Inc. | Simulated annealing in recommendation systems |
US9720495B1 (en) | 2012-06-22 | 2017-08-01 | Google Inc. | Aggregating online activities |
US8997072B1 (en) | 2012-07-13 | 2015-03-31 | Google Inc. | Compressing dependency graphs in a social network |
US9230287B2 (en) | 2012-08-21 | 2016-01-05 | Google Inc. | Real-time notifications and sharing of photos among users of a social network |
US9680959B2 (en) | 2012-08-30 | 2017-06-13 | Google Inc. | Recommending content based on intersecting user interest profiles |
US8977654B1 (en) | 2012-09-21 | 2015-03-10 | Google Inc. | Assigning classes to users of an online community |
US8959151B1 (en) * | 2012-10-04 | 2015-02-17 | Google Inc. | Establishing per-page multi-party communication sessions |
US8856173B2 (en) | 2012-10-04 | 2014-10-07 | Google Inc. | User engagement in a social network using indications of acknowledgement |
US9275420B1 (en) | 2012-10-05 | 2016-03-01 | Google Inc. | Changing user profile impression |
US9231939B1 (en) | 2012-10-09 | 2016-01-05 | Google Inc. | Integrating business tools in a social networking environment |
US9269081B1 (en) | 2012-10-12 | 2016-02-23 | Google Inc. | Seeding user connections in a social network |
US9299060B2 (en) | 2012-10-12 | 2016-03-29 | Google Inc. | Automatically suggesting groups based on past user interaction |
US9098819B1 (en) | 2012-10-18 | 2015-08-04 | Google Inc. | Identifying social network accounts belonging to the same user |
US9117197B1 (en) | 2012-10-19 | 2015-08-25 | Google Inc. | Alert system for social network users |
US8819851B1 (en) | 2012-10-29 | 2014-08-26 | Google Inc. | Access control using social network associations |
US8977617B1 (en) | 2012-10-31 | 2015-03-10 | Google Inc. | Computing social influence scores for users |
CN103812913B (en) * | 2012-11-14 | 2017-11-10 | 新华三技术有限公司 | A kind of remote access method and device based on Virtual Networking Computing |
US11172470B1 (en) | 2012-12-21 | 2021-11-09 | Tanium Inc. | System, security and network management using self-organizing communication orbits in distributed networks |
CN103906146B (en) * | 2012-12-27 | 2018-08-03 | 南京中兴新软件有限责任公司 | A kind of method of QoS alignment between WLAN and packet-based core networks |
CN103997479B (en) * | 2013-02-17 | 2018-06-15 | 新华三技术有限公司 | A kind of asymmetric services IP Proxy Methods and equipment |
KR102054941B1 (en) * | 2013-05-02 | 2020-01-22 | 한국전자통신연구원 | Apparatus of setting active networking of smart devices for providing fusion service and method thereof |
US9709978B2 (en) | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
US9989958B2 (en) | 2013-05-09 | 2018-06-05 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment |
US10026049B2 (en) | 2013-05-09 | 2018-07-17 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US9438648B2 (en) | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US9703902B2 (en) | 2013-05-09 | 2017-07-11 | Rockwell Automation Technologies, Inc. | Using cloud-based data for industrial simulation |
US9786197B2 (en) | 2013-05-09 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system |
US9391889B1 (en) * | 2013-08-19 | 2016-07-12 | Sprint Spectrum L.P. | Methods and systems for using DNS-dip to select codec for a communication session |
US10063458B2 (en) * | 2013-10-13 | 2018-08-28 | Nicira, Inc. | Asymmetric connection with external networks |
US10931721B2 (en) * | 2013-12-27 | 2021-02-23 | T-Mobile Usa, Inc. | User account-based access to real-time communications |
US20150188956A1 (en) | 2013-12-27 | 2015-07-02 | T-Mobile Usa, Inc. | Unified Communication Device |
CN104869097A (en) * | 2014-02-20 | 2015-08-26 | 杭州华三通信技术有限公司 | Route limiting method based on virtual private network (VPN), and route limiting device based on VPN |
US10873645B2 (en) | 2014-03-24 | 2020-12-22 | Tanium Inc. | Software application updating in a local network |
US10306000B1 (en) * | 2014-03-31 | 2019-05-28 | Ribbon Communications Operating Company, Inc. | Methods and apparatus for generating, aggregating and/or distributing presence information |
US10623285B1 (en) | 2014-05-09 | 2020-04-14 | Amazon Technologies, Inc. | Multi-mode health monitoring service |
US10313225B1 (en) | 2014-05-09 | 2019-06-04 | Amazon Technologies, Inc. | Scalable routing service |
US9813379B1 (en) | 2014-05-09 | 2017-11-07 | Amazon Technologies, Inc. | Virtual private gateways using compute instances |
US10044581B1 (en) | 2015-09-29 | 2018-08-07 | Amazon Technologies, Inc. | Network traffic tracking using encapsulation protocol |
WO2016012057A1 (en) * | 2014-07-25 | 2016-01-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of and communications handling equipment for controlling communication session establishment in a multimedia communications network. |
US9787499B2 (en) | 2014-09-19 | 2017-10-10 | Amazon Technologies, Inc. | Private alias endpoints for isolated virtual networks |
WO2016077801A2 (en) * | 2014-11-14 | 2016-05-19 | Bigleaf Networks, Llc | Circuit-aware load balancing with dynamic quality of service |
US10367855B2 (en) * | 2015-01-27 | 2019-07-30 | Tevnos LLC | Switch controller for separating multiple portions of call |
US9735981B2 (en) | 2015-03-03 | 2017-08-15 | At&T Intellectual Property I, L.P. | Facilitation of session initiation protocol trunking |
US11042131B2 (en) | 2015-03-16 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Backup of an industrial automation plant in the cloud |
US10496061B2 (en) | 2015-03-16 | 2019-12-03 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
US11513477B2 (en) | 2015-03-16 | 2022-11-29 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US11243505B2 (en) | 2015-03-16 | 2022-02-08 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US11461208B1 (en) | 2015-04-24 | 2022-10-04 | Tanium Inc. | Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network |
US10637766B2 (en) * | 2015-04-27 | 2020-04-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Resource provisioning in a virtualized network |
EP3099046B1 (en) * | 2015-05-25 | 2018-07-04 | EXFO Oy | Arrangement, computer program code and method for call data record processing |
US10021196B1 (en) | 2015-06-22 | 2018-07-10 | Amazon Technologies, Inc. | Private service endpoints in isolated virtual networks |
US10033602B1 (en) | 2015-09-29 | 2018-07-24 | Amazon Technologies, Inc. | Network health management using metrics from encapsulation protocol endpoints |
EP3561707A1 (en) * | 2015-10-14 | 2019-10-30 | Pindrop Security, Inc. | Call detail record analysis to identify fraudulent activity and fraud detection in interactive voice response systems |
US11372938B1 (en) | 2016-03-08 | 2022-06-28 | Tanium Inc. | System and method for performing search requests in a network |
US11153383B2 (en) | 2016-03-08 | 2021-10-19 | Tanium Inc. | Distributed data analysis for streaming data sources |
US11609835B1 (en) | 2016-03-08 | 2023-03-21 | Tanium Inc. | Evaluating machine and process performance in distributed system |
US11886229B1 (en) | 2016-03-08 | 2024-01-30 | Tanium Inc. | System and method for generating a global dictionary and performing similarity search queries in a network |
US10572961B2 (en) | 2016-03-15 | 2020-02-25 | Global Tel*Link Corporation | Detection and prevention of inmate to inmate message relay |
US9942787B1 (en) | 2016-03-22 | 2018-04-10 | Amazon Technologies, Inc. | Virtual private network connection quality analysis |
US20170289161A1 (en) | 2016-04-05 | 2017-10-05 | Joinesty, Inc. | Apparatus and Method for Automated Email and Password Creation and Curation Across Multiple Websites |
US9609121B1 (en) | 2016-04-07 | 2017-03-28 | Global Tel*Link Corporation | System and method for third party monitoring of voice and video calls |
CN107302470B (en) * | 2016-04-14 | 2020-04-14 | 中国移动通信有限公司研究院 | Method and device for processing xDR data represented by external data |
US10135974B1 (en) * | 2016-06-23 | 2018-11-20 | 8X8, Inc. | Client-specific control of shared telecommunications services |
US20180063333A1 (en) * | 2016-08-29 | 2018-03-01 | T-Mobile Usa, Inc. | Call classification and routing using enum queries |
US10917324B2 (en) | 2016-09-28 | 2021-02-09 | Amazon Technologies, Inc. | Network health data aggregation service |
US10862777B2 (en) | 2016-09-28 | 2020-12-08 | Amazon Technologies, Inc. | Visualization of network health information |
US10911263B2 (en) | 2016-09-28 | 2021-02-02 | Amazon Technologies, Inc. | Programmatic interfaces for network health information |
US10243820B2 (en) | 2016-09-28 | 2019-03-26 | Amazon Technologies, Inc. | Filtering network health information based on customer impact |
US10735431B2 (en) | 2016-11-02 | 2020-08-04 | Global Tel*Link Corp. | Control of internet browsing in a secure environment |
US10708369B2 (en) | 2016-11-02 | 2020-07-07 | Global Tel*Link Corp. | Control of internet browsing in a secure environment |
US9729727B1 (en) * | 2016-11-18 | 2017-08-08 | Ibasis, Inc. | Fraud detection on a communication network |
US10560431B1 (en) | 2016-12-05 | 2020-02-11 | Amazon Technologies, Inc. | Virtual private gateway for encrypted communication over dedicated physical link |
US9990826B1 (en) | 2016-12-07 | 2018-06-05 | Global Tel*Link Corporation | System for monitoring offender during correctional supervisory program |
US20190207946A1 (en) * | 2016-12-20 | 2019-07-04 | Google Inc. | Conditional provision of access by interactive assistant modules |
US10742746B2 (en) | 2016-12-21 | 2020-08-11 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10212071B2 (en) | 2016-12-21 | 2019-02-19 | Nicira, Inc. | Bypassing a load balancer in a return path of network traffic |
US10761920B2 (en) * | 2017-01-17 | 2020-09-01 | Bank Of America Corporation | Individualized channel error detection and resolution |
US10027797B1 (en) | 2017-05-10 | 2018-07-17 | Global Tel*Link Corporation | Alarm control for inmate call monitoring |
US10749827B2 (en) | 2017-05-11 | 2020-08-18 | Global Tel*Link Corporation | System and method for inmate notification and training in a controlled environment facility |
US10127227B1 (en) | 2017-05-15 | 2018-11-13 | Google Llc | Providing access to user-controlled resources by automated assistants |
US11436417B2 (en) | 2017-05-15 | 2022-09-06 | Google Llc | Providing access to user-controlled resources by automated assistants |
US10225396B2 (en) | 2017-05-18 | 2019-03-05 | Global Tel*Link Corporation | Third party monitoring of a activity within a monitoring platform |
US10863025B2 (en) * | 2017-05-25 | 2020-12-08 | T-Mobile Usa, Inc. | Efficient robocall/scam identification with verification function |
US10860786B2 (en) | 2017-06-01 | 2020-12-08 | Global Tel*Link Corporation | System and method for analyzing and investigating communication data from a controlled environment |
US10104710B1 (en) | 2017-06-19 | 2018-10-16 | Global Tel*Link Corporation | Dual mode transmission in a controlled environment |
US9930088B1 (en) | 2017-06-22 | 2018-03-27 | Global Tel*Link Corporation | Utilizing VoIP codec negotiation during a controlled environment call |
US9912821B1 (en) | 2017-06-30 | 2018-03-06 | Global Tel*Link Corporation | Call processing system for modifying inmate communication limits |
GB2563947B (en) * | 2017-06-30 | 2020-01-01 | Resilient Plc | Fraud Detection System |
US10841755B2 (en) * | 2017-07-01 | 2020-11-17 | Phoneic, Inc. | Call routing using call forwarding options in telephony networks |
US10333870B2 (en) | 2017-07-06 | 2019-06-25 | Global Tel*Link Corporation | Presence-based communications in a controlled environment |
US11140020B1 (en) | 2018-03-01 | 2021-10-05 | Amazon Technologies, Inc. | Availability-enhancing gateways for network traffic in virtualized computing environments |
CN110234105B (en) * | 2018-03-06 | 2022-04-01 | 中国移动通信有限公司研究院 | Method and device for detecting whether VLR verifies service rejection instruction |
WO2019245131A1 (en) * | 2018-06-20 | 2019-12-26 | 주식회사 케이티 | Apparatus and method for detecting illegal call |
US11343355B1 (en) | 2018-07-18 | 2022-05-24 | Tanium Inc. | Automated mapping of multi-tier applications in a distributed system |
US11184481B1 (en) | 2018-08-07 | 2021-11-23 | First Orion Corp. | Call screening service for communication devices |
EP3937030A1 (en) | 2018-08-07 | 2022-01-12 | Google LLC | Assembling and evaluating automated assistant responses for privacy concerns |
US10700955B2 (en) * | 2018-09-14 | 2020-06-30 | The Nielsen Company (Us), Llc | Methods apparatus and medium to exclude network communication traffic from media monitoring records |
US10484532B1 (en) * | 2018-10-23 | 2019-11-19 | Capital One Services, Llc | System and method detecting fraud using machine-learning and recorded voice clips |
GB2580325B (en) | 2018-12-28 | 2023-09-06 | Resilient Plc | Fraud detection system |
US11470194B2 (en) | 2019-08-19 | 2022-10-11 | Pindrop Security, Inc. | Caller verification via carrier metadata |
US11095480B2 (en) | 2019-08-30 | 2021-08-17 | Vmware, Inc. | Traffic optimization using distributed edge services |
US10764434B1 (en) * | 2019-09-26 | 2020-09-01 | Joinesty, Inc. | Phone alert for unauthorized call |
US11831670B1 (en) | 2019-11-18 | 2023-11-28 | Tanium Inc. | System and method for prioritizing distributed system risk remediations |
US11356473B2 (en) * | 2019-11-25 | 2022-06-07 | Level 3 Communications, Llc | Web service-based monitoring and detection of fraudulent or unauthorized use of calling service |
CN111092893A (en) * | 2019-12-22 | 2020-05-01 | 上海唐盛信息科技有限公司 | Network security protection method based on XDR ticket data |
TWI766290B (en) * | 2020-06-03 | 2022-06-01 | 遠傳電信股份有限公司 | Electronic device and method for detecting net phone hijacking |
US11606294B2 (en) | 2020-07-16 | 2023-03-14 | Vmware, Inc. | Host computer configured to facilitate distributed SNAT service |
US11616755B2 (en) | 2020-07-16 | 2023-03-28 | Vmware, Inc. | Facilitating distributed SNAT service |
US11494746B1 (en) * | 2020-07-21 | 2022-11-08 | Amdocs Development Limited | Machine learning system, method, and computer program for making payment related customer predictions using remotely sourced data |
US11611613B2 (en) | 2020-07-24 | 2023-03-21 | Vmware, Inc. | Policy-based forwarding to a load balancer of a load balancing cluster |
US11451413B2 (en) | 2020-07-28 | 2022-09-20 | Vmware, Inc. | Method for advertising availability of distributed gateway service and machines at host computer |
US11902050B2 (en) | 2020-07-28 | 2024-02-13 | VMware LLC | Method for providing distributed gateway service at host computer |
US11563764B1 (en) | 2020-08-24 | 2023-01-24 | Tanium Inc. | Risk scoring based on compliance verification test results in a local network |
US11924169B1 (en) | 2021-01-29 | 2024-03-05 | Joinesty, Inc. | Configuring a system for selectively obfuscating data transmitted between servers and end-user devices |
US11265296B1 (en) * | 2021-05-11 | 2022-03-01 | Roqos, Inc. | System and method to create and implement virtual private networks over internet for multiple internet access types |
US11962615B2 (en) | 2021-07-23 | 2024-04-16 | Bank Of America Corporation | Information security system and method for denial-of-service detection |
US11729588B1 (en) | 2021-09-30 | 2023-08-15 | T-Mobile Usa, Inc. | Stateless charging and message handling |
US20230126032A1 (en) * | 2021-10-26 | 2023-04-27 | Zoom Video Communications, Inc. | Communication Forwarding Based On Content Analysis |
Family Cites Families (177)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US2003A (en) * | 1841-03-12 | Improvement in horizontal windivhlls | ||
US2002003A (en) * | 1930-09-20 | 1935-05-21 | Ig Farbenindustrie Ag | Production of acetylene and carbon black |
US4924500A (en) | 1989-05-17 | 1990-05-08 | Northern Telecom Limited | Carrier independent network services |
US5577209A (en) | 1991-07-11 | 1996-11-19 | Itt Corporation | Apparatus and method for providing multi-level security for communication among computers and terminals on a network |
US5608720A (en) * | 1993-03-09 | 1997-03-04 | Hubbell Incorporated | Control system and operations system interface for a network element in an access system |
TW225623B (en) * | 1993-03-31 | 1994-06-21 | American Telephone & Telegraph | Real-time fraud monitoring system |
US5950121A (en) * | 1993-06-29 | 1999-09-07 | Airtouch Communications, Inc. | Method and apparatus for fraud control in cellular telephone systems |
US5606604A (en) * | 1993-12-13 | 1997-02-25 | Lucent Technologies Inc. | System and method for preventing fraud upon PBX through a remote maintenance or administration port |
US5463681A (en) * | 1993-12-29 | 1995-10-31 | At&T Corp. | Security system for terminating fraudulent telephone calls |
US5627886A (en) * | 1994-09-22 | 1997-05-06 | Electronic Data Systems Corporation | System and method for detecting fraudulent network usage patterns using real-time network monitoring |
US5768354A (en) * | 1995-02-02 | 1998-06-16 | Mci Communications Corporation | Fraud evaluation and reporting system and method thereof |
CN1171433C (en) * | 1995-03-30 | 2004-10-13 | 碧蓝方案有限公司 | Detecting possible fraudulent communication usage |
US5802320A (en) | 1995-05-18 | 1998-09-01 | Sun Microsystems, Inc. | System for packet filtering of data packets at a computer network interface |
US5742762A (en) * | 1995-05-19 | 1998-04-21 | Telogy Networks, Inc. | Network management gateway |
US6418324B1 (en) * | 1995-06-01 | 2002-07-09 | Padcom, Incorporated | Apparatus and method for transparent wireless communication between a remote device and host system |
US5852812A (en) * | 1995-08-23 | 1998-12-22 | Microsoft Corporation | Billing system for a network |
US5758343A (en) * | 1995-12-08 | 1998-05-26 | Ncr Corporation | Apparatus and method for integrating multiple delegate directory service agents |
AU704569B2 (en) * | 1995-12-11 | 1999-04-29 | Comcast Ip Holdings I, Llc | Method of providing telecommunications services |
US5918213A (en) * | 1995-12-22 | 1999-06-29 | Mci Communications Corporation | System and method for automated remote previewing and purchasing of music, video, software, and other multimedia products |
AU1426097A (en) * | 1995-12-29 | 1997-07-28 | Tele-Communications, Inc. | Method and aparatus for processing billing transactions |
US5838910A (en) * | 1996-03-14 | 1998-11-17 | Domenikos; Steven D. | Systems and methods for executing application programs from a memory device linked to a server at an internet site |
JP2000507765A (en) * | 1996-03-29 | 2000-06-20 | ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー | Fraud monitoring in telecommunications networks |
US5768271A (en) | 1996-04-12 | 1998-06-16 | Alcatel Data Networks Inc. | Virtual private network |
US5842040A (en) | 1996-06-18 | 1998-11-24 | Storage Technology Corporation | Policy caching method and apparatus for use in a communication device based on contents of one data unit in a subset of related data units |
US6031978A (en) * | 1996-06-28 | 2000-02-29 | International Business Machines Corporation | System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address |
US6008805A (en) * | 1996-07-19 | 1999-12-28 | Cisco Technology, Inc. | Method and apparatus for providing multiple management interfaces to a network device |
US5918019A (en) | 1996-07-29 | 1999-06-29 | Cisco Technology, Inc. | Virtual dial-up protocol for network communication |
US6016504A (en) * | 1996-08-28 | 2000-01-18 | Infospace.Com, Inc. | Method and system for tracking the purchase of a product and services over the Internet |
US6064653A (en) * | 1997-01-07 | 2000-05-16 | Bell Atlantic Network Services, Inc. | Internetwork gateway to gateway alternative communication |
US5907803A (en) * | 1997-01-14 | 1999-05-25 | Telefonaktiebolaget L M Ericsson (Publ) | User assisted fraud detection in a cellular communications system |
US5953653A (en) * | 1997-01-28 | 1999-09-14 | Mediaone Group, Inc. | Method and system for preventing mobile roaming fraud |
US6600733B2 (en) * | 1997-02-06 | 2003-07-29 | Verizon Laboratories Inc. | System for interconnecting packet-switched and circuit-switched voice communications |
US6327352B1 (en) * | 1997-02-24 | 2001-12-04 | Ameritech Corporation | System and method for real-time fraud detection within a telecommunications system |
US6157648A (en) | 1997-03-06 | 2000-12-05 | Bell Atlantic Network Services, Inc. | Network session management |
US6178505B1 (en) | 1997-03-10 | 2001-01-23 | Internet Dynamics, Inc. | Secure delivery of information in a network |
US5877759A (en) * | 1997-03-26 | 1999-03-02 | Netscape Communications Corporation | Interface for user/agent interaction |
US6047267A (en) * | 1997-05-14 | 2000-04-04 | Portal Software, Inc. | Method and apparatus for tracking multiple payment resources and charging transactions to payment resources in on line transaction processing system |
US5999612A (en) * | 1997-05-27 | 1999-12-07 | International Business Machines Corporation | Integrated telephony and data services over cable networks |
US6226748B1 (en) | 1997-06-12 | 2001-05-01 | Vpnet Technologies, Inc. | Architecture for virtual private networks |
US6173399B1 (en) | 1997-06-12 | 2001-01-09 | Vpnet Technologies, Inc. | Apparatus for implementing virtual private networks |
US6035281A (en) * | 1997-06-16 | 2000-03-07 | International Business Machines Corporation | System and method of multiparty billing for Web access |
US5995604A (en) * | 1997-06-20 | 1999-11-30 | Nortel Networks Corporation | Method of preventing fraudulent toll calls by key system users |
US6192418B1 (en) * | 1997-06-25 | 2001-02-20 | Unisys Corp. | System and method for performing external procedure calls from a client program to a server program while both are operating in a heterogenous computer |
US6188753B1 (en) * | 1997-06-30 | 2001-02-13 | Sprint Communications Co. L.P. | Method and apparatus for detection and prevention of calling card fraud |
US6115673A (en) * | 1997-08-14 | 2000-09-05 | Instrumentation Metrics, Inc. | Method and apparatus for generating basis sets for use in spectroscopic analysis |
US6415167B1 (en) * | 2000-05-02 | 2002-07-02 | Instrumentation Metrics, Inc. | Fiber optic probe placement guide |
US6018575A (en) | 1997-09-08 | 2000-01-25 | Mci Worldcom | Direct distance dialing (DDD) access to a communications services platform |
US6470386B1 (en) * | 1997-09-26 | 2002-10-22 | Worldcom, Inc. | Integrated proxy interface for web based telecommunications management tools |
US6363411B1 (en) * | 1998-08-05 | 2002-03-26 | Mci Worldcom, Inc. | Intelligent network |
JP3597356B2 (en) * | 1997-10-20 | 2004-12-08 | 富士通株式会社 | Communication cooperation information generation device, three-layer client / server system, and medium recording communication cooperation information generation program |
US6128379A (en) | 1997-12-03 | 2000-10-03 | Telcordia Technologies, Inc. | Intelligent data peripheral systems and methods |
US6226364B1 (en) * | 1997-12-08 | 2001-05-01 | Bellsouth Intellectual Property Management Corporation | Method and system for providing prepaid and credit-limited telephone services |
US6535855B1 (en) * | 1997-12-09 | 2003-03-18 | The Chase Manhattan Bank | Push banking system and method |
US6208986B1 (en) * | 1997-12-15 | 2001-03-27 | International Business Machines Corporation | Web interface and method for accessing and displaying directory information |
US6339595B1 (en) * | 1997-12-23 | 2002-01-15 | Cisco Technology, Inc. | Peer-model support for virtual private networks with potentially overlapping addresses |
US6363079B1 (en) | 1997-12-31 | 2002-03-26 | At&T Corp. | Multifunction interface facility connecting wideband multiple access subscriber loops with various networks |
US6192405B1 (en) * | 1998-01-23 | 2001-02-20 | Novell, Inc. | Method and apparatus for acquiring authorized access to resources in a distributed system |
US6079020A (en) | 1998-01-27 | 2000-06-20 | Vpnet Technologies, Inc. | Method and apparatus for managing a virtual private network |
US6334116B1 (en) * | 1998-02-02 | 2001-12-25 | Checkfree Corporation | Technique for centrally tracking transactions in an electronic billing system |
US6353614B1 (en) * | 1998-03-05 | 2002-03-05 | 3Com Corporation | Method and protocol for distributed network address translation |
US6182226B1 (en) | 1998-03-18 | 2001-01-30 | Secure Computing Corporation | System and method for controlling interactions between networks |
US6233313B1 (en) * | 1998-03-26 | 2001-05-15 | Bell Atlantic Network Services | Call detail reporting for lawful surveillance |
EP0948164A1 (en) * | 1998-04-01 | 1999-10-06 | Hewlett-Packard Company | Generating telephony service detail records |
US6453356B1 (en) * | 1998-04-15 | 2002-09-17 | Adc Telecommunications, Inc. | Data exchange system and method |
US6154743A (en) * | 1998-06-16 | 2000-11-28 | Cisco Technology, Inc. | Technique for accessing heterogeneous directory services in an APPN environment |
WO1999066758A2 (en) | 1998-06-19 | 1999-12-23 | Unisphere Solutions, Inc. | An interconnect network for operation within a communication node |
US6680922B1 (en) * | 1998-07-10 | 2004-01-20 | Malibu Networks, Inc. | Method for the recognition and operation of virtual private networks (VPNs) over a wireless point to multi-point (PtMP) transmission system |
US6862622B2 (en) * | 1998-07-10 | 2005-03-01 | Van Drebbel Mariner Llc | Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture |
US6452915B1 (en) * | 1998-07-10 | 2002-09-17 | Malibu Networks, Inc. | IP-flow classification in a wireless point to multi-point (PTMP) transmission system |
US6189033B1 (en) * | 1998-07-16 | 2001-02-13 | Hewlett-Packard Company | Method and system for providing performance guarantees for a data service system of a data access network system |
US20020097725A1 (en) | 1998-07-27 | 2002-07-25 | Nec Corporation | Resource and protocol management for virtual private networks within multiprocessor ATM switches |
US6580721B1 (en) * | 1998-08-11 | 2003-06-17 | Nortel Networks Limited | Routing and rate control in a universal transfer mode network |
US6134307A (en) * | 1998-09-21 | 2000-10-17 | Iridium Ip Llc | Call conversion process for a business system for a global telecommunications network |
US6157041A (en) * | 1998-10-13 | 2000-12-05 | Rio Grande Medical Technologies, Inc. | Methods and apparatus for tailoring spectroscopic calibration models |
US6125391A (en) * | 1998-10-16 | 2000-09-26 | Commerce One, Inc. | Market makers using documents for commerce in trading partner networks |
US6912232B1 (en) * | 1998-10-19 | 2005-06-28 | At&T Corp. | Virtual private network |
US7236950B2 (en) * | 1998-10-29 | 2007-06-26 | Universal Card Services Corp. | Method and system of combined billing of multiple accounts on a single statement |
US6502135B1 (en) | 1998-10-30 | 2002-12-31 | Science Applications International Corporation | Agile network protocol for secure communications with assured system availability |
US6826616B2 (en) | 1998-10-30 | 2004-11-30 | Science Applications International Corp. | Method for establishing secure communication link between computers of virtual private network |
US6614781B1 (en) * | 1998-11-20 | 2003-09-02 | Level 3 Communications, Inc. | Voice over data telecommunications network architecture |
US6266525B1 (en) * | 1998-12-17 | 2001-07-24 | Lucent Technologies Inc. | Method for detecting fraudulent use of a communications system |
US6587683B1 (en) * | 1998-12-31 | 2003-07-01 | At&T Corp. | Unconditional call forwarding in a wireless centrex services system |
US6631258B1 (en) * | 1998-12-31 | 2003-10-07 | At&T Corp. | Busy call forwarding in a wireless centrex services system |
FI990088A (en) * | 1999-01-18 | 2000-07-19 | Nokia Networks Oy | Implementation of call forwarding in a telecommunications network |
US7307990B2 (en) * | 1999-01-19 | 2007-12-11 | Cisco Technology, Inc. | Shared communications network employing virtual-private-network identifiers |
US6280381B1 (en) * | 1999-07-22 | 2001-08-28 | Instrumentation Metrics, Inc. | Intelligent system for noninvasive blood analyte prediction |
US6873617B1 (en) * | 1999-02-03 | 2005-03-29 | Tekno Industries, Inc. | Means for and methods of “in-progress” fraud, billing and maintenance in a SS#7 network of high speed data links |
US6937597B1 (en) * | 1999-02-26 | 2005-08-30 | Lucent Technologies Inc. | Signaling method for internet telephony |
US20020135611A1 (en) * | 1999-03-04 | 2002-09-26 | Trevor Deosaran | Remote performance management to accelerate distributed processes |
US6801914B2 (en) * | 1999-03-15 | 2004-10-05 | Microsoft Corporation | Persistent client-server database sessions |
US6175656B1 (en) * | 1999-03-25 | 2001-01-16 | Sony Corporation | Non-linear video sharpening filter |
US6731642B1 (en) * | 1999-05-03 | 2004-05-04 | 3Com Corporation | Internet telephony using network address translation |
US6564261B1 (en) | 1999-05-10 | 2003-05-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed system to intelligently establish sessions between anonymous users over various networks |
US6226752B1 (en) * | 1999-05-11 | 2001-05-01 | Sun Microsystems, Inc. | Method and apparatus for authenticating users |
JP4110671B2 (en) * | 1999-05-27 | 2008-07-02 | 株式会社日立製作所 | Data transfer device |
US6195697B1 (en) * | 1999-06-02 | 2001-02-27 | Ac Properties B.V. | System, method and article of manufacture for providing a customer interface in a hybrid network |
US6453034B1 (en) * | 1999-07-29 | 2002-09-17 | Mci Worldcom, Inc. | Method of and system for extending internet telephony over virtual private network direct access lines |
US6636242B2 (en) * | 1999-08-31 | 2003-10-21 | Accenture Llp | View configurer in a presentation services patterns environment |
US6614800B1 (en) * | 1999-09-02 | 2003-09-02 | International Business Machines Corporation | Method and system for virtual private network administration channels |
US6798772B2 (en) * | 1999-09-07 | 2004-09-28 | Nortel Network Limited | Method for public access to private phone numbers and other telephonic peripherals using a caller access code |
US6330560B1 (en) * | 1999-09-10 | 2001-12-11 | International Business Machines Corporation | Multiple manager to multiple server IP locking mechanism in a directory-enabled network |
US6532088B1 (en) | 1999-09-10 | 2003-03-11 | Alcatel | System and method for packet level distributed routing in fiber optic rings |
US6888842B1 (en) * | 1999-10-05 | 2005-05-03 | Nortel Networks Limited | Scheduling and reservation for dynamic resource control systems |
US6738910B1 (en) | 1999-10-28 | 2004-05-18 | International Business Machines Corporation | Manual virtual private network internet snoop avoider |
US6473863B1 (en) | 1999-10-28 | 2002-10-29 | International Business Machines Corporation | Automatic virtual private network internet snoop avoider |
US6741688B1 (en) * | 1999-10-28 | 2004-05-25 | Cisco Technology, Inc. | Method and apparatus for handling telephone calls |
US6366577B1 (en) | 1999-11-05 | 2002-04-02 | Mci Worldcom, Inc. | Method for providing IP telephony with QoS using end-to-end RSVP signaling |
US7110952B2 (en) * | 1999-12-07 | 2006-09-19 | Kursh Steven R | Computer accounting method using natural language speech recognition |
US6904276B1 (en) * | 1999-12-17 | 2005-06-07 | Mci, Inc. | Apparatus and method for managing call billing records |
US7154997B1 (en) * | 1999-12-28 | 2006-12-26 | Cingular Wireless Ii, Llc | Subscription-based billing methods and systems for shared network modem pools |
US6252952B1 (en) | 1999-12-30 | 2001-06-26 | At&T Corp | Personal user network (closed user network) PUN/CUN |
US6539483B1 (en) * | 2000-01-12 | 2003-03-25 | International Business Machines Corporation | System and method for generation VPN network policies |
GB0001040D0 (en) * | 2000-01-17 | 2000-03-08 | Nortel Networks Corp | Communications network |
JP2001237876A (en) | 2000-02-21 | 2001-08-31 | Nec Corp | Buildup method for ip virtual private network and the ip virtual private network |
US7096495B1 (en) * | 2000-03-31 | 2006-08-22 | Intel Corporation | Network session management |
US20010037379A1 (en) * | 2000-03-31 | 2001-11-01 | Noam Livnat | System and method for secure storage of information and grant of controlled access to same |
US7215637B1 (en) * | 2000-04-17 | 2007-05-08 | Juniper Networks, Inc. | Systems and methods for processing packets |
US6697806B1 (en) * | 2000-04-24 | 2004-02-24 | Sprint Communications Company, L.P. | Access network authorization |
EP1281267A2 (en) * | 2000-05-03 | 2003-02-05 | Daniel Schoeffler | Method of enabling transmission and reception of communication when current destination for recipient is unknown to sender |
US6621793B2 (en) | 2000-05-22 | 2003-09-16 | Telefonaktiebolaget Lm Ericsson (Publ) | Application influenced policy |
JP4099930B2 (en) | 2000-06-02 | 2008-06-11 | 株式会社日立製作所 | Router device and VPN identification information setting method |
US6611863B1 (en) * | 2000-06-05 | 2003-08-26 | Intel Corporation | Automatic device assignment through programmable device discovery for policy based network management |
US6681232B1 (en) * | 2000-06-07 | 2004-01-20 | Yipes Enterprise Services, Inc. | Operations and provisioning systems for service level management in an extended-area data communications network |
EP2375643B1 (en) | 2000-06-16 | 2015-02-18 | Fujitsu Limited | Communication device having VPN accomodation function |
US6765921B1 (en) * | 2000-06-28 | 2004-07-20 | Nortel Networks Limited | Communications network |
US6836895B2 (en) * | 2000-06-29 | 2004-12-28 | Howard Hamlin | Hybrid electronic e-mail server system and method |
US6779020B1 (en) * | 2000-07-18 | 2004-08-17 | Lucent Technologies Inc. | Establishing communications between a calling server and a called server according to services subscribed by their respective calling and called parties |
US6826147B1 (en) * | 2000-07-25 | 2004-11-30 | Nortel Networks Limited | Method and apparatus for aggregate flow control in a differentiated services network |
US7035248B2 (en) * | 2000-08-10 | 2006-04-25 | Alcatel | Switch with emulation client |
US7120935B2 (en) * | 2000-08-10 | 2006-10-10 | Shield Security Systems, Llc | Interactive key control system and method of managing access to secured locations |
WO2002015481A2 (en) | 2000-08-17 | 2002-02-21 | Trendium, Inc. | Methods, systems, and computer program products for managing a service provided by a network |
US6405035B1 (en) * | 2000-08-24 | 2002-06-11 | Telefonaktiebolaget L.M. Ericsson | System and method for forwarding messages to a subscriber device |
AU2001288463A1 (en) | 2000-08-30 | 2002-03-13 | Citibank, N.A. | Method and system for internet hosting and security |
US7315554B2 (en) | 2000-08-31 | 2008-01-01 | Verizon Communications Inc. | Simple peering in a transport network employing novel edge devices |
US20020038339A1 (en) | 2000-09-08 | 2002-03-28 | Wei Xu | Systems and methods for packet distribution |
US20020035698A1 (en) | 2000-09-08 | 2002-03-21 | The Regents Of The University Of Michigan | Method and system for protecting publicly accessible network computer services from undesirable network traffic in real-time |
US7272643B1 (en) | 2000-09-13 | 2007-09-18 | Fortinet, Inc. | System and method for managing and provisioning virtual routers |
US20020062346A1 (en) * | 2000-09-22 | 2002-05-23 | Chen Joesph Shih-Chun | Apparatus, method, and computer program to integrate applications and appliances over a network |
US6952836B1 (en) * | 2000-09-26 | 2005-10-04 | At&T Corp. | Method and apparatus for managing the provisioning of client devices connected to an interactive TV network |
US6822940B1 (en) | 2000-09-29 | 2004-11-23 | Cisco Technology, Inc. | Method and apparatus for adapting enforcement of network quality of service policies based on feedback about network conditions |
US20020042875A1 (en) | 2000-10-11 | 2002-04-11 | Jayant Shukla | Method and apparatus for end-to-end secure data communication |
JP4183379B2 (en) | 2000-11-27 | 2008-11-19 | 富士通株式会社 | Network and edge router |
US6954790B2 (en) * | 2000-12-05 | 2005-10-11 | Interactive People Unplugged Ab | Network-based mobile workgroup system |
US20050088977A1 (en) | 2000-12-14 | 2005-04-28 | Nortel Networks Limited | Dynamic virtual private network (VPN) tunnel quality of service (QoS) treatment |
US20020075901A1 (en) | 2000-12-19 | 2002-06-20 | Bruce Perlmutter | Bandwidth management for tunneling servers |
US6914883B2 (en) | 2000-12-28 | 2005-07-05 | Alcatel | QoS monitoring system and method for a high-speed DiffServ-capable network element |
US6775235B2 (en) | 2000-12-29 | 2004-08-10 | Ragula Systems | Tools and techniques for directing packets over disparate networks |
KR100360274B1 (en) * | 2000-12-30 | 2002-11-09 | 엘지전자 주식회사 | Method for supporting general ip telephone system in nat based private network |
US6822904B2 (en) | 2001-01-03 | 2004-11-23 | Micron Technology, Inc. | Fast sensing scheme for floating-gate memory cells |
US20020101868A1 (en) * | 2001-01-30 | 2002-08-01 | David Clear | Vlan tunneling protocol |
US20020123972A1 (en) * | 2001-02-02 | 2002-09-05 | Hodgson Robert B. | Apparatus for and method of secure ATM debit card and credit card payment transactions via the internet |
US7120682B1 (en) | 2001-03-08 | 2006-10-10 | Cisco Technology, Inc. | Virtual private networks for voice over networks applications |
US20020138296A1 (en) * | 2001-03-20 | 2002-09-26 | Holmes Ralph K. | Systems and methods for collecting and rating contact center usage |
US6778498B2 (en) * | 2001-03-20 | 2004-08-17 | Mci, Inc. | Virtual private network (VPN)-aware customer premises equipment (CPE) edge router |
US8200577B2 (en) * | 2001-03-20 | 2012-06-12 | Verizon Business Global Llc | Systems and methods for retrieving and modifying data records for rating and billing purposes |
US8195738B2 (en) * | 2001-03-20 | 2012-06-05 | Verizon Business Global Llc | Systems and methods for communicating from an integration platform to a profile management server |
US7068646B2 (en) * | 2001-04-03 | 2006-06-27 | Voxpath Networks, Inc. | System and method for performing IP telephony including internal and external call sessions |
IL151027A0 (en) * | 2001-04-05 | 2003-04-10 | Method for voice activated network access | |
US7356596B2 (en) * | 2001-12-07 | 2008-04-08 | Architecture Technology Corp. | Protecting networks from access link flooding attacks |
US7146428B2 (en) * | 2001-12-12 | 2006-12-05 | At&T Corp. | Secure in-band signaling method for mobility management crossing firewalls |
JP2005513916A (en) * | 2001-12-21 | 2005-05-12 | ミュアヘッド、チャールズ・エス | Virtual dedicated network service supply chain management system |
US7937439B2 (en) * | 2001-12-27 | 2011-05-03 | Utbk, Inc. | Apparatus and method for scheduling live advice communication with a selected service provider |
US9087319B2 (en) * | 2002-03-11 | 2015-07-21 | Oracle America, Inc. | System and method for designing, developing and implementing internet service provider architectures |
US7895643B2 (en) * | 2002-03-16 | 2011-02-22 | Trustedflow Systems, Inc. | Secure logic interlocking |
US20030200441A1 (en) * | 2002-04-19 | 2003-10-23 | International Business Machines Corporation | Detecting randomness in computer network traffic |
US20040034702A1 (en) * | 2002-08-16 | 2004-02-19 | Nortel Networks Limited | Method and apparatus for exchanging intra-domain routing information between VPN sites |
US20040135805A1 (en) * | 2003-01-10 | 2004-07-15 | Gottsacker Neal F. | Document composition system and method |
US7478427B2 (en) * | 2003-05-05 | 2009-01-13 | Alcatel-Lucent Usa Inc. | Method and apparatus for providing adaptive VPN to enable different security levels in virtual private networks (VPNs) |
US20040223497A1 (en) * | 2003-05-08 | 2004-11-11 | Onvoy Inc. | Communications network with converged services |
US20040266420A1 (en) * | 2003-06-24 | 2004-12-30 | Nokia Inc. | System and method for secure mobile connectivity |
US7305705B2 (en) * | 2003-06-30 | 2007-12-04 | Microsoft Corporation | Reducing network configuration complexity with transparent virtual private networks |
US7366181B2 (en) * | 2003-09-06 | 2008-04-29 | Fujitsu Limited | Virtual private network (VPN) with channelized ethernet over sonet (EoS) interface and method |
US8718262B2 (en) * | 2007-03-30 | 2014-05-06 | Mattersight Corporation | Method and system for automatically routing a telephonic communication base on analytic attributes associated with prior telephonic communication |
US8229090B2 (en) * | 2007-04-17 | 2012-07-24 | Verizon Patent And Licensing Inc. | Voice portal communications |
US8200189B2 (en) * | 2008-06-19 | 2012-06-12 | Verizon Patent And Licensing Inc. | Voice portal to voice portal VoIP transfer |
US8428243B2 (en) * | 2008-12-19 | 2013-04-23 | Verizon Patent And Licensing Inc. | Method and system for trunk independent gateway transfer of calls |
US20110246308A1 (en) * | 2010-04-02 | 2011-10-06 | Segall Timothy R | Method and system for managing interactive communications campaigns with preference management |
-
2002
- 2002-03-15 US US10/097,869 patent/US8200577B2/en active Active
- 2002-03-15 US US10/099,097 patent/US7599351B2/en active Active
- 2002-03-15 US US10/097,971 patent/US7289522B2/en active Active
- 2002-03-15 US US10/097,866 patent/US20020138427A1/en not_active Abandoned
- 2002-03-18 US US10/101,199 patent/US8761745B2/en active Active
- 2002-03-20 MX MXPA03008511A patent/MXPA03008511A/en unknown
- 2002-03-20 EP EP02721504A patent/EP1374508A4/en not_active Withdrawn
- 2002-03-20 CN CNA02810059XA patent/CN1509412A/en active Pending
- 2002-03-20 CA CA002441344A patent/CA2441344A1/en not_active Abandoned
- 2002-03-20 EP EP02721467A patent/EP1373912A4/en not_active Withdrawn
- 2002-03-20 JP JP2002573696A patent/JP2004529549A/en not_active Withdrawn
- 2002-03-20 MX MXPA03008479A patent/MXPA03008479A/en not_active Application Discontinuation
- 2002-03-20 BR BR0208231-4A patent/BR0208231A/en not_active Application Discontinuation
- 2002-03-20 JP JP2002573393A patent/JP2005518681A/en not_active Withdrawn
- 2002-03-20 BR BR0208268-3A patent/BR0208268A/en not_active Application Discontinuation
- 2002-03-20 BR BR0208232-2A patent/BR0208232A/en not_active Application Discontinuation
- 2002-03-20 MX MXPA03008507A patent/MXPA03008507A/en not_active Application Discontinuation
- 2002-03-20 JP JP2002573394A patent/JP2005505948A/en not_active Withdrawn
- 2002-03-20 EP EP02725266A patent/EP1374509A4/en not_active Withdrawn
- 2002-03-20 WO PCT/US2002/008321 patent/WO2002075339A1/en not_active Application Discontinuation
- 2002-03-20 CA CA002441281A patent/CA2441281A1/en not_active Abandoned
- 2002-03-20 US US10/103,279 patent/US7197560B2/en not_active Expired - Fee Related
- 2002-03-20 BR BR0208168-7A patent/BR0208168A/en not_active Application Discontinuation
-
2003
- 2003-09-22 US US10/667,278 patent/US7809860B2/en not_active Expired - Fee Related
-
2009
- 2009-07-28 US US12/510,948 patent/US9124722B2/en active Active
-
2010
- 2010-03-16 US US12/725,193 patent/US8543734B2/en not_active Expired - Lifetime
-
2012
- 2012-06-07 US US13/490,734 patent/US8700528B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7599351B2 (en) | Recursive query for communications network data | |
WO2002076049A1 (en) | Recursive query for communications network data | |
US7242680B2 (en) | Selective feature blocking in a communications network | |
US9467479B2 (en) | User aliases in a communication system | |
US8811164B2 (en) | Selective feature blocking in a communications network | |
US7042871B2 (en) | Method and system for suppressing early media in a communications network | |
US8605711B1 (en) | Small office or home office (SOHO) IP phone service | |
AU2002252431A1 (en) | Recursive query for communications network data | |
AU2002250390A1 (en) | Selective feature blocking in a communications network | |
AU2002247376A1 (en) | User aliases in a communication system | |
AU2002255841A1 (en) | Shared dedicated access line (DAL) gateway routing discrimination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FZDE | Discontinued |