The present disclosure relates generally to communications systems and, more particularly, to methods and apparatus to update geographic location information associated with Internet protocol devices for E-911 emergency services.
Telecommunication providers in the United States are required by the Federal Communications Commission (“FCC”) to support 911 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. In traditional public switched telephony networks (“PSTN”), the geographic information retrieval support for 911 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 to support 911 services. In particular, under a roaming service, 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 roaming capability of VoIP phones eliminates the dedicated or fixed association between telephone numbers and physical or geographic locations.
The example methods and apparatus described herein may be used to enable E-911 services for roaming internet protocol (“IP”) communication devices. Traditional 911 services based on the plain old telephone system (“POTS”) standard provide POTS telephone service subscribers with emergency service that is capable of pinpointing the geographic calling location of a caller. In this manner, although a caller may be unable to speak into the telephone, the receiving 911 dispatcher can obtain the immediate 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 tied to a particular geographic location (e.g., a subscriber's home), IP communication services (e.g., voice over IP (“VoIP”) service) do not always restrict an IP telephone number to being permanently associated with or assigned to a particular geographic location. Instead, some VoIP service providers enable a VoIP device associated with a particular telephone number to roam through a service provider network. That is, a subscriber may disconnect a VoIP device from the service provider network at a first location (e.g., the subscriber's home) and reconnect the VoIP device into the service provider network at a second location (e.g., a work place). As described herein, E-911 roaming enables a service provider network to provide E-911 services to subscribers even though subscribers may move their VoIP devices between various locations. As described in greater detail below, example methods and apparatus described herein enable such roaming by automatically updating a registered geographic location associated with a VoIP device of a subscriber whenever the subscriber connects the VoIP device to an IP service provider network. The VoIP device may be, for example, an IP telephone for voice over IP communications or a computer or other processing device (e.g., a portable communicator, etc.) for VoIP or other communications (e.g., messaging) over IP. A network service provider providing services for the VoIP device may be a telephone company, a cable company, a satellite company, an Internet service provider, a utility (e.g., electricity) service provider, etc.
In a disclosed example method to enable E-911 roaming, a customer premises equipment (“CPE”) activation system receives a media access control (“MAC”) address associated with a VoIP device (e.g., a VoIP telephone) and a first IP address associated with a gateway. The CPE activation system then determines whether the MAC address is valid and, if valid, retrieves a second IP address associated with the MAC address from a location identification server (“LIS”) database and compares the first IP address with the second IP address.
Typically, when the first IP address does not match the second IP address, the first IP address is associated with a first geographic location and the second IP address is associated with a second geographic location (and possibly a second gateway associated with the second geographic location) different from the first geographic location. Thus, the geographic location of the VoIP device is no longer correct in the LIS database. Therefore, when the first IP address does not match the second IP address, the CPE activation system generates and sends a request to update the geographic location of the IP communication device to the LIS. The request causes the MAC address of the VoIP device to be associated with the first IP address in the LIS database thereby designating an updated geographic location of the VoIP device.
Updating the LIS database to include the most recent or current geographic location of the VoIP device enables E-911 dispatchers to send emergency assistance to the geographic location at which the VoIP device is located, should an emergency call be placed from that VoIP device. For example, in response to an E-911 call from the VoIP device, an automatic location identification (“ALI”) system accesses the LIS to retrieve the geographic location of the VoIP device and provides the geographic location information to an emergency dispatcher handling the E-911 call. The dispatcher can then send appropriate emergency service personnel to the location of the VoIP device.
The gateway associated with the first IP address may be a site gateway (e.g., a residential gateway) used to communicatively couple the VoIP device to a service provider network. For example, the gateway may be installed at a place of business (e.g., a subscriber's workplace or office), a subscriber's home, a retail establishment (e.g., a coffee shop) offering Internet access, etc. In some example implementations, the gateway may be implemented using a network router or may be implemented in combination with a network router or other network interface device.
In some example implementations, the LIS database is located external to a virtual local area network (“LAN”) and/or an IP private branch exchange (“PBX”) system within which the VoIP device is communicatively coupled to the gateway. Also in some example implementations, the example method determines whether the VoIP device is eligible for association with a geographic location within which it is located. For instance, if the CPE activation system determines that the VoIP device is associated with a non-roaming account and has already been associated with a geographic location, the CPE activation system may prevent the VoIP device from being associated with a new geographic location.
Some example network systems that enable E-911 roaming are configured to receive a MAC address associated with a VoIP device, determine whether the MAC address is stored in a data structure (e.g., the LIS database), and when the MAC address is stored in the data structure, to associate the MAC address with an IP address associated with a geographic location in which the VoIP device is currently located. The IP address is associated with a network access device (e.g., a gateway) communicatively coupled to the VoIP device that enables the VoIP device to communicate with a service provider network.
Alternatively or additionally, some example network systems retrieve a second IP address associated with the MAC address from the LIS database and compare the second IP address with the IP address corresponding to the network access device (e.g., the gateway). When the IP addresses do not match, the example network systems associate the MAC address with the IP address in the LIS database to associate the VoIP device with a current geographic location of the VoIP device.
In some example implementations, the network system determines whether the VoIP device is eligible for association with the geographic location and, based on such determination, the network system determines whether to prevent the VoIP device from being associated with a new geographic location.
As will be readily apparent to one 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.
The example network system 100 of
In the illustrated example, an IP communication device 106 (e.g., a wireline or wireless VoIP telephone, a plain old telephone system (“POTS”) analog telephone connected to an analog telephone adapter (“ATA”), a wireline 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 104a. The site gateway 104a provides the IP communication device 106 network access to the example network system 100, and the IP communication device 106 is capable of making VoIP calls via the example network system 100. For purposes of discussion, the IP communication device 106 will be referred to herein as a VoIP device 106. Although two subscriber sites (i.e., the subscriber sites 102a-b) and two site gateways (i.e., the site gateways 104a-b) are shown in
As shown in the illustrated example of
Although the example methods and apparatus described herein may be implemented using a SIP telephone (e.g., the VoIP telephone 302 of
Returning now to the illustrated example of
The example network system 100 also includes a location information server (“LIS”) system 116, which includes one or more data structures (e.g., databases) for storing geographic addresses in association with telephone subscriber identification information. For example, the LIS system 116 may store a subscriber telephone number in association with the subscriber's geographic street address to enable retrieving the subscriber's geographic street address based on the subscriber's telephone number. In the illustrated example, the LIS system 116 also associates a site gateway identification (“ID”) with a geographic location (e.g., a geographic street address) of a corresponding site gateway (e.g., one of the site gateways 104a and 104b).
To retrieve geographic location information from the LIS system 116 and communicate the geographic location information to the PSAP 114 during a 911 call, the example network system 100 includes an automatic location identification (“ALI”) server 118. During a 911 call from a VoIP device (e.g., the VoIP device 106), the PSAP 114 forwards a request for a caller's geographic location information to the ALI server 118. The request includes one or both of the telephone number of the VoIP device 106 and the MAC address of the VoIP device 106. In response, the ALI server 118 accesses the LIS system 116, retrieves the geographic street address associated with the telephone number and/or the MAC address of the VoIP device 106, and forwards the geographic address to the PSAP 114.
To enable the VoIP device 106 to communicate with the VoIP network 108, the example network system 100 includes an Internet service IP backbone 120 that provides access to Internet or network services other than VoIP services (e.g., World Wide Web services, e-mail services, IP television services, etc.). The example network system 100 also includes a service delivery platform (“SDP”) 122 that integrates various communication services including broadband Internet access, video delivery, wireless communications, wireline communications, etc. to enable delivering those various services to customers via one communication system (e.g., the example network system 100).
To manage service ordering activities, the example network system 100 is provided with an order management system (“OMS”) 126. Customer service representatives, sales representatives, and/or on-line ordering interfaces can access the OMS 126 to process customer orders to provision or cancel services. The OMS 126 provides order management, product/service definition, order tracking, order fulfillment, and/or notifications. For example, the OMS 126 may define whether a subscriber's VoIP device (e.g., the VoIP device 106) is capable of roaming to different parts of the service provider's network. In some example implementations, a subscriber's VoIP device that is not provided with a roaming feature will be denied service if connected to the service provider's network at any location other than a predetermined “home” location.
In the illustrated example of
To activate subscriber IP devices (e.g., the VoIP device 106) when they are connected to the example network system 100, the example network system 100 is provided with a customer premises equipment (“CPE”) activation system 132. The CPE activation system 132 stores configuration information related to the configuration of each subscriber IP device connected to site gateways (e.g., the site gateways 104a-b) corresponding to the CPE activation system 132. In the illustrated example, the CPE activation system 132 stores configuration information for the VoIP device 106 using, for example, a data structure, a configuration file (e.g., the example configuration file 400 of
An example configuration file 400 is illustrated in detail in
A register expire time field 408 stores the amount of time that is provided to a device (e.g., the VoIP device 106 of
Returning to
In addition, site gateway IP addresses stored in the LDAP server 140 are illustrated in a site gateway IP address field 508, VoIP device MAC addresses stored in the LDAP server 140 are shown in a VoIP device MAC address field 510, the subscriber telephone numbers stored in the LDAP server 140 are shown in the telephone number field 506, and the site gateway ID's stored in the LDAP server 140 are shown in the site gateway ID field 502. In the illustrated example, the subscriber telephone numbers shown in the telephone number field 506 and/or the site gateway ID's shown in the site gateway ID field 502 may be used as primary keys that enable associating the information stored in the LIS system 116 with corresponding information in the LDAP server 140.
Example information in the relational table 500 includes an example site gateway ID 512 of a site gateway (e.g., a MAC address of the site gateway 104a of
To associate a VoIP device (e.g., the VoIP device 106 of
Returning to
As shown in
To compare IP addresses and/or MAC addresses, the CPE activation system 132 is provided with a comparator 604. For example, the CPE activation system 132 may use the comparator 604 to compare IP addresses of the site gateways 104a and 104b with IP addresses retrieved from the authentication and policy management system 134 of
To validate MAC addresses (e.g., the MAC address 110 of
To update and/or generate configuration files (e.g., the configuration file 400 of
To update geographic locations of VoIP devices (e.g., the VoIP device 106), the CPE activation system 132 is provided with a geographic location updater 610. In the illustrated example, when the CPE activation system 132 determines that a VoIP device has changed locations, the CPE activation system 132 uses the geographic location updater 610 to obtain new location information (e.g., a new geographic street address) and communicate the new location information to, for example, the LIS system 116 (
Turning to
After receiving the local IP address from the site gateway 104a, the ATA 112 sends a configuration file request 702 (
In response, the CPE activation system 132 communicates a stored IP address request 704 (
The LDAP server 140 then determines if the MAC address 110 is valid (block 812). For example, the LDAP server 140 may determine that the MAC address 110 is valid if one of the data records stored in a database of the LDAP server 140 includes the MAC address 110. The MAC address 110 may be stored in the LDAP server 140 if new services for the ATA 112 have recently been provisioned or if the ATA 112 has previously been connected to the example network system 100 and is authorized to access services via the example network system 100. For example, if the VoIP device 106 was previously connected to the second site gateway 104b, the MAC address 110 of the VoIP device 106 will be stored in the authentication and policy management system 134 in association with the IP address B of the second site gateway 104b. If the LDAP server 140 determines that the MAC address 110 is valid (block 812), the LDAP server 140 communicates a stored IP address 708 (
The CPE activation system 132 then uses the validator 606 (
The CPE activation system 132 then uses the comparator 604 (
Turning to
Turning to
The CPE activation system 132 then sends configuration file 714 to the ATA 112 (block 832), and the ATA 112 updates the configuration of the VoIP device 106 with information in the configuration file 714 (block 834). In some example implementations, the CPE activation system 132 may generate an encryption key and encrypt the configuration file 714 prior to sending it to the ATA 112. In addition, the CPE activation system 132 may be configured to determine whether the requesting caller is valid (e.g., the caller has an order for service placed or is otherwise registered with the service provider), whether the MAC address 110 is valid, and/or whether the requesting subscriber has actually ordered the requested service (e.g., VoIP service). In this manner, if the CPE activation system 132 determines that the subscriber is invalid, the MAC address is invalid, and/or the subscriber has not ordered the requested service (e.g., a roaming service), the CPE activation system 132 may deny forwarding a configuration file to the ATA 112, thereby denying VoIP service to the VoIP device 106.
The ATA 112 then determines whether it is the first time that it has been connected to the example network system 100 (block 836). If the ATA 112 determines that it is the first time it has connected to the example network system 100 (block 836), the ATA performs a SIP registration 716 (
The SDP 122 then binds the MAC address 110 and the port of the site gateway 104a to the telephone number of the VoIP device 106 in the SDP 122 (block 844). The SDP 122 then sends a registration notification 722 (
Although the example methods and systems are described above in connection with the VoIP device 106 roaming within a single service provider network, in other example implementations, the example methods and systems may be used to update geographic location information associated with the VoIP device 106 when the VoIP device 106 roams from one service provider network to another service provider network. For example, different service providers may share information (e.g., geographic street addresses, VoIP device MAC addresses, site gateway IP addresses, site gateway ID's, etc.) stored in one or more data structures (e.g., the LIS system 116 of
As shown in
The processor 912 of
The system memory 924 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 925 may include any desired type of mass storage device including hard disk drives, optical drives, tape storage devices, etc.
The I/O controller 922 performs functions that enable the processor 912 to communicate with peripheral input/output (I/O) devices 926 and 928 and a network interface 930 via an I/O bus 932. The I/O devices 926 and 928 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 930 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 910 to communicate with another processor system.
While the memory controller 920 and the I/O controller 922 are depicted in
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: a magnetic medium (e.g., a disk or tape); a magneto-optical or optical medium such as a disk; or 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; or a signal containing computer instructions. A digital file attachment to e-mail or other self-contained information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the example software and/or firmware described herein can be stored on a tangible storage medium or distribution 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.
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.
Number | Name | Date | Kind |
---|---|---|---|
5161180 | Chavous | Nov 1992 | A |
5235630 | Moody et al. | Aug 1993 | A |
5347568 | Moody et al. | Sep 1994 | A |
5479482 | Grimes | Dec 1995 | A |
6415019 | Savaglio et al. | Jul 2002 | B1 |
6421009 | Suprunov | Jul 2002 | B2 |
6650901 | Schuster et al. | Nov 2003 | B1 |
6678357 | Stumer et al. | Jan 2004 | B2 |
6707888 | Cope | Mar 2004 | B1 |
6771742 | McCalmont et al. | Aug 2004 | B2 |
6799049 | Zellner et al. | Sep 2004 | B1 |
6807483 | Chao et al. | Oct 2004 | B1 |
6927727 | Cleghorn | Aug 2005 | B2 |
6940950 | Dickinson et al. | Sep 2005 | B2 |
7027564 | James | Apr 2006 | B2 |
7042985 | Wright | May 2006 | B1 |
7079627 | Crago et al. | Jul 2006 | B2 |
7103034 | Srinivas et al. | Sep 2006 | B1 |
7130385 | Moon | Oct 2006 | B1 |
7260186 | Zhu et al. | Aug 2007 | B2 |
7480933 | Bush et al. | Jan 2009 | B2 |
7639792 | Qiu et al. | Dec 2009 | B2 |
7773975 | Snapp et al. | Aug 2010 | B2 |
20010022558 | Karr, Jr. et al. | Sep 2001 | A1 |
20030146871 | Karr et al. | Aug 2003 | A1 |
20030217122 | Roese et al. | Nov 2003 | A1 |
20030222819 | Karr et al. | Dec 2003 | A1 |
20030222820 | Karr et al. | Dec 2003 | A1 |
20040057425 | Brouwer et al. | Mar 2004 | A1 |
20040125923 | See et al. | Jul 2004 | A1 |
20040151283 | Lazoff | Aug 2004 | A1 |
20040198386 | Dupray | Oct 2004 | A1 |
20040266457 | Dupray | Dec 2004 | A1 |
20050026650 | Russell | Feb 2005 | A1 |
20050063519 | James | Mar 2005 | A1 |
20050074008 | Herledan et al. | Apr 2005 | A1 |
20050083911 | Grabelsky et al. | Apr 2005 | A1 |
20050090225 | Muehleisen et al. | Apr 2005 | A1 |
20050135569 | Dickinson et al. | Jun 2005 | A1 |
20050141431 | Caveney et al. | Jun 2005 | A1 |
20050153681 | Hanson | Jul 2005 | A1 |
20050175166 | Welenson et al. | Aug 2005 | A1 |
20050190892 | Dawson et al. | Sep 2005 | A1 |
20050213716 | Zhu et al. | Sep 2005 | A1 |
20050232164 | Anzarouth et al. | Oct 2005 | A1 |
20050265326 | Laliberte | Dec 2005 | A1 |
20060039539 | Goldman et al. | Feb 2006 | A1 |
20060056388 | Livingood | Mar 2006 | A1 |
20060068753 | Karpen et al. | Mar 2006 | A1 |
20060120517 | Moon et al. | Jun 2006 | A1 |
20060133354 | Lee | Jun 2006 | A1 |
20070058615 | Hasenfang et al. | Mar 2007 | A1 |
20070104183 | Bakke et al. | May 2007 | A1 |
20070115935 | Qiu et al. | May 2007 | A1 |
20070127452 | Croy | Jun 2007 | A1 |
20070147345 | Lowmaster | Jun 2007 | A1 |
20070201622 | Croak et al. | Aug 2007 | A1 |
20070230440 | Joong et al. | Oct 2007 | A1 |
20070280213 | Sindhwani et al. | Dec 2007 | A1 |
20080008179 | Chen et al. | Jan 2008 | A1 |
20080101552 | Khan et al. | May 2008 | A1 |
20080200143 | Qiu et al. | Aug 2008 | A1 |
Number | Date | Country |
---|---|---|
1337089 | Aug 2003 | EP |
1337089 | Mar 2004 | EP |
1589721 | Oct 2005 | EP |
2005104518 | Nov 2005 | WO |
2006023190 | Mar 2006 | WO |
WO 2007056186 | May 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20080125077 A1 | May 2008 | US |