Systems and methods for location management and emergency support for a voice over internet protocol device
Summary by NHIP
VoIP Location and Emergency Management
The method associates nomadic service designators and operating mode designators with public user identifiers to manage VoIP access and emergency services. Distinct designators control permissions for multiple identifiers and switch between a restricted mode allowing only 911 calls and an unrestricted mode based on registered geographic locations.
Claim Score by NHIP
Abstract
An example method stores a nomadic service designator and an operating mode designator in association with a public user identifier. The nomadic service designator indicates whether an IP device is allowed to access VoIP services from different network locations. The public user identifier facilitates establishing a call with the IP device. The operating mode designator indicates when the IP device is in a suspended operating mode and an unrestricted mode. The suspended operating mode restricts the IP device to a subset of communication services associated with a service subscription of the IP device, and to a 911 service. The unrestricted operating mode is based on a registered geographic location associated with the IP device being a current geographic location of the IP device, and is based on a service provider being able to provide an E911 service including a location-identification service at the current geographic location of the IP device.

Term
0.1 yearsleft in the term
Expires 1 November 2026.
- Priority
- Filed
- Granted
- Today
- Expires
17 claims: 3 independent, 14 dependent
- 1A method to associate voice over internet protocol information with emergency services information for an internet protocol device, the method comprising:storing a first nomadic service designator in association with a first public user identifier, the first nomadic service designator to indicate whether the internet protocol device is allowed to access voice over internet protocol services in association with the first public user identifier from different network locations, and the first public user identifier to facilitate establishing a first call with the internet protocol device;storing a second nomadic service designator in association with a second public user identifier, the second nomadic service designator to indicate whether the internet protocol device is allowed to access the voice over internet protocol services in association with the second public user identifier from the different network locations, the second public user identifier to facilitate establishing a second call with the internet protocol device, wherein the first and second nomadic service designators are configurable to respectively different nomadic permissions for the first and second public user identifiers;and storing an operating mode designator in association with the first public user identifier, the operating mode designator to: indicate when the internet protocol device is in a suspended operating mode that restricts the internet protocol device to using a subset of communication services associated with a service subscription of the internet protocol device, and to using a 911 service, and indicate when the internet protocol device is in an unrestricted operating mode, the unrestricted operating mode based on a registered geographic location associated with the internet protocol device being a current geographic location of the internet protocol device, and based on a service provider being able to provide an enhanced 911 (E911) service including a location-identification service at the current geographic location of the internet protocol device.
- 7An apparatus to associate voice over internet protocol information with emergency services information for an internet protocol device, the apparatus comprising:a memory to store: a public internet protocol address in association with a first public user identifier, the public internet protocol address associated with the internet protocol device, and the first public user identifier used to establish a first call with the internet protocol device;a first nomadic service designator in association with the first public user identifier, the first nomadic service designator to indicate whether the internet protocol device is allowed to access voice over internet protocol services in association with the first public user identifier from different network locations;a second nomadic service designator in association with a second public user identifier, the second nomadic service designator to indicate whether the internet protocol device is allowed to access the voice over internet protocol services in association with the second public user identifier from the different network locations, the second public user identifier to facilitate establishing a second call with the internet protocol device, wherein the first and second nomadic service designators are configurable to respectively different nomadic permissions for the first and second public user identifiers;and an operating mode designator in association with the first public user identifier, the operating mode designator to: indicate when the internet protocol device is in a suspended operating mode that restricts the internet protocol device to using a subset of communication services associated with a service subscription of the internet protocol device, and to using a 911 service, and indicate when the internet protocol device is in an unrestricted operating mode, the unrestricted operating mode based on a registered geographic location associated with the internet protocol device being a current geographic location of the internet protocol device, and based on a service provider being able to provide an enhanced 911 (E911) service including a location-identification service at the current geographic location of the internet protocol device;and a processor to access the public internet protocol address, the first and second nomadic service designators, and the operating mode designator to provide the internet protocol device with the 911 service or the E911 service.
- 13Broadest claimClaim Score 21, narrow(NHIP)A tangible machine readable storage device comprising instructions which, when executed, cause a machine to perform a method comprising:storing a first nomadic service designator in association with a first public user identifier, the first nomadic service designator to indicate whether an internet protocol device is allowed to access voice over internet protocol services in association with the first public user identifier from different network locations, and the first public user identifier to facilitate establishing a first call with the internet protocol device;storing a second nomadic service designator in association with a second public user identifier, the second nomadic service designator to indicate whether the internet protocol device is allowed to access the voice over internet protocol services in association with the second public user identifier from the different network locations, the second public user identifier to facilitate establishing a second call with the internet protocol device, wherein the first and second nomadic service designators are configurable to respectively different nomadic permissions for the first and second public user identifiers;and storing an operating mode designator in association with the first public user identifier, the operating mode designator to: indicate when the internet protocol device is in a suspended operating mode that restricts the internet protocol device to using a subset of communication services associated with a service subscription of the internet protocol device, and to using a 911 service, and indicate when the internet protocol device is in an unrestricted operating mode, the unrestricted operating mode based on a registered geographic location associated with the internet protocol device being a current geographic location of the internet protocol device, and based on a service provider being able to provide an enhanced 911 (E911) service including a location-identification service at the current geographic location of the internet protocol device.
Independent claims3
99 paragraphs in 5 sections, as filed
PRIORITY APPLICATION
This is a continuation of U.S. patent application Ser. No. 11/555,569, filed Nov. 1, 2006, which is hereby incorporated herein by reference in its entirety.
FIELD OF THE DISCLOSURE
The present disclosure relates generally to communication systems and, more particularly, to systems and methods for location management and emergency support for a voice over internet protocol device.
BACKGROUND
Internet protocol-enabled telecommunication providers in the United States are required by the Federal Communications Commission (“FCC”) to support enhanced 911 (“E911”) emergency call services. That is, when a telephone user dials 9-1-1, the telecommunication carrier must be able to process the call to determine the geographic location from where the call is originated to enable dispatching emergency personnel to the location of the 911 caller. Enhanced 911 service differs from traditional (non-enhanced) 911 service in that E911 service routes an emergency call to a 911 dispatcher and provides the dispatcher with the geographic location (e.g., street address) from which the call originated, while traditional 911 service routes an emergency call to a 911 dispatcher without providing the dispatcher with geographic location information indicating where the call originated.
In traditional public switched telephony networks (“PSTN”), the geographic information retrieval support for E911 is implemented by fixing associations between wireline telephone numbers and geographic street addresses. Telecommunication providers usually store a subscriber's location (e.g., a street address) in a database associated with an assigned telephone number (e.g., a call back number (“CBN”)) during the service activation. When a PSTN user makes a 911 call, the calling telephone number (i.e., the CBN) of the incoming 911 call can be used to look up the geographic location of the caller, and the retrieved location information can be used to dispatch emergency personnel to the caller.
The introduction of voice over IP (“VoIP”) technology introduces various challenges to service providers seeking to support E911 services. In particular, under a nomadic service (i.e., a service allowing subscribers to connect VoIP telephones at various network locations), a VoIP subscriber can easily disconnect a VoIP telephone from one location (e.g., the subscriber's home or workplace), connect the VoIP telephone in another location (e.g., a visited local area network (“LAN”), a coffee shop, a vacation spot, etc.), and register the VoIP telephone with the VoIP service provider to place telephone calls from the other location. This nomadic capability of VoIP phones introduces the potential for inaccurate associations between telephone numbers and physical or geographic locations.
BRIEF DESCRIPTION OF THE DRAWINGS
<figref idref="DRAWINGS">FIG. 1</figref> is a schematic diagram depicting an example network system.
<figref idref="DRAWINGS">FIG. 2</figref> illustrates an example implementation of the site gateway of <figref idref="DRAWINGS">FIG. 1</figref>.
<figref idref="DRAWINGS">FIG. 3</figref> is an example data structure showing account information associated with a VoIP service subscription.
<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram of an example system to provide E911 service to VoIP devices.
<figref idref="DRAWINGS">FIG. 5</figref> is a flowchart representative of example machine readable instructions that may be executed to determine whether a VoIP device may have been moved to another geographic location.
<figref idref="DRAWINGS">FIGS. 6A and 6B</figref> depict a flowchart representative of example machine readable instructions that may be executed to process a VoIP call initiated by a VoIP device.
<figref idref="DRAWINGS">FIG. 7</figref> is a flowchart representative of example machine readable instructions that may be executed to update a registered geographic location associated with a VoIP device.
<figref idref="DRAWINGS">FIG. 8</figref> is a block diagram of an example processor system that may be used to execute the example machine readable instructions of <figref idref="DRAWINGS">FIGS. 5</figref>, <b>6</b>A, <b>6</b>B, and/or <b>7</b> to implement the example system of <figref idref="DRAWINGS">FIG. 4</figref>.
DETAILED DESCRIPTION
The example methods and apparatus described herein may be used to manage location information associated with voice over internet protocol (“VoIP”) devices to support E911 services for those VoIP devices. Traditional E911 services based on the plain old telephone system (“POTS”) provide POTS telephone service subscribers with emergency assistance service that is capable of pinpointing the geographic calling location of a caller for emergency personnel (e.g., firemen, policemen, paramedics, etc.). In this manner, although a caller may be unable to speak into the telephone due to, for example, illness or injury, the receiving 911 dispatcher can obtain a physical address or geographic location from which the caller is calling and dispatch emergency personnel to that location. Unlike traditional POTS telephone service, which is implemented in connection with traditional wireline telephone numbers that are associated with corresponding fixed geographic locations (e.g., a subscriber's home street address), IP-enabled communication services (e.g., VoIP services) do not always restrict an IP telephone number to being permanently associated with or assigned to (e.g., located at) a particular geographic location. Instead, some VoIP service providers enable a VoIP device associated with a particular telephone number to nomadically move or roam through a service provider network or through various service provider networks. That is, a subscriber may disconnect a VoIP device from a service provider network at a first location (e.g., the subscriber's home) and reconnect the VoIP device into the same service provider network or a different service provider network at a second location (e.g., a work place). The example systems and methods described herein enable service provider networks to provide E911 services to subscribers even though these subscribers move their VoIP devices between various locations. As described in greater detail below, the example systems and methods determine when a VoIP device has been moved between two network locations and prompt a user of the moved VoIP device to confirm a geographic location change and/or provide updated geographic location information (e.g., a current street address) associated with the current network location of the VoIP device. Some example implementations determine when a VoIP device is not eligible for nomadic use and deny VoIP services to nomadic-disabled devices when they identify an attempt to operate the VoIP device in a network location different from the VoIP devices registered location. Alternatively or additionally, the example systems and methods can be used to deny service to VoIP devices connected to networks or portions of a network for which a VoIP service provider cannot provide E911 service. A VoIP service provider may be a telephone company, a cable company, a satellite company, an Internet service provider, a utility (e.g., electricity) service provider, etc.
Some disclosed example methods of managing location information for emergency support of a VoIP communication device involve determining a geographic location change status associated with the internet protocol device. A message (e.g., an audio message, a text message, a video message, etc.) is then presented via the VoIP device based on the geographic location change status requesting a user to confirm whether a registered geographic location (e.g., a street address) associated with the VoIP device is a current geographic location of the VoIP device.
In some example implementations, a current IP address associated with the VoIP device (e.g., a registration public IP address used by the VoIP device to register with a VoIP network) is used to determine the geographic location change status of the VoIP device. For example, the current IP address can be compared to a previous IP address (e.g., a registered IP address) registered in associated with the VoIP device. If the current IP address and the previous IP address differ, the geographic location change status is updated to indicate that the geographic location of the VoIP device may have changed from a geographic location previously registered in association with the VoIP device. A network server (e.g., a dynamic host configuration protocol (“DHCP”) server) may assign the current IP address to the VoIP device or to a network access device (e.g., a residential gateway) connected to the VoIP device and through which the VoIP device accesses network services.
A service provider network may use the geographic location change status to set an operating mode of the VoIP device. In an example implementation, a geographic location change status indicating that the VoIP device has not moved to another geographic location corresponds to an unrestricted operating mode (S0 mode) that enables the VoIP device to access substantially all subscribed to communication services provided by a service provider associated with the VoIP device. Another geographic location change status of the illustrated example indicating that the VoIP device may have moved to another geographic location corresponds to a suspended operating mode (S1 mode) that restricts the VoIP device to accessing a subset of all otherwise available communication services provided by a service provider. For example, in the suspended operating mode, the VoIP device may be allowed to receive VoIP calls and make VoIP calls to one or more telephone numbers (e.g., a customer service telephone number, a 911 operator) pre-selected by a VoIP service provider. Yet another geographic location change status of the illustrated example indicating that the IP device is located within a geographic location at which a VoIP service provider cannot provide emergency service (e.g., E911 service) corresponds to a restricted operating mode (S2) that may allow access to the same or less (e.g., none) services than the suspended (S1) operating mode.
In some example implementations, the operating mode may be selected by a service provider network based on a user's response to a message presented via the VoIP device. For example, the service provider network may select a particular operating mode if the user confirms that the registered geographic location is the same as the currently logged geographic location. Additionally or alternatively, the service provider network may determine whether the IP device is eligible to roam (i.e., the VoIP device is nomadic-enabled) between different network locations of the service provider network. The service provider network can then select an operating mode that denies access to at least some services if the VoIP device is not eligible to roam. (i.e., the VoIP device is nomadic-blocked). After setting the operating mode of the VoIP device, another message (e.g., an audio message, a text message, a video message, etc.) may be presented via the VoIP device to inform a user of the operating mode change and/or the reason for the change.
Some disclosed example systems to manage location information for emergency support of a VoIP communication device include an interface configured to receive a current IP address (i.e., a registration IP address) associated with the VoIP device. These example systems also include a comparator configured to compare the current IP address with a registered IP address. The comparison indicates that the VoIP device may have been moved (e.g., a suspected location change) or that the VoIP device has not been moved. If a suspected location change is indicated, the system may interact with the user to confirm and/or update records to reflect the current geographic location. For instance, the example system includes a user interface (e.g., an interactive voice response (“IVR”) interface) configured to present a message (e.g., an audio message, a text message, a video message, etc.) via the VoIP device based on the comparison requesting a user to confirm whether a registered geographic location (e.g., a street address) associated with the VoIP device is the same as a current geographic location of the VoIP device and/or to identify the current geographic location of the VoIP device.
The response may indicate that the VoIP device has been moved or has not been moved from a first geographic location to a second geographic location. The user interface may be further configured to instruct the user to navigate to an internet location (e.g., a webpage) to update the registered geographic location when, for example, the response indicates that the VoIP device has been moved from a first geographic location to a second geographic location.
The current IP address (i.e., the registration IP address) may be assigned to the VoIP device or to a network access device (e.g., a residential gateway, a site gateway, etc.) connected to the VoIP device and through which the VoIP device accesses network services. In some example implementations, the current IP address is different from the registered IP address. For example, the registered IP address may be associated with a geographic location within which the VoIP device was located prior to being associated with the current IP address. In some example implementations, the system includes a data structure configured to store the registered IP address associated the VoIP device.
To select an operating mode associated with the VoIP device based on the comparison of the current IP address and the registered IP address, some example systems are provided with a mode selector. The mode selector may also select the operating mode based the user's response to the message. In an example implementation, the mode selector is configured to set the operating mode to restrict the VoIP device to access a subset of all communication services associated with a service subscription corresponding to the VoIP device. The system may also be provided with a services interface configured to determine whether the VoIP device is eligible for nomadic use and configured to cause the mode selector to set the operating mode to deny access to at least some services if the VoIP device is not eligible for nomadic use.
As will be readily apparent to persons of ordinary skill in the art, the example methods, apparatus, and systems described herein may be implemented using instructions stored on one or more machine accessible media (e.g., a CD-ROM, a magnetic storage device, an optical storage device, a solid-state storage device, etc.) associated with one or more network system devices. In this manner, the machine accessible media may be used to enable network system devices to retrieve and execute the instructions to implement the example methods, apparatus, and systems described herein.
An example network system <b>100</b> is shown in <figref idref="DRAWINGS">FIG. 1</figref>. The example system <b>100</b> of <figref idref="DRAWINGS">FIG. 1</figref> includes subscriber sites <b>102</b><i>a </i>and <b>102</b><i>b</i>. Each of the subscriber sites <b>102</b><i>a </i>and <b>102</b><i>b </i>includes a respective subscriber site gateway <b>104</b><i>a </i>and <b>104</b><i>b </i>(e.g., a residential gateway). The subscriber sites <b>102</b><i>a</i>-<i>b </i>may be residential dwellings and/or business sites (e.g., a coffee shop, an education facility, an office, an industrial building, etc.), and may have separate respective LAN's and/or PBX's located therein which are communicatively coupled to a respective one of the site gateways <b>104</b><i>a</i>-<i>b</i>. In the illustrated example, the site gateways <b>104</b><i>a </i>and <b>104</b><i>b </i>are used to provide user equipment (e.g., VoIP devices, computers, etc.) network access to the example network system <b>100</b> and may be implemented using wire-interface gateways (e.g., wired Ethernet, IEEE-802.3, Universal Serial Bus (“USB”), etc.) or wireless gateways (e.g., wireless Ethernet, IEEE-802.11, Wi-Fi®, Bluetooth®, etc.).
In the illustrated example, a VoIP device <b>106</b> (e.g., a wired or wireless VoIP telephone, a plain old telephone system (“POTS”) analog telephone connected to an analog telephone adapter (“ATA”), a wired or wireless IP data/voice communicator, a personal desktop, laptop, or tablet computer having VoIP capabilities, etc.) is communicatively coupled to the subscriber site gateway <b>104</b><i>a</i>. The site gateway <b>104</b><i>a </i>provides the VoIP device <b>106</b> network access to an Internet protocol (“IP”) network <b>108</b>, which may include one or more Internet service provider (“ISP”) networks. The VoIP device <b>106</b> is capable of making VoIP calls via the example IP network <b>108</b>. The IP network <b>108</b> includes a function that assigns public IP addresses to the site gateways <b>104</b><i>a</i>-<i>b</i>. In the illustrated example, the function to assign public IP addresses may be implemented using, for example, a dynamic host configuration protocol (“DHCP”) server <b>110</b>. As shown in the illustrated example of <figref idref="DRAWINGS">FIG. 1</figref>, the first site gateway <b>104</b><i>a </i>is assigned a public IP address A and the second site gateway <b>104</b><i>b </i>is assigned a public IP address B. Although two subscriber sites (i.e., the subscriber sites <b>102</b><i>a</i>-<i>b</i>) and two site gateways (i.e., the site gateways <b>104</b><i>a</i>-<i>b</i>) are shown in <figref idref="DRAWINGS">FIG. 1</figref>, any number of subscriber sites and site gateways may be used in connection with the examples described herein.
In the illustrated example, the VoIP device <b>106</b> can be associated with a non-nomadic service (i.e., a nomadic-blocked service) or a nomadic service (i.e., a nomadic-enabled service). A non-nomadic service limits the VoIP device <b>106</b> to making VoIP calls from only a pre-selected network location (e.g., from only the subscriber site <b>102</b><i>a</i>). Under a non-nomadic service, the VoIP device <b>106</b> may be used to make VoIP calls from, for example, the subscriber site <b>102</b><i>a</i>, but not from the subscriber site <b>102</b><i>b</i>. In contrast, a nomadic service allows the VoIP device <b>106</b> to make calls from a plurality of network locations. That is, in the illustrated example, the VoIP device <b>106</b> can be used to make VoIP calls from both of the subscriber sites <b>102</b><i>a</i>-<i>b</i>. A subscriber or user can change the nomadic option for the VoIP device <b>106</b> via the user's account. In some example implementations, the VoIP device <b>106</b> may be associated with a plurality of telephone numbers. For each telephone number, a user can select a different nomadic option. In this manner, when the VoIP device <b>106</b> is used from a home location (e.g., the subscriber site <b>102</b><i>a</i>), any of a plurality of telephone numbers associated with the VoIP device <b>106</b> can be used to make VoIP calls. However, when the VoIP device <b>106</b> is connected to a visiting site (e.g., the subscriber site <b>102</b><i>b</i>), only those telephone numbers associated with a nomadic option can be used to make VoIP calls.
To enable VoIP services, the example network system <b>100</b> is provided with an internet protocol multimedia subsystem (“IMS”) <b>112</b>. The IMS <b>112</b> enables different communication technologies (e.g., features, services, communication software and equipment, etc.) to work together to deliver enriched communications (e.g., VoIP communications) to subscribers. The IMS <b>112</b> of the illustrated example is implemented according to one or more industry standard specifications. Although the IMS <b>112</b> is used in the illustrated example, the example systems and methods described herein may be used in connection with IP multimedia and telephony core network architectures other than the IMS <b>112</b>. For example, IP multimedia and telephony core network architectures other than the IMS <b>112</b> may be used to enable VoIP services in the example network system <b>100</b>.
To manage subscriber services, the IMS <b>112</b> is provided with a network management system (“NMS”) <b>114</b> that is communicatively coupled to a home subscriber services (“HSS”) database <b>116</b>. In the illustrated example, the NMS <b>114</b> is used to manage and track which subscribers have subscribed to which features or services and to enable access to those features by subscribers. The NMS <b>114</b> stores records in the HSS database <b>116</b> indicative of subscriber's respective features and services. To implement a service change (e.g., provisioning, a device registration, an upgrade, an update, etc.), the NMS <b>114</b> is notified of the service change, and the NMS <b>114</b> stores information in the HSS database <b>116</b> indicative of the service change. In the illustrated example, the NMS <b>114</b> is also configured to receive and process the initial geographic location information (e.g., street addresses) associated with a VoIP device (e.g., the VoIP device <b>106</b>) when VoIP service is initially provisioned.
To allow subscribers to interact with customer service representatives, the NMS <b>114</b> is coupled to a customer service center <b>118</b>. In the illustrated example, a subscriber can interact with a customer service representative at the customer service center <b>118</b> to change a nomadic option associated with the VoIP device <b>106</b>. In addition, when the VoIP device <b>106</b> is moved to a different geographic location, the subscriber can interact with the customer service representative to provide the street address of the new geographic location. In addition, to enable a subscriber to access a web page to change nomadic options and/or to provide the street address of current geographic location, the IMS <b>112</b> is provided with a web server <b>122</b>.
To inform a subscriber of a suspected geographic location change, the IMS <b>112</b> is provided with an interactive voice response (“IVR”) system <b>124</b>. When a subscriber initiates a VoIP call via the VoIP device <b>106</b>, the IVR system <b>124</b> is configured to playback an audio message via the VoIP device <b>106</b> when a VoIP service provider detects that the VoIP device <b>106</b> may have been moved to a different geographic location (e.g. moved from the subscriber site <b>102</b><i>a </i>to the subscriber site <b>102</b><i>b</i>). The IVR system <b>124</b> may include a sound file player and/or a text-to-speech converter (e.g., a speech synthesizer) to present one or more audio messages.
In the illustrated example, the IVR message plays back a previously registered street address or last known registered street address of the VoIP device <b>106</b> and requests the subscriber of the VoIP device <b>106</b> to confirm whether the registered street address is the same as the current street address at which the VoIP device <b>106</b> is located. The subscriber can then confirm that the street addresses are the same or, if the street addresses are different, the subscriber can change the registered street address via the IVR <b>124</b>, a customer service representative, or an account web page served by the web server <b>122</b>. Additionally or alternatively, the subscriber can contact the customer service center <b>118</b> to change the registered street address.
To control and process call sessions of VoIP devices (e.g., the VoIP device <b>106</b>), the IMS <b>112</b> is provided with a call session controller (“CSC”) <b>128</b>. The call session controller <b>128</b> implements a call session control function (“CSCF”) that determines whether a call should be established and which features or services should be used to establish the call based on subscribed features or services (e.g., nomadic-enabled service, calls to a PSTN allowed, etc.) of a subscriber.
The IMS <b>112</b> is also provided with a feature server <b>130</b>. The feature server <b>130</b> stores the registration (current) public IP addresses (e.g., the public IP address A of the site gateway <b>104</b><i>a</i>) used by VoIP devices (e.g., the VoIP device <b>106</b>) to register with the IMS <b>112</b>. That is, when the VoIP device <b>106</b> registers with the IMS <b>112</b>, the HSS <b>116</b> receives the public IP address A (i.e., a registration public IP address) used by the VoIP device <b>106</b> to register. The HSS <b>116</b> then forwards a notification including the public IP address A to the feature server <b>130</b>, and the feature server <b>130</b> stores the public IP address A for future comparisons with other registration IP addresses that the VoIP device <b>106</b> may use to register. In addition to storing the public IP address A, the feature server <b>130</b> also associates itself with the VoIP device <b>106</b> for the duration of its registration. In the illustrated example, the feature server <b>130</b> also compares each registration public IP address with a corresponding registered public IP address (i.e., a public IP address used previously by the VoIP device <b>106</b> to register with the IMS <b>112</b>) to determine a location change status (e.g., determine whether the VoIP device <b>106</b> may have moved from one geographic location to another).
The feature server <b>130</b> also stores the current operating mode (e.g., the unrestricted operating mode (S0 mode), the suspended operating mode (S1 mode), or the restricted mode (S2 mode)) associated with each VoIP device registered with the IMS <b>112</b>. In the illustrated example, the feature server <b>130</b> is configured to change operating modes from the unrestricted operating mode (S0 mode) to the suspended operating mode (S1 mode) based on comparisons of registration public IP addresses with registered public IP addresses. For example, if the feature server <b>130</b> determines that the registration public IP address A associated with the VoIP device <b>106</b> is different from a registered public IP address associated with the VoIP device <b>106</b>, the feature server <b>130</b> determines that the VoIP device <b>106</b> may have been moved from one geographic location to another. In response, the feature server <b>130</b> changes the operating mode associated with the VoIP device <b>106</b> to the suspended operating mode (S1 mode) to allow the VoIP device <b>106</b> to receive calls and/or to make calls to phone numbers pre-selected by a VoIP service provider such as, for example, a customer service phone number, but to block calls to other (non-preselected) phone numbers.
The feature server <b>130</b> is also configured to change operating modes to the suspended operating mode (S1 mode) or the restricted mode (S2 mode) at the direction of the NMS <b>114</b>. For example, if the user of the VoIP device <b>106</b> registers a geographic address that is in a location for which E911 services cannot be provided, the NMS <b>114</b> can instruct the feature server <b>130</b> to change the operating mode associated with the VoIP device <b>106</b> to the restricted mode (S2 mode). The NMS <b>114</b> can also instruct the feature server <b>130</b> to change the operating mode associated with a VoIP device <b>106</b> from the restricted operating mode (S2) to the suspended operating mode (S1).
The feature server <b>130</b> is configured to determine the type of message to be presented to a user by the IVR <b>124</b> based on, for example, the operating mode associated with the VoIP device <b>106</b>. In the illustrated example, when the IMS <b>112</b> processes a call from the VoIP device <b>106</b> while the operating mode of the VoIP device <b>106</b> is set to the S1 mode or the S2 mode, the feature server <b>130</b> routes the call to the IVR <b>124</b> and instructs the IVR <b>124</b> to present a message (e.g., playback an audio announcement) and/or obtain a confirmation response (e.g., a response confirming the correctness of a registered geographic address) from a user. For example, the feature server <b>130</b> may instruct the IVR <b>124</b> to present a message requesting a user to confirm whether the registered geographic location of the VoIP device <b>106</b> is correct and, if not, requesting the user to provide an updated geographic street address of the new location. In the illustrated example, the feature server <b>130</b> is also configured to change operating modes associated with the VoIP device <b>106</b> from the restricted operating mode (S1) to the unrestricted operating mode (S0) based on the confirmation response. For example, the feature server <b>130</b> can change the operating mode of the VoIP device <b>106</b> from S1 to S0 when the user confirms that the registered geographic location presented by the IVR <b>124</b> is correct.
Also, the feature server <b>130</b> informs the IVR <b>124</b> from where to obtain the registered geographic address of the VoIP device <b>106</b>. In example implementations in which audio files (e.g., .wav files) are used by the IVR <b>124</b> to playback registered geographic addresses to users, the feature server <b>130</b> is configured to store uniform resource locator (URL) addresses corresponding to network locations (e.g., servers, network directories, etc.) in which the audio files are stored.
To route emergency calls, the IMS <b>112</b> is provided with an emergency services gateway (“ESGW”) <b>132</b>. The emergency services gateway <b>132</b> uses information received via an emergency call's call setup signaling to determine a path (e.g., a trunk) via which to route the emergency call for E911 handling.
To handle emergency calls, the example network system <b>100</b> is provided with a public safety answering point (“PSAP”) <b>134</b>. The PSAP <b>134</b> corresponds to a particular geographic area, and dispatchers at the PSAP <b>134</b> handle emergency calls originating from VoIP devices within that geographic area. In this manner, dispatchers can dispatch emergency services personnel from a location nearest the geographic location of a 911 caller. Although one PSAP is shown, the example network system <b>100</b> may be implemented using any number of PSAP's, each corresponding to one or more respective geographic area(s).
To route emergency calls to the PSAP <b>134</b>, the example network system <b>100</b> is provided with a 911 selective router <b>136</b>. The 911 selective router <b>136</b> routes emergency calls to the correct PSAP based on information received from the emergency services gateway <b>132</b> and a selective routing database (“SRDB”) <b>138</b>. For example, during an emergency call, the emergency services gateway <b>132</b> communicates an emergency services query key (“ESQK”) to the 911 selective router <b>136</b>. The ESQK is a call identifier that represents an emergency call for the duration of the call and is used by the selective router <b>136</b> to route an emergency call to the correct PSAP (e.g., the PSAP <b>134</b>).
After the 911 selective router <b>136</b> receives the ESQK from the emergency services gateway <b>132</b>, the 911 selective router <b>136</b> forwards the ESQK to the SRDB <b>138</b> to obtain an emergency service number (“ESN”) identifying a PSAP to which to route the emergency call. The SRDB <b>138</b> stores ESQK's in association with respective ESN's. An ESN is a number used to indicate a particular group of emergency service agencies (e.g., police department, fire department, medical agency) that serves a particular geographic area and facilitates routing an emergency call to the PSAP that serves that geographic area.
To enable the example network system <b>100</b> to implement operations associated with receiving and processing emergency calls made from VoIP devices (e.g., the VoIP device <b>106</b>), the example network system <b>100</b> is provided with an i2 E911 system <b>140</b>. To store street addresses in association with respective telephone numbers of VoIP devices and to determine whether a call is originating from a geographic area in which a corresponding VoIP service provider can provide E911 services, the i2 E911 system <b>140</b> is provided with a location identification server (“LIS”) database <b>142</b>. In the illustrated example, the LIS database <b>142</b> stores a record for each telephone number of the VoIP device <b>106</b>, and each record is used to store the geographic location (e.g., the street address) of the subscriber site <b>102</b><i>a </i>in association with the telephone number in that record. The NMS <b>114</b> communicates initial geographic location information (e.g., initial street addresses) to the LIS database <b>142</b> during initial VoIP subscription enrollments. In addition, any time the VoIP device <b>106</b> moves to another geographic location and a corresponding subscriber provides an updated street address via, for example, the customer service center <b>118</b> or the web server <b>122</b>, the IMS <b>112</b> communicates the updated street address to the LIS database <b>142</b>.
The i2 E911 system <b>140</b> is also provided with an emergency services zone (“ESZ”) routing database (“ERDB”) <b>146</b>. Each ESZ corresponds to a particular emergency service number (“ESN”) that uniquely identifies the ESZ. For each ESZ, the ERDB <b>146</b> stores an emergency services routing number (“ESRN”) corresponding to an E911 selective router that serves that ESZ and a respective ESN. In the illustrated example, an ESRN is used to route an emergency call to an E911 selective router serving the ESZ corresponding to the geographic area within which the emergency call originated.
During registration of a street address or when a subscriber provides an updated street address, the LIS database <b>142</b> uses the ESRN's stored in the ERDB <b>146</b> to determine whether the provided street address is located within an area in which a corresponding VoIP service provider can provide E911 service. For example, the LIS database <b>142</b> accesses the ERDB <b>146</b> to retrieve an ESRN corresponding to the provided street address and determines whether the VoIP service provider can provide E911 service to the provided street address based on the ESRN. Regardless of whether the LIS database <b>142</b> determines that the VoIP service provider can or cannot provide E911 service to the provided street address, the LIS database <b>142</b> updates the registered geographic location of the VoIP device <b>106</b> with the provided street address. However, if the LIS database <b>142</b> determines that the VoIP service provider cannot provide E911 service to the provided street address, the LIS database <b>142</b> informs the NMS <b>114</b> that the VoIP device <b>106</b> is in a location at which E911 service is not available. In this manner, the NMS <b>114</b> can instruct the feature server <b>130</b> to set the operating mode associated with the VoIP device <b>106</b> to a restricted mode (S2 mode) so that the VoIP device <b>106</b> can access only a subset of services (e.g., receive calls only, connect to a 911 dispatcher without the location-identification services of E911) that are, for example, associated with a service subscription corresponding to the VoIP device <b>106</b>.
To validate geographic location information (street addresses) to be stored in the LIS database <b>142</b>, the i2 E911 system <b>140</b> is provided with a validation database (“VDB”) <b>144</b>. The VDB <b>144</b> stores a plurality of street addresses in a format compliant with the master street address guide (“MSAG”) standard. In the illustrated example, when a subscriber provides a street address, and before the street address is stored in the LIS database <b>142</b>, the i2 E911 system <b>140</b> compares the user-provided street addresses with known street addresses in the VDB <b>144</b> to determine whether the provided street address is MSAG-compliant. If the provided street address is MSAG-compliant, then the i2 E911 system <b>140</b> validates the provided street address and updates a corresponding registered street address in the LIS database <b>142</b>. Otherwise, if the provided street address is not MSAG-compliant (e.g., the address includes a typographical error, an incorrect zip code, etc.), the i2 E911 system <b>140</b> indicates that the provided street address is invalid, and the IMS <b>112</b> informs the subscriber of the invalidity and requests the user to provide a compliant street address.
To retrieve emergency call routing information from the ERDB <b>146</b> and street addresses from the LIS database <b>142</b> to process an emergency call, the i2 E911 system <b>140</b> is provided with a VoIP positioning center (“VPC”) <b>148</b> communicatively coupled to the CSC <b>128</b>. When the CSC <b>128</b> receives an emergency call, the CSC <b>128</b> queries the VPC <b>148</b> to determine the E911 selective router to which the emergency services gateway <b>132</b> should route the emergency call.
The PSAP <b>134</b> is coupled to an automatic location identification (“ALI”) database <b>150</b> to enable the PSAP <b>134</b> to retrieve geographic street addresses from which emergency calls originate. The ALI database <b>150</b> stores geographic street addresses corresponding to the locations of telephones connected to a traditional publicly switched telephone network (“PSTN”) <b>152</b>. The VPC <b>148</b> stores geographic street addresses associated with VoIP devices that it retrieves from the LIS database <b>142</b>. When the PSAP <b>134</b> requires a street address of a VoIP device <b>106</b>, the ALI <b>150</b> queries the VPC <b>148</b> for the street address. In response, the VPC <b>148</b> forwards the street address associated with the VoIP device <b>106</b> to the ALI database <b>150</b>. The ALI database <b>150</b> then provides the street address to the PSAP <b>134</b>.
<figref idref="DRAWINGS">FIG. 2</figref> illustrates an example implementation of the site gateway <b>104</b><i>a</i>. To make VoIP calls via the site gateway <b>104</b><i>a</i>, a plurality of plain old telephone system (“POTS”) analog telephones <b>202</b> and/or the VoIP device <b>106</b> are communicatively coupled to the site gateway <b>104</b><i>a </i>of <figref idref="DRAWINGS">FIG. 2</figref>. The site gateway <b>104</b><i>a </i>is provided with a plurality of RJ-11 ports <b>208</b> to which the analog telephones <b>202</b> are communicatively coupled. In addition, to convert between analog and digital communications for the analog telephones <b>202</b>, the site gateway <b>104</b><i>a </i>is provided with analog telephone adapters (“ATA's”) <b>210</b>. To communicatively couple the site gateway <b>104</b><i>a </i>to the IP network <b>108</b>, the site gateway <b>104</b><i>a </i>is provided with a wide area network (“WAN”) port <b>204</b>. In the illustrated example, the DHCP server <b>110</b> of the IP network <b>108</b> assigns a public IP address (e.g., the public IP address A) to the site gateway <b>104</b><i>a </i>to enable the site gateway <b>104</b><i>a </i>to access Internet services via the IP network <b>108</b>. To enable the devices <b>202</b> to access Internet services via the site gateway <b>104</b><i>a</i>, the site gateway <b>104</b><i>a </i>associates a unique private IP address with each of the ATA's <b>210</b>. To enable the device <b>106</b> to access Internet services via the site gateway <b>104</b><i>a</i>, the site gateway <b>104</b><i>a </i>associates a private IP address with the device <b>106</b>. The site gateway <b>104</b><i>a </i>is provided with a network address translator (“NAT”) <b>206</b> to translate between the private IP addresses and the public IP address A of the site gateway whenever any of the devices <b>202</b> and <b>106</b> exchange, send, and/or receive information with, to, and/or from the IP network <b>108</b> via the site gateway <b>104</b><i>a. </i>
To enable each of the analog telephones <b>202</b> to communicate information via a session initiation protocol (“SIP”), each of the ATA's <b>210</b> integrated in the gateway <b>104</b><i>a </i>is provided with a gateway-integrated SIP user agent (“SIP UA”) <b>212</b>. When the site gateway <b>104</b><i>a </i>is powered, the SIP UA's <b>212</b> register with the IMS <b>112</b> to enable the analog telephones <b>202</b> to make VoIP calls. Each time the site gateway <b>104</b><i>a </i>is booted (e.g., each time power is cycled), the SIP UA's <b>212</b> re-register with the IMS <b>112</b>. Also, each time the site gateway <b>104</b><i>a </i>is booted, the DHCP server <b>110</b> of the IP network <b>108</b> may assign the same or a different public IP address to the site gateway <b>104</b><i>a. </i>
In the illustrated example, the VoIP device <b>106</b> includes a SIP UA <b>214</b> and is capable of exchanging digital information network packets with the site gateway <b>104</b><i>a</i>. Accordingly, it is not necessary to use another SIP UA (e.g., one of the SIP UA's <b>212</b>) or an ATA (e.g., the ATA <b>210</b>) in the site gateway <b>104</b><i>a </i>for communications with the VoIP device <b>106</b>. As shown, the site gateway <b>104</b><i>a </i>is provided with an RJ-45 port <b>216</b> to which the VoIP device <b>106</b> is communicatively coupled. In addition, the site gateway <b>104</b><i>a </i>is provided with a router <b>218</b> for routing the network traffic corresponding to the VoIP device <b>106</b>. In the illustrated example, the site gateway <b>104</b><i>a </i>assigns a unique private IP address to the SIP UA <b>214</b> of the VoIP device <b>106</b>. After the site gateway <b>104</b><i>a </i>is powered and the VoIP device <b>106</b> is connected to the RJ-45 port <b>216</b>, the SIP UA <b>214</b> registers the VoIP device <b>106</b> with the IMS <b>112</b> to enable the VoIP device <b>106</b> to make VoIP calls. Each time the VoIP device <b>106</b> is re-connected to the site gateway <b>104</b><i>a </i>or is connected to a different site gateway (e.g., the site gateway <b>104</b><i>b </i>of <figref idref="DRAWINGS">FIG. 1</figref>), the SIP UA <b>214</b> re-registers with the IMS <b>112</b>.
The VoIP device <b>106</b> can be associated with one or more telephone numbers used to implement public user ID's (“PUID's”). In the illustrated example, a PUID is used to establish a VoIP call with a VoIP device <b>106</b>. A conventional (XXX) YYY-ZZZZ type phone number can be used as the PUID. Alternatively or additionally, the PUID may be implemented using any other format instead of a telephone number format (e.g., an e-mail address format). When a user subscribes to a VoIP telephony service or adds a VoIP telephone line, the NMS <b>114</b> (<figref idref="DRAWINGS">FIG. 1</figref>) of a VoIP service provider allocates a PUID (e.g., a telephone number) to the user and stores geographic location information (e.g., a street address) in the LIS database <b>142</b> in association with the PUID. In addition, the NMS <b>114</b> identifies a plurality of features (e.g., nomadic-enabled or nomadic-blocked) associated with the PUID and stores the features in the HSS database <b>116</b> (<figref idref="DRAWINGS">FIG. 1</figref>). For example, if the user expects to operate the VoIP device <b>106</b> at a single location (e.g., the subscriber site <b>102</b><i>a</i>), the user may elect to block nomadic operation of the VoIP device. If the VoIP device <b>106</b> is moved to another geographic location, the VoIP service provider will deny the VoIP device <b>106</b> access to VoIP services because it is designated as nomadic-blocked. However, if the user expects to move the VoIP device <b>106</b> between different sites (e.g., between the subscriber sites <b>102</b><i>a</i>-<i>b</i>), the user may elect to allow nomadic operation of the VoIP device <b>106</b>. In this manner, when the VoIP device <b>106</b> is moved to a different location, the VoIP service provider will allow operation of the VoIP device <b>106</b> because it is designated as nomadic-allowed.
<figref idref="DRAWINGS">FIG. 3</figref> is an example data structure <b>300</b> showing associations between corresponding account information associated with a VoIP service subscription. The account information (e.g., features, network identifications, etc.) is associated with each PUID of a subscriber. In the illustrated example, the account information shown in the data structure <b>300</b> can be stored in different network entities of the IMS <b>112</b> (<figref idref="DRAWINGS">FIG. 1</figref>). For example, information shown in a particular column of the data structure <b>300</b> can be stored in the home subscriber services (“HSS”) database <b>116</b> of <figref idref="DRAWINGS">FIG. 1</figref>, while other information in another column can be stored in the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> or any other network entity. Accordingly, particular columns of information shown in the data structure <b>300</b> may be stored throughout the example network system <b>100</b> in one or more network locations using a plurality of data structures and can be associated with one another using index keys (e.g., PUID's). However, for purposes of discussion, the information is shown in the data structure <b>300</b>.
As shown in <figref idref="DRAWINGS">FIG. 3</figref>, the data structure <b>300</b> includes a site gateway ID column <b>302</b> that is used to store site gateway identification numbers <b>304</b> that uniquely identify the site gateway <b>104</b><i>a </i>of <figref idref="DRAWINGS">FIGS. 1 and 2</figref>. To indicate whether an ATA (e.g., one of the ATA's <b>210</b>) is implemented within a gateway (e.g., the gateway <b>104</b><i>a </i>of <figref idref="DRAWINGS">FIGS. 1 and 2</figref>), the data structure <b>300</b> includes a gateway-internal ATA column <b>306</b>. In the illustrated example, the gateway-internal ATA column <b>306</b> can be used to indicate that the ATA's <b>210</b> of <figref idref="DRAWINGS">FIG. 2</figref> are gateway-internal ATA's.
The data structure <b>300</b> is provided with a public user ID (PUID) column <b>308</b> that is used to store a plurality of PUID's (e.g., telephone numbers) <b>310</b> assigned to a subscriber account. The PUID's <b>310</b> may be used with gateway-internal ATA's (e.g. the ATA's <b>210</b> of <figref idref="DRAWINGS">FIG. 2</figref>) and/or with VoIP telephones (e.g., the VoIP device <b>106</b>). To associate a public IP address (e.g., the public IP addresses A and B of <figref idref="DRAWINGS">FIG. 1</figref>) with respective PUID's, the data structure <b>300</b> is provided with a registered public IP address column <b>312</b> having a plurality of registered public IP addresses <b>314</b>. In the illustrated example, the registered public IP addresses <b>314</b> are used to detect when a VoIP device associated with one of the PUID's <b>310</b> may have been moved to another geographic location.
To indicate whether telephone numbers have been assigned a nomadic-allowed or a nomadic-blocked feature, the data structure <b>300</b> is provided with a nomadic block column <b>316</b> that stores a plurality of nomadic service designators <b>317</b>. Each of the nomadic service designators <b>317</b> corresponds to one of the PUID's <b>310</b> and indicates whether the corresponding PUID's <b>310</b> is nomadic-blocked (Y) or nomadic-enabled (N). A nomadic-enabled (N) designator indicates a PUID and its associated VoIP device (e.g., the VoIP device <b>106</b>) are allowed to access VoIP services when the associated VoIP device is moved away from a primary or pre-designated geographic location.
To store operating modes associated with the PUID's <b>310</b> used in combination with VoIP devices, the data structure <b>300</b> is provided with an operating mode column <b>318</b> that stores operating mode designators <b>320</b> (e.g., the operating mode designators S0, S1, and S2). In the illustrated example, the operating mode designators <b>320</b> in the operating mode column are stored in the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref>. In the example of <figref idref="DRAWINGS">FIG. 3</figref>, the S0 operating mode is an unrestricted operating mode in which a VoIP device can access substantially all VoIP services associated with a service subscription corresponding to the VoIP device (or corresponding to the PUID(s) used with that VoIP device). In contrast, the S1 operating mode is a suspended operating mode that restricts the VoIP device to use of a subset of the VoIP services associated with a service subscription corresponding to the VoIP device (or PUID(s) used with the VoIP device). The S2 operating mode of the illustrated example allows the VoIP device to access the same or less VoIP services as those allowed in the S1 (suspended) operating mode. In some example implementations, additional operating modes may be implemented (e.g., an operating mode that disallows any incoming or outgoing calls).
<figref idref="DRAWINGS">FIG. 4</figref> is a block diagram of an example system <b>400</b> configured to provide support functions for E911 services to VoIP devices associated with nomadic usage. The example system <b>400</b> includes an IP address interface <b>402</b>, an IP address comparator <b>404</b>, a user interface <b>406</b>, a geographic location information interface <b>408</b>, a validator <b>410</b>, a geographic location change status updater <b>412</b>, an operating mode interface <b>414</b>, an operating mode selector <b>416</b>, an operating mode identifier <b>418</b>, a call type identifier <b>420</b>, an E911 service verifier <b>422</b>, and a subscription services interface <b>424</b>, all of which may be implemented using any desired combination of hardware, firmware, and/or software. For example, one or more integrated circuits, discrete semiconductor components, or passive electronic components may be used. Additionally or alternatively, some or all of the blocks of the example system <b>400</b>, or parts thereof, may be implemented using instructions, code, and/or other software and/or firmware, etc. stored on a machine accessible medium that, when executed by, for example, a processor system (e.g., the example processor system <b>810</b> of <figref idref="DRAWINGS">FIG. 8</figref>), perform the operations represented in the flow diagrams of <figref idref="DRAWINGS">FIGS. 5</figref>, <b>6</b>A, <b>6</b>B, and <b>7</b>. In the illustrated example, the blocks of the example system <b>400</b> are distributed among various network entities in the example network system <b>100</b> of <figref idref="DRAWINGS">FIG. 1</figref>. However, in alternative example implementations, the blocks of the example system <b>400</b> may be implemented using network entities other than those indicated below. For example, although the below description may indicate that a network entity of the example network system <b>100</b> implements one of the blocks of the example system <b>400</b>, in one or more alternative example implementations, that network entity may be configured to implement two or more blocks of the example system <b>400</b> or none of the blocks. In addition, an example apparatus may be used to implement all of the blocks of the example system <b>400</b> and may be communicatively coupled to the example network system <b>100</b>.
Turning in detail to the example system <b>400</b>, to retrieve and store IP addresses (e.g., the public IP address A and B of <figref idref="DRAWINGS">FIG. 1</figref>, the public IP addresses <b>314</b> of <figref idref="DRAWINGS">FIG. 3</figref>, etc.), the example system <b>400</b> is provided with an IP address interface <b>402</b>. In the illustrated example, the IP address interface <b>402</b> is implemented using the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref>. The IP address interface <b>402</b> is configured to receive public IP addresses (e.g., registration public IP addresses) via notifications from the HSS database <b>116</b> when VoIP devices register with the IMS <b>112</b>. The IP address interface <b>402</b> also stores the public IP addresses in the feature server <b>130</b>. In this manner, the feature server <b>130</b> can compare the received public IP addresses with future registration public IP addresses.
To compare registration public IP addresses used by VoIP devices with registered public IP address stored in association with VoIP devices (or PUID's used in combination with the VoIP devices) within the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref>, the example system <b>400</b> is provided with an IP address comparator <b>404</b>. The example system <b>400</b> compares registration public IP addresses (e.g., the public IP addresses A and B of <figref idref="DRAWINGS">FIG. 1</figref>) with registered public IP addresses (e.g., the registered public IP addresses <b>314</b> of <figref idref="DRAWINGS">FIG. 3</figref>) to determine whether VoIP devices may have been moved between geographic locations. In the illustrated example, the IP address comparator <b>404</b> may be implemented using the HSS database <b>116</b> and an IP address comparator substantially similar or identical to the IP address comparator <b>404</b> may be implemented using the feature server <b>130</b>. In this manner, when the VoIP device <b>106</b> (<figref idref="DRAWINGS">FIGS. 1 and 2</figref>) registers with the IMS <b>112</b>, the IP address comparator <b>404</b> in the HSS database <b>116</b> can compare the public IP address A (a registration public IP address) of the site gateway <b>104</b><i>a </i>with a registered public IP address that was previously registered in association with the VoIP device <b>106</b>. The HSS database <b>116</b> can then determine a geographic location change status based on the comparison and allow the VoIP device <b>106</b> to register based on the geographic location change status. In addition, an IP address comparator in the feature server <b>130</b> can compare registration and registered public IP addresses to determine if the feature server <b>130</b> should change VoIP device operating modes from the S0 mode to the S1 mode.
To present messages to a user via the VoIP device <b>106</b>, the example system <b>400</b> is provided with a user interface <b>406</b>. In the illustrated example, the user interface <b>406</b> is implemented using the IVR system <b>124</b> of <figref idref="DRAWINGS">FIG. 1</figref> and is configured to playback audio messages to a user via the VoIP device <b>106</b>. For example, the user interface <b>406</b> may have an audio file player or a text-to-speech converter (e.g., a speech synthesizer). Example audio messages include registered street addresses associated with the VoIP device <b>106</b> and requests for user to confirm whether a registered street address is the same as a current street address of the VoIP device <b>106</b>. Other example audio messages include informing a user via the VoIP device <b>106</b> of operating modes of the VoIP device <b>106</b> and information on how to update registered street addresses. In other example implementations, the user interface <b>406</b> may also be configured to communicate and/or exchange text messages and/or other messages (e.g., video messages) with the VoIP device <b>106</b> so that some or all messages described above can be presented via a display of the VoIP device <b>106</b>. In some example implementations, the functionality described in connection with the user interface <b>406</b> may be implemented using an external media server having a standard control interface, and the user interface <b>406</b> can be provided with a media server control interface to exchange information with the external media server.
To retrieve and/or store registered and/or user-provided geographic location information (e.g., registered street addresses), the example system <b>400</b> is provided with a geographic location interface <b>408</b>. In the illustrated example, the geographic location interface <b>408</b> is implemented using the IVR <b>124</b> of <figref idref="DRAWINGS">FIG. 1</figref> and is configured to access the LIS database <b>142</b> to retrieve registered geographic location information associated with corresponding PUID's of VoIP devices. As discussed above, a user may provide geographic location information via a web page served by the web server <b>122</b> or via a customer service representative in the customer service center <b>118</b>. The web server <b>122</b> or the customer service center <b>118</b> then communicate the user-provided geographic location information to the LIS database <b>142</b>. The LIS database <b>142</b> then updates registered geographic location information stored therein using the user-provided geographic location information if the validation database (“VDB”) <b>144</b> of <figref idref="DRAWINGS">FIG. 1</figref> determines that the user-provided geographic location information is valid (e.g., compliant with the master street address guide (“MSAG”) standard).
To validate user-provided geographic location information, the example system <b>400</b> is provided with a validator <b>410</b>. In the illustrated example, the validator <b>410</b> is implemented using the VDB <b>144</b> of <figref idref="DRAWINGS">FIG. 1</figref> and is configured to determine whether user-provided geographic location information is MSAG-compliant. For example, if the validator <b>410</b> finds a street address stored in the VDB <b>144</b> to match the user-provided geographic location information, then the validator <b>410</b> indicates the user-provided geographic location information is valid.
To update geographic location change statuses associated with VoIP devices (e.g., the VoIP device <b>106</b> of <figref idref="DRAWINGS">FIGS. 1 and 2</figref>) and their respective PUID's (e.g., the PUID's <b>310</b> of <figref idref="DRAWINGS">FIG. 3</figref>), the example system <b>400</b> is provided with a geographic location change status updater <b>412</b>. In the illustrated example, the geographic location change status updater <b>412</b> is implemented using the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> and is configured to update the location change status (e.g., geographic location has not changed, geographic location may have changed, etc.) associated with a VoIP device when the IP address comparator <b>404</b> determines that a registered public IP address associated with the VoIP device <b>106</b> and a current public IP address used by the VoIP device <b>106</b> (during, for example, registration) do not match.
To retrieve and store operating modes associated with VoIP devices, the example system <b>400</b> is provided with an operating mode interface <b>414</b>. In the illustrated example, the operating mode interface <b>414</b> is implemented using the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> and is configured to store operating mode designators (e.g., the operating mode designators <b>320</b> of <figref idref="DRAWINGS">FIG. 3</figref>) in the feature server <b>130</b> and retrieve operating mode designators from the feature server <b>130</b>.
To select operating modes for association with VoIP devices, the example system <b>400</b> of <figref idref="DRAWINGS">FIG. 4</figref> is provided with an operating mode selector <b>416</b>. In the illustrated example, the operating mode selector <b>416</b> is implemented using the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> and is configured to select operating modes (e.g., the operating modes S0, S1, or S2) based on location change statuses associated with VoIP devices, based on whether registered geographic location information is up to date, and/or based on whether VoIP devices are in locations for which VoIP service providers can provide E911 service. To detect which operating modes are associated with VoIP devices, the example system <b>400</b> of <figref idref="DRAWINGS">FIG. 4</figref> is provided with an operating mode identifier <b>418</b>. In the illustrated example, the operating mode identifier <b>418</b> is implemented using the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref>.
To identify the type of calls initiated by VoIP devices, the example system <b>400</b> is provided with a call type identifier <b>420</b>. In the illustrated example, the call type identifier <b>420</b> is implemented using the feature server <b>130</b> and is configured to determine whether calls are being made to 911 or to a PUID authorized by a VoIP service provider. For example, when the VoIP device <b>106</b> is associated with the S1 (suspended) mode, a VoIP service provider allows the VoIP device <b>106</b> to make calls only to 911 or to pre-selected, authorized numbers (e.g., a customer service number). To enable the allowed calls, the call type identifier <b>420</b> extracts information from a call initiation signal communicated by the VoIP device <b>106</b> and identifies the call type.
To determine whether a VoIP service provider of the VoIP device <b>106</b> can provide E911 service at a location within which the VoIP device <b>106</b> is located, the example system <b>400</b> is provided with an E911 service verifier <b>422</b>. In the illustrated example, the E911 service verifier <b>422</b> is implemented using the LIS database <b>142</b> of <figref idref="DRAWINGS">FIG. 1</figref>. Also in the illustrated example, if the E911 service verifier <b>422</b> determines that the VoIP service provider of the VoIP device <b>106</b> cannot offer E911 service, the feature server <b>130</b> is configured to forward any 911 calls made from the VoIP device <b>106</b> to a 911 operator that will handle or process the 911 call without the location-identifying features of E911 service.
To determine the service subscriptions associated with a particular VoIP device, the example system <b>400</b> is provided with a subscription services interface <b>424</b>. In the illustrated example, the subscription services interface <b>424</b> is implemented using the HSS database <b>116</b> of <figref idref="DRAWINGS">FIG. 1</figref> and is configured to retrieve service options (e.g., the nomadic service designators <b>317</b> of <figref idref="DRAWINGS">FIG. 3</figref>) from subscriber accounts stored in the HSS database <b>116</b> to determine the services to which users are subscribed.
<figref idref="DRAWINGS">FIGS. 5</figref>, <b>6</b>A, <b>6</b>B, and <b>7</b> are flowcharts representative of example machine readable instructions that may be executed to detect geographic location changes of VoIP devices, process VoIP calls initiated by VoIP devices, and update registered geographic location information associated with VoIP devices to implement the example system <b>400</b> of <figref idref="DRAWINGS">FIG. 4</figref>. Although the example machine readable instructions are described with reference to the flowcharts of <figref idref="DRAWINGS">FIGS. 5</figref>, <b>6</b>A, <b>6</b>B, and <b>7</b>, persons of ordinary skill in the art will readily appreciate that other methods of detecting geographic location changes, processing VoIP calls, updating geographic location changes and, generally, implementing the example system <b>400</b> of <figref idref="DRAWINGS">FIG. 4</figref> may additionally or alternatively be used. For example, the order of execution of the blocks depicted in the flowcharts of <figref idref="DRAWINGS">FIGS. 5</figref>, <b>6</b>A, <b>6</b>B, and <b>7</b> may be changed, and/or some of the blocks described may be rearranged, eliminated, or combined.
<figref idref="DRAWINGS">FIG. 5</figref> is a flowchart representative of example machine readable instructions that may be executed to determine whether the VoIP device <b>106</b> may have been moved to another geographic location. Initially, the VoIP device <b>106</b> of <figref idref="DRAWINGS">FIGS. 1 and 2</figref> registers with the IMS <b>112</b> (block <b>502</b>). During the VoIP device registration process (block <b>502</b>), the HSS database <b>116</b> can prevent the VoIP device <b>106</b> from registering if the subscription services interface <b>424</b> (<figref idref="DRAWINGS">FIG. 4</figref>) determines that the VoIP device <b>106</b> is not nomadic-enabled. However, if the HSS database <b>116</b> does allow the VoIP device <b>106</b> to register, but registration is not complete (block <b>504</b>), the process of <figref idref="DRAWINGS">FIG. 5</figref> waits at block <b>504</b> until registration is complete. Otherwise, if registration is complete (block <b>504</b>), the IP address comparator <b>404</b> (<figref idref="DRAWINGS">FIG. 4</figref>) determines whether the public IP address (e.g., the public IP address A of <figref idref="DRAWINGS">FIG. 1</figref>) associated with the VoIP device <b>106</b> has changed (i.e., if the registration public IP address used to register the VoIP device is different from the previously registered public IP address stored in the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref>) (block <b>506</b>).
During the registration process of block <b>502</b>, the IP address interface <b>402</b> stores the registration public IP address of the VoIP device <b>106</b> in the feature server <b>130</b>. At block <b>506</b>, to determine whether the registration public IP address associated with the VoIP device <b>106</b> is different from the registered public IP address associated with the VoIP device <b>106</b>, the IP address comparator <b>404</b> retrieves the registered public IP address and the registration public IP address from the feature server <b>130</b> and compares the IP addresses to determine whether they are identical (block <b>506</b>). In the illustrated example, the public IP addresses can be identical if the VoIP device <b>106</b> registers or attempts to register from the same network location (e.g., the subscriber site <b>102</b><i>a </i>of <figref idref="DRAWINGS">FIG. 1</figref>) two or more consecutive times because the public IP address of the network location gateway (e.g., the public IP address A of the site gateway <b>104</b><i>a </i>of <figref idref="DRAWINGS">FIG. 1</figref>) is stored in the feature server <b>130</b> during each registration process. In some cases, during a first registration process, the VoIP operating mode may be set to the S1 (suspended) mode if the user of the VoIP device <b>106</b> does not confirm or update the registered geographic location information. Thus, during subsequent registration attempts, although the registered public IP address and the public IP address used to register the VoIP device <b>106</b> may be the same, the example system <b>400</b> will limit operation of the VoIP device <b>106</b> to the S1 (suspended) mode until the user confirms or updates the registered geographic location information.
If the public IP addresses are the same (i.e., no IP address change has occurred) (block <b>506</b>), the operating mode identifier <b>418</b> (<figref idref="DRAWINGS">FIG. 4</figref>) determines whether the operating mode associated with the VoIP device <b>106</b> is set to the S0 (unrestricted) mode (block <b>508</b>). In the illustrated example, the operating mode interface <b>414</b> retrieves the current operating mode designator (e.g., one of the operating mode designators <b>320</b> of <figref idref="DRAWINGS">FIG. 3</figref>) associated with the VoIP device <b>106</b> from the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> and the operating mode identifier <b>418</b> determines whether the operating mode designator indicates the S0 (unrestricted) operating mode (block <b>508</b>). If the operating mode identifier <b>418</b> determines that the VoIP device operating mode is not set to the S0 (unrestricted) operating mode, the operating mode identifier <b>418</b> determines if the VoIP device operating mode is set to the S2 (restricted) operating mode (block <b>510</b>).
If the operating mode identifier <b>418</b> determines that the operating mode is not set to the S2 (restricted) mode (block <b>510</b>) or if the IP address comparator <b>404</b> determines that the public IP address associated with the VoIP device <b>106</b> has changed (block <b>506</b>), the geographic location change status updater <b>412</b> (<figref idref="DRAWINGS">FIG. 4</figref>) updates the location change status associated with the VoIP device <b>106</b> to “suspected location change” (block <b>512</b>) to indicate that the VoIP device <b>106</b> may have been moved to a different geographic location. Also, the operating mode selector <b>416</b> (<figref idref="DRAWINGS">FIG. 4</figref>) sets the operating mode associated with the VoIP device <b>106</b> to the S1 (suspended) mode (block <b>514</b>). For cases in which the operating mode selector <b>416</b> has previously set the operating mode associated with the VoIP device <b>106</b> to the S1 (suspended) mode, the operating mode selector <b>416</b> may be configured to confirm at block <b>514</b> that the operating mode associated with the VoIP device <b>106</b> is set to the S1 (suspended) mode.
The operating mode interface <b>414</b> then stores the current operating mode associated with the VoIP device (block <b>516</b>) in, for example, the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> (e.g., in the operating mode column <b>318</b> of <figref idref="DRAWINGS">FIG. 3</figref>). Also, the IP address interface <b>402</b> updates the registered public IP address associated with the VoIP device <b>106</b> (block <b>518</b>) in, for example, the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref> (e.g., in the public IP address column <b>312</b> of <figref idref="DRAWINGS">FIG. 3</figref>) by replacing the previously registered public IP address with the registration public IP address received at block <b>502</b>.
The example system <b>400</b> then determines whether it should continue monitoring VoIP device registration events (block <b>520</b>). For example, the example system <b>400</b> may determine not to continue monitoring if the monitoring operation of the example system <b>400</b> is disabled by a VoIP service provider or if the monitoring operation of the example system <b>400</b> is interrupt driven and monitors only upon detection of particular events (e.g., a VoIP device plugged into the network). In an example implementation, the example system <b>400</b> is preferably, but not necessarily, configured to continuously monitor VoIP device registration events, and block <b>520</b> always returns control to block <b>502</b>.
If the example system <b>400</b> determines that it should continue monitoring for an IP address change (block <b>520</b>) or if the operating mode identifier <b>418</b> determines that the VoIP device <b>106</b> is associated with the S2 (restricted) mode (block <b>510</b>) or the S0 (unrestricted) mode (block <b>508</b>), control returns to block <b>502</b> for a subsequent registration of the VoIP device <b>106</b> or any other VoIP device. Otherwise, if the example system <b>400</b> determines that it should not continue monitoring for an IP address change (block <b>502</b>), then the process of <figref idref="DRAWINGS">FIG. 5</figref> is ended and/or control is returned to a calling function or process.
Although the example process of <figref idref="DRAWINGS">FIG. 5</figref> uses the registered public IP address and the current public IP address (the registration public IP address) associated with the VoIP device <b>106</b> to determine whether the VoIP device <b>106</b> may have changed geographic locations, in alternative example implementations, other example methods may be used to detect geographic location changes of the VoIP device <b>106</b>.
<figref idref="DRAWINGS">FIGS. 6A and 6B</figref> are a flowchart representative of example machine readable instructions that may be executed to process a VoIP call initiated by an example VoIP device <b>106</b>. Initially, the VoIP device <b>106</b> initiates a call (block <b>602</b>). In the illustrated example, the VoIP device <b>106</b> communicates a call initiation request to the CSC <b>128</b> of <figref idref="DRAWINGS">FIG. 1</figref> and the CSC <b>128</b> uses the feature server <b>130</b> to initiate and process the call. The operating mode identifier <b>418</b> (<figref idref="DRAWINGS">FIG. 4</figref>) then determines whether the operating mode associated with the VoIP device <b>106</b> is set to an S0 (unrestricted) operating mode (block <b>604</b>). In the illustrated example, to determine whether the VoIP device operating mode is set to the S0 (unrestricted) mode, the operating mode interface <b>414</b> retrieves the operating mode designator (e.g., one of the operating mode designators <b>320</b> of <figref idref="DRAWINGS">FIG. 3</figref>) associated with the VoIP device <b>106</b> from the feature server <b>130</b> and the operating mode identifier <b>418</b> determines whether the retrieved operating mode designator indicates the S0 (unrestricted) mode (block <b>604</b>). If the operating mode identifier <b>418</b> determines that the VoIP device operating mode is not set to the S0 (unrestricted) operating mode (block <b>604</b>) (i.e., the operating mode is instead set to the S1 (suspended) mode or S2 (restricted) mode), then the call type identifier <b>420</b> (<figref idref="DRAWINGS">FIG. 4</figref>) determines whether the call being initiated is a call to 911 or a call to an authorized telephone number (block <b>606</b>) (e.g., a customer service telephone number authorized by the VoIP service provider). If the call type identifier <b>420</b> determines that the call is to 911 or to another authorized PUID (block <b>606</b>), or if the operating mode identifier <b>418</b> determines that the VoIP device operating mode is set to the S0 (unrestricted) mode, the CSC <b>128</b> completes initiation of the call (block <b>608</b>).
If the call type identifier <b>420</b> determines that the call is not to 911 or to another authorized telephone number (block <b>606</b>), the operating mode identifier <b>418</b> determines whether the VoIP device operating mode is set to an S1 (suspended) operating mode (block <b>610</b>). If the operating mode identifier <b>418</b> determines that the VoIP device operating mode is not set to an S1 (suspended) operating mode (block <b>610</b>) (i.e., the operating mode is instead set to the S2 (restricted) mode), the user interface <b>406</b> presents a message via the VoIP device <b>106</b> to inform a user of the VoIP device <b>106</b> that the VoIP device <b>106</b> is within a location in which the VoIP service provider of the VoIP device <b>106</b> cannot provide E911 service (block <b>612</b>). In the illustrated example, the message is an audio message presented by, for example, the IVR system <b>124</b> of <figref idref="DRAWINGS">FIG. 1</figref>, but any other desired messaging medium may be employed.
If the operating mode identifier <b>418</b> determines that the VoIP device operating mode is set to an S1 (suspended) operating mode (block <b>610</b>), the geographic location information interface <b>408</b> (<figref idref="DRAWINGS">FIG. 4</figref>) retrieves registered geographic location information (e.g., a street address) associated with the VoIP device <b>106</b> (block <b>614</b>). In the illustrated example, the geographic location information interface <b>408</b> accesses the LIS database <b>142</b> to retrieve the registered street address stored in association with the PUID of the VoIP device <b>106</b>. The user interface <b>406</b> then presents the registered geographic location information via the VoIP device <b>106</b> (block <b>616</b>) and requests the user of the VoIP device <b>106</b> to confirm whether the registered geographic location is the same as the current geographic location of the VoIP device <b>106</b> (block <b>618</b>). In the illustrated example, the IVR system <b>124</b> of <figref idref="DRAWINGS">FIG. 1</figref> implements the user interface <b>406</b> and performs a text-to-speech conversion of the registered street address to present an audio message via the VoIP device <b>106</b>. In other example implementations, the LIS database <b>142</b> may store audio files (e.g., WAV files) of registered street addresses and the IVR system <b>124</b> may play back the audio files via the VoIP device <b>106</b>. In addition, in other example implementations, the registered geographic location information may be presented (block <b>616</b>) via text or video on a display screen of the VoIP device <b>106</b> and/or other user interface screens may be used to request the user to confirm the location of the VoIP device <b>106</b> (block <b>618</b>). The NMS <b>114</b> then stores the user response regarding whether the registered geographic location is the same as the current geographic location of the VoIP device <b>106</b> (block <b>620</b>). In the illustrated example, the user interface <b>406</b> communicates the user response to the NMS <b>114</b> along with the user's PUID and a date and time stamp of when the user responded, and the NMS <b>114</b> stores the user's PUID in association with the date and time stamp. In this manner, the VoIP service provider can keep records of whether and when users confirmed their geographic location.
After the NMS <b>114</b> stores the user response (block <b>620</b>), the geographic location change status updater <b>412</b> (<figref idref="DRAWINGS">FIG. 4</figref>) determines whether the user confirmed that the registered geographic location of the VoIP device <b>106</b> is the same as the current geographic location of the VoIP device <b>106</b> (block <b>622</b>) (<figref idref="DRAWINGS">FIG. 6B</figref>) based on, for example, the user response requested at block <b>618</b>. For example, the geographic location change status updater <b>412</b> determines that the registered geographic location of the VoIP device <b>106</b> is the same as the current geographic location if the user response confirmed (e.g., “Yes”) that the registered geographic location of the VoIP device <b>106</b> is the same as the current geographic location. If the geographic location change status updater <b>412</b> determines that the geographic locations are not the same or after the user interface <b>406</b> informs the user that the VoIP device is within a location in which the VoIP service provider cannot provide E911 service (block <b>612</b>), the user interface <b>406</b> presents a website uniform resource locator (“URL”) address via the VoIP device (block <b>632</b>) that the user can visit to provide updated geographic location information and/or to obtain more information on the messages presented by the user interface <b>406</b>. Additionally or alternatively, the user interface <b>406</b> offers to connect the user to a customer service agent (block <b>634</b>) at the customer service center <b>118</b> of <figref idref="DRAWINGS">FIG. 1</figref>. If the user elects to be connected to a customer service agent (block <b>636</b>), then the user interface <b>406</b> connects the call to a customer service agent (block <b>638</b>).
If at block <b>622</b>, the geographic location change status updater <b>412</b> determines that the user confirmed that the geographic locations are the same, the operating mode selector <b>416</b> changes the VoIP device operating mode to the S0 (unrestricted) mode and the operating mode interface <b>414</b> stores the operating mode (block <b>640</b>) in, for example, the feature server <b>130</b> of <figref idref="DRAWINGS">FIG. 1</figref>. The CSC <b>128</b> of <figref idref="DRAWINGS">FIG. 1</figref> then completes the call (block <b>642</b>). The example process of <figref idref="DRAWINGS">FIGS. 6A and 6B</figref> then returns control to a calling function or process and/or ends.
<figref idref="DRAWINGS">FIG. 7</figref> is a flowchart representative of example machine readable instructions that may be executed to update a registered geographic location associated with the VoIP device <b>106</b>. Initially, if the user of the VoIP device <b>106</b> updates the registered geographic location via a web page (block <b>702</b>), the web server <b>122</b> of <figref idref="DRAWINGS">FIG. 1</figref> receives the user-provided geographic location information (block <b>704</b>) such as, for example, a user-provided street address. The web server <b>122</b> then communicates the user-provided geographic location information to the LIS database <b>142</b> of <figref idref="DRAWINGS">FIG. 1</figref>.
If the user of the VoIP device <b>106</b> does not update the registered geographic location via a web page (block <b>702</b>), and a customer service representative at the customer service center <b>118</b> receives the user-provided geographic location information (block <b>708</b>) from the user of the VoIP device <b>106</b>, the customer service representative communicates the user-provided geographic location information to the LIS database <b>142</b> (block <b>710</b>).
After the LIS database <b>142</b> receives the user-provided geographic location information (block <b>706</b> or block <b>710</b>), the validator <b>410</b> (<figref idref="DRAWINGS">FIG. 4</figref>) determines whether the user-provided geographic location information is MSAG-compliant (i.e., valid) (block <b>712</b>). In the illustrated example, the user-provided geographic location information is a street address that the validator <b>410</b> compares with addresses stored in the validation database (“VDB”) <b>144</b> of <figref idref="DRAWINGS">FIG. 1</figref> to determine if the user-provided street address is MSAG-compliant. If the user-provided geographic location information is MSAG-compliant (block <b>712</b>), the geographic location information interface <b>408</b> updates the registered geographic location information in the LIS database <b>142</b> with the user-provided geographic location information (block <b>714</b>).
The E911 service verifier <b>422</b> (<figref idref="DRAWINGS">FIG. 4</figref>) then determines whether the VoIP service provider of the VoIP device <b>106</b> can provide E911 service at the user-provided geographic location (block <b>716</b>). If the VoIP service provider cannot provide E911 service at the user-provided geographic location (block <b>716</b>), the NMS <b>114</b> instructs the operating mode selector <b>416</b> (<figref idref="DRAWINGS">FIG. 4</figref>) to change the operating mode associated with the VoIP device <b>106</b> to the S2 (restricted) mode and stores the restricted mode designator (block <b>720</b>) in, for example, the feature server <b>130</b>.
If the validator <b>410</b> determines that the user-provided geographic location information is not MSAG-compliant (block <b>712</b>), the web server <b>122</b> or the customer service representative assisting the user of the VoIP device <b>106</b> informs the user that the user-provided geographic location information (e.g., the street address) is not valid (block <b>724</b>). The user must then provide another geographic location. In some cases, the geographic location information may not be MSAG-compliant due to a typographical error, a missing zip code, or some other trivial mistake, and the user need merely re-type the geographic location information.
After informing the user that the user-provided geographic location information is invalid or after changing the operating mode associated with the VoIP device <b>106</b> to the S2 (restricted) mode and storing the restricted mode designator (block <b>720</b>) or if the VoIP service provider can provide E911 service at the user-provided geographic location (block <b>716</b>), the web server <b>122</b> or the customer service representative assisting the user of the VoIP device <b>106</b> then determines whether to end the geographic address update process (block <b>726</b>). For example, the web server <b>122</b> may determine that it should end the process if the user of the VoIP device <b>106</b> has closed or logged out of the web page used to update the geographic location information, and/or the customer service representative may determine to end the process if the user has elected to end the call with the customer service representative. If the web server <b>122</b> or the customer service representative determines that the geographic location information update process should not end, then control is passed back to block <b>702</b>. Otherwise, the process of <figref idref="DRAWINGS">FIG. 7</figref> ends.
<figref idref="DRAWINGS">FIG. 8</figref> is a block diagram of an example processor system <b>810</b> that may be used to implement the example apparatus, methods, and articles of manufacture described herein. For example, processor systems substantially similar or identical to the example processor system <b>810</b> may be used to implement the site gateways <b>104</b><i>a</i>-<i>b</i>, the network management system <b>114</b>, the HSS database <b>116</b>, the web server <b>122</b>, the IVR system <b>124</b>, the emergency services gateway <b>132</b>, the call session controller <b>128</b>, the feature server <b>130</b>, the LIS database <b>142</b>, the validation database <b>144</b>, and/or the VPC <b>148</b>, all shown in <figref idref="DRAWINGS">FIG. 1</figref>. In addition, processor systems substantially similar or identical to the example processor system <b>810</b> may be used to implement the IP address interface <b>402</b>, the IP address comparator <b>404</b>, the user interface <b>406</b>, the geographic location information interface <b>408</b>, the validator <b>410</b>, the geographic location change status updater <b>412</b>, the operating mode interface <b>414</b>, the operating mode selector <b>416</b>, the operating mode identifier <b>418</b>, the call type identifier <b>420</b>, the E911 service verifier <b>422</b>, and/or the subscription services interface <b>424</b> of the example system <b>400</b> of <figref idref="DRAWINGS">FIG. 4</figref>.
As shown in <figref idref="DRAWINGS">FIG. 8</figref>, the processor system <b>810</b> includes a processor <b>812</b> that is coupled to an interconnection bus <b>814</b>. The processor <b>812</b> includes a register set or register space <b>816</b>, which is depicted in <figref idref="DRAWINGS">FIG. 8</figref> as being entirely on-chip, but which could alternatively be located entirely or partially off-chip and directly coupled to the processor <b>812</b> via dedicated electrical connections and/or via the interconnection bus <b>814</b>. The processor <b>812</b> may be any suitable processor, processing unit or microprocessor. Although not shown in <figref idref="DRAWINGS">FIG. 8</figref>, the system <b>810</b> may be a multi-processor system and, thus, may include one or more additional processors that are identical or similar to the processor <b>812</b> and that are communicatively coupled to the interconnection bus <b>814</b>.
The processor <b>812</b> of <figref idref="DRAWINGS">FIG. 8</figref> is coupled to a chipset <b>818</b>, which includes a memory controller <b>820</b> and an input/output (I/O) controller <b>822</b>. A chipset provides I/O and memory management functions as well as a plurality of general purpose and/or special purpose registers, timers, etc. that are accessible or used by one or more processors coupled to the chipset <b>818</b>. The memory controller <b>820</b> performs functions that enable the processor <b>812</b> (or processors if there are multiple processors) to access a system memory <b>824</b> and a mass storage memory <b>825</b>.
The system memory <b>824</b> may include any desired type of volatile and/or non-volatile memory such as, for example, static random access memory (SRAM), dynamic random access memory (DRAM), flash memory, read-only memory (ROM), etc. The mass storage memory <b>825</b> may include any desired type of mass storage device including hard disk drives, optical drives, tape storage devices, etc.
The I/O controller <b>822</b> performs functions that enable the processor <b>812</b> to communicate with peripheral input/output (I/O) devices <b>826</b> and <b>828</b> and a network interface <b>830</b> via an I/O bus <b>832</b>. The I/O devices <b>826</b> and <b>828</b> may be any desired type of I/O device such as, for example, a keyboard, a video display or monitor, a mouse, etc. The network interface <b>830</b> may be, for example, an Ethernet device, an asynchronous transfer mode (ATM) device, an 802.11 device, a digital subscriber line (DSL) modem, a cable modem, a cellular modem, etc. that enables the processor system <b>810</b> to communicate with another processor system.
While the memory controller <b>820</b> and the I/O controller <b>822</b> are depicted in <figref idref="DRAWINGS">FIG. 8</figref> as separate functional blocks within the chipset <b>818</b>, the functions performed by these blocks may be integrated within a single semiconductor circuit or may be implemented using two or more separate integrated circuits.
Of course, persons of ordinary skill in the art will recognize that the order, size, and proportions of the memory illustrated in the example systems may vary. Additionally, although this patent discloses example systems including, among other components, software or firmware executed on hardware, it will be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware or in some combination of hardware, firmware and/or software. Accordingly, persons of ordinary skill in the art will readily appreciate that the above-described examples are not the only way to implement such systems.
At least some of the above described example methods and/or apparatus are implemented by one or more software and/or firmware programs running on a computer processor. However, dedicated hardware implementations including, but not limited to, an ASIC, programmable logic arrays and other hardware devices can likewise be constructed to implement some or all of the example methods and/or apparatus described herein, either in whole or in part. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the example methods and/or apparatus described herein.
It should also be noted that the example software and/or firmware implementations described herein are optionally stored on a tangible storage medium, such as: (1) a magnetic medium (e.g., a disk or tape); (2) a magneto-optical or optical medium such as a disk; or (3) a solid state medium such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories. Accordingly, the example software and/or firmware described herein can be stored on a tangible storage medium such as those described above or equivalents and successor media.
To the extent the above specification describes example components and functions with reference to particular devices, standards and/or protocols, it is understood that the teachings of the invention are not limited to such devices, standards and/or protocols. Such devices are periodically superseded by different, faster, and/or more efficient systems having the same general purpose. Accordingly, replacement devices, standards and/or protocols having the same general functions are equivalents which are intended to be included within the scope of the accompanying claims.
Further, although certain methods, apparatus, systems, and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. To the contrary, this patent covers all methods, apparatus, systems, and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.
Contents5
11 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11
Every citation, both waysCites: the store holds 129 of 130
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US12425828B2 | Cited by | United States of America | Applicant |
| US12219653B2 | Cited by | United States of America | Applicant |
| US11741819B2 | Cited by | United States of America | Applicant |
| US9992655B2 | Cited by | United States of America | Applicant |
| US12375895B2 | Cited by | United States of America | Applicant |
| US9693212B1 | Cited by | United States of America | Applicant |
| US12190711B2 | Cited by | United States of America | Applicant |
| US11871325B2 | Cited by | United States of America | Applicant |
| US11310647B2 | Cited by | United States of America | Applicant |
| US11140538B2 | Cited by | United States of America | Applicant |
| US11659375B2 | Cited by | United States of America | Applicant |
| US11689653B2 | Cited by | United States of America | Applicant |
| US11832157B2 | Cited by | United States of America | Applicant |
| US12047858B2 | Cited by | United States of America | Applicant |
| US10375558B2 | Cited by | United States of America | Applicant |
| US10165431B2 | Cited by | United States of America | Applicant |
| US12432543B2 | Cited by | United States of America | Applicant |
| US10140842B2 | Cited by | United States of America | Applicant |
| US10820181B2 | Cited by | United States of America | Applicant |
| US11445349B2 | Cited by | United States of America | Applicant |
| US10419915B2 | Cited by | United States of America | Applicant |
| US9659484B1 | Cited by | United States of America | Applicant |
| US10425799B2 | Cited by | United States of America | Applicant |
| US12341707B2 | Cited by | United States of America | Applicant |
| US12375896B2 | Cited by | United States of America | Applicant |
| US12219082B2 | Cited by | United States of America | Applicant |
| US12349035B2 | Cited by | United States of America | Applicant |
| US11425529B2 | Cited by | United States of America | Applicant |
| US11496874B2 | Cited by | United States of America | Applicant |
| US11580845B2 | Cited by | United States of America | Applicant |
| US11528772B2 | Cited by | United States of America | Applicant |
| US2024236018A1 | Cited by | United States of America | Search report |
| US10136294B2 | Cited by | United States of America | Applicant |
| US10977927B2 | Cited by | United States of America | Applicant |
| US12113720B2 | Cited by | United States of America | Search report |
| US10701541B2 | Cited by | United States of America | Applicant |
| US12041525B2 | Cited by | United States of America | Applicant |
| US11956853B2 | Cited by | United States of America | Applicant |
| US11197145B2 | Cited by | United States of America | Applicant |
| US9736670B2 | Cited by | United States of America | Applicant |
| US9998507B2 | Cited by | United States of America | Applicant |
| US12185184B2 | Cited by | United States of America | Applicant |
| US11218584B2 | Cited by | United States of America | Applicant |
| US11153737B2 | Cited by | United States of America | Applicant |
| US11716605B2 | Cited by | United States of America | Applicant |
| US10771951B2 | Cited by | United States of America | Applicant |
| US9408067B1 | Cited by | United States of America | Search report |
| US11917514B2 | Cited by | United States of America | Applicant |
| US11641575B2 | Cited by | United States of America | Applicant |
| US11943694B2 | Cited by | United States of America | Applicant |
| US10861320B2 | Cited by | United States of America | Applicant |
| US9756169B2 | Cited by | United States of America | Applicant |
| US9432467B2 | Cited by | United States of America | Applicant |
| US11605287B2 | Cited by | United States of America | Applicant |
| US12349028B1 | Cited by | United States of America | Applicant |
| US10701542B2 | Cited by | United States of America | Applicant |
| US12063581B2 | Cited by | United States of America | Applicant |
| US9986404B2 | Cited by | United States of America | Applicant |
| US10447865B2 | Cited by | United States of America | Applicant |
| US11974207B2 | Cited by | United States of America | Applicant |
| US11665523B2 | Cited by | United States of America | Applicant |
| US9942739B2 | Cited by | United States of America | Applicant |
| US11146680B2 | Cited by | United States of America | Applicant |
| US10911926B2 | Cited by | United States of America | Applicant |
| US11790766B2 | Cited by | United States of America | Applicant |
| US11695871B2 | Cited by | United States of America | Applicant |
| US10657799B2 | Cited by | United States of America | Applicant |
| US12302211B2 | Cited by | United States of America | Applicant |
| US9924043B2 | Cited by | United States of America | Applicant |
| US11558728B2 | Cited by | United States of America | Applicant |
| US9838858B2 | Cited by | United States of America | Search report |
| US11330664B1 | Cited by | United States of America | Applicant |
| US10805786B2 | Cited by | United States of America | Applicant |
| US12074999B2 | Cited by | United States of America | Applicant |
| US11818639B2 | Cited by | United States of America | Applicant |
| EP1337089A2 | Cites | European Patent Office (EPO) | Applicant |
| EP1589721A2 | Cites | European Patent Office (EPO) | Applicant |
| US2001022558A1 | Cites | United States of America | Applicant |
| US2003146871A1 | Cites | United States of America | Applicant |
| US2003217122A1 | Cites | United States of America | Applicant |
| US2003222819A1 | Cites | United States of America | Applicant |
| US2003222820A1 | Cites | United States of America | Applicant |
| US2004057425A1 | Cites | United States of America | Applicant |
| US2004125923A1 | Cites | United States of America | Applicant |
| US2004151283A1 | Cites | United States of America | Applicant |
| US2004198386A1 | Cites | United States of America | Applicant |
| US2004266457A1 | Cites | United States of America | Applicant |
| US2005026650A1 | Cites | United States of America | Applicant |
| US2005063519A1 | Cites | United States of America | Applicant |
| US2005074008A1 | Cites | United States of America | Applicant |
| US2005083911A1 | Cites | United States of America | Applicant |
| US2005090225A1 | Cites | United States of America | Applicant |
| WO2005104518A2 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| US2005135569A1 | Cites | United States of America | Applicant |
| US2005141431A1 | Cites | United States of America | Applicant |
| US2005153681A1 | Cites | United States of America | Applicant |
| US2005175166A1 | Cites | United States of America | Applicant |
| US2005190892A1 | Cites | United States of America | Applicant |
| US2005213716A1 | Cites | United States of America | Applicant |
| US2005232164A1 | Cites | United States of America | Applicant |
6 members in 1 office
Priority claims6
| Document | Office | Kind | Date |
|---|---|---|---|
| 55556906 | United States of America | A | |
| 55556906 | United States of America | A | |
| 201314021828 | United States of America | A | |
| 11555569 | – | – | – |
| US20060555569 | – | – | – |
| US201314021828 | – | – | – |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| US2008101552A1 | United States of America | A1 | |
| US8531995B2 | United States of America | B2 | |
| US2014016634A1 | United States of America | A1 | |
| US9019870B2This record | United States of America | B2 | |
| US2015312357A1 | United States of America | A1 | |
| US9432467B2 | United States of America | B2 |
38 transactions on the USPTO file
Allowed without a rejection on record.
- Non-final rejections
- 0
- Final rejections
- 0
- RCEs
- 0
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Payment of Maintenance Fee, 4th Year, Large EntityM1551 | M1551 | |
| Correspondence Address ChangeC.AD | C.AD | |
| Change in Power of Attorney (May Include Associate POA)PA.. | PA.. | |
| Application ready for PDX access by participating foreign officesCCRDY | CCRDY | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Supplemental Papers - Oath or DeclarationC600 | C600 | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Reasons for AllowanceEX.R | EX.R | |
| Examiner's Amendment CommunicationEX.A | EX.A | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Electronic Information Disclosure StatementEIDS. | EIDS. | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| PG-Pub Issue NotificationPG-ISSUE | PG-ISSUE | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Filing ReceiptFLRCPT.O | FLRCPT.O | |
| Application Is Now CompleteCOMP | COMP | |
| FITF set to NO - revise initial settingFTFI | FTFI | |
| Sent to Classification ContractorPGPC | PGPC | |
| Reference capture on IDSRCAP | RCAP | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Cleared by OIPE CSRL194 | L194 | |
| Applicants have given acceptable permission for participating foreignAPPERMS | APPERMS | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Entity status set to undiscounted (initial default setting or status change)BIG. | BIG. | |
| Initial Exam Team nnIEXX | IEXX |
9 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 09019870
- Publication, DOCDB
- 9019870
- Publication, EPODOC
- US9019870
- Application
- 14021828
- Application, DOCDB
- 201314021828
- Application, EPODOC
- US201314021828
Titles
- English
- Systems and methods for location management and emergency support for a voice over internet protocol device
Patent term adjustment
- A delay
- +54 daysthe office missed an examination deadline
- Applicant delay
- −113 days
- Net adjustment
- 0 days
Classification
- CPC, 11
- H04L12/66
- H04L29/08657
- H04L67/52
- H04W64/00
- H04W48/04
- H04L65/1096
- H04W4/90
- H04W4/02
- H04L67/18
- H04W4/029
- H04L61/4535
- IPC, 12
- H04L12 16
- H04L12 66
- H04L29 06
- H04L29 08
- H04M11 04
- H04W4 02
- H04W4 029
- H04W4 90
- H04W24 00
- H04W48 04
- H04W64 00
- H04W4 00
- USPC, 4
- 370271000
- 370328000
- 455404200
- 455456100