US20140226533A1 - Identifying callers - Google Patents

Identifying callers Download PDF

Info

Publication number
US20140226533A1
US20140226533A1 US14/255,204 US201414255204A US2014226533A1 US 20140226533 A1 US20140226533 A1 US 20140226533A1 US 201414255204 A US201414255204 A US 201414255204A US 2014226533 A1 US2014226533 A1 US 2014226533A1
Authority
US
United States
Prior art keywords
user
call
communication device
telephone number
service provider
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US14/255,204
Inventor
Peter Charles Bates
Monica Ingudam
Carolyn Cimmet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Verizon Patent and Licensing Inc
Original Assignee
AOL Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AOL Inc filed Critical AOL Inc
Priority to US14/255,204 priority Critical patent/US20140226533A1/en
Assigned to AOL INC reassignment AOL INC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: AOL LLC
Assigned to AOL LLC reassignment AOL LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CIMMET, CAROLYN, BATES, PETER CHARLES, INGUDAM, MONICA
Publication of US20140226533A1 publication Critical patent/US20140226533A1/en
Assigned to VERIZON PATENT AND LICENSING INC. reassignment VERIZON PATENT AND LICENSING INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERIZON MEDIA INC.
Assigned to OATH INC. reassignment OATH INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: AOL INC
Assigned to VERIZON MEDIA INC. reassignment VERIZON MEDIA INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: OATH INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5116Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing for emergency applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/04Recording calls, or communications in printed, perforated or other permanent form
    • H04M15/06Recording class or number of calling, i.e. A-party or called party, i.e. B-party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/51Centralised call answering arrangements requiring operator intervention, e.g. call or contact centers for telemarketing
    • H04M3/5183Call or contact centers with computer-telephony arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/025Services making use of location information using location based information parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/26Network addressing or numbering for mobility support

Definitions

  • This disclosure relates to identifying and assigning correct location information to callers in a communications system.
  • the Emergency Services system (E9-1-1) in North America is currently, and for the foreseeable future a service that is closely connected to the existing Public Switched Telephone Network (PSTN).
  • PSTN Public Switched Telephone Network
  • New communications services e.g., a cellular system or an internet protocol (IP) system
  • IP internet protocol
  • a connection is established by a service provider over a computer network with a user device used by a user and a location of the user is determined.
  • a request to place a call to a call recipient is received from the user and a pool of temporary telephone numbers is accessed. Based on the location of the user, a temporary telephone number is selected from among the pool of temporary telephone numbers. The temporary telephone number is associated with the user, the call is initiated to the call recipient, and information sufficient to identify the selected temporary telephone number is provided in call information sent to the call recipient.
  • Implementations may include one or more of the following features.
  • a second call may be received from the call recipient placed to the temporary telephone number, and information associated with the temporary telephone number may be accessed.
  • the information may enable determination of a temporary user associated with the temporary telephone number.
  • the user may be identified based on the information that may enable determination of a temporary user associated with the temporary telephone number, and the second call may be connected to the identified user.
  • the information associated with the temporary telephone number may enable determination of a method of connecting the second call to the identified user.
  • a method of connecting the second call to the identified user may be determined based on the information that may enable determination of the method of connecting the second call to the identified user, and the second call maybe connected to the identified user using the determined method.
  • Information sufficient to identify the selected temporary telephone number may be provided in call information sent to the call recipient to enable the call recipient to determine the location of the user.
  • the location of the user may be a current location of the user that is remote from a location where the user typically connects to the service provider.
  • the temporary telephone number may be associated with the user during the connection to the service provider. In such implementations, association of the temporary telephone number with the user may be maintained until the user disconnects from the service provider.
  • the user may be a first user, a request to place a second call from a second user to a second call recipient may be received, and a location of the second user may be determined. The second user may be different than the first user. Based on the location of the second user, the temporary telephone number may be selected from among the pool of temporary telephone numbers, the temporary telephone number may be associated with the second user, the second call may be initiated to the second call recipient, and the temporary telephone number may be provided in call information sent to the second call recipient. The location of the second user may be associated with the same geographic region as the location of the first user.
  • a third call may be received from the second call recipient placed to the temporary telephone number, and information associated with the temporary telephone number may be accessed. The information may enable determination of a temporary user associated with the temporary telephone number.
  • the second user may be identified based on the information that may enable determination of a temporary user associated with the temporary telephone number, and the third call may be connected to the second user.
  • the information associated with the temporary telephone number may enable determination of a method of connecting the third call to the second user, a method of connecting the third call to the identified user may be determined based on the information that may enable determination of the method of connecting the third call to the second user, and the third call may be connected to the second user using the determined method.
  • the temporary telephone number may be a telephone number in a public switched telephone network, and the pool of temporary telephone numbers may include at least one telephone number for each geographic region serviced by the service provider.
  • user input may be received from the user indicating the location of the user.
  • a location key may be associated with the user, and the location key may be sent to the user such that subsequent communications with the user include the location key.
  • a communication may be received from the user, that includes a location key identifying the location of the user.
  • the call may be a call for emergency services and the call recipient may be a public safety access point.
  • the information sufficient to identify the selected temporary telephone number provided in call information sent to the call recipient may enable the public safety access point to determine the location of the user and may enable the user to receive a return call from the public safety access point.
  • Selecting and associating may be conditioned on the call being a call for emergency services, and the service provider may be a voice over internet protocol service provider.
  • Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium.
  • the details of one or more implementations are set forth in the accompanying drawings and the description below.
  • FIG. 1 is a block diagram of a communications system configured to identify users when no or only ambiguous identity information is available.
  • FIG. 2 is a flow chart of a process for determining a location key for a user device in a communications system.
  • FIG. 3 is a flow chart of a process for assigning a temporary telephone number to a user device in a communications system.
  • FIG. 4 is a flow chart of another process for assigning a temporary telephone number to a user device in a communications system.
  • FIG. 5 a block diagram of a communications system configured to handle emergency services communications.
  • FIG. 6 is a flow chart of a process for handling an emergency services call in a communications system.
  • FIG. 7 is a flow chart of another process for handling an emergency services call in a communications system.
  • the service provider may receive information indicating the current service location from the caller or otherwise determines the current service location of the caller.
  • the current service location may be associated with a telephone number following the North American Numbering Plan or the current service location may be declared by the caller but not associated with the normal telephone number identification of the caller.
  • Some services require a current service location tied directly to a geographically-correct telephone number.
  • the communications service provider assigns a temporary, geographically-correct telephone number to the caller from a pool of available telephone numbers.
  • the caller may receive calls placed to the temporary telephone number through the caller's connection with the service provider and the temporary telephone number may be included in calls placed by the caller to enable a recipient of a call to identify a location and/or an identity of the caller.
  • a user places a call for emergency services (e.g., a 9-1-1 call) using a device that does not include or otherwise communicate information sufficient to enable identification of the user's location.
  • a communications service provider handling the call for emergency services determines a location of the user and assigns a temporary, geographically-correct telephone number (e.g., a telephone number including a 202 area code for a call that was determined to have been made by a user located in the Washington, D.C. area, where the 202 area code indicates that the user placed the call from the Washington, D.C. area) to the user who placed the call for emergency services.
  • the communications service provider routes the call with call information including the temporary, geographically-correct telephone number.
  • the traditional emergency services call handling system routes the call to the appropriate public safety answering point (PSAP) based on the location associated with the temporary telephone number and establishes the emergency services call between the user and the PSAP.
  • PSAP may be able to determine the location of the user based on the location associated with the temporary telephone number.
  • the PSAP may place a return call to the temporary telephone number.
  • the communications service provider may receive the return telephone call placed to the temporary telephone number and may be able to connect the return telephone call to the user's device that does not include information sufficient to enable identification of the user and/or the user's location.
  • the PSAP places a call to the temporary telephone number over the PSTN, which is routed to the communications service provider associated with the disconnected user, and the communications service provider uses the temporary telephone number to identify the user (or user device) and routes the return call to that user.
  • FIG. 1 illustrates an example of a communications system 100 configured to identify users when no or only ambiguous identity information is available.
  • the communications system 100 includes a user communication device 110 , a communications service provider 120 , a gateway 140 , and one or more recipient communication devices 160 a , 160 b .
  • the communications service provider 120 and the gateway 140 facilitate communications between the user communication device 110 and the one or more recipient communication devices 160 a , 160 b over data network 130 and telephone network 150 .
  • the user communication device 110 is configured to place a call to, and/or receive a call from, a recipient communication device 160 a , 160 b after establishing a connection with communications service provider 120 .
  • the user communication device 110 may be a landline or wireline phone, a wireless phone, a cellular phone, a mobile personal digital assistant (PDA) with embedded cellular phone technology, or a soft phone, which is a telephone integrated into a computer system.
  • PDA mobile personal digital assistant
  • soft phone which is a telephone integrated into a computer system.
  • user communication device may be integrated into a client computer system.
  • the user communication device 110 does not include information sufficient to enable identification of the user communication device 110 and/or its location when communicating using the communications system 100 .
  • the user communication device 110 may be a voice over internet protocol (VoIP) telephone that has no registered telephone number in the PSTN.
  • VoIP voice over internet protocol
  • the user communication device 110 may be a device that establishes a connection with communications service provider 120 and communicates using a service level identifier (e.g., a screen name).
  • a service level identifier e.g., a screen name
  • multiple users of the communications system may communicate using user communication device 110 , for example, by using user communication device 110 to supply communications service provider 120 with a screen name and password.
  • the user communication device 110 may be mobile such that the user communication device 110 may establish a connection with communications service provider 120 at multiple different points in data network 130 located in multiple different geographic areas.
  • the communications service provider 120 is configured to establish a connection with user communication device 110 to facilitate communications between the user communication device 110 and a recipient communication device 160 a , 160 b .
  • the communications service provider 120 is a computer system configured to provide online services to users, including data and/or voice services.
  • the online services may include communications services, such as, for example, one or more of e-mail services, instant messaging services, chat services, VoIP services, and traditional telephony services, and content provisioning services, such as, for example, Internet access (e.g., access to the World Wide Web) and/or access to online content (e.g., access to otherwise restricted or proprietary content).
  • the communications service provider 120 includes a user data store 122 and a telephone number data store 124 .
  • the user data store 122 is one or more locally or remotely accessible storage devices configured to store user records that include information related to registered users of the communications service provider 120 .
  • the user data store 122 may include information necessary to perform authentication of users and/or user communication devices.
  • the user data store 122 may include a service level identifier (e.g., a screen name) and password for users of the communications service provider 120 .
  • the user data store 122 may include information to automatically identify users when the user accesses the communications service provider 120 .
  • the user data store 122 may include device authentication information, such as an IP address or device identifier of a particular user device, and/or may include information necessary to verify a cookie stored on, for example, the user communication device 110 .
  • the user data store 122 may also include user contact information such as a physical address (i.e., street address, city, state, and zip code), an instant messaging screen name, an e-mail address, and/or telephone numbers (e.g., a cell phone number).
  • the user data store 122 is configured to store a list of physical addresses where a user establishes a connection to communications service provider 120 .
  • the list of physical addresses may include, for example, physical addresses previously submitted to the communications service provider 120 and/or physical addresses detected by the communications service provider 120 where the user has previously connected.
  • the user data store 122 may also store a current physical address where the user is using the user is communication device 110 to connect to the communications service provider 120 .
  • the communications service provider 120 provides the user communication device 110 with a location key to include with subsequent communications after the current physical address of the user accessing the communications service provider 120 with the user communication device 110 has been determined.
  • the current physical address may be explicitly supplied by the user, may be selected by the user from the list of physical addresses associated with the user, may be detected by the service provider, and/or may be automatically sent to the service provider during operation of the user communication device 110 .
  • the current physical address may be determined when the user establishes a connection to the communications service provider 120 using the user communication device 110 and may be updated to reflect changes in the physical address of the user during the connection to the communications service provider 120 .
  • the current physical address may be used to identify the user and assign a temporary telephone number as described below.
  • the telephone number data store 124 is one or more locally or remotely accessible storage devices configured to store telephone number records associated with the communications service provider 120 .
  • the telephone number data store 124 may be included on the same storage device as the user data store 122 or may be included on a different storage device.
  • the telephone number data store 124 includes a pool of geographically-correct telephone numbers for those physical service addresses from which users may connect to the communications service provider 120 .
  • the telephone number data store 124 may include at least one telephone number geographically-correct for each of the geographic areas the communications service provider 120 services.
  • the telephone numbers included in the telephone number data store 124 may be temporarily assigned to users connected to the communications service provider 120 for purposes of identification and as return call numbers (e.g., when the user communication device 110 is not associated with a telephone number) as described below.
  • the data network 130 is configured to enable communications between devices connected to the data network 130 .
  • the data network 130 may be configured to enable communications between the user communication device 110 , the communications service provider 120 , the gateway 140 , and the recipient communication device 160 a .
  • the data network 130 may include, for example, one or more of the Internet, Wide Area Networks (WANs), Local Area Networks (LANs), analog or digital wired and wireless is telephone networks (e.g., a PSTN, Integrated Services Digital Network (ISDN), and Digital Subscriber Line (xDSL)), radio, television, cable, satellite, and/or any other delivery or tunneling mechanism for carrying data or VoIP services.
  • Data network 130 may include multiple networks or subnetworks, each of which may include, for example, a wired or wireless data pathway.
  • the gateway 140 is configured to enable communications between data network 130 and telephone network 150 .
  • the gateway 140 may convert communications from data network 130 to communications suitable for delivery over telephone network 150 and may convert communications from telephone network 150 to communications suitable for delivery over data network 130 .
  • the gateway 140 is a PSTN gateway configured to convert communications from data network 130 (e.g., IP packets) to communications suitable for delivery by a PSTN.
  • data network 130 e.g., IP packets
  • the gateway 140 enables communications between a device connected only to data network 130 and a device connected only to the telephone network 150 .
  • the telephone network is configured to enable communications between devices connected to the telephone network 150 .
  • the telephone network may be configured to enable communications between the gateway 140 and the recipient communication device 160 b .
  • the telephone network 130 may include a circuit-switched voice network, a packet-switched data network, or any other network able to carry voice communications.
  • circuit-switched voice networks may include the PSTN
  • packet-switched data networks may include networks based on the Internet protocol (IP), X.25, or Frame Relay, or other comparable technologies and may support voice using, for example, VoIP, or other comparable protocols used for voice data communications.
  • IP Internet protocol
  • X.25 X.25
  • Frame Relay or other comparable technologies and may support voice using, for example, VoIP, or other comparable protocols used for voice data communications.
  • the recipient communication devices 160 a , 160 b are configured to exchange communications with the user communication device 110 .
  • the recipient communication devices 160 a , 160 b may be configured to receive communications from and/or send communications to the user communication device 110 .
  • the recipient communication devices 160 a , 160 b may be configured to initiate communication sessions with the user communication device 110 and/or establish communication sessions with the user communication device 110 initiated by the user communication device 110 .
  • the recipient communication devices 160 a , 160 b may be configured to place calls to the user communication device 110 and/or receive calls from the user communication device 110 .
  • the recipient communication device 160 a may be connected to data network 130 and may exchange communications with the user communication device 110 over the data network 130 .
  • the communications service provider 120 may be configured to establish a communication session between the user communication device 110 and the recipient communication device 160 a and the recipient communication device 160 a may then exchange communications with the user communication device 110 directly over data network 130 or may exchange communications with the user communication device 110 through the communications service provider 120 .
  • the recipient communication device 160 b may be connected to the telephone network 150 and may exchange communications with the user communication device 110 utilizing the telephone network 150 , the gateway 140 , and the data network 130 .
  • the communications service provider 120 may be configured to establish a communication session between the user communication device 110 and the recipient communication device 160 b and the recipient communication device 160 b may then exchange communications with the user communication device 110 directly via the telephone network 150 , gateway 140 , and data network 130 or may exchange communications with the user communication device 110 through the communications service provider 120 .
  • the user communication device 110 does not include information sufficient to enable identification of the user and/or its location and the user communication device 110 may not include an incoming telephone number.
  • the user communication device 110 may be a computer system executing a voice messaging application.
  • the communications service provider 120 may be configured to assign the user communication device 110 a temporary telephone number from the telephone number data store 124 that is geographically correct for the user communication device 110 .
  • the temporary telephone number may be included in communications with the recipient communications device 160 a or 160 b such that the recipient communication device 160 a or 1160 b may be able to determine the geographic location of the user communication device 110 by analyzing the temporary telephone number.
  • the geographic location of the user communication device 110 may be determined by comparing the temporary telephone number to a mapping of telephone numbers to locations.
  • the temporary telephone number may be is assigned to the user communication device 110 when the user communication device 110 establishes a connection with the communications service provider 120 and enable the user communication device 110 to receive calls placed to the temporary telephone number.
  • the communications service provider 120 is configured to receive a call placed to the temporary telephone number, determine that the user communication device 110 is currently associated with the temporary telephone number, and complete the call to the user communication device 110 . For example, if a call between the user communication device 110 and the recipient communication device 160 a or 160 b , the recipient communication device 160 a or 160 b may call the user communication device 110 using the temporary telephone number. After the user communication device 110 disconnects from the communications service provider 120 or ends a communication session with a recipient communication device 160 a or 160 b , the communications service provider 120 is configured to return the temporary telephone to the pool of available telephone numbers.
  • the communications service provider 120 may automatically assign a temporary telephone number to the user communication device 110 when the communications service provider 120 receives a request to engage in a communication session from the user communication device 110 .
  • the communications service provider 120 may be configured to determine that the type of communication session requested by the user communication device 110 would benefit from having a temporary telephone number.
  • the communications service provider 120 automatically assigns a temporary telephone number to the user communication device 110 based on the current physical address for the user communication device 110 stored in user data store 122 or based on a location key included in the communication request from the user communication device 110 .
  • the communications service provider 120 may determine that the type of communication session requested by the user communication device 110 would not benefit from having a temporary telephone number and would not automatically assign a temporary telephone number.
  • FIG. 2 is a flow chart of a process 200 for determining a location key for a user device in a communications system.
  • FIG. 1 For convenience, particular components described with respect to FIG. 1 are referenced as performing the process 200 . However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 1 .
  • the communications service provider 120 establishes a connection with user communication device 110 ( 210 ). For example, the communications service provider 120 may receive a request to establish a connection from the user communication device 110 . In one implementation, the communications service provider 120 may also receive a service level identifier (e.g., a screen name) and password from the user communication device 110 . In this implementation, the communications service provider 120 compares the service level identifier and password with information included in the user data store 122 to authenticate the user. If the communications service provider 120 determines that the service level identifier and password are authentic, the communications service provider 120 establishes an authenticated connection with the user.
  • a service level identifier e.g., a screen name
  • the communications service provider 120 determines that the service level identifier and password are not authentic, the communications service provider 120 denies the connection request and sends an error message.
  • the communications service provider 120 may automatically identify and authenticate users when a user accesses the communications service provider 120 based on information included in user data store 122 .
  • the user data store 122 may include device authentication information, such as a device identifier of a particular user device, and/or may include information necessary to verify a cookie stored on, for example, the user communication device 110 . Additionally or alternatively, the communications service provider 120 may establish a connection without requiring authentication and/or may maintain an established connection with a user communication device.
  • the communications service provider 120 determines a current location of the user communication device 110 ( 220 ).
  • the communications service provider 120 may determine the current location of the user communication device 110 while establishing a connection with the user communication device 110 or after establishing a connection with the user communication device 110 .
  • the communications service provider 120 may receive an indication of the current location of the user communication device 110 .
  • the user provides his or her current location by explicitly providing his or her address (e.g., entering location in a text box provided in a graphical user interface (GUI) of the communications service provider 120 or orally reciting location in a voice communication).
  • GUI graphical user interface
  • the communications service provider 120 maintains a list of potential locations for the user and the user selects a location from a list provided by the communications service provider 120 (e.g., selecting a location from a drop-down menu included in a GUI of the communications service provider 120 or selecting a location using an IVR provided by the communications service provider 120 ).
  • the communications service provider 120 may detect the current location of the user communication device 110 and/or may automatically receive the location of the user communication device during operation of the user communication device 110 .
  • the communications service provider 120 may determine a current location of the user communication device 110 based on an IP address the user communication device is using to connect to the data network 130 , may receive global positing system (GPS) data indicating an address of the user communication device 110 , and/or may determine a current location using triangulation from a plurality of wireless communication points the user communication device 110 is using to access the data network 130 .
  • the location may be determined from radios connected to the user communication device 110 .
  • the location may be explicitly determined from radios connected to the user communication device 110 , may be indirectly determined from radios connected to the user communication device 110 , or derived from radios connected to the user communication device 110 .
  • the location determined may be a location of the user and/or a location of the user device.
  • the communications service provider 120 determines a location key for the user communication device 110 based on the current location of the user communication device 110 ( 230 ).
  • the location key is an identifier used by the communications service provider 120 to identify a particular location.
  • the communications service provider 120 may generate the location key by applying an algorithm to the current location of the user or by accessing a location key for the current location of the user from a table stored locally or remotely from the communications service provider 120 or may randomly generate a unique key to associate with the location.
  • the location key may enable the communications service provider 120 or another entity to determine the location associated with the location key and may be directly used in routing and processing communications.
  • the communications service provider 120 stores and/or sends the location key to the user communication device 110 ( 240 ).
  • the service provider may store the location key for the current location of the user in the user data store 122 associated with the user's records.
  • the communications service provider 120 may retrieve the location key for the user when needed (e.g., when the user places a call). Additionally or alternatively, the communications service provider 120 may send the location key to the user communication device 110 .
  • the user communication device 110 may store the location key and include the location key in subsequent communications sent by the user communication device 110 . By including the location key in communications sent from the user communication device 110 , the communications service provider 120 or another system or service may be able to request access to the location information associated with the location key to determine the location from which the communications originated.
  • FIG. 3 is a flow chart of a process 300 for assigning a temporary telephone number to a user device in a communications system.
  • FIG. 1 For convenience, particular components described with respect to FIG. 1 are referenced as performing the process 300 . However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 1 .
  • the communications service provider 120 establishes a connection with the user communication device 110 ( 310 ) and determines a current location of the user communication device 110 ( 320 ). Establishing a connection to and determining a current location of the user communication device 110 have been described above with respect to FIG. 2 .
  • the communications service provider 120 assigns a temporary telephone number to the user communication device 110 based on the current location of the user communication device 110 ( 330 ). For example, the user communication device 110 may not have a registered telephone number in the PSTN and may not be otherwise configured to receive calls placed to a telephone number. In one implementation, the communications service provider 120 maintains a pool of telephone numbers associated with the communications service provider 120 . The pool of telephone numbers may, for example, include at least one telephone number that is geographically correct for each of the geographic areas serviced by the service provider. The communications service provider 120 may be configured to temporarily assign one of the telephone numbers included in the pool of telephone numbers to the user communication device 110 . For example, the communications service provider 120 may associate the user with the telephone number in electronic storage such that calls received at the telephone number will be identified as calls placed to the user.
  • the communications service provider 120 receives a call for the temporary telephone number ( 340 ). For example, the communications service provider 120 receives a call from a recipient communication device 160 a or 160 b through one or more of data network 130 , gateway 140 , and telephone network 150 .
  • the communications service provider 120 completes the call to the user communication device 110 ( 350 ).
  • the communications service provider 120 provides the communications sent to the temporary telephone number to the user communication device 110 through the connection over data network 130 previously established between the communications service provider 120 and the user communication device 110 .
  • the user communication device 110 can receive calls placed to the temporary telephone number even though the user communication device 110 does not have an incoming telephone number.
  • the communications service provider 120 enables the user communication device 110 to participate in the call as if the temporary telephone number was the incoming telephone number for the user communication device 110 .
  • the communications service provider 120 receives an indication that the user communication device 110 has disconnected from the communications service provider 120 ( 360 ). For example, the communications service provider 120 receives an indication that the connection between the communications service provider 120 and the user communication device 110 is no longer available (e.g., the user has logged off or otherwise ended the connection).
  • the communications service provider 120 In response to receiving the indication that the user communication device 110 has disconnected, the communications service provider 120 returns the temporary telephone number to the pool of available telephone numbers ( 370 ). For example, the communications service provider 120 may disassociate the temporary telephone number from the user communication device 110 and designate the telephone number as available in electronic storage. The communications service provider 120 may assign the temporary telephone to another user communication device connected to the communications service provider 120 such that the other user communication device will receive calls placed to the temporary telephone number.
  • FIG. 4 is a flow chart of a process 400 for assigning a temporary telephone number to a user device in a communications system.
  • FIG. 1 For convenience, particular components described with respect to FIG. 1 are referenced as performing the process 400 . However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 1 .
  • the communications service provider 120 receives a request to establish a communication session from the user communication device 110 ( 410 ).
  • the communications service provider 120 may receive a request from the user communication device 110 to establish a communication session with the recipient communication device 160 a or 160 b .
  • the user communication device 110 may have previously established a connection with the communications service provider 120 or the request to establish a communication session may be an initial communication to the communications service provider 120 .
  • the request may be to establish a voice communication session and/or a data communication session.
  • the request may be a request to place a call to a VoIP telephone, a request to place a call to a telephone connected to the PSTN, or a request to establish an instant messaging session.
  • the communications service provider 120 determines whether the type of communication session would benefit from a temporary telephone number ( 420 ).
  • the communications service provider 120 may analyze the communication session request to determine whether a temporary telephone number would be beneficial. For example, the communications service provider 120 may determine whether the type of communication session would benefit from having a telephone number with which the recipient may be able to determine the location of the user or place a return call to the user.
  • the service provider may assign a temporary telephone number if the request is to place a call to a telephone connected to the PSTN, but may not assign a temporary telephone number if the request is to establish an instant messaging session.
  • the communications service provider 120 may determine to assign a temporary telephone number to some requests to establish a communication session of a particular typo, but not other requests to establish a communication session of that type. For example, the communications service provider 120 may determine not to assign a temporary telephone number for a request to place a call to a telephone of a friend connected to the PSTN, but may determine to assign a temporary telephone number for a request to place a call to an emergency services provider connected to the PSTN. In a further implementation, the communications service provider 120 may determine to assign a temporary telephone number for all requests to establish a communication session.
  • the communications service provider 120 determines a current location of the user communication device 110 ( 430 ).
  • the communications service provider 120 may determine a current location of the user communication device as described above with respect to FIG. 2 . Additionally or alternatively, the communications service provider 120 may access information identifying the current location of the user communication device 110 previously determined. For example, in one implementation, the communications service provider 120 may retrieve a current location of the user communication device 110 from electronic storage. In another implementation, the communications service provider 120 may access a location key associated with the user communication device 110 .
  • the communications service provider 120 may retrieve a location key associated with the user communication device 110 from electronic storage or may access a location key associated with the user communication device 110 included in communications sent from the user communication device 110 to the communications service provider 120 (e.g., the location key may be included in the request to establish the communication session).
  • the communications service provider 120 assigns a temporary telephone number to the user communication device 110 based on the current location of the user device ( 440 ).
  • the temporary telephone number may be geographically correct for the user communication device 110 and the communications service provider 120 may assign the temporary telephone number to the user communication device 110 as described above with respect to FIG. 3 .
  • the communications service provider 120 establishes the communication session requested by the user communication device 110 including the temporary telephone number in information used to establish the communication session ( 450 ).
  • the temporary telephone number may be included in call set up information as the call back telephone number in a telephone call and may be used to determine the identity and/or location of the user communication device 110 .
  • the temporary telephone number may also be used in establishing the communication session. For example, if the user communication device 110 places a call to emergency services, the temporary telephone number is used to determine the location of the user communication device 110 and route the call to the appropriate public safety answering point for the location of the user communication device 110 .
  • the communications service provider 120 receives an indication that the communication session has ended ( 460 ). For example, the communications service provider 120 receives an indication that the user communication device 110 has ended the communication session or that the communication session has been otherwise ended. In one implementation, the indication enables the communications service provider 120 to determine whether the communication session ended due to the communication session completing successfully or the communication session ended due to an error.
  • the communications service provider 120 returns the temporary telephone number to the pool of available telephone numbers ( 470 ).
  • the communications service provider 120 may return the temporary telephone number to the pool of available telephone numbers immediately upon receiving the indication that the communication session has ended or may wait a threshold amount of time after receiving the indication that the communication session prior to returning the temporary telephone number to the pool of available telephone numbers. Waiting a threshold amount of time prior to returning the temporary telephone number to pool of available numbers may enable the communication session recipient to place a return call to the user communication device 110 when the communication session ends due to an error.
  • the communications service provider 120 immediately returns the temporary telephone to the pool of available telephone numbers when the indication that the communication session has ended indicates that the communication session ended due to the communication session completing successfully and waits a threshold amount of time prior to returning the temporary telephone to the pool of available telephone numbers when the indication that the communication session has ended indicates that the communication session ended due to an error.
  • the communications service provider 120 may wait a threshold amount of time for all communication sessions or may wait a threshold amount depending on the type of communication session. For example, the communications service provider 120 may wait a threshold amount of time for all calls placed to emergency services.
  • the communications services provider may wait until the user has declared a new location associated with the user communication device 110 .
  • the communications service provider 120 may return the temporary telephone number to the pool of available telephone numbers as discussed above with respect to FIG. 3 . Once the communications service provider 120 returns the temporary telephone number to the pool of available telephone numbers, the temporary telephone number may be assigned to the user communication device 110 in a subsequent communication session request or may be assigned to a different user communication device in a subsequent communication session request.
  • FIG. 5 illustrates an example of a communications system 500 configured to handle emergency services communications.
  • the communications system 500 includes a user communication device 510 , a communications service provider 520 , an enhanced emergency services provider 540 , an emergency services gateway 550 , a selective router 560 , a public safety answering point (PSAP) 570 , and an automatic location identification database 580 .
  • the data network 530 facilitates communications between the user communication device 510 , the communications service provider 520 , the enhanced emergency services provider 540 , and the emergency services gateway 550 .
  • the user communication device 510 and the data network 530 are configured in a manner similar to user communication device 110 and data network 130 described above with respect to FIG. 1 .
  • the communications service provider 520 is configured in a manner similar to communications service provider 120 described above with respect to FIG. 1 . More specifically, the communications service provider 520 includes a server 522 , an emergency services proxy server 524 , a user data store 526 , and a telephone number data store 528 .
  • the server 522 may be configured to communicate with the emergency services proxy server 524 and access the user data store 526 and the telephone number data store 528 .
  • the server 522 may be configured to control operations of the communications service provider 520 similar to the operations described above with respect to communications service provider 120 .
  • the emergency services proxy server 524 is configured to handle requests for a communication session with an emergency services provider received by communications service provider 520 .
  • the emergency services proxy server 524 is configured to handle a 9-1-1 call placed by the user communication device 510 .
  • the emergency services proxy server 524 may be configured to communicate with the server 522 and access the user data store 526 and the telephone number data store 528 .
  • the emergency services proxy server 524 is configured to handle an emergency services call in a manner similar to communications service provider 120 described above with respect to FIG. 1 .
  • the emergency services proxy server 524 may be configured handle the request.
  • the emergency services proxy server 524 may be configured to assign a temporary, geographically-correct telephone number to the user device requesting to establish a communication session with an emergency services provider as discussed above, access a previously stored key or determine a location key for the user device, and relay the request to enhanced emergency service provider 540 including the temporary telephone number and the location key.
  • user communication device 510 may be a VoIP endpoint without a registered telephone number in the PSTN and may place an emergency services call to communications service provider 520 .
  • the emergency services proxy server 524 may assign a temporary, geographically-correct telephone number on the PSTN to and obtain a location key for the user communication device 510 .
  • the emergency services proxy server 524 may relay the call to the enhanced emergency service provider 540 including the temporary telephone number and the location key such that the emergency service call may be routed to an appropriate PSAP and the user communication device 510 may be able to receive a return call from the PSAP at the temporary telephone number if the initial call becomes disconnected due to an error.
  • the user data store 526 and the telephone number data store 528 are configured to operate in a manner similar to the user data store 122 and the telephone number data store 124 described above.
  • the server 522 and the emergency services proxy server 524 may include one or more local or remote electronic systems.
  • the user data store 526 and the telephone number data store 528 may include one or more locally or remotely accessible storage devices.
  • the enhanced emergency services provider 540 is configured to facilitate handling of a request to establish a communication session with an emergency services provider by enabling interoperability of non-traditional communication networks with established, traditional PSTN-based emergency services.
  • the enhanced emergency services provider 540 may be configured to operate as set forth in the National Emergency Number Association (NENA) technical specifications for connecting VoIP callers to emergency services. [See Interim VoIP Architecture for Enhanced 9-1-1 Services (i2), NENA — 08-011_V1 — 12-06-05](“NENA Guidelines”).
  • the enhanced emergency services provider 540 includes an emergency call server 542 , a positioning server 544 , a user data store 546 , and a routing database 548 .
  • the emergency call server 542 is configured to receive a request to establish an emergency services communication session from the communications service provider 520 .
  • the emergency call server 542 may be configured to communicate with the positioning server 544 to receive routing instructions and query keys to include with its further communications.
  • the emergency call server 542 sends the location key it received from the communications service provider 520 to the positioning server 544 and receives back the emergency services routing number and the emergency services query key needed to relay the call setup to the proper emergency services gateway 550 .
  • the so emergency call server 520 may be a call server/proxy server or Routing Proxy/Redirect Server described in the NENA guidelines and the location key may be a location key described in the NENA Guidelines.
  • the emergency services routing number may be an Emergency Services Routing Number (ESRN) as described in the NENA Guidelines and the emergency services query key may be an Emergency Services Query Key (ESQK) described in the NENA Guidelines.
  • ESRN Emergency Services Routing Number
  • ESQK Emergency Services Query Key
  • the positioning server 544 is configured to update the data stores of the enhanced emergency services provider 540 and determine call routing information based on the temporary telephone number and location key included in the emergency services communication request.
  • the positioning server 544 may be configured to communicate with the emergency call server 542 and access the user data store 546 and the routing database 548 .
  • the positioning server 544 determines routing information for the emergency services call based on the temporary telephone number and the location key included in the emergency services call.
  • the positioning server 544 may allocate an ESQK and associate the ESQK with location information for the user such that the positioning server 544 may provide location information for the user when later presented with the ESQK.
  • the positioning server 544 may provide the routing information to the emergency call server 542 such that the emergency call server 542 may update the call information and relay the call to the appropriate gateway.
  • the positioning server 544 may be a VoIP Positioning Center and the routing information may include an Emergency Services Routing Number and Emergency Services Query Key as described in the NENA Guidelines.
  • the positioning server 544 may also communicate with the automatic location identification database 580 to provide location and call back number information to PSAP 570 as described below.
  • the user data store 546 is configured to store a current location and/or telephone number of a user device requesting to establish a communication session with an emergency services provider.
  • the user data store 546 may be configured to operate in a manner similar to the user data store 526 described above or the user data store 546 may be configured to obtain user information from the user data store 526 .
  • the routing database 548 is configured to store data necessary to determine routing information for establishing a communication session with an emergency services provider.
  • the routing database 548 includes data identifying an emergency services zone and routing information for that emergency services zone for a received location.
  • the routing database 548 may include a table mapping locations with emergency services zones and corresponding routing information.
  • the routing database 548 may be an ESZ Routing Database as described in the NENA Guidelines.
  • the emergency call server 542 , the positioning server 544 , the user data store 546 , and the routing database 548 may include one or more local or remote electronic systems and/or one or more locally or remotely accessible storage devices.
  • the emergency services gateway 550 is configured to enable communications between data network 530 and a PSAP.
  • the emergency services gateway 550 may convert communications from data network 530 to communications suitable for delivery to a PSAP.
  • the emergency services gateway 550 may use routing information provided by enhanced emergency services provider 540 to select an appropriate selective router to route an emergency services call to an appropriate PSAP.
  • the emergency services gateway 550 may enable an emergency services call to be routed to a PSAP over the PSTN.
  • the gateway 550 enables a device connected only to data network 530 to successfully complete an emergency services call.
  • the emergency services gateway 550 may be an emergency services gateway as described in the NENA Guidelines.
  • the selective router 560 is configured to relay an emergency services call to an appropriate PSAP (e.g., PSAP 570 ).
  • PSAP 570 may relay an emergency services call from the user communication device 510 to the PSAP 570 based on the routing information provided by the enhanced emergency services provider 540 .
  • the selective router 560 may be a selective router as described in the NENA Guidelines.
  • the PSAP 570 is configured to receive an emergency services call and initiate the rendering of emergency services.
  • the PSAP 570 may receive an emergency services call originated by the user communication device 510 and initiate the rendering of emergency services to the user using the user communication device 510 (e.g., dispatching police, medical, or fire assistance).
  • the PSAP 570 may be a PSAP as described in the NENA Guidelines.
  • the automatic location identification database 580 is configured to provide location and call back number information to the PSAP 570 .
  • the automatic location identification database 580 may include one or more local or remote electronic systems and/or one or more locally or remotely accessible storage devices.
  • the PSAP 570 may, for example, communicate with the automatic location identification database 580 to obtain location and call number data related to the emergency services call.
  • the PSAP 570 requests location and call back number information from the automatic location identification database 580 when the PSAP 570 receives an emergency services call and the automatic location identification database 580 , in turn, requests the information from the enhanced emergency services provider 540 .
  • the positioning server 544 of the enhanced emergency services provider 540 accesses the information from the user data store 546 and provides the information to the automatic location identification database 580 .
  • the PSAP 570 may be able to determine a location related to an emergency services call and place a return call to user device originating an emergency services call if the call becomes disconnected.
  • the automatic location identification database 580 may be an Automatic Location Identification. Database as described in the NENA Guidelines.
  • FIG. 6 is a flow chart of a process 600 for handling an emergency services call in a is communications system.
  • FIG. 5 For convenience, particular components described with respect to FIG. 5 are referenced as performing the process 600 . However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 5 .
  • the communications service provider 520 receives an emergency services call from the user communication device 510 ( 610 ).
  • the user communication device 510 may be a VoIP endpoint without a registered telephone number in the PSTN and the communications service provider 520 may receive a 911 call placed by the user communication device 510 .
  • the communications service provider 520 receives the emergency services call and directs the call to the emergency services proxy server 524 for processing.
  • the communications service provider 520 determines a current location of the user communication device 510 ( 620 ).
  • the communications service provider 520 may determine a current location of the user communication device 510 in a manner similar to the communications service provider 120 as described above with respect to FIGS. 1-4 .
  • the communications service provider 520 assigns a temporary telephone number to and obtains a location key for the user communication device 510 based on the current location of the user communication device 510 ( 630 ).
  • the emergency services proxy server 524 accesses information identifying the current location of the user communication device 510 , accesses available telephone number data from the telephone number data store 528 , and assigns a temporary telephone number to the user communication device 510 .
  • the emergency services proxy server 524 assigns a telephone number that is geographically correct for the user communication device 510 .
  • the emergency services proxy server 524 may determine the emergency services zone that corresponds to the current location of the user communication device 510 and retrieve an available telephone number corresponding to that emergency services zone from the telephone number data store 528 .
  • the emergency services proxy server 524 may store information reflecting the assignment of a temporary telephone number in the user data store 526 and/or the telephone number data store 528 .
  • the emergency services proxy server 524 also obtains a location key for the user communication device 510 .
  • the emergency services proxy server 524 generates a location key for the user communication device 510 based on the current location of the user device.
  • the emergency services proxy server 524 accesses a previously stored location key associated with the user communication 510 from electronic storage.
  • the user communication device 510 includes a location key in information included in the emergency services call and the emergency services proxy server 524 analyzes the emergency services call to obtain the location key.
  • the emergency services proxy server 524 may store information identifying the location key for the user communication device 510 in the user data store 526 and/or the telephone number data store 528 .
  • the communications service provider 520 relays the emergency services call to the enhanced emergency services provider 540 ( 640 ).
  • the emergency services proxy server 524 updates the emergency services call information to include the temporary telephone number and the location key and sends the updated emergency services call to the enhanced emergency services provider 540 .
  • the enhanced emergency services provider 540 receives the updated emergency services call for processing.
  • the enhanced emergency services provider 540 determines routing information for the emergency services call based on the temporary telephone number and/or location key ( 650 ). For example, the positioning server 544 may access information stored in routing database 548 to determine appropriate routing information for the emergency services call based on the temporary telephone number and/or location key. In one implementation, the positioning server 544 analyzes the temporary telephone number to determine the emergency services zone that corresponds to the temporary telephone number. Based on the determined emergency services zone, the positioning server 544 accesses routing information for the determined emergency services zone from the routing database 548 . In another implementation, the positioning server 544 analyzes the location key to determine the emergency services zone and accesses routing information for the determined emergency services zone from the routing database 548 .
  • the positioning server 544 utilizes both the temporary telephone number and the location key to determine routing information for the emergency services call.
  • the positioning server 544 may also determine routing information based on location information stored in the user data store 546 or otherwise included in the call information.
  • the enhanced emergency services provider may store the call information, including the temporary telephone number and location key, in the user data store 546 .
  • the enhanced emergency services provider 540 routes the emergency services call to the appropriate PSAP ( 660 ).
  • the emergency call server 542 may receive the call information and routing information from the positioning server 544 and may send the emergency services call to the PSAP 570 .
  • the emergency call server 542 sends the emergency services call with updated routing information to the emergency services gateway 550 , which sends the emergency services call to the selective router 560 .
  • the selective router 560 routes the emergency services call to the PSAP 570 .
  • the automatic location identification database 580 provides the PSAP 570 with location information and a call back number ( 670 ). In one implementation, the automatic location identification database 580 communicates with the enhanced emergency services provider 540 to obtain the location information and the call back number. In another implementation, the automatic location identification database 580 provides the PSAP 570 with location information and a call back number stored in the automatic location identification database 580 . After receiving information from the automatic location identification database 580 , the PSAP 570 may have the current location of the user communication device 510 and a number with which the PSAP 570 may place a return call to the user communication device 510 in the event that the initial call becomes disconnected.
  • FIG. 7 is a flow chart of a process 700 for handling an emergency services call in a communications system.
  • a user communication device, a communications service provider, and a public safety answering point are referenced as performing the process 700 .
  • similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components.
  • the process 700 may be performed by the components described with respect to FIG. 5 and the communications service provider 520 and the enhanced emergency service provider 540 may collectively perform the processes shown as being performed by the service provider in FIG. 7 .
  • the user communication device initiates a call for emergency services ( 705 ).
  • the user communication device may be a VoIP telephone that has no registered telephone number in the PSTN, a user may dial 9-1-1 using the VoIP telephone, and the VoIP telephone may place an emergency services call in a format used by VoIP.
  • the communications service provider receives the call from the user communication device ( 710 ).
  • the communications service provider may be a VoIP service provider configured to handle calls placed by the user communication device and receives the emergency services call from the user communication device.
  • the communications service provider determines a location of the user communication device ( 715 ).
  • the communications service provider may determine a location of the user communication device in a manner similar to the communications service provider 120 or the communications service provider 520 described above with respect to FIGS. 1-6 .
  • the communications service provider accesses a pool of temporary telephone numbers ( 720 ).
  • the communications service provider may maintain, in electronic storage, a pool of temporary telephone numbers with which the communications service provider may associate with user communication devices and access the pool of temporary telephone numbers from the electronic storage.
  • the communications service provider selects a temporary telephone number from the pool based on the determined location of the user communication device ( 725 ). For example, the communications service provider may analyze the pool of temporary telephone numbers and select a temporary telephone number that corresponds to the location of the user communication device. In one implementation, the communications service provider may store location information for each of the temporary telephone numbers in the pool of temporary telephone numbers and compare the location of the user communication device with the location information to determine a match. In another implementation, the communications service provider may associate each service address it has knowledge of with a block of temporary telephone numbers and pick one from the block when presented with a corresponding location.
  • the communications service provider associates the selected temporary telephone number with the user communication device ( 730 ).
  • the communications service provider may store information in electronic storage indicating that the temporary telephone number is associated with the user communication device.
  • the communications service provider accesses information stored for the user communication device and handles the call from the user communication device based on the temporary telephone number associated with the user communication device.
  • the communications service provider accesses information stored for the temporary telephone number and handles the call to the temporary telephone number based on the user communication device associated with the temporary telephone number.
  • the communications service provider routes the call for emergency service to the PSAP providing the temporary telephone number in the call information ( 735 ).
  • the communications service provider may determine an appropriate PSAP to which to route the emergency services call based on the location of the user communication device and route the call according to routing information for the appropriate PSAP.
  • the communications service provider includes the temporary telephone number in call information associated with the call.
  • the call information that includes the temporary telephone is sufficient to identify the temporary telephone number.
  • the call information may be information used for routing the call and/or information used in determining a telephone number associated with a call for caller identification.
  • the communications service provider may route the call to an emergency service gateway providing the temporary telephone number in call information associated with the call.
  • the emergency services gateway may be configured to route the call to the appropriate PSAP based on the call information.
  • the PSAP receives the call and call information associated with the temporary telephone number ( 740 ).
  • the temporary telephone number is a geographically-correct telephone number for the caller 705 and may be used to call back the caller.
  • the PSAP receives the call and establishes communications with the user communication device.
  • the PSAP determines the location of the user communication device based on the temporary telephone number ( 745 ). For example, the PSAP accesses the call information, provides identifying information to another device (e.g., an automatic location identification database), and receives location information and the temporary telephone number from the other device. Determining the location based on the temporary telephone number may enable the PSAP to verify the location of the user and dispatch emergency services to the user without requiring the user to identify a location because the location was previously identified and associated with the temporary telephone number. For example, determining the location based on the temporary telephone number may enable the PSAP to dispatch emergency services to the user using the user communication device in situations where the call becomes disconnected prior to the user identifying the user's location to an emergency services operator.
  • the PSAP accesses the call information, provides identifying information to another device (e.g., an automatic location identification database), and receives location information and the temporary telephone number from the other device. Determining the location based on the temporary telephone number may enable the PSAP to verify the location of the user and dispatch emergency
  • the PSAP determines that the call for emergency services has become disconnected ( 750 ). For example, the PSAP may determine that the connection with the user communication device is no longer established because the user communication device ended the call or a communication error occurred. In one implementation, the PSAP may determine that the call has become disconnected when the user communication device fails to send new communications for a threshold period of time.
  • the PSAP initiates a return call to the temporary telephone number ( 755 ).
  • the PSAP places a call using information sufficient to route the call to a device associated with the temporary telephone number.
  • the PSAP places a call to the temporary telephone number over the PSTN.
  • the user communication device may be a VoIP telephone that has no registered telephone number in the PSTN and may not be able to directly receive a call placed from the PSAP.
  • the communications service provider receives the return call placed to the temporary telephone number ( 760 ).
  • the communications service provider may include a device (e.g., a gateway) associated with the temporary telephone number in the PSTN and the device may receive the return call.
  • the communications service provider determines that the temporary telephone number is associated with the user communication device ( 765 ). For example, the communications service provider may access information in electronic storage associated with the temporary telephone number and analyze the information to determine that the user communication device is currently associated with the temporary telephone number.
  • the communications service provider routes the return call to the user communication device ( 770 ). For example, the communications service provider accesses information indicating a method of communicating with the user communication device and the routes the emergency services call to the user communication device based on the method of communicating with the user communication device.
  • the call to the temporary telephone number may be placed over the PSTN and the user communication device may be a VoIP telephone that has no registered telephone number in the PSTN.
  • the communications service provider may receive the call placed over the PSTN and may route the call to the IP address associated with the VoIP telephone over an IP network.
  • the user communication device receives the return call initiated by the PSAP ( 775 ). For example, the user communication device receives the call and establishes communications with the PSAP.
  • association of the temporary telephone number maintained by the communications service provider with the user communication device placing a call for emergency services may enable the user communication device to receive comparable emergency service to a traditional PSTN telephone by utilizing the traditional emergency services technology based on the PSTN.
  • the described systems, methods, and techniques may be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations of these elements. Apparatus embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. A process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output.
  • the techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device.
  • Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language.
  • Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits).
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • CD-ROM Compact Disc Read-Only Memory
  • a temporary telephone number and/or location key may be assigned to a user communication device to mask the identity and/or location of the user communication device, rather than provide this information.
  • advantageous results still could be achieved if steps of the disclosed techniques were performed in a different order and/or if components in the disclosed systems were combined in a different manner and/or replaced or supplemented by other components. Accordingly, other implementations are within the scope of the following claims.

Abstract

Identifying a caller includes establishing, by a service provider, a connection over a computer network with a user device and accessing information enabling determination of a location of the user. A request to place a call to a call recipient is received from the user and a pool of temporary telephone numbers is accessed. Based on the location of the user, a temporary telephone number from the pool of temporary telephone numbers is selected. The temporary telephone number is associated with the call, the call is initiated to the call recipient, and information sufficient to identify the temporary telephone number is provided in call information sent to the call recipient.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • The present application claims priority to U.S. Provisional Application No. 60/885,548, filed Jan. 18, 2007, the contents of which are incorporated herein by reference in their entirety.
  • TECHNICAL FIELD
  • This disclosure relates to identifying and assigning correct location information to callers in a communications system.
  • BACKGROUND
  • The Emergency Services system (E9-1-1) in North America is currently, and for the foreseeable future a service that is closely connected to the existing Public Switched Telephone Network (PSTN). New communications services (e.g., a cellular system or an internet protocol (IP) system) are being employed that differ from the PSTN and require the ability to communicate with Emergency Services. Techniques have been developed to enable new communication services to interface with the current Emergency Services system.
  • SUMMARY
  • In one aspect, a connection is established by a service provider over a computer network with a user device used by a user and a location of the user is determined. A request to place a call to a call recipient is received from the user and a pool of temporary telephone numbers is accessed. Based on the location of the user, a temporary telephone number is selected from among the pool of temporary telephone numbers. The temporary telephone number is associated with the user, the call is initiated to the call recipient, and information sufficient to identify the selected temporary telephone number is provided in call information sent to the call recipient.
  • Implementations may include one or more of the following features. For example, a second call may be received from the call recipient placed to the temporary telephone number, and information associated with the temporary telephone number may be accessed. The information may enable determination of a temporary user associated with the temporary telephone number. The user may be identified based on the information that may enable determination of a temporary user associated with the temporary telephone number, and the second call may be connected to the identified user.
  • In some implementations, the information associated with the temporary telephone number may enable determination of a method of connecting the second call to the identified user. In such implementations, a method of connecting the second call to the identified user may be determined based on the information that may enable determination of the method of connecting the second call to the identified user, and the second call maybe connected to the identified user using the determined method.
  • Information sufficient to identify the selected temporary telephone number may be provided in call information sent to the call recipient to enable the call recipient to determine the location of the user. The location of the user may be a current location of the user that is remote from a location where the user typically connects to the service provider.
  • In some implementations, the temporary telephone number may be associated with the user during the connection to the service provider. In such implementations, association of the temporary telephone number with the user may be maintained until the user disconnects from the service provider. In further implementations, the user may be a first user, a request to place a second call from a second user to a second call recipient may be received, and a location of the second user may be determined. The second user may be different than the first user. Based on the location of the second user, the temporary telephone number may be selected from among the pool of temporary telephone numbers, the temporary telephone number may be associated with the second user, the second call may be initiated to the second call recipient, and the temporary telephone number may be provided in call information sent to the second call recipient. The location of the second user may be associated with the same geographic region as the location of the first user.
  • In some implementations, a third call may be received from the second call recipient placed to the temporary telephone number, and information associated with the temporary telephone number may be accessed. The information may enable determination of a temporary user associated with the temporary telephone number. In such implementations, the second user may be identified based on the information that may enable determination of a temporary user associated with the temporary telephone number, and the third call may be connected to the second user.
  • In some implementations, the information associated with the temporary telephone number may enable determination of a method of connecting the third call to the second user, a method of connecting the third call to the identified user may be determined based on the information that may enable determination of the method of connecting the third call to the second user, and the third call may be connected to the second user using the determined method.
  • The temporary telephone number may be a telephone number in a public switched telephone network, and the pool of temporary telephone numbers may include at least one telephone number for each geographic region serviced by the service provider.
  • In some implementations, user input may be received from the user indicating the location of the user. A location key may be associated with the user, and the location key may be sent to the user such that subsequent communications with the user include the location key. A communication may be received from the user, that includes a location key identifying the location of the user.
  • In some implementations, the call may be a call for emergency services and the call recipient may be a public safety access point. In such implementations, the information sufficient to identify the selected temporary telephone number provided in call information sent to the call recipient may enable the public safety access point to determine the location of the user and may enable the user to receive a return call from the public safety access point.
  • Selecting and associating may be conditioned on the call being a call for emergency services, and the service provider may be a voice over internet protocol service provider.
  • Implementations of the described techniques may include hardware, a method or process, or computer software on a computer-accessible medium. The details of one or more implementations are set forth in the accompanying drawings and the description below.
  • Other features will be apparent from the description and drawings.
  • DESCRIPTION OF DRAWINGS
  • FIG. 1 is a block diagram of a communications system configured to identify users when no or only ambiguous identity information is available.
  • FIG. 2 is a flow chart of a process for determining a location key for a user device in a communications system.
  • FIG. 3 is a flow chart of a process for assigning a temporary telephone number to a user device in a communications system.
  • FIG. 4 is a flow chart of another process for assigning a temporary telephone number to a user device in a communications system.
  • FIG. 5 a block diagram of a communications system configured to handle emergency services communications.
  • FIG. 6 is a flow chart of a process for handling an emergency services call in a communications system.
  • FIG. 7 is a flow chart of another process for handling an emergency services call in a communications system.
  • Like reference symbols in the various drawings indicate like elements.
  • DETAILED DESCRIPTION
  • When a caller establishes a connection with or places a call to a service provider, the service provider may receive information indicating the current service location from the caller or otherwise determines the current service location of the caller. The current service location may be associated with a telephone number following the North American Numbering Plan or the current service location may be declared by the caller but not associated with the normal telephone number identification of the caller. Some services require a current service location tied directly to a geographically-correct telephone number. Based on the current service location, the communications service provider assigns a temporary, geographically-correct telephone number to the caller from a pool of available telephone numbers. The caller may receive calls placed to the temporary telephone number through the caller's connection with the service provider and the temporary telephone number may be included in calls placed by the caller to enable a recipient of a call to identify a location and/or an identity of the caller.
  • In one example, a user places a call for emergency services (e.g., a 9-1-1 call) using a device that does not include or otherwise communicate information sufficient to enable identification of the user's location. A communications service provider handling the call for emergency services determines a location of the user and assigns a temporary, geographically-correct telephone number (e.g., a telephone number including a 202 area code for a call that was determined to have been made by a user located in the Washington, D.C. area, where the 202 area code indicates that the user placed the call from the Washington, D.C. area) to the user who placed the call for emergency services. The communications service provider routes the call with call information including the temporary, geographically-correct telephone number. The traditional emergency services call handling system routes the call to the appropriate public safety answering point (PSAP) based on the location associated with the temporary telephone number and establishes the emergency services call between the user and the PSAP. The PSAP may be able to determine the location of the user based on the location associated with the temporary telephone number. In the event that the emergency services call becomes disconnected, the PSAP may place a return call to the temporary telephone number. The communications service provider may receive the return telephone call placed to the temporary telephone number and may be able to connect the return telephone call to the user's device that does not include information sufficient to enable identification of the user and/or the user's location. For instance, in the example above, the PSAP places a call to the temporary telephone number over the PSTN, which is routed to the communications service provider associated with the disconnected user, and the communications service provider uses the temporary telephone number to identify the user (or user device) and routes the return call to that user.
  • FIG. 1 illustrates an example of a communications system 100 configured to identify users when no or only ambiguous identity information is available. The communications system 100 includes a user communication device 110, a communications service provider 120, a gateway 140, and one or more recipient communication devices 160 a, 160 b. The communications service provider 120 and the gateway 140 facilitate communications between the user communication device 110 and the one or more recipient communication devices 160 a, 160 b over data network 130 and telephone network 150.
  • The user communication device 110 is configured to place a call to, and/or receive a call from, a recipient communication device 160 a, 160 b after establishing a connection with communications service provider 120. The user communication device 110 may be a landline or wireline phone, a wireless phone, a cellular phone, a mobile personal digital assistant (PDA) with embedded cellular phone technology, or a soft phone, which is a telephone integrated into a computer system. Alternatively or additionally, user communication device may be integrated into a client computer system.
  • The user communication device 110 does not include information sufficient to enable identification of the user communication device 110 and/or its location when communicating using the communications system 100. For example, the user communication device 110 may be a voice over internet protocol (VoIP) telephone that has no registered telephone number in the PSTN. In another implementation, the user communication device 110 may be a device that establishes a connection with communications service provider 120 and communicates using a service level identifier (e.g., a screen name). In this implementation, multiple users of the communications system may communicate using user communication device 110, for example, by using user communication device 110 to supply communications service provider 120 with a screen name and password. In addition, the user communication device 110 may be mobile such that the user communication device 110 may establish a connection with communications service provider 120 at multiple different points in data network 130 located in multiple different geographic areas.
  • The communications service provider 120 is configured to establish a connection with user communication device 110 to facilitate communications between the user communication device 110 and a recipient communication device 160 a, 160 b. In one implementation, the communications service provider 120 is a computer system configured to provide online services to users, including data and/or voice services. The online services may include communications services, such as, for example, one or more of e-mail services, instant messaging services, chat services, VoIP services, and traditional telephony services, and content provisioning services, such as, for example, Internet access (e.g., access to the World Wide Web) and/or access to online content (e.g., access to otherwise restricted or proprietary content).
  • The communications service provider 120 includes a user data store 122 and a telephone number data store 124. The user data store 122 is one or more locally or remotely accessible storage devices configured to store user records that include information related to registered users of the communications service provider 120. The user data store 122 may include information necessary to perform authentication of users and/or user communication devices. For example, the user data store 122 may include a service level identifier (e.g., a screen name) and password for users of the communications service provider 120. Alternatively or additionally, the user data store 122 may include information to automatically identify users when the user accesses the communications service provider 120. For example, the user data store 122 may include device authentication information, such as an IP address or device identifier of a particular user device, and/or may include information necessary to verify a cookie stored on, for example, the user communication device 110. The user data store 122 may also include user contact information such as a physical address (i.e., street address, city, state, and zip code), an instant messaging screen name, an e-mail address, and/or telephone numbers (e.g., a cell phone number). In one implementation, the user data store 122 is configured to store a list of physical addresses where a user establishes a connection to communications service provider 120. The list of physical addresses may include, for example, physical addresses previously submitted to the communications service provider 120 and/or physical addresses detected by the communications service provider 120 where the user has previously connected. The user data store 122 may also store a current physical address where the user is using the user is communication device 110 to connect to the communications service provider 120. In one implementation, the communications service provider 120 provides the user communication device 110 with a location key to include with subsequent communications after the current physical address of the user accessing the communications service provider 120 with the user communication device 110 has been determined. The current physical address may be explicitly supplied by the user, may be selected by the user from the list of physical addresses associated with the user, may be detected by the service provider, and/or may be automatically sent to the service provider during operation of the user communication device 110. The current physical address may be determined when the user establishes a connection to the communications service provider 120 using the user communication device 110 and may be updated to reflect changes in the physical address of the user during the connection to the communications service provider 120. The current physical address may be used to identify the user and assign a temporary telephone number as described below.
  • The telephone number data store 124 is one or more locally or remotely accessible storage devices configured to store telephone number records associated with the communications service provider 120. The telephone number data store 124 may be included on the same storage device as the user data store 122 or may be included on a different storage device. In one implementation, the telephone number data store 124 includes a pool of geographically-correct telephone numbers for those physical service addresses from which users may connect to the communications service provider 120. For example, the telephone number data store 124 may include at least one telephone number geographically-correct for each of the geographic areas the communications service provider 120 services. The telephone numbers included in the telephone number data store 124 may be temporarily assigned to users connected to the communications service provider 120 for purposes of identification and as return call numbers (e.g., when the user communication device 110 is not associated with a telephone number) as described below.
  • The data network 130 is configured to enable communications between devices connected to the data network 130. For example, the data network 130 may be configured to enable communications between the user communication device 110, the communications service provider 120, the gateway 140, and the recipient communication device 160 a. The data network 130 may include, for example, one or more of the Internet, Wide Area Networks (WANs), Local Area Networks (LANs), analog or digital wired and wireless is telephone networks (e.g., a PSTN, Integrated Services Digital Network (ISDN), and Digital Subscriber Line (xDSL)), radio, television, cable, satellite, and/or any other delivery or tunneling mechanism for carrying data or VoIP services. Data network 130 may include multiple networks or subnetworks, each of which may include, for example, a wired or wireless data pathway.
  • The gateway 140 is configured to enable communications between data network 130 and telephone network 150. For example, the gateway 140 may convert communications from data network 130 to communications suitable for delivery over telephone network 150 and may convert communications from telephone network 150 to communications suitable for delivery over data network 130. In one implementation, the gateway 140 is a PSTN gateway configured to convert communications from data network 130 (e.g., IP packets) to communications suitable for delivery by a PSTN. By enabling communications between data network 130 and telephone network 150, the gateway 140 enables communications between a device connected only to data network 130 and a device connected only to the telephone network 150.
  • The telephone network is configured to enable communications between devices connected to the telephone network 150. For example, the telephone network may be configured to enable communications between the gateway 140 and the recipient communication device 160 b. The telephone network 130 may include a circuit-switched voice network, a packet-switched data network, or any other network able to carry voice communications. For example, circuit-switched voice networks may include the PSTN, and packet-switched data networks may include networks based on the Internet protocol (IP), X.25, or Frame Relay, or other comparable technologies and may support voice using, for example, VoIP, or other comparable protocols used for voice data communications.
  • The recipient communication devices 160 a, 160 b are configured to exchange communications with the user communication device 110. For example, the recipient communication devices 160 a, 160 b may be configured to receive communications from and/or send communications to the user communication device 110. The recipient communication devices 160 a, 160 b may be configured to initiate communication sessions with the user communication device 110 and/or establish communication sessions with the user communication device 110 initiated by the user communication device 110. For example, the recipient communication devices 160 a, 160 b may be configured to place calls to the user communication device 110 and/or receive calls from the user communication device 110. In one implementation, the recipient communication device 160 a may be connected to data network 130 and may exchange communications with the user communication device 110 over the data network 130. For example, the communications service provider 120 may be configured to establish a communication session between the user communication device 110 and the recipient communication device 160 a and the recipient communication device 160 a may then exchange communications with the user communication device 110 directly over data network 130 or may exchange communications with the user communication device 110 through the communications service provider 120. In another implementation, the recipient communication device 160 b may be connected to the telephone network 150 and may exchange communications with the user communication device 110 utilizing the telephone network 150, the gateway 140, and the data network 130. For example, the communications service provider 120 may be configured to establish a communication session between the user communication device 110 and the recipient communication device 160 b and the recipient communication device 160 b may then exchange communications with the user communication device 110 directly via the telephone network 150, gateway 140, and data network 130 or may exchange communications with the user communication device 110 through the communications service provider 120.
  • In one implementation, the user communication device 110 does not include information sufficient to enable identification of the user and/or its location and the user communication device 110 may not include an incoming telephone number. For example, the user communication device 110 may be a computer system executing a voice messaging application. In this implementation, the communications service provider 120 may be configured to assign the user communication device 110 a temporary telephone number from the telephone number data store 124 that is geographically correct for the user communication device 110. The temporary telephone number may be included in communications with the recipient communications device 160 a or 160 b such that the recipient communication device 160 a or 1160 b may be able to determine the geographic location of the user communication device 110 by analyzing the temporary telephone number. For example, the geographic location of the user communication device 110 may be determined by comparing the temporary telephone number to a mapping of telephone numbers to locations. In another implementation, the temporary telephone number may be is assigned to the user communication device 110 when the user communication device 110 establishes a connection with the communications service provider 120 and enable the user communication device 110 to receive calls placed to the temporary telephone number. In this implementation, the communications service provider 120 is configured to receive a call placed to the temporary telephone number, determine that the user communication device 110 is currently associated with the temporary telephone number, and complete the call to the user communication device 110. For example, if a call between the user communication device 110 and the recipient communication device 160 a or 160 b, the recipient communication device 160 a or 160 b may call the user communication device 110 using the temporary telephone number. After the user communication device 110 disconnects from the communications service provider 120 or ends a communication session with a recipient communication device 160 a or 160 b, the communications service provider 120 is configured to return the temporary telephone to the pool of available telephone numbers.
  • In some implementations, the communications service provider 120 may automatically assign a temporary telephone number to the user communication device 110 when the communications service provider 120 receives a request to engage in a communication session from the user communication device 110. For example, the communications service provider 120 may be configured to determine that the type of communication session requested by the user communication device 110 would benefit from having a temporary telephone number. In this example, the communications service provider 120 automatically assigns a temporary telephone number to the user communication device 110 based on the current physical address for the user communication device 110 stored in user data store 122 or based on a location key included in the communication request from the user communication device 110. In another example, the communications service provider 120 may determine that the type of communication session requested by the user communication device 110 would not benefit from having a temporary telephone number and would not automatically assign a temporary telephone number.
  • FIG. 2 is a flow chart of a process 200 for determining a location key for a user device in a communications system. For convenience, particular components described with respect to FIG. 1 are referenced as performing the process 200. However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 1.
  • The communications service provider 120 establishes a connection with user communication device 110 (210). For example, the communications service provider 120 may receive a request to establish a connection from the user communication device 110. In one implementation, the communications service provider 120 may also receive a service level identifier (e.g., a screen name) and password from the user communication device 110. In this implementation, the communications service provider 120 compares the service level identifier and password with information included in the user data store 122 to authenticate the user. If the communications service provider 120 determines that the service level identifier and password are authentic, the communications service provider 120 establishes an authenticated connection with the user. If the communications service provider 120 determines that the service level identifier and password are not authentic, the communications service provider 120 denies the connection request and sends an error message. In another implementation, the communications service provider 120 may automatically identify and authenticate users when a user accesses the communications service provider 120 based on information included in user data store 122. For example, the user data store 122 may include device authentication information, such as a device identifier of a particular user device, and/or may include information necessary to verify a cookie stored on, for example, the user communication device 110. Additionally or alternatively, the communications service provider 120 may establish a connection without requiring authentication and/or may maintain an established connection with a user communication device.
  • The communications service provider 120 determines a current location of the user communication device 110 (220). The communications service provider 120 may determine the current location of the user communication device 110 while establishing a connection with the user communication device 110 or after establishing a connection with the user communication device 110. For example, the communications service provider 120 may receive an indication of the current location of the user communication device 110. In one implementation, the user provides his or her current location by explicitly providing his or her address (e.g., entering location in a text box provided in a graphical user interface (GUI) of the communications service provider 120 or orally reciting location in a voice communication). In another implementation, the communications service provider 120 maintains a list of potential locations for the user and the user selects a location from a list provided by the communications service provider 120 (e.g., selecting a location from a drop-down menu included in a GUI of the communications service provider 120 or selecting a location using an IVR provided by the communications service provider 120). In another example, the communications service provider 120 may detect the current location of the user communication device 110 and/or may automatically receive the location of the user communication device during operation of the user communication device 110. For example, the communications service provider 120 may determine a current location of the user communication device 110 based on an IP address the user communication device is using to connect to the data network 130, may receive global positing system (GPS) data indicating an address of the user communication device 110, and/or may determine a current location using triangulation from a plurality of wireless communication points the user communication device 110 is using to access the data network 130. In another example, the location may be determined from radios connected to the user communication device 110. In this example, the location may be explicitly determined from radios connected to the user communication device 110, may be indirectly determined from radios connected to the user communication device 110, or derived from radios connected to the user communication device 110. The location determined may be a location of the user and/or a location of the user device.
  • The communications service provider 120 determines a location key for the user communication device 110 based on the current location of the user communication device 110 (230). The location key is an identifier used by the communications service provider 120 to identify a particular location. The communications service provider 120 may generate the location key by applying an algorithm to the current location of the user or by accessing a location key for the current location of the user from a table stored locally or remotely from the communications service provider 120 or may randomly generate a unique key to associate with the location. The location key may enable the communications service provider 120 or another entity to determine the location associated with the location key and may be directly used in routing and processing communications.
  • The communications service provider 120 stores and/or sends the location key to the user communication device 110 (240). For example, the service provider may store the location key for the current location of the user in the user data store 122 associated with the user's records. In this example, the communications service provider 120 may retrieve the location key for the user when needed (e.g., when the user places a call). Additionally or alternatively, the communications service provider 120 may send the location key to the user communication device 110. The user communication device 110 may store the location key and include the location key in subsequent communications sent by the user communication device 110. By including the location key in communications sent from the user communication device 110, the communications service provider 120 or another system or service may be able to request access to the location information associated with the location key to determine the location from which the communications originated.
  • FIG. 3 is a flow chart of a process 300 for assigning a temporary telephone number to a user device in a communications system. For convenience, particular components described with respect to FIG. 1 are referenced as performing the process 300. However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 1.
  • The communications service provider 120 establishes a connection with the user communication device 110 (310) and determines a current location of the user communication device 110 (320). Establishing a connection to and determining a current location of the user communication device 110 have been described above with respect to FIG. 2.
  • The communications service provider 120 assigns a temporary telephone number to the user communication device 110 based on the current location of the user communication device 110 (330). For example, the user communication device 110 may not have a registered telephone number in the PSTN and may not be otherwise configured to receive calls placed to a telephone number. In one implementation, the communications service provider 120 maintains a pool of telephone numbers associated with the communications service provider 120. The pool of telephone numbers may, for example, include at least one telephone number that is geographically correct for each of the geographic areas serviced by the service provider. The communications service provider 120 may be configured to temporarily assign one of the telephone numbers included in the pool of telephone numbers to the user communication device 110. For example, the communications service provider 120 may associate the user with the telephone number in electronic storage such that calls received at the telephone number will be identified as calls placed to the user.
  • The communications service provider 120 receives a call for the temporary telephone number (340). For example, the communications service provider 120 receives a call from a recipient communication device 160 a or 160 b through one or more of data network 130, gateway 140, and telephone network 150.
  • The communications service provider 120 completes the call to the user communication device 110 (350). For example, the communications service provider 120 provides the communications sent to the temporary telephone number to the user communication device 110 through the connection over data network 130 previously established between the communications service provider 120 and the user communication device 110. In this implementation, the user communication device 110 can receive calls placed to the temporary telephone number even though the user communication device 110 does not have an incoming telephone number. The communications service provider 120 enables the user communication device 110 to participate in the call as if the temporary telephone number was the incoming telephone number for the user communication device 110.
  • The communications service provider 120 receives an indication that the user communication device 110 has disconnected from the communications service provider 120 (360). For example, the communications service provider 120 receives an indication that the connection between the communications service provider 120 and the user communication device 110 is no longer available (e.g., the user has logged off or otherwise ended the connection).
  • In response to receiving the indication that the user communication device 110 has disconnected, the communications service provider 120 returns the temporary telephone number to the pool of available telephone numbers (370). For example, the communications service provider 120 may disassociate the temporary telephone number from the user communication device 110 and designate the telephone number as available in electronic storage. The communications service provider 120 may assign the temporary telephone to another user communication device connected to the communications service provider 120 such that the other user communication device will receive calls placed to the temporary telephone number.
  • FIG. 4 is a flow chart of a process 400 for assigning a temporary telephone number to a user device in a communications system. For convenience, particular components described with respect to FIG. 1 are referenced as performing the process 400. However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 1.
  • The communications service provider 120 receives a request to establish a communication session from the user communication device 110 (410). For example, the communications service provider 120 may receive a request from the user communication device 110 to establish a communication session with the recipient communication device 160 a or 160 b. The user communication device 110 may have previously established a connection with the communications service provider 120 or the request to establish a communication session may be an initial communication to the communications service provider 120. The request may be to establish a voice communication session and/or a data communication session. For example, the request may be a request to place a call to a VoIP telephone, a request to place a call to a telephone connected to the PSTN, or a request to establish an instant messaging session.
  • The communications service provider 120 determines whether the type of communication session would benefit from a temporary telephone number (420). In one implementation, the communications service provider 120 may analyze the communication session request to determine whether a temporary telephone number would be beneficial. For example, the communications service provider 120 may determine whether the type of communication session would benefit from having a telephone number with which the recipient may be able to determine the location of the user or place a return call to the user. The service provider, for example, may assign a temporary telephone number if the request is to place a call to a telephone connected to the PSTN, but may not assign a temporary telephone number if the request is to establish an instant messaging session. In another implementation, the communications service provider 120 may determine to assign a temporary telephone number to some requests to establish a communication session of a particular typo, but not other requests to establish a communication session of that type. For example, the communications service provider 120 may determine not to assign a temporary telephone number for a request to place a call to a telephone of a friend connected to the PSTN, but may determine to assign a temporary telephone number for a request to place a call to an emergency services provider connected to the PSTN. In a further implementation, the communications service provider 120 may determine to assign a temporary telephone number for all requests to establish a communication session.
  • The communications service provider 120 determines a current location of the user communication device 110 (430). The communications service provider 120 may determine a current location of the user communication device as described above with respect to FIG. 2. Additionally or alternatively, the communications service provider 120 may access information identifying the current location of the user communication device 110 previously determined. For example, in one implementation, the communications service provider 120 may retrieve a current location of the user communication device 110 from electronic storage. In another implementation, the communications service provider 120 may access a location key associated with the user communication device 110. For example, the communications service provider 120 may retrieve a location key associated with the user communication device 110 from electronic storage or may access a location key associated with the user communication device 110 included in communications sent from the user communication device 110 to the communications service provider 120 (e.g., the location key may be included in the request to establish the communication session).
  • The communications service provider 120 assigns a temporary telephone number to the user communication device 110 based on the current location of the user device (440). The temporary telephone number may be geographically correct for the user communication device 110 and the communications service provider 120 may assign the temporary telephone number to the user communication device 110 as described above with respect to FIG. 3.
  • The communications service provider 120 establishes the communication session requested by the user communication device 110 including the temporary telephone number in information used to establish the communication session (450). For example, the temporary telephone number may be included in call set up information as the call back telephone number in a telephone call and may be used to determine the identity and/or location of the user communication device 110. The temporary telephone number may also be used in establishing the communication session. For example, if the user communication device 110 places a call to emergency services, the temporary telephone number is used to determine the location of the user communication device 110 and route the call to the appropriate public safety answering point for the location of the user communication device 110.
  • The communications service provider 120 receives an indication that the communication session has ended (460). For example, the communications service provider 120 receives an indication that the user communication device 110 has ended the communication session or that the communication session has been otherwise ended. In one implementation, the indication enables the communications service provider 120 to determine whether the communication session ended due to the communication session completing successfully or the communication session ended due to an error.
  • The communications service provider 120 returns the temporary telephone number to the pool of available telephone numbers (470). The communications service provider 120 may return the temporary telephone number to the pool of available telephone numbers immediately upon receiving the indication that the communication session has ended or may wait a threshold amount of time after receiving the indication that the communication session prior to returning the temporary telephone number to the pool of available telephone numbers. Waiting a threshold amount of time prior to returning the temporary telephone number to pool of available numbers may enable the communication session recipient to place a return call to the user communication device 110 when the communication session ends due to an error. In one implementation, the communications service provider 120 immediately returns the temporary telephone to the pool of available telephone numbers when the indication that the communication session has ended indicates that the communication session ended due to the communication session completing successfully and waits a threshold amount of time prior to returning the temporary telephone to the pool of available telephone numbers when the indication that the communication session has ended indicates that the communication session ended due to an error. In another implementation, the communications service provider 120 may wait a threshold amount of time for all communication sessions or may wait a threshold amount depending on the type of communication session. For example, the communications service provider 120 may wait a threshold amount of time for all calls placed to emergency services. In another implementation, the communications services provider may wait until the user has declared a new location associated with the user communication device 110. The communications service provider 120 may return the temporary telephone number to the pool of available telephone numbers as discussed above with respect to FIG. 3. Once the communications service provider 120 returns the temporary telephone number to the pool of available telephone numbers, the temporary telephone number may be assigned to the user communication device 110 in a subsequent communication session request or may be assigned to a different user communication device in a subsequent communication session request.
  • FIG. 5 illustrates an example of a communications system 500 configured to handle emergency services communications. The communications system 500 includes a user communication device 510, a communications service provider 520, an enhanced emergency services provider 540, an emergency services gateway 550, a selective router 560, a public safety answering point (PSAP) 570, and an automatic location identification database 580. The data network 530 facilitates communications between the user communication device 510, the communications service provider 520, the enhanced emergency services provider 540, and the emergency services gateway 550.
  • The user communication device 510 and the data network 530 are configured in a manner similar to user communication device 110 and data network 130 described above with respect to FIG. 1.
  • The communications service provider 520 is configured in a manner similar to communications service provider 120 described above with respect to FIG. 1. More specifically, the communications service provider 520 includes a server 522, an emergency services proxy server 524, a user data store 526, and a telephone number data store 528. The server 522 may be configured to communicate with the emergency services proxy server 524 and access the user data store 526 and the telephone number data store 528. The server 522 may be configured to control operations of the communications service provider 520 similar to the operations described above with respect to communications service provider 120.
  • The emergency services proxy server 524 is configured to handle requests for a communication session with an emergency services provider received by communications service provider 520. For example, the emergency services proxy server 524 is configured to handle a 9-1-1 call placed by the user communication device 510. The emergency services proxy server 524 may be configured to communicate with the server 522 and access the user data store 526 and the telephone number data store 528. The emergency services proxy server 524 is configured to handle an emergency services call in a manner similar to communications service provider 120 described above with respect to FIG. 1. In one implementation, when the communications service provider 520 receives a request from a user device to establish a communication session with an emergency services provider, the emergency services proxy server 524 may be configured handle the request. In this implementation, the emergency services proxy server 524 may be configured to assign a temporary, geographically-correct telephone number to the user device requesting to establish a communication session with an emergency services provider as discussed above, access a previously stored key or determine a location key for the user device, and relay the request to enhanced emergency service provider 540 including the temporary telephone number and the location key. For example, user communication device 510 may be a VoIP endpoint without a registered telephone number in the PSTN and may place an emergency services call to communications service provider 520. The emergency services proxy server 524 may assign a temporary, geographically-correct telephone number on the PSTN to and obtain a location key for the user communication device 510. The emergency services proxy server 524 may relay the call to the enhanced emergency service provider 540 including the temporary telephone number and the location key such that the emergency service call may be routed to an appropriate PSAP and the user communication device 510 may be able to receive a return call from the PSAP at the temporary telephone number if the initial call becomes disconnected due to an error.
  • The user data store 526 and the telephone number data store 528 are configured to operate in a manner similar to the user data store 122 and the telephone number data store 124 described above.
  • The server 522 and the emergency services proxy server 524 may include one or more local or remote electronic systems. The user data store 526 and the telephone number data store 528 may include one or more locally or remotely accessible storage devices.
  • The enhanced emergency services provider 540 is configured to facilitate handling of a request to establish a communication session with an emergency services provider by enabling interoperability of non-traditional communication networks with established, traditional PSTN-based emergency services. For example, the enhanced emergency services provider 540 may be configured to operate as set forth in the National Emergency Number Association (NENA) technical specifications for connecting VoIP callers to emergency services. [See Interim VoIP Architecture for Enhanced 9-1-1 Services (i2), NENA08-011_V112-06-05](“NENA Guidelines”). The enhanced emergency services provider 540 includes an emergency call server 542, a positioning server 544, a user data store 546, and a routing database 548.
  • The emergency call server 542 is configured to receive a request to establish an emergency services communication session from the communications service provider 520. The emergency call server 542 may be configured to communicate with the positioning server 544 to receive routing instructions and query keys to include with its further communications. In one implementation, the emergency call server 542 sends the location key it received from the communications service provider 520 to the positioning server 544 and receives back the emergency services routing number and the emergency services query key needed to relay the call setup to the proper emergency services gateway 550. The so emergency call server 520 may be a call server/proxy server or Routing Proxy/Redirect Server described in the NENA guidelines and the location key may be a location key described in the NENA Guidelines. The emergency services routing number may be an Emergency Services Routing Number (ESRN) as described in the NENA Guidelines and the emergency services query key may be an Emergency Services Query Key (ESQK) described in the NENA Guidelines.
  • The positioning server 544 is configured to update the data stores of the enhanced emergency services provider 540 and determine call routing information based on the temporary telephone number and location key included in the emergency services communication request. The positioning server 544 may be configured to communicate with the emergency call server 542 and access the user data store 546 and the routing database 548. In one implementation, the positioning server 544 determines routing information for the emergency services call based on the temporary telephone number and the location key included in the emergency services call. The positioning server 544 may allocate an ESQK and associate the ESQK with location information for the user such that the positioning server 544 may provide location information for the user when later presented with the ESQK. The positioning server 544 may provide the routing information to the emergency call server 542 such that the emergency call server 542 may update the call information and relay the call to the appropriate gateway. The positioning server 544 may be a VoIP Positioning Center and the routing information may include an Emergency Services Routing Number and Emergency Services Query Key as described in the NENA Guidelines. The positioning server 544 may also communicate with the automatic location identification database 580 to provide location and call back number information to PSAP 570 as described below.
  • The user data store 546 is configured to store a current location and/or telephone number of a user device requesting to establish a communication session with an emergency services provider. For example, the user data store 546 may be configured to operate in a manner similar to the user data store 526 described above or the user data store 546 may be configured to obtain user information from the user data store 526.
  • The routing database 548 is configured to store data necessary to determine routing information for establishing a communication session with an emergency services provider. In one implementation, the routing database 548 includes data identifying an emergency services zone and routing information for that emergency services zone for a received location. For example, the routing database 548 may include a table mapping locations with emergency services zones and corresponding routing information. The routing database 548 may be an ESZ Routing Database as described in the NENA Guidelines.
  • The emergency call server 542, the positioning server 544, the user data store 546, and the routing database 548 may include one or more local or remote electronic systems and/or one or more locally or remotely accessible storage devices.
  • The emergency services gateway 550 is configured to enable communications between data network 530 and a PSAP. For example, the emergency services gateway 550 may convert communications from data network 530 to communications suitable for delivery to a PSAP. In one implementation, the emergency services gateway 550 may use routing information provided by enhanced emergency services provider 540 to select an appropriate selective router to route an emergency services call to an appropriate PSAP. The emergency services gateway 550 may enable an emergency services call to be routed to a PSAP over the PSTN. By enabling communications between data network 530 and a PSAP, the gateway 550 enables a device connected only to data network 530 to successfully complete an emergency services call. The emergency services gateway 550 may be an emergency services gateway as described in the NENA Guidelines.
  • The selective router 560 is configured to relay an emergency services call to an appropriate PSAP (e.g., PSAP 570). For example, the selective router 560 may relay an emergency services call from the user communication device 510 to the PSAP 570 based on the routing information provided by the enhanced emergency services provider 540. The selective router 560 may be a selective router as described in the NENA Guidelines.
  • The PSAP 570 is configured to receive an emergency services call and initiate the rendering of emergency services. For example, the PSAP 570 may receive an emergency services call originated by the user communication device 510 and initiate the rendering of emergency services to the user using the user communication device 510 (e.g., dispatching police, medical, or fire assistance). The PSAP 570 may be a PSAP as described in the NENA Guidelines.
  • The automatic location identification database 580 is configured to provide location and call back number information to the PSAP 570. The automatic location identification database 580 may include one or more local or remote electronic systems and/or one or more locally or remotely accessible storage devices. When the PSAP 570 receives an emergency services call, the PSAP 570 may, for example, communicate with the automatic location identification database 580 to obtain location and call number data related to the emergency services call. In one implementation, the PSAP 570 requests location and call back number information from the automatic location identification database 580 when the PSAP 570 receives an emergency services call and the automatic location identification database 580, in turn, requests the information from the enhanced emergency services provider 540. In this implementation, the positioning server 544 of the enhanced emergency services provider 540 accesses the information from the user data store 546 and provides the information to the automatic location identification database 580. Based on the information provided by the automatic location identification database 580, the PSAP 570 may be able to determine a location related to an emergency services call and place a return call to user device originating an emergency services call if the call becomes disconnected. The automatic location identification database 580 may be an Automatic Location Identification. Database as described in the NENA Guidelines.
  • FIG. 6 is a flow chart of a process 600 for handling an emergency services call in a is communications system. For convenience, particular components described with respect to FIG. 5 are referenced as performing the process 600. However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components shown by FIG. 5.
  • The communications service provider 520 receives an emergency services call from the user communication device 510 (610). For example, the user communication device 510 may be a VoIP endpoint without a registered telephone number in the PSTN and the communications service provider 520 may receive a 911 call placed by the user communication device 510. In one implementation, the communications service provider 520 receives the emergency services call and directs the call to the emergency services proxy server 524 for processing.
  • The communications service provider 520 determines a current location of the user communication device 510 (620). The communications service provider 520 may determine a current location of the user communication device 510 in a manner similar to the communications service provider 120 as described above with respect to FIGS. 1-4.
  • The communications service provider 520 assigns a temporary telephone number to and obtains a location key for the user communication device 510 based on the current location of the user communication device 510 (630). For example, the emergency services proxy server 524 accesses information identifying the current location of the user communication device 510, accesses available telephone number data from the telephone number data store 528, and assigns a temporary telephone number to the user communication device 510. In one implementation, the emergency services proxy server 524 assigns a telephone number that is geographically correct for the user communication device 510. For example, the emergency services proxy server 524 may determine the emergency services zone that corresponds to the current location of the user communication device 510 and retrieve an available telephone number corresponding to that emergency services zone from the telephone number data store 528. The emergency services proxy server 524 may store information reflecting the assignment of a temporary telephone number in the user data store 526 and/or the telephone number data store 528.
  • The emergency services proxy server 524 also obtains a location key for the user communication device 510. In one implementation, the emergency services proxy server 524 generates a location key for the user communication device 510 based on the current location of the user device. In another implementation, the emergency services proxy server 524 accesses a previously stored location key associated with the user communication 510 from electronic storage. In a further implementation, the user communication device 510 includes a location key in information included in the emergency services call and the emergency services proxy server 524 analyzes the emergency services call to obtain the location key. The emergency services proxy server 524 may store information identifying the location key for the user communication device 510 in the user data store 526 and/or the telephone number data store 528.
  • The communications service provider 520 relays the emergency services call to the enhanced emergency services provider 540 (640). For example, the emergency services proxy server 524 updates the emergency services call information to include the temporary telephone number and the location key and sends the updated emergency services call to the enhanced emergency services provider 540. The enhanced emergency services provider 540 receives the updated emergency services call for processing.
  • The enhanced emergency services provider 540 determines routing information for the emergency services call based on the temporary telephone number and/or location key (650). For example, the positioning server 544 may access information stored in routing database 548 to determine appropriate routing information for the emergency services call based on the temporary telephone number and/or location key. In one implementation, the positioning server 544 analyzes the temporary telephone number to determine the emergency services zone that corresponds to the temporary telephone number. Based on the determined emergency services zone, the positioning server 544 accesses routing information for the determined emergency services zone from the routing database 548. In another implementation, the positioning server 544 analyzes the location key to determine the emergency services zone and accesses routing information for the determined emergency services zone from the routing database 548. In a further implementation, the positioning server 544 utilizes both the temporary telephone number and the location key to determine routing information for the emergency services call. The positioning server 544 may also determine routing information based on location information stored in the user data store 546 or otherwise included in the call information. The enhanced emergency services provider may store the call information, including the temporary telephone number and location key, in the user data store 546.
  • The enhanced emergency services provider 540 routes the emergency services call to the appropriate PSAP (660). For example, the emergency call server 542 may receive the call information and routing information from the positioning server 544 and may send the emergency services call to the PSAP 570. In one implementation, the emergency call server 542 sends the emergency services call with updated routing information to the emergency services gateway 550, which sends the emergency services call to the selective router 560.
  • The selective router 560 routes the emergency services call to the PSAP 570. The automatic location identification database 580 provides the PSAP 570 with location information and a call back number (670). In one implementation, the automatic location identification database 580 communicates with the enhanced emergency services provider 540 to obtain the location information and the call back number. In another implementation, the automatic location identification database 580 provides the PSAP 570 with location information and a call back number stored in the automatic location identification database 580. After receiving information from the automatic location identification database 580, the PSAP 570 may have the current location of the user communication device 510 and a number with which the PSAP 570 may place a return call to the user communication device 510 in the event that the initial call becomes disconnected.
  • FIG. 7 is a flow chart of a process 700 for handling an emergency services call in a communications system. For convenience, a user communication device, a communications service provider, and a public safety answering point are referenced as performing the process 700. However, similar methodologies may be applied in other implementations where different components are used to define the structure of the system, or where the functionality is distributed differently among the components. For example, the process 700 may be performed by the components described with respect to FIG. 5 and the communications service provider 520 and the enhanced emergency service provider 540 may collectively perform the processes shown as being performed by the service provider in FIG. 7.
  • The user communication device initiates a call for emergency services (705). For example, the user communication device may be a VoIP telephone that has no registered telephone number in the PSTN, a user may dial 9-1-1 using the VoIP telephone, and the VoIP telephone may place an emergency services call in a format used by VoIP.
  • The communications service provider receives the call from the user communication device (710). For example, the communications service provider may be a VoIP service provider configured to handle calls placed by the user communication device and receives the emergency services call from the user communication device.
  • The communications service provider determines a location of the user communication device (715). The communications service provider may determine a location of the user communication device in a manner similar to the communications service provider 120 or the communications service provider 520 described above with respect to FIGS. 1-6.
  • The communications service provider accesses a pool of temporary telephone numbers (720). For example, the communications service provider may maintain, in electronic storage, a pool of temporary telephone numbers with which the communications service provider may associate with user communication devices and access the pool of temporary telephone numbers from the electronic storage.
  • The communications service provider selects a temporary telephone number from the pool based on the determined location of the user communication device (725). For example, the communications service provider may analyze the pool of temporary telephone numbers and select a temporary telephone number that corresponds to the location of the user communication device. In one implementation, the communications service provider may store location information for each of the temporary telephone numbers in the pool of temporary telephone numbers and compare the location of the user communication device with the location information to determine a match. In another implementation, the communications service provider may associate each service address it has knowledge of with a block of temporary telephone numbers and pick one from the block when presented with a corresponding location.
  • The communications service provider associates the selected temporary telephone number with the user communication device (730). For example, the communications service provider may store information in electronic storage indicating that the temporary telephone number is associated with the user communication device. In one implementation, when the communications service provider receives a call placed by the user communication device, the communications service provider accesses information stored for the user communication device and handles the call from the user communication device based on the temporary telephone number associated with the user communication device. In another implementation, when the communications service provider receives a call placed to a temporary telephone number, the communications service provider accesses information stored for the temporary telephone number and handles the call to the temporary telephone number based on the user communication device associated with the temporary telephone number.
  • The communications service provider routes the call for emergency service to the PSAP providing the temporary telephone number in the call information (735). For example, the communications service provider may determine an appropriate PSAP to which to route the emergency services call based on the location of the user communication device and route the call according to routing information for the appropriate PSAP. The communications service provider includes the temporary telephone number in call information associated with the call. The call information that includes the temporary telephone is sufficient to identify the temporary telephone number. For example, the call information may be information used for routing the call and/or information used in determining a telephone number associated with a call for caller identification. In one implementation, the communications service provider may route the call to an emergency service gateway providing the temporary telephone number in call information associated with the call. In this implementation, the emergency services gateway may be configured to route the call to the appropriate PSAP based on the call information.
  • The PSAP receives the call and call information associated with the temporary telephone number (740). The temporary telephone number is a geographically-correct telephone number for the caller 705 and may be used to call back the caller. For example, the PSAP receives the call and establishes communications with the user communication device.
  • The PSAP determines the location of the user communication device based on the temporary telephone number (745). For example, the PSAP accesses the call information, provides identifying information to another device (e.g., an automatic location identification database), and receives location information and the temporary telephone number from the other device. Determining the location based on the temporary telephone number may enable the PSAP to verify the location of the user and dispatch emergency services to the user without requiring the user to identify a location because the location was previously identified and associated with the temporary telephone number. For example, determining the location based on the temporary telephone number may enable the PSAP to dispatch emergency services to the user using the user communication device in situations where the call becomes disconnected prior to the user identifying the user's location to an emergency services operator.
  • The PSAP determines that the call for emergency services has become disconnected (750). For example, the PSAP may determine that the connection with the user communication device is no longer established because the user communication device ended the call or a communication error occurred. In one implementation, the PSAP may determine that the call has become disconnected when the user communication device fails to send new communications for a threshold period of time.
  • The PSAP initiates a return call to the temporary telephone number (755). For example, the PSAP places a call using information sufficient to route the call to a device associated with the temporary telephone number. In one implementation, the PSAP places a call to the temporary telephone number over the PSTN. In this implementation, the user communication device may be a VoIP telephone that has no registered telephone number in the PSTN and may not be able to directly receive a call placed from the PSAP.
  • The communications service provider receives the return call placed to the temporary telephone number (760). For example, the communications service provider may include a device (e.g., a gateway) associated with the temporary telephone number in the PSTN and the device may receive the return call.
  • The communications service provider determines that the temporary telephone number is associated with the user communication device (765). For example, the communications service provider may access information in electronic storage associated with the temporary telephone number and analyze the information to determine that the user communication device is currently associated with the temporary telephone number.
  • The communications service provider routes the return call to the user communication device (770). For example, the communications service provider accesses information indicating a method of communicating with the user communication device and the routes the emergency services call to the user communication device based on the method of communicating with the user communication device. In one implementation, the call to the temporary telephone number may be placed over the PSTN and the user communication device may be a VoIP telephone that has no registered telephone number in the PSTN. In this implementation, the communications service provider may receive the call placed over the PSTN and may route the call to the IP address associated with the VoIP telephone over an IP network.
  • The user communication device receives the return call initiated by the PSAP (775). For example, the user communication device receives the call and establishes communications with the PSAP. When the user communication device does not communicate in the manner of a traditional PSTN telephone, association of the temporary telephone number maintained by the communications service provider with the user communication device placing a call for emergency services may enable the user communication device to receive comparable emergency service to a traditional PSTN telephone by utilizing the traditional emergency services technology based on the PSTN.
  • The described systems, methods, and techniques may be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations of these elements. Apparatus embodying these techniques may include appropriate input and output devices, a computer processor, and a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor. A process embodying these techniques may be performed by a programmable processor executing a program of instructions to perform desired functions by operating on input data and generating appropriate output. The techniques may be implemented in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program may be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language may be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory.
  • Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and Compact Disc Read-Only Memory (CD-ROM). Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits).
  • It will be understood that various modifications may be made without departing from the spirit and scope of the claims. For example, a temporary telephone number and/or location key may be assigned to a user communication device to mask the identity and/or location of the user communication device, rather than provide this information. In addition, advantageous results still could be achieved if steps of the disclosed techniques were performed in a different order and/or if components in the disclosed systems were combined in a different manner and/or replaced or supplemented by other components. Accordingly, other implementations are within the scope of the following claims.

Claims (19)

1-35. (canceled)
36. A computer-implemented method for providing a temporary phone number, comprising the following operations performed by one or more processors:
receiving, from a device of a requester, a request for a temporary phone number;
determining location information for the device of the requester of the temporary phone number; and
storing the location information and call back information for the temporary phone number in an emergency services database based on the determined location information.
37. The method of claim 36, further comprising:
assigning the requester a geographically-correct telephone number as the temporary phone number.
38. The method of claim 36, further comprising:
routing a call to a public safety answering point based on the location of the requester.
39. The method of claim 36, wherein the user device is a mobile phone.
40. The method of claim 36, further comprising:
storing an association between the temporary telephone number and a service level identifier for the requester.
41. The method of claim 36, further comprising:
automatically assigning the temporary phone number in response to a communication request.
42. A non-transitory computer-readable medium storing instructions that, when executed by at least one processor, perform a plurality of operations for providing a temporary phone number, the operations comprising:
receiving, from a device of a requester, a request for a temporary phone number;
determining location information for the device of the requester of the temporary phone number; and
storing the location information and call back information for the temporary phone number in an emergency services database based on the determined location information.
43. The computer-readable medium of claim 42, the operations further comprising:
assigning the requester a geographically-correct telephone number as the temporary phone number.
44. The computer-readable medium of claim 42, the operations further comprising:
routing a call to a public safety answering point based on the location of the requester.
45. The computer-readable medium of claim 42, wherein the user device is a mobile phone.
46. The computer-readable medium of claim 42, the operations further comprising:
storing an association between the temporary telephone number and a service level identifier for the requester.
47. The computer-readable medium of claim 42, the operations further comprising:
automatically assigning the temporary phone number in response to a communication request.
48. A computer system for providing a temporary phone number, the system comprising:
a communication interface that receives, from a device of a requester, a request for a temporary phone number;
a computer-readable medium that stores instructions for determining location information for the device of the requester of the temporary phone number and stores the location information and call back information for the temporary phone number in an emergency services database based on the determined location information; and
a processor for executing the instructions.
49. The computer system of claim 48, the instructions further comprising instructions for assigning the requester a geographically-correct telephone number as the temporary phone number.
50. The computer system of claim 48, the instructions further comprising instructions for routing a call to a public safety answering point based on the location of the requester.
51. The computer system of claim 48, wherein the user device is a mobile phone.
52. The computer system of claim 48, the instructions further comprising instructions for storing an association between the temporary telephone number and a service level identifier for the requester.
53. The computer system of claim 48, the instructions further comprising instructions for automatically assigning the temporary phone number in response to a communication request.
US14/255,204 2007-01-18 2014-04-17 Identifying callers Abandoned US20140226533A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/255,204 US20140226533A1 (en) 2007-01-18 2014-04-17 Identifying callers

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US88554807P 2007-01-18 2007-01-18
US11/746,243 US8731163B1 (en) 2007-01-18 2007-05-09 Identifying callers
US14/255,204 US20140226533A1 (en) 2007-01-18 2014-04-17 Identifying callers

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/746,243 Continuation US8731163B1 (en) 2007-01-18 2007-05-09 Identifying callers

Publications (1)

Publication Number Publication Date
US20140226533A1 true US20140226533A1 (en) 2014-08-14

Family

ID=50692289

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/746,243 Active 2032-02-08 US8731163B1 (en) 2007-01-18 2007-05-09 Identifying callers
US14/255,204 Abandoned US20140226533A1 (en) 2007-01-18 2014-04-17 Identifying callers

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/746,243 Active 2032-02-08 US8731163B1 (en) 2007-01-18 2007-05-09 Identifying callers

Country Status (1)

Country Link
US (2) US8731163B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10499190B1 (en) * 2018-11-08 2019-12-03 Capital One Services, Llc Systems and methods for facilitating dynamic remote assistance networks
JP2020501421A (en) * 2016-12-06 2020-01-16 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Improved public information system
US11558507B1 (en) * 2021-07-30 2023-01-17 Zoom Video Communications, Inc. Location determination and telephone number distribution for emergency calls

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8561149B2 (en) * 2010-09-15 2013-10-15 Blackberry Limited Communications services management using services profile
US9661496B2 (en) * 2011-09-29 2017-05-23 Oki Electric Industry Co., Ltd. ID management device, program, user terminal, and ID management system
US9984374B2 (en) 2013-02-25 2018-05-29 Genesys Telecommunications Laboratories Inc. Mobile expert desktop
US9064259B2 (en) 2012-12-19 2015-06-23 Genesys Telecomminucations Laboratories, Inc. Customer care mobile application
US9088656B2 (en) 2012-12-12 2015-07-21 Genesys Telecommunications Laboratories, Inc. System and method for access number distribution in a contact center
US9479644B1 (en) * 2013-01-23 2016-10-25 West Corporation Customer service call processing and support agent access application
US9516167B2 (en) 2014-07-24 2016-12-06 Genesys Telecommunications Laboratories, Inc. Media channel management apparatus for network communications sessions
US9503577B1 (en) * 2015-07-10 2016-11-22 Verizon Patent And Licensing Inc. Emergency call service for groups of devices with a shared number

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689548A (en) * 1996-05-21 1997-11-18 Ericsson, Inc. Emergency call back using MSC numbers
US20030147519A1 (en) * 2002-02-07 2003-08-07 Ravi Jain Dynamic telephone numbering system
US20050053209A1 (en) * 2003-09-06 2005-03-10 D'evelyn Linda Kaye Method and system for availing participants in a special number call event and others of information contained in a plurality of data stores
US20060089140A1 (en) * 2002-07-08 2006-04-27 Shaobo Zhang Network and method of realizing local roaming for subscribers
US20070054663A1 (en) * 2005-09-06 2007-03-08 Goldman Stuart O Method for assigning an emergency temporary directory number to a roaming mobile unit
US20080089501A1 (en) * 2006-10-16 2008-04-17 Lucent Technologies Inc. Caller ID spoofing
US20080187108A1 (en) * 2005-06-29 2008-08-07 Engelke Robert M Device Independent Text Captioned Telephone Service
US20100239074A1 (en) * 2005-02-22 2010-09-23 At&T Intellectual Property Ii, Lp METHODS AND SYSTEMS FOR PROVIDING FOREIGN CALL BACK NUMBER COMPATIBILITY FOR VoIP E9-1-1 CALLS
US8223750B2 (en) * 2004-05-10 2012-07-17 At&T Intellectual Property I, L.P. Methods, apparatus and computer program products for associating local telephone numbers with emergency phone calls in a packet switched telephone system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6385312B1 (en) * 1993-02-22 2002-05-07 Murex Securities, Ltd. Automatic routing and information system for telephonic services
US7027575B1 (en) * 1999-08-04 2006-04-11 Lucent Technologies Inc. Method and apparatus for assigning telephone numbers
US7340262B1 (en) * 1999-11-18 2008-03-04 Qwest Communications International Inc. Method and system for providing location-sensitive call management services to a mobile subscriber
JP2002271478A (en) * 2001-03-12 2002-09-20 Nec Corp Telephone and method for controlling connection of call
US7546112B2 (en) * 2003-03-21 2009-06-09 Qisda Corporation Single telephone number calling method and calling apparatus for mobile unit
US20050079874A1 (en) * 2003-10-10 2005-04-14 Benco David S. Automatic updating of non-emergency telephone numbers for wireless handsets
US7673021B2 (en) * 2004-02-12 2010-03-02 Cisco Technology, Inc. Automated provisioning of phones in packet voice networks
US7565131B2 (en) * 2005-03-08 2009-07-21 Alcatel-Lucent Usa Inc. Emergency call back through intersystem paging
US8150363B2 (en) * 2006-02-16 2012-04-03 Telecommunication Systems, Inc. Enhanced E911 network access for call centers
WO2008039469A2 (en) * 2006-09-26 2008-04-03 Telecommunication Systems, Inc. Location object proxy

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5689548A (en) * 1996-05-21 1997-11-18 Ericsson, Inc. Emergency call back using MSC numbers
US20030147519A1 (en) * 2002-02-07 2003-08-07 Ravi Jain Dynamic telephone numbering system
US20060089140A1 (en) * 2002-07-08 2006-04-27 Shaobo Zhang Network and method of realizing local roaming for subscribers
US20050053209A1 (en) * 2003-09-06 2005-03-10 D'evelyn Linda Kaye Method and system for availing participants in a special number call event and others of information contained in a plurality of data stores
US8223750B2 (en) * 2004-05-10 2012-07-17 At&T Intellectual Property I, L.P. Methods, apparatus and computer program products for associating local telephone numbers with emergency phone calls in a packet switched telephone system
US20100239074A1 (en) * 2005-02-22 2010-09-23 At&T Intellectual Property Ii, Lp METHODS AND SYSTEMS FOR PROVIDING FOREIGN CALL BACK NUMBER COMPATIBILITY FOR VoIP E9-1-1 CALLS
US20080187108A1 (en) * 2005-06-29 2008-08-07 Engelke Robert M Device Independent Text Captioned Telephone Service
US20070054663A1 (en) * 2005-09-06 2007-03-08 Goldman Stuart O Method for assigning an emergency temporary directory number to a roaming mobile unit
US20080089501A1 (en) * 2006-10-16 2008-04-17 Lucent Technologies Inc. Caller ID spoofing

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020501421A (en) * 2016-12-06 2020-01-16 テレフオンアクチーボラゲット エルエム エリクソン(パブル) Improved public information system
US11140537B2 (en) 2016-12-06 2021-10-05 Telefonaktiebolaget Lm Ericsson (Publ) Public information system
US10499190B1 (en) * 2018-11-08 2019-12-03 Capital One Services, Llc Systems and methods for facilitating dynamic remote assistance networks
US10631128B1 (en) 2018-11-08 2020-04-21 Capital One Services, Llc Systems and methods for facilitating dynamic remote assistance networks
US10743137B2 (en) * 2018-11-08 2020-08-11 Capital One Services, Llc Systems and methods for facilitating dynamic remote assistance networks
US11558507B1 (en) * 2021-07-30 2023-01-17 Zoom Video Communications, Inc. Location determination and telephone number distribution for emergency calls
US20230034158A1 (en) * 2021-07-30 2023-02-02 Zoom Video Communications, Inc. Location Determination and Telephone Number Distribution for Emergency Calls

Also Published As

Publication number Publication date
US8731163B1 (en) 2014-05-20

Similar Documents

Publication Publication Date Title
US8731163B1 (en) Identifying callers
US9426304B2 (en) Answering or releasing emergency calls from a map display for an emergency services platform
US9357370B2 (en) System and method for communicating emergency information through messaging
JP4787834B2 (en) SIP or H.264 using dynamic IP address assignment. Method and system for locating a user for services based on H.323
US8903355B2 (en) Answering or releasing emergency calls from a map display for an emergency services platform
US7602886B1 (en) Method and system for using a network-provided location for voice-over-packet emergency services calls
US9055550B1 (en) Locating a voice over packet (VoP) device connected to a network
US6744856B2 (en) Method and apparatus for servicing emergency calls from a data network
US8620257B2 (en) Systems and methods for location management and emergency support for a voice over internet protocol device
US20070121598A1 (en) Emergency call methodology for VoIP communications
US20070153986A1 (en) Method and Apparatus for Routing Emergency Calls in a VoIP System
JP2006101516A (en) SYSTEM AND METHOD FOR SERVING VoIP EMERGENCY CALL
US20070153982A1 (en) Method and Apparatus for Routing Emergency Calls in a VoIP System
EP1972161A1 (en) A method and apparatus for routing emergency calls in a voip system
JP2008527909A (en) Method and apparatus for handling emergency calls in packet-switched radio access networks
US20110026687A1 (en) Emergency 911 services with just-in-time provisioning for voip customers
US20080153455A1 (en) System, method and program for managing voip calls such as 911 calls from mobile devices
EP1911302B1 (en) Technique for displaying information ancillary to a location of an entity in a communication network
US20150156320A1 (en) Systems and methods for locating endpoints in a communication network
US8412804B2 (en) Acquiring information in a communication network relative to a location
US20200120209A1 (en) Next generation emergency call routing over diverse networks
US9072074B1 (en) Method and apparatus for determining the location of a terminal adaptor
KR20010100190A (en) Calling service method using wire telephone terminal
KR20080054082A (en) Method for providing emerency call service in broadband convergence network

Legal Events

Date Code Title Description
AS Assignment

Owner name: AOL LLC, VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BATES, PETER CHARLES;INGUDAM, MONICA;CIMMET, CAROLYN;SIGNING DATES FROM 20070524 TO 20070612;REEL/FRAME:032748/0950

Owner name: AOL INC, VIRGINIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:AOL LLC;REEL/FRAME:032749/0001

Effective date: 20091204

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: VERIZON PATENT AND LICENSING INC., NEW JERSEY

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:VERIZON MEDIA INC.;REEL/FRAME:057453/0431

Effective date: 20210801

AS Assignment

Owner name: VERIZON MEDIA INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:OATH INC.;REEL/FRAME:063663/0486

Effective date: 20201005

Owner name: OATH INC., NEW YORK

Free format text: CHANGE OF NAME;ASSIGNOR:AOL INC;REEL/FRAME:063663/0928

Effective date: 20170612