# Patent

## Title
Voice over internet protocol (VoIP) mobility detection

## Abstract

A mobility event for a VoIP user is detected, with an estimated confidence/certainty that the VoIP user in fact moved. In response, a user is prompted to cause an update to their registration and/or location information. Notification to the VoIP user of the likely need for a location update may be implemented in the communication protocol such that an icon on the VoIP phone displays the need to the VoIP user. The icon may include a measure of the confidence/certainty of the need for a location update, e.g., similar in visual image to the bars showing coverage on a wireless phone. Mobility of the VoIP user may be detected using, e.g., (1) The VoIP user's Internet protocol (IP) address; (2) a mapping of physical to logical location; and/or (3) mapping between physical location information and physical network resources such as switches, routers, ports, access points, etc.

## Background
The present invention claims priority from U.S. Provisional Application No. 60/737,799, filed Nov. 18, 2005, entitled “Voice Over Internet Protocol (VoIP) Mobility Detection” to Jon Croy, the entirety of which is expressly incorporated herein by reference.


BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates generally to voice over Internet Protocol (VoIP) technologies. More particularly, it relates to location based services for VoIP protocols and architectures.
2. Background of the Related Art
911 is a phone number widely recognized in North America as an emergency phone number that is used by emergency dispatch personnel, among other things, to determine a location of a caller. Enhanced 911 (E911) is defined by the transmission of callback number and location information. E911 may be implemented for landline and/or wireless devices.
A Public Safety Answering Point (PSAP) is a dispatch office that receives 9-1-1 calls from the public. A PSAP may be a local, fire or police department, an ambulance service or a regional office covering all services. A 9-1-1 (“911”) service becomes E-9-1-1 (“E911”) when automatic number identification and automatic location information from a communications device (e.g. wireless phone, VoIP Phone, etc.) is provided to the 911 operator.
Voice-Over-Internet Protocol (VoIP) is a technology that emulates a phone call, but instead of using a circuit based system such as the telephone network, utilizes packetized data transmission techniques most notably implemented in the Internet. 911 calls made using VoIP technology must reach the correct PSAP, but there currently is no uniform interface to the various PSAPs for call delivery because the technology for connecting calls varies. For instance, not all PSAPs are Internet Protocol (IP) capable. Some PSAPs are accessed via ordinary public switched telephone network (PSTN) telephone lines. Some PSAPs are accessed through selective routing such as direct trunks. Still other PSAPs are accessed using IP connections. There is no uniformity among the thousands of different PSAPs.
Moreover, some Public Safety Access Points (PSAPs) are not enhanced, and thus do not receive the callback or location information at all from any phone, landline or wireless.
The use of VoIP technology is growing quickly. As people adopt voice-over-IP (VoIP) technology for routine communications, the inventors herein recognize that there is a growing need to access E911 services including provision of location information from a VoIP device.
The existing E911 infrastructure is built upon copper wire line voice technology and is not fully compatible with VoIP. Given VoIP technology, there are at least three VoIP scenarios:

    1. A VoIP UA that is physically connected to a static data cable at a “home” address. For instance, an Analog Telephone Adapter (ATA) that is connected to the “home” data cable and uses traditional telephone devices.
    2. A VoIP UA that is physically connected to a data cable at a location different than its “home” address. For instance, a laptop computer device utilized away from home as a VoIP software telephone would be a VoIP ‘visitor’ device as described by this scenario.
    3. A VoIP UA that is wireless, physically disconnected from any data cable. In this situation, the VoIP UA connects to the VoIP service provider via either a wide-are wireless technology (e.g., cellular, PCS, WiMAX) or via a local-area wireless technology (e.g., Wireless Fidelity (WiFi), UWB, etc.) using a laptop computer or handheld device.


VoIP phone calls are routed to a VoIP voice gateway, from which they are passed on to their destination. A VoIP voice gateway or soft switch is a programmable network switch that can process the signaling for all types of packet protocols. Also known as a ‘media gateway controller,’ or ‘call agent,’ or ‘call server, such devices are used by carriers that support converged communications services by integrating SS7 telephone signaling with packet networks. Softswitches can support, e.g., IP, DSL, ATM and frame relay.
The challenges evident with respect to determining the location of a calling VoIP telephone is perhaps most evident with respect to its use to make an emergency call (e.g., a 911 call). Nevertheless, VoIP telephone technology is quickly replacing conventional switched telephone technology. However, because VoIP is Internet Protocol (IP) based, call related information such as CallerID type services may not be available or accurate.
Some Public Safety Access Points (PSAPs) are not enhanced, and thus do not receive the callback or location information at all from any phone; landline, cellular or VoIP.
Moreover, there is complexity in public access to Public Safety Answering Points due to lack of a Session Initiation Protocol (SIP) Uniform Resource Identifier (URI) for all PSAPs. (SIP is the IP-based protocol defined in IETF RFCs 3261 and 2543.) SIP is one of two dominant protocols used by the VoIP industry. URI is the addressing technology for identifying resources on the Internet or a private intranet. URIs were originally defined as two types: Uniform Resource Locators (URLs) which are addresses with network location, and Uniform Resource Names (URNs) which are persistent names that are address independent. Today, a URI is defined by its purpose rather than the URL vs. URN classification.) Some PSAPs are accessed only by conventional telephone line, others only by direct telephone trunk lines. Not all PSAPs are accessible via the Internet.
FIG. 3 shows basic conventional VoIP elements required to interconnect a VoIP emergency E911 caller to a relevant public safety access point (PSAP).
In particular, as shown in FIG. 3, VoIP telephone devices 102a, 102b, 102c (collectively referred to as 102) are connected to respective VoIP Service Provider (VSP) soft switches 104a, 104b, 104c (collectively referred to as 104) using an Internet Protocol (IP) connection, most commonly over the Internet. The VoIP service provider's soft switch 104 in turn communicates with a respective VoIP Positioning Center (VPC) 106a, 106b, 106c (collectively referred to as 106) using an appropriate IP connection. Each VSP requires use of their own VPC, as depicted in FIG. 3.
FIG. 4 shows in more detail conventional VoIP elements required by a VPC to interconnect a VoIP emergency E911 caller to a relevant public safety access point (PSAP).
In particular, as shown in FIG. 4, each VPC 106 comprises its own respective route determination module 404, call delivery module 406, and provisioning list 408.
A respective location information server (LIS) 108 services each of the VPCs 106. The LIS 108 is responsible for storing and providing access to the subscriber location information needed for E9-1-1 call processing (as defined by the NENA VoIP Location Working Group).
A conventional VoIP Positioning Center (VPC) 106 is a system that attempts to determine the appropriate or correct PSAP 114 that a VoIP emergency E911 call should be routed to based on the VoIP subscriber's position. The conventional VPC 106 also returns associated routing instructions to the VoIP network. The conventional VPC 106 additionally provides the caller's location and the callback number to the relevant PSAP through the automatic location identifier (ALI) (The ALI is a database that accepts a PSAP query, and using that relates a specific telephone number to a street address. In the case of an Emergency Services Query Key (ESQK), the ALI database steers the query to the appropriate VPC and steers the response back to the PSAP. An ALI is typically owned by a LEC or a PSAP.)
Further as shown in FIG. 4, each VSP route the emergency 9-1-1 call, without location object added, to their VPC 106. The VPC must determine the correct PSAP 114 (collectively represented by PSAP 114a, 114b and 114c) and route to it using the appropriate technology.
In a first scenario, the VPC 106 passes the 9-1-1 call to the PSAP 114a using an INVITE telephone number message, via a media gateway 110 that translates between the IP protocol of the INVITE message and a telephone line interface, and interfaces with the public switched telephone network (PSTN) 112.
In a second scenario, the VPC 106 passes the 9-1-1 call to the PSAP 114b using an INVITE S/R message, via an ESGW 120 and selective router 122. In this scenario, the selective router 122 is connected to the relevant PSAP 114b via direct trunks.
In a third scenario, the VPC 106 passes the 9-1-1 call to the PSAP 114c using an INVITE PSAP message, via IP, to the PSAP 114c. 
In the second and third scenario, the ALI 126 must be inter-connected with each VPC 106 (a,b,c). Furthermore, each VPC is burdened with supporting all the various ALI protocols: ve2, e2, PAM, legacy NENA, etc.
The location of a VoIP user is critical information for a 911 call, and is also valuable for other VoIP applications. Location of a given VoIP device is typically provisioned to be at a given geographic location, or queried from a home location register (HLR) in a mobile system. But users often do not update their location when they move, and there is currently no method to determine whether the user's location is outdated.
Conventional solutions rely on VoIP users themselves to manually instigate an update of their location information. When manually causing an update, the location of the user may be determined using conventional techniques, e.g., via global positioning system (GPS), triangulation, physical wire mapping and/or other techniques. However, these conventional mechanisms are too inflexible because they rely on the VoIP user to proactively trigger an update of their location information.
There is a need for better techniques and apparatus for maintaining an accurate updated location of a VoIP user.
SUMMARY OF THE INVENTION
A method of detecting mobility of a voice over Internet protocol (VoIP) device in accordance with the principles of the present invention comprises monitoring for a change in at least one of (1) an IP address of the VoIP device as an indicator of likely movement of the VoIP device, (2) a logical location mapping of the VoIP device as an indicator of likely movement of the VoIP device, and (3) a physical network resources mapping of the VoIP device as an indicator of likely movement of the VoIP device. An update of network stored location information regarding the VoIP device is initiated upon detection of the change in the IP address of the VoIP device indicating a change of the VoIP device.
In accordance with another aspect of the invention, a mobility detection service comprises a database associating at least one of a plurality of VoIP devices to (1) a last known Internet protocol (IP) address for each respective VoIP device, (2) to a last known logical location mapping, and (3) to a last known physical network resources mapping. Comparison logic monitors the plurality of VoIP devices for any change in the last known IP address. If a change in the last known IP address is detected, a likelihood of movement of a given VoIP device is indicated.



BRIEF DESCRIPTION OF THE DRAWINGS
Features and advantages of the present invention will become apparent to those skilled in the art from the following description with reference to the drawings, in which:
FIG. 1 shows a mobility detection service monitoring a likely movement of a VoIP phone, in accordance with the principles of the present invention.
FIG. 2 depicts mobility detection using location wiremap provisioning and/or IP address management system, in accordance with the principles of the present invention.
FIG. 3 shows basic conventional VoIP elements required to interconnect a VoIP emergency E911 caller to a relevant public safety access point (PSAP).
FIG. 4 shows in more detail conventional VoIP elements required by a VPC to interconnect a VoIP emergency E911 caller to a relevant public safety access point (PSAP).



DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
The present invention provides detection of a need for updating of location information of a given VoIP user. Upon detection of mobility of a VoIP user, a triggering event instigates a location update of a VoIP user, allowing the user to automatically or manually update location at that time. Thus, mobility of a VoIP user, or the likelihood that the VoIP user has moved, is detected, and a mobility detection trigger is generated to cause the VoIP user to manually or automatically update their location.
The mobility detection includes detection of an occasional move by a static VoIP user such as moving to a new residential address. The mobility detection also detects frequent moves by a mobile VoIP user, e.g., in an automobile driving down a highway.
Upon detection of the likely movement of the VoIP user, action to cause an attempted update to the location of the VoIP user is triggered by the generation of mobility detection trigger.
The inventive solution automatically detects when a mobility event has occurred, estimates the confidence/certainty that the event occurred. Events can be classified over a continuum based on the observed mobility behavior (e.g., did the IP address change occur within a few seconds or did it take several hours; did the IP address change drastically indicating that a subnet change may have occurred), and based on the mobility event an action may be taken to cause an update to the registration and/or location information of that VoIP user, e.g., prompting the VoIP user to manually update their location at that time or prompting the voice service provider to temporarily disable service.
Notification to the VoIP user of the likely need for a location update may be implemented in the communication protocol. This could trigger an event on the user phone such that an icon on the VoIP phone displays the need to the VoIP user. The icon may include a measure of the confidence/certainty of the need for a location update, e.g., similar in visual image to the bars showing coverage on a wireless phone. Other events could be triggered such as a change in dial tone. This invention simply provides the signaling necessary to enable this behavior. Such behavior will have to be programmed in by the phone manufacturer.
Mobility of the VoIP user may be detected using, e.g., (1) The VoIP user's Internet protocol (IP) address; (2) a mapping of physical to logical location; and/or (3) mapping between physical location information and physical network resources such as switches, routers, ports, access points, etc. Indication of likely movement of the VoIP user by only one of techniques (1), (2) or (3) may be presented as determining a lower confidence/certainty that the VoIP user has in fact moved. Indication by two of the techniques (1), (2) and/or (3) may be presented as determining a mid-level confidence/certainty measurement. Similarly, an indication by all three of the techniques (1), (2) and (3) may be presented as determining a highest confidence/certainty that the VoIP user has in fact moved. If additional techniques are added, or if a technique (1), (2) or (3) is not implemented, the confidence/certainty measurement may be appropriately adjusted for presentation to the VoIP user.
A threshold condition may be set before mobility detection is confirmed. In disclosed embodiments, mobility is detected if any of techniques (1), (2) or (3) indicate a likely movement of a given VoIP user.
FIG. 1 shows a mobility detection service monitoring a likely movement of a VoIP phone, in accordance with the principles of the present invention.
In particular, as shown in FIG. 1, a mobility detection service 100 monitors a likely movement of subscriber VoIP phones 240 based on any or all of a number of monitor techniques.
A first monitor technique relates to a comparison of a current IP address to a past IP address for a given VoIP phone 240 stored in an appropriate VoIP IP address database 202. If a current IP address of a VoIP phone has changed, the new IP address is stored into the VoIP IP address database 202 associated with that VoIP phone 240, and an indication is provided to the mobility detection service 100 that the VoIP phone 240 is likely now mobile, and that location for that VoIP phone 240 should be updated. The location can be updated either automatically via Location Object, or manually by prompt to the user of the VoIP phone 240.
A second monitor technique relates to a change in a logical location of the VoIP phone 240. To this end, the physical location of subscriber VoIP phones 240 are mapped to their respective logical locations, and stored in an appropriate physical to logical location mapping database 204.
A third monitor technique relates to a change in a physical network resources link used to communicate with a given VoIP phone 240, e.g., through the VoIP service provider 204 and routers within the Internet 212. To this end, the physical location of subscriber VoIP phones 240 are mapped to their respective physical network resources used to communicate with that VoIP phone 240, and stored in an appropriate physical location to physical network resources mapping database 206.
After detection of likely mobility using one monitor technique, other available mobility techniques may be activated for the relevant VoIP phone at that time. Alternatively, the monitor techniques can be used individually, and as more than one monitor technique detects likely movement of the mobile VoIP phone 240, the VoIP phone can be notified of an increased confidence in the likelihood that the mobile VoIP phone 240 has in fact moved and should have its location updated.
FIG. 2 depicts mobility detection using location wiremap provisioning and/or an IP address management system, in accordance with the principles of the present invention.
In particular, as shown in FIG. 2, the likelihood of mobility of a given VoIP phone can be detected using any or all of at least three different functions: VoIP registration; physical and logical layer topology; and/or location wiremap provisioning.
VoIP Registration
(Associating the VoIP User's Registration with IP Address and Other Attributes)
Every VoIP device must register with a VoIP Registrar entity as to its relationship of a user, device and IP address relationship. As a VoIP device registers to a Registrar, it registers it address-of-record to a Universal Resource Indicator (URI). The URI has a mapping to a Contact address which defines the IP address of the device in which the address-of-record URI is binded to.
Physical and Logical Layer Function (discovery of layer 1, layer 2 and layer 3 topology relationship within a given environment)
Mapping between logical and physical locations preferably occurs through a basic protocol such as the Simple Network Management Protocol (SNMP). Using SNMP and its related Management Information Base (MIBs), a series of scans can be done with the outcome of a physical and logical map that accurately describes the relationship of links, network elements, Virtual Local Area Networks VLANs and IP subnets/host routes.
For Residential VoIP, at the time of a VoIP User's SIP Registration, the user may use a tool such as a web interface to associate their URI/IP information (logical location) with a URI/address (physical location) and stored in a Physical/Logical Layer Database.
Location Wiremap Provisioning (mapping between Physical location information to physical network resources such as switches, routers, ports, access points, etc.)
Each network resource preferably has an inventory as to their physical location and where their port terminates (e.g., a specific Switch S1 has Port 1 that terminates via a physical cable to Cubicle 14 in the East Wing of Building 123 1st St in Bellevue, Wash., 98004, USA). This information is preferably entered manually by a human via a web browser into a Location Wiremap Provisioning Function database somewhere on the network, or it can be entered into the configuration of the network element in focus, which in turn updates the Location Wiremap database.
This information is sufficient to enable a Mobility Detection service to determine when a static or mobile user has moved to another location (including a level of confidence that a move has actually occurred) and to take action accordingly, such as to prompt the user to update their registration.
The prompt may be, e.g., a dial-tone sound, instant message, or other communication mechanism to the VoIP user.
The information from the three sources listed above may also serve as the input data for a Location Object Function, which would have the ability to deliver or insert a Location Object within a VoIP call request.
The mobility detection service preferably monitors pre-registered VoIP users at appropriate intervals, determining if movement is detected using each of the relevant techniques, e.g., (1) VoIP IP address; (2) Mapping of physical to logical location; and (3) Mapping of physical location and physical network resources.
VoIP mobility detection in accordance with the principles of the present invention can be used to generate locally targeted commercial information/suggestions for users based on their location (e.g., through a configurable setting that would reset default values for local information websites such as traffic, news, weather, events when a mobility event occurs). Moreover, information from the three sources listed above also serves as the input data for a Location Object Function, which may have the ability to deliver or insert a Location Object within a VoIP call request.
Markets for VoIP mobility detection capability include VoIP users to keep their location information current. Moreover, VoIP service providers may use VoIP mobility detection capability in accordance with the present invention as a service differentiator/benefit for their customers.
While the invention has been described with reference to the exemplary embodiments thereof, those skilled in the art will be able to make various, modifications to the described embodiments of the invention without departing from the true spirit and scope of the invention.

## Claims

1. A method of detecting mobility of a voice over Internet protocol (VoIP) device, comprising:
monitoring a pre-registered VoIP user, at a given interval, for a mobility triggering event instigating a location update of said pre-registered VoIP device;
determining a confidence that said mobility triggering event indicates that said pre-registered VoIP device has likely moved by detecting how many of the following (1), (2) and/or (3) have changed:
(1) an IP address associated with said pre-registered VoIP device to indicate a likely movement of said pre-registered VoIP device,
(2) a logical location mapping of said pre-registered VoIP device to indicate a likely movement of said pre-registered VoIP device, and
(3) a physical network resources mapping of said pre-registered VoIP device to indicate a likely movement of said pre-registered VoIP device; and

in response to said mobility triggering event of said pre-registered VoIP device, initiating an update of network stored geographic lat/lon location information regarding said pre-registered VoIP device;
wherein said confidence that said mobility triggering event indicates that said VoIP device has indeed moved is highest when said (1), said (2), and said (3) have changed, and lowest when only one of said (1), said (2), and said (3) have changed.

2. The method of detecting mobility of a voice over Internet protocol (VoIP) device according to claim 1, wherein said update of said network stored location comprises:
prompting a user of said VoIP device to update said stored geographic lat/lon location information associated with said pre-registered VoIP device.

3. The method of detecting mobility of a voice over Internet protocol (VoIP) device according to claim 1, wherein:
said pre-registered VoIP device is a phone.

4. The method of detecting mobility of a voice over Internet protocol (VoIP) device according to claim 1, wherein said monitoring comprises:
comparing a last IP address of said pre-registered VoIP device stored in an appropriate VoIP IP address database, to a current IP address of said pre-registered VoIP device.

5. The method of detecting mobility of a voice over Internet protocol (VoIP) device according to claim 1, further comprising:
detecting a time between a change in said (1), said (2), or said (3).

6. A mobility detection server, comprising:
a database associating a plurality of pre-registered VoIP devices to a last known Internet protocol (IP) address for each respective pre-registered VoIP device, a last known logical location mapping, and a last known physical network resources mapping;
a monitor to monitor a given one of said plurality of pre-registered VoIP devices, at a given interval, for a mobility triggering event instigating a location update of said pre-registered VoIP device;
a confidence determiner to determine a confidence that said mobility triggering event indicates that said VoIP device has likely moved by detecting how many of the following (1), (2), and/or (3) have changed:
(1) an IP address associated with said pre-registered VoIP device to indicate a likely movement of said pre-registered VoIP device,
(2) a logical location mapping of said pre-registered VoIP device to indicate a likely movement of said pre-registered VoIP device, and
(3) a physical network resources mapping of said pre-registered VoIP device to indicate a likely movement of said pre-registered VoIP device; and

an initiator to initiate an update of network stored geographic lat/lon location information associated with said pre-registered VoIP device in response to said mobility triggering event of said pre-registered VoIP device;
wherein said confidence that said mobility triggering event indicates that said VoIP device has indeed moved is highest when said (1), said (2), and said (3) have changed, and lowest when only one of said (1), said (2), and said (3) have changed.

7. The mobility detection server according to claim 6, wherein:
said indication of likely movement of said given pre-registered VoIP device is presented visually at said given pre-registered VoIP device.

8. The mobility detection server according to claim 6, further comprising:
triggering a user prompt at said given pre-registered VoIP device to update said network stored geographic lat/lon location information associated with said given pre-registered VoIP device.

9. The mobility detection server according to claim 6, wherein:
said given pre-registered VoIP device is a phone.

10. The mobility detection server according to claim 6, wherein:
said monitor is adapted to compare a last IP address of said given pre-registered VoIP device stored in an appropriate VoIP IP address database to a current IP address of said given pre-registered VoIP device.

11. The mobility detection server according to claim 6, further comprising:
a timer to indicate a time between a change in said (1), said (2), or said (3).