# Patent

## Title
System and method for determining a telecommunications address

## Abstract

Disclosed is a method and system for determining a telecommunications address of a location. A telephone call from a caller located at the location is received. Location data associated with the received telephone call is then obtained. The telecommunications address can then be determined from the location data.

## Background
BACKGROUND OF THE INVENTION
The present invention is generally directed to telecommunication services and more particularly to determining a telecommunications address associated with a caller's location.
As used herein, an End User is a customer placing an order for telecommunications services. A telecommunications provider is a company providing service from a location associated with an End User to a network service location. An Access Provider is a company providing connectivity from the location of the End User to the Telecommunications Provider's network edge location.
When an End User places a new customer order with a representative of a telecommunications provider for new services (e.g., data services or telephone services), the End User typically provides the representative with the mailing or postal address at which the End User would like telecommunication services to be provided. This address, however, may differ from the address stored by the Access Provider. Specifically, each Access Provider maintains a database storing telecommunications addresses for the different locations they serve.
These telecommunications addresses may differ from the mailing or postal address associated with a location. For example, a postal address associated with a location may be “XYZ West Mt. Lexington Avenue, ABC City, LRP State, 12345” while a telecommunications address stored in a database for the location may be “XYZ Mt. Lexington Avenue West, ABC City, LRP State, 12345” or even “XYZ West Mount Lexington Avenue, ABC City, LRP State, 12345.”
End User mailing addresses may also be vanity addresses such as 1 Commerce Square which is valid for mailing purposes. The Access Provider may have a telecommunications address in their database of 392 Main Street for that vanity address. The End User may also have a building location that is on a street corner and, as a result, has two street addresses.
These slight differences (in the above examples, the “Mt.” to “Mount” and the location of “West”) or use of vanity or corner addresses often result in errors in the providing of new services to the location. In particular, a representative of the Telecommunications Provider must submit an order to the Access Provider that includes the correct telecommunications address. The Telecommunications Provider representative queries the Access Provider database attempting to verify the End User's mailing address. A query for a particular mailing address, however, typically must match the address stored in the Access Provider database (i.e., the telecommunications address) exactly. If an exact match does not occur, then the database may indicate that the address being searched for does not exist in the database. The database may also provide addresses that are similar to the mailing address being queried, but these addresses may be far from the queried address (e.g., same street but a different town).
The representative of the Telecommunications Provider may have to guess which telecommunications address to provide services to or may have to contact the End User again to ask additional questions as to the customer's location. The representative may then have to perform one or more additional queries to the Access Provider database in an attempt to locate the correct telecommunications address associated with the customer's location.
This querying of the database may waste a significant amount of time and could result in delay in providing the services. This often results in an unhappy customer. For example, if the Telecommunications Provider representative selects one of the telecommunications addresses provided by the database in response to a query for a particular postal address, the customer may be unhappy if the Access Provider designs the service and sends installation people out to the incorrect location. If the selected address is incorrect, the customer may be unhappy because his service will be delayed, and a second party may be unhappy if the service provider comes to the second party's address to install service.
Therefore, there remains a need for an improved technique for determining a telecommunications address as stored by an Access Provider.
BRIEF SUMMARY OF THE INVENTION
The present invention provides an improved technique for determining a telecommunications address associated with a location. An End User places a request for service with a Telecommunications Provider. The End User then places a call from the location at which service is needed. Location data and related data are received from the telephone call and stored in a telecommunications provider database. This data is then used to determine the telecommunications address.
Determining the telecommunications address can include receiving the telecommunications address after querying an Access Provider database with the location data. In one embodiment, the telecommunications address includes a Common Language Location Identifier Code (CLLI® code), a street address, and/or vertical and horizontal (V&H) coordinates. The street address may be the same as or different than a mailing or postal address associated with the location.
The location data may include a variety of data. For example, the location data may include vertical and horizontal coordinates associated with the location. The location data may be coordinates generated by a global positioning system (GPS). Further, the related data can include the phone number of the caller, the date that the telephone call was placed, and the time that the telephone call was placed.
Once the telecommunications address is received, the telecommunication services can then be provided to the location. In one embodiment, the telecommunications address is displayed to a customer. The customer may include, for example, an employer of the caller, a parent of the caller, a guardian of the caller, and a business.
These and other advantages of the invention will be apparent to those of ordinary skill in the art by reference to the following detailed description and the accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram of a telecommunications provider network including a telecommunications address module and an answering module in accordance with an embodiment of the present invention;
FIG. 2 shows a data structure which may be used to store location data in a telecommunications provider database;
FIG. 3 shows a data structure which may be used to store telecommunication addresses in an Access Provider database;
FIG. 4A is a flowchart illustrating an embodiment of the steps performed by the answering module in accordance with an embodiment of the present invention;
FIG. 4B is a flowchart illustrating an embodiment of the steps performed by the telecommunications address module in accordance with an embodiment of the present invention; and
FIG. 5 is a high level block diagram of a computer in the telecommunications provider network in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION
FIG. 1 is a block diagram of a telecommunications provider network 100 including a telecommunications provider 105. The telecommunications provider 105 includes a telecommunications address module 107 and can provide telecommunication services to a structure 110 (e.g., a building or a house). The structure 110 is located at a physical location and has a mailing address.
In accordance with an embodiment of the present invention, an End User uses a telephone 127 to call the telecommunications provider 105 and request service. A representative of the telecommunications provider 105 (or the telecommunications address module 107) asks the End User to go to (or have a person at) the desired service location 130 and place a call to a predetermined telephone number (e.g., a toll free number). The End User calls this predetermined number and an answering module 132 (e.g., of the telecommunications provider 105) receives the call. The answering module 132 obtains location data from the call (e.g., from the End User and/or from the call itself). Location data includes one of two types of location information, as described in more detail below. In one embodiment, the answering module 132 also obtains related data, such as the date, time, and originating phone number of the call.
The answering module 132 is in communication with a telecommunications provider database 135. The answering module 132 stores the location data and related data in the telecommunications provider database 135. If the telephone 127 used to place the call (to the answering module 132) is a landline telephone, then the answering module 132 stores (as location data) the caller's address (as is displayed to a 911 operator if the telephone 127 was used to place a 911 call) in the database 135. If the telephone 127 used to place the call (to the answering module 132) is a mobile telephone (e.g., a cellular telephone), then the answering module 132 stores (as location data) the Global Positioning System (GPS) coordinates (as is displayed to a 911 operator if the telephone 127 was used to place a 911 call) in the database 135.
The location of the telephone 127 that places the telephone call to the answering module 132 may be determined in a variety of manners. In one embodiment, coordinates generated by a GPS and associated with a cellular telephone's location are transmitted during the telephone call. The coordinates may accurately identify the location 130 of the caller to within a given radius, such as a three foot radius. In another embodiment, triangulation, as is well known in the art, may be performed in order to determine the location of the cellular telephone.
The telecommunications address module 107 is also in communication with the telecommunications provider database 135. The telecommunications address module 107 queries the database 135 for location data (e.g., queries the database 135 for the caller's address using the originating number and date/time (i.e., the related data) provided by the End User).
The telecommunications address module 107 uses the location data (caller's address or GPS coordinates) to query Access Provider database 140. Querying the Access Provider database 140 using either the caller's (911) address or GPS coordinates can result in a match with a telecommunications address stored in the Access Provider database 140. Since the End User (or someone associated with the End User) called the answering module 132 from the exact location for the desired service, the opportunity for an incorrect address is minimized. Once the correct telecommunications address is located in the Access Provider database, the telecommunications provider 105 can place the order for service with the Access Provider using the telecommunications address.
In one embodiment, End User location 130 has multiple Access Provider demarcation points. The GPS coordinates may also allow the pinpointing of the request to that level.
FIG. 2 shows an embodiment of a data structure 200 which may be stored in telecommunications provider database 135. The data structure 200 includes several columns, such as for date 205, time 210, caller number 215, call type (e.g., cellular or landline) 220, and captured location data 225. As described above, the location data 225 can be the caller's address or the caller's GPS coordinates.
FIG. 3 shows an embodiment of a data structure 300 which may be stored in Access Provider database 140. The Access Provider database 140 stores telecommunications addresses in one or more forms. In one embodiment, the Access Provider database 140 stores telecommunications addresses in three forms—an actual street address 305, a Common Language Location Identifier (CLLI®) code 310, and vertical (V) and horizontal (H) coordinates 315 (which are the equivalent of latitude and longitude or GPS coordinates).
A CLLI® code 310 is an identifier specifying the location and type of a piece of telecommunications equipment. The CLLI code 310 can be in a variety of formats. For example, the CLLI® code 310 may be in an eleven-character format used to describe the location of network equipment. A CLLI® code 310 is typically composed of four sub-fields:

    
    
        Four characters to denote the city;
        Two characters to denote the state or province;
        Two characters to denote the specific location or structure address; and
        Three characters to specify a particular piece of equipment.
    
    


FIG. 4A is a flowchart illustrating the steps performed by the answering module 132. The answering module 132 (which, in one embodiment, is the telecommunications address module 107) receives a call from a location at which telecommunications services are requested in step 405. The answering module 132 obtains location data (either the caller's (911) address or GPS coordinates) and related data (e.g., date, time, and/or originating phone number of the call) from the call in step 410. The answering module 132 stores the location data and related data in the telecommunications provider database 135 in step 415.
FIG. 4B is a flowchart illustrating the steps performed by the telecommunications address module 107. The telecommunications address module 107 retrieves the location data from the telecommunications provider database using the related data, such as the originating phone number of the call, in step 420. The telecommunications address module 107 then queries the Access Provider database 140 with the retrieved location data. The telecommunications address module 107 obtains the telecommunications address from the Access Provider database 140 in step 430.
In one embodiment, the telecommunications address (and/or location data) is made available to a third party via a service agreement. The customer may include, for example, an employer of the caller, a parent of the caller, a guardian of the caller, and a business. This would allow the third party, with the permission of the caller, to have access to the location, date, and time the call was placed.
For example, the telecommunications provider 105 may offer a service to people or businesses in which the subscribers can call a particular first telephone number and determine whether someone has called a second (e.g., toll free) telephone number, the date and/or time that they called the second telephone number, and the location at which they called the second telephone number. The second telephone number may be the same as or different than the first telephone number.
In one embodiment, an employer subscribes to this service to track one or more employees. For example, a trucking company may want to track how efficient a truck driver is in getting from one checkpoint to another checkpoint. The trucking company may subscribe to this service and then instruct the truck driver to call the predetermined (e.g., toll free) telephone number using the truck driver's cellular telephone when the truck driver reaches two checkpoints (e.g., two different truck stops along a particular highway). The truck driver calls the number each time the truck driver reaches the particular checkpoint and the service obtains location data associated with the truck driver when the truck driver placed the telephone call. In one embodiment, the location data is converted to its corresponding telecommunications address automatically. In one embodiment, this telecommunications address (and/or location data) can be plotted on a map to determine a truck driver's specific location.
The trucking company can call a telephone number (e.g., the same, predetermined telephone number or a different telephone number) and, in one embodiment, the telecommunications address may be displayed (e.g., on a computer, telephone, etc.) to the trucking company. Further, additional data may also be displayed, such as the time, date, and/or telephone number of the calls. Thus, this service may provide a way in which employers can track their employees to, for example, determine how efficient their employees are.
In another embodiment, one or more parents can subscribe to this service to track their child or children. For example, a child may be instructed to call the predetermined telephone number at a particular time to indicate where the child is located. The telecommunications address of the child can then be displayed, for example, on the parent's computer, television set, or telephone.
In yet another embodiment, a business can subscribe to this service and request that a customer call the predetermined telephone number before the business delivers its goods or services to the customer. For example, a restaurant may offer delivery of its food to its customers. The restaurant may request that customers who would like their food delivered call a predetermined telephone number. The restaurant can then obtain the telecommunications address of the customer who would like their food delivered.
In another embodiment, if a customer requests a package pick-up, the customer's address can be validated. For example, if the location data and/or telecommunications address is available immediately after the call from the customer is received, the customer calling for a taxi can place a call to a predetermined number that allows for capturing location data but also allows a representative from the business (e.g., restaurant) to talk to the customer. This allows the business (e.g., restaurant) to eliminate prank calls.
FIG. 5 shows a high level block diagram of a computer 500 which may be used to implement the telecommunications address module 107 and/or the answering module 132. The computer 500 can, for example, perform the steps described above (e.g., with respect to FIGS. 4A and 4B). Computer 500 contains a processor 504 which controls the overall operation of the computer by executing computer program instructions which define such operation. The computer program instructions may be stored in a storage device 508 (e.g., magnetic disk, database) and loaded into memory 512 when execution of the computer program instructions is desired. Thus, the computer operation will be defined by computer program instructions stored in memory 512 and/or storage 508 and the computer will be controlled by processor 504 executing the computer program instructions. Computer 500 also includes one or more interfaces 516 for communicating with other devices. Computer 500 also includes input/output 524 which represents devices which allow for user interaction with the computer 500 (e.g., display, keyboard, mouse, speakers, buttons, etc.). One skilled in the art will recognize that an implementation of an actual computer will contain other components as well, and that FIG. 5 is a high level representation of some of the components of such a computer for illustrative purposes.
The foregoing Detailed Description is to be understood as being in every respect illustrative and exemplary, but not restrictive, and the scope of the invention disclosed herein is not to be determined from the Detailed Description, but rather from the claims as interpreted according to the full breadth permitted by the patent laws. It is to be understood that the embodiments shown and described herein are only illustrative of the principles of the present invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention. Those skilled in the art could implement various other feature combinations without departing from the scope and spirit of the invention.

## Claims

1. A method for determining common language location identifier codes for a plurality of locations comprising:
receiving a request for service from an end user;
transmitting an instruction to the end user to make a first telephone call from a first location;
receiving the first telephone call from the end user located at the first location;
receiving a second telephone call from the end user located at a second location;
determining a call type being one of a landline or cellular associated with each of the first telephone call and the second telephone call;
determining location data and related data associated with the first telephone call;
determining location data and related data associated with the second telephone call;
determining, by a processor, a common language location identifier code, a street address, and vertical and horizontal coordinates for the first location using the location data and related data associated with the first call;
determining, by the processor, a common language location identifier code, a street address, and vertical and horizontal coordinates for the second location using the location data and related data associated with the second call;
plotting on a map the location data associated with the first call and the location data associated with the second call.

2. The method of claim 1 wherein the determining the common language location identifier code for the location further comprises querying a database with the location data.

3. The method of claim 1 wherein the determining location data further comprises determining one of a phone number of the end user, a date that the telephone call was placed, and a time that the telephone call was placed.

4. The method of claim 1 wherein the determining location data further comprises determining global positioning system coordinates of the location.

5. A system for determining common language location identifier codes for a plurality of locations comprising:
means for receiving a request for service from an end user;
means for transmitting an instruction to the end user to make a first telephone call from a first location;
means for receiving the first telephone call from the end user located at the first location
means for receiving a second telephone call from the end user located at a second location;
means for determining a call type being one of a landline or cellular associated with each of the first telephone call and the second telephone call;
means for determining location data and related data associated with the first telephone call;
means for determining location data and related data associated with the second telephone call;
means for determining a common language location identifier code, a street address, and vertical and horizontal coordinates for the first location using the location data and related data associated with the first call;
means for determining a common language location identifier code, a street address, and vertical and horizontal coordinates for the second location using the location data and related data associated with the second call;
means for plotting on a map the location data associated with the first call and the location data associated with the second call.

6. The system of claim 5 wherein the means for determining the common language location identifier code further comprises means for querying a database with the location data.

7. The system of claim 5 wherein the means for determining location data further comprises means for determining one of a phone number of the caller, the date that the telephone call was placed, and the time that the telephone call was placed.

8. The system of claim 5 wherein the means for determining location data further comprises means for determining global positioning system coordinates of the first location and the second location.

9. A non-transitory computer readable medium storing computer program instructions, which, when executed on a processor, cause the processor to perform a method comprising:
receiving a request for service from an end user;
transmitting an instruction to the end user to make a first telephone call from a first location;
receiving the first telephone call from the end user located at the first location;
receiving a second telephone call from the end user located at a second location;
determining a call type being one of a landline or cellular associated with each of the first telephone call and the second telephone call;
determining location data and related data associated with the first telephone call;
determining location data and related data associated with the second telephone call;
determining, by a processor, a common language location identifier code, a street address, and vertical and horizontal coordinates for the first location using the location data and related data associated with the first call;
determining, by the processor, a common language location identifier code, a street address, and vertical and horizontal coordinates for the second location using the location data and related data associated with the second call;
plotting on a map the location data associated with the first call and the location data associated with the second call.

10. The non-transitory computer readable medium of claim 9 wherein the determining a common language location identifier code, a street address, and vertical and horizontal coordinates for the first location further comprises the querying a database with the location data and related data associated with the first call.

11. The non-transitory computer readable medium of claim 9 wherein the determining location data and related data associated with the first telephone call further comprises determining one of a phone number of the caller, the date that the telephone call was placed, and the time that the telephone call was placed.

12. The non-transitory computer readable medium of claim 9 wherein the determining location data and related data associated with the first telephone call further comprises determining global positioning system coordinates of the first location.