US9270821B2 - Methods and apparatus to provide contact management with directory assistance - Google Patents

Methods and apparatus to provide contact management with directory assistance Download PDF

Info

Publication number
US9270821B2
US9270821B2 US13/916,173 US201313916173A US9270821B2 US 9270821 B2 US9270821 B2 US 9270821B2 US 201313916173 A US201313916173 A US 201313916173A US 9270821 B2 US9270821 B2 US 9270821B2
Authority
US
United States
Prior art keywords
directory
data object
caller
user
directory assistance
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.)
Expired - Fee Related
Application number
US13/916,173
Other versions
US20130272517A1 (en
Inventor
Larry B. Pearson
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.)
AT&T Intellectual Property I LP
Original Assignee
AT&T Intellectual Property I LP
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 AT&T Intellectual Property I LP filed Critical AT&T Intellectual Property I LP
Priority to US13/916,173 priority Critical patent/US9270821B2/en
Assigned to AT&T KNOWLEDGE VENTURES, L.P. reassignment AT&T KNOWLEDGE VENTURES, L.P. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PEARSON, LARRY B.
Publication of US20130272517A1 publication Critical patent/US20130272517A1/en
Application granted granted Critical
Publication of US9270821B2 publication Critical patent/US9270821B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4931Directory assistance systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/487Arrangements for providing information services, e.g. recorded voice services or time announcements
    • H04M3/493Interactive information services, e.g. directory enquiries ; Arrangements therefor, e.g. interactive voice response [IVR] systems or voice portals
    • H04M3/4931Directory assistance systems
    • H04M3/4933Directory assistance systems with operator assistance

Definitions

  • This disclosure relates generally to contact management and, more particularly, to methods and apparatus for providing contact management with directory assistance.
  • identifier When using communications systems, individual users are generally interconnected via user devices that are associated with a unique identifier to enable communication among multiple nodes within the communication systems.
  • the identifier is commonly referred to as a “telephone number,” which is dialed or inputted with an originating user device to reach a user device (e.g., a telephone) at a particular network termination point associated with the identifier.
  • a user device e.g., a telephone
  • each user may desire to retain these identifiers in an accessible medium, such as an electronic address book.
  • Electronic address books may be networked to allow accessibility from a plurality of user devices or transferred to store in local memory of a user device.
  • Electronic address books are commonly formatted in a data structure relating one or more records with varying information, such as addresses, names, etc.
  • Directory assistance services are commonly used in communication systems to provide listing information to communication systems users.
  • directory assistance services use a directory or a database containing names, addresses, and telephone numbers for respective users.
  • a directory assistance access code for example “411”
  • the user generally provides listing information such as a name (e.g., business name, surname, etc.) and/or locality information (e.g., zip codes, state names, cities, etc.) associated with a desired listing record.
  • a human operator or a recorded message file communicates additional listing information (e.g., a telephone number) associated with the particular listing record to the user.
  • additional listing information e.g., a telephone number
  • the user must memorize the listing information, manually record the listing information, or call back to the directory assistance service.
  • the directory assistance service After the directory assistance service communicates the additional listing information to the user, the directory assistance service creates a billing feed to charge a particular user for the service.
  • This billing feed may include a phone number or any other unique account identifier for the user and the phone number provided for the matched listing.
  • this billing feed is sent to a customer records information system (“CRIS”), which bills and records the directory service usage.
  • CRIS customer records information system
  • FIG. 1 is a schematic illustration of an example communication system.
  • FIG. 2 is a schematic illustration of an operator position of FIG. 1 .
  • FIG. 3 is a schematic illustration of an example directory assistance (“DA”) management system of FIG. 1 .
  • DA directory assistance
  • FIG. 4 illustrates an example directory data structure, which may be stored in the directory server(s) of FIG. 1 .
  • FIG. 5 illustrates a contact directory data structure, which may be stored in the contact directory of FIG. 1 .
  • FIG. 6 is an example sequence diagram of the example communication system of FIG. 1 .
  • FIG. 7 is a flow chart representation of example process that may be executed to implement the operator position of FIG. 1 .
  • FIG. 8 is a flow chart representation of example process that may be executed to implement the DA management system of FIG. 1 .
  • FIG. 9 is a schematic illustration of an example processing system that may be used to execute the example processes of FIGS. 7 and 8 and/or to implement the example operator position and DA management system of FIG. 1 .
  • FIG. 1 An example communication system 100 to provide directory assistance with contact management for users of the example system 100 is illustrated in FIG. 1 .
  • the example system 100 of FIG. 1 is useful to provide directory assistance with contact management among diverse user devices (e.g., analog phones, digital phones, voice-over-Internet-Protocol (“VoIP”) phones, cellular phones, personal computers, personal digital assistants (“PDAs”), MP3 players, set-top-boxes (“STBs”), etc.). Additionally, the example system 100 of FIG. 1 is useful to provide contact management among many users, each of whom may be associated with one or more user device(s).
  • VoIP voice-over-Internet-Protocol
  • STBs set-top-boxes
  • the example communication system 100 is configured to provide contact management by storing listing information associated with the use of a directory assistance (“DA”) service to a network device (e.g., a database server, a file server, etc.) that can be accessed or transferred among a plurality of user devices.
  • a directory service provider may include an automated system or human operator that responds to a user who places a telephone call. The user may then request a telephone number by providing particular listing information (e.g., city name, state name, business name, surname, etc.) associated with the telephone number. The example automated system or human operator then queries one or more directories or databases to match the provided listing information with a telephone number. When a match is determined, the example automated system or human operator provides the requested telephone number with any other listing information to the user.
  • a directory assistance (“DA”) service may include an automated system or human operator that responds to a user who places a telephone call. The user may then request a telephone number by providing particular listing information (e.g., city name, state name, business
  • the listing information provided to the user can be stored as a contact record and associated with the user in a network device (e.g., a database server, a file server, a network address book, etc.).
  • a network device e.g., a database server, a file server, a network address book, etc.
  • the example communication system 100 determines additional listing information with an example reverse lookup function using one or more data objects (e.g., a telephone number) from a billing record generated from the usage of the directory assistance service.
  • the example communication system 100 is configured to transfer this stored information from the network device to one or more user devices associated with a particular user on an aperiodic basis (e.g., based on event-based procedure(s), etc.) or a periodic basis (e.g., based on scheduled procedure(s), etc.).
  • aperiodic basis e.g., based on event-based procedure(s), etc.
  • a periodic basis e.g., based on scheduled procedure(s), etc.
  • FIG. 1 the example communication system 100 FIG. 1 is shown as a simplified block diagram with components of hardwired and/or wireless communications networks 102 and 103 .
  • FIG. 1 also shows the interaction between user devices 112 , 114 , 116 , and 118 associated with a particular user 110 , an operator position 130 , a directory 132 , a directory assistance (“DA”) management system 134 , and a contact directory 136 .
  • the example communication system 100 is illustratively shown with the network 102 configured as an example public switched telephone network, which communicatively couple the user 110 with the operator position 130 through user devices 112 and 114 , switches 104 and 109 , and communication links 140 , 142 , and 144 .
  • the example network 102 may be configured as any network that enables voice and/or data communication among user(s) and a directory assistance service, such as wireless mobile telephone networks, VoIP networks, etc.
  • the example communication system 100 is also shown with the network 103 , which may be implemented as one or more networks (e.g., local-area networks (“LANs”), wide-area networks (“WANs”), metropolitan-area networks, the Internet, digital subscriber line (“DSL”) networks, cable networks, power line networks, wireless communication networks, wireless mobile telephone networks, wireless fidelity (“Wi-Fi”) networks, and/or satellite networks).
  • the network 103 is shown with data links 158 , 156 , 154 , and 152 , which communicatively couple the contact directory 136 , SSP 104 , and user devices 116 and 118 .
  • the data links 152 - 158 may employ applications, protocols, networks, and/or hardware to communicatively couple each of the user devices 112 - 118 including, for example, hardwired or wireless communication schemes.
  • the user device 116 may be implemented with a personal computer or set-top-box that communicatively couples with the contact directory 136 and data link 154 via the Internet to exchange data using a common markup language, such as HyperText Markup Language (“HTML”), Extensible Markup Language (“XML”), etc.
  • HTML HyperText Markup Language
  • XML Extensible Markup Language
  • the user device 118 may be implemented with a mobile phone that communicatively couples with the contact directory 136 and data link 154 via a Wireless Application Protocol and a Wireless Markup Language.
  • each of the communication links 140 and 142 is coupled with a terminating user device 112 and 114 , which may include PDAs, cellular telephones, personal computers, television set-top-boxes, and telephone (e.g., an analog telephone, a digital telephone, a VoIP telephone), or any other user device that enables voice and/or data communication over the public switched telephone network 102 .
  • the additional network 103 is shown coupled with terminating devices 116 and 118 , which may include PDAs, cellular telephones, personal computers, television set-top-boxes, and telephone (e.g., an analog telephone, a digital telephone, a VoIP telephone), routers, switches, or any other device that enables voice and/or data communication over the network 103 .
  • each of the example user devices 112 - 118 has one or more unique device identifiers to distinguish the respective example user devices 112 - 118 from one another as well as from other user devices, thereby enabling communication between multiple nodes on the network.
  • a device identifier may generally identify a network termination point that connects to one or more user devices (e.g., a telephone number may connect a number of telephones).
  • the device identifier associated with a user device may be a unique alpha-numeric or numeric identifier (e.g., a telephone number, a byte address, an Internet Protocol (“IP”) Address, a Mobile Identification Number, etc.).
  • IP Internet Protocol
  • each of the user devices 112 and 114 coupled with the PSTN 102 may be assigned a ten digit number that is associated with a specific telephone line 140 and 142 shown in FIG. 1 .
  • the device identifiers may be associated with a single record in a data structure. As described below, the record may then be uniquely distinguished and associated with a particular user by a user identifier, such as a user name, a user number, and/or any other unique identifier.
  • a user identifier such as a user name, a user number, and/or any other unique identifier.
  • one or more user devices and device identifiers may be associated with multiple users and, thus, multiple records in a data structure, such as a telephone service and telephone number may be shared with multiple users.
  • the PSTN 102 incorporates the advanced intelligent network (“AIN”). Some of the components of the advanced intelligent network are shown in FIG. 1 to illustrate at least a part of the advanced intelligent network (“AIN”) 102 of a typical local exchange carrier.
  • the advanced intelligent network (“AIN”) uses the signaling system 7 (“SS7”) network for signal or system control message transport. The components thereof are well known to those skilled in the art.
  • SS7 signaling system 7
  • a plurality of central offices is provided in a typical public switched telephone network 102 .
  • a central office may include an electronic switch 104 known to those skilled in the art as a service switching point (“SSP”). The number of SSP switches depends on the number of users to be served by the public switched telephone network.
  • SSP service switching point
  • SSP is the AIN component of a typical electronic central office switch used by a local exchange carrier.
  • SSP and “switch” are generally used interchangeably and are understood to refer to a telecommunications switch having AIN capability and which may be utilized for connecting communication links or trunk circuits 146 .
  • SCP local service control point
  • STP signal transfer point
  • STP signal transfer point
  • STP signal transfer point
  • STP signal transfer point
  • SS7 data links 148 and 149 SS7 data links 148 and 149 .
  • Service control points such as SCP 108
  • high volume routing services such as call forwarding, number translating, and routing.
  • service control points are only used for database look up and routing services that take place prior to the logical completion of the call (i.e., the provision of a ringing signal to the called user and ring back to the calling user).
  • Directory assistance is a well-known service in public switched telephone network 102 , and is generally identified in North America with a telephone number, such as “411” or “555-1212.” Directory assistance as discussed herein may also be configured on the networks, as discussed above in connection with network 103 of FIG. 1 in the example communication system 100 of FIG. 1 .
  • the PSTN 102 of FIG. 1 includes a switch 109 that is coupled with an operator position 130 through the data link 144 .
  • the switch 109 is shown as an example Traffic Operator Position System (“TOPS”) switch to provide call routing and switching along with directory assistance services.
  • TOPS Traffic Operator Position System
  • the user 110 may dial a particular telephone number on the user device 112 , which is routed via the SSP 104 and the TOPS switch 109 to communicatively couple the user 110 with hardware, software, and/or firmware used by a human operator at the operator position 130 .
  • the user 110 may be routed to a voice activated system (not shown) configured with hardware, software, and/or firmware to provide directory assistance via text-to-speech (“TTS”) or speech recognition systems.
  • TTS text-to-speech
  • An example operator position 130 is discussed in detail below in connection with FIG. 2 .
  • the example communication system 100 also includes directory server(s) 132 that can be queried to obtain listing information via the data links 160 and 162 , which communicatively couple the directory server(s) 132 with the operator position 130 and the DA management system 162 .
  • the data links 160 and 162 may employ applications, protocols, networks, and/or hardware including, for example, hardwired or wireless Ethernet communication scheme, which is well known and, thus, is not described in greater detail herein.
  • the directory server(s) 132 include one or more data structures including listing information such as telephone numbers, first and last names, business names, business descriptions, email addresses, mailing addresses, etc.
  • the directory server(s) 132 may be implemented using, for example, a look-up table, a relational database, or any other suitable structure for storing data.
  • the directory server(s) 132 may comprise removable media disk drives, hard disk drives, network drives, and/or any other suitable storage devices.
  • a human operator or voice activated system at the operator position 130 performs a query on the directory server(s) 132 , which may include matching particular listing information such as names (e.g., person and/or business names) and localities (e.g., cities, states, zip codes, etc.).
  • a directory assistance management system 134 that provides contact management for users of DA services (e.g., the example user 110 ), administers billing for the usage of DA services, and/or supports any other service to monitor and manage the usage of DA services within the PSTN 102 of FIG. 1 .
  • the directory assistance management system 134 may include servers such as, for example, application servers, database servers, file servers, etc.
  • the directory assistance management system 132 may contain a variety of databases such as, for example, mainframe databases, client-server databases, and/or any other electronic store of data supported on any memory device (e.g., removable media disk drives, hard disk drives, network drives).
  • the DA management system 134 is shown coupled with the TOPS switch 109 , the directory server(s) 132 , and the contact directory 136 via the data links 162 , 164 , and 166 .
  • the data links 162166 may employ applications, protocols, networks, and/or hardware including, for example, hardwired or wireless Ethernet communication scheme, which is well known and, thus, is not described in greater detail herein.
  • the example communication system 100 also includes a contact directory 136 , which is discussed in detail below in connection with FIG. 5 .
  • the contact directory 136 is configured such that the user 110 and the DA management system 134 can obtain existing contact information from and/or provide new contact information to the contact directory 136 .
  • the contact directory 136 includes one or more data structures including contact records for a particular user, which may contain information such as telephone numbers, first and last names, business names, business descriptions, email addresses, mailing addresses, and/or navigational coordinates. Additionally, the contact directory 136 may contain other individually customizable fields that can be configured to store electronic information relating to a particular person and/or business.
  • the contact directory 136 may be implemented using, for example, a look-up table, a relational database, or any other suitable structure for storing data. Similarly, the contact directory 136 may comprise removable media disk drives, hard disk drives, network drives, and/or any other suitable storage devices. As previously discussed, the contact directory 136 is coupled with the network 103 and the DA management system 134 via the data links 158 and 166 .
  • FIG. 2 depicts an example operator position 130 of FIG. 1 that is configured to provide DA services in the example communication system 100 of FIG. 1 .
  • the example operator position 130 of FIG. 2 includes a network interface device 202 that may include hardware and/or software such as, for example, a data link layer of a wired Ethernet or any other suitable physical connection to communicatively couple the data links 144 and 160 ; a calling line identifier 200 to determine a particular device identifier associated with the user devices 112 and 114 and/or the communication links 140 and 142 of FIG. 1 (e.g., a telephone number for the user devices 112 and communication link 140 of FIG.
  • a network interface device 202 may include hardware and/or software such as, for example, a data link layer of a wired Ethernet or any other suitable physical connection to communicatively couple the data links 144 and 160 ; a calling line identifier 200 to determine a particular device identifier associated with the user devices 112 and 114 and/or the communication links 140 and 142
  • a DA processor 206 to generate a directory assistance service record that contains one or more data objects to register a DA service transaction (e.g., a telephone number of a user to be billed and a telephone number of a matched listing); and one or more input/output device(s) 204 to enable a human operator interaction with the operator position 130 of FIG. 2 (e.g., a keyboard, a mouse, a graphical monitor, a microphone, a speaker or headset, etc.).
  • the operator position 130 of FIG. 2 includes a system interface 208 that may employ common applications and/or hardware to communicatively couple the caller identifier 200 , network interface 202 , I/O devices 204 , and DA processor 206 .
  • the operation of the example operator position 130 of FIG. 2 is discussed below in connection with FIG. 6 .
  • FIG. 3 depicts an example DA management system 132 of FIG. 1 configured to provide contact management for users of DA services (e.g., the example user 110 ), administer billing for the usage of DA services, and/or support any other service to monitor and manage the usage of DA services within the PSTN 102 of FIG. 1 .
  • the DA management system 132 of FIG. 2 includes a directory assistance service record (“DASR”) parser 300 that obtains a directory assistance service record from the TOPS switch 106 of FIG. 1 and replicates the data objects from the directory service record for processing in the DA management system 132 of FIG. 2 ; a customer records information system (“CRIS”) 302 to administer the billing for DA service usage and any other billing services associated with the PSTN 102 of FIG.
  • DASR directory assistance service record
  • CRIS customer records information system
  • a contact directory processor 304 provide one or more interface(s) to read data from the directory 132 of FIG. 1 and to read and write data to the contact directory 166 of FIG. 1 .
  • the operation of the DA management system 132 of FIG. 2 is discussed below in connection with FIG. 6 .
  • FIG. 4 depicts an example directory data structure 400 that associates listing information in the example directory server(s) 132 of FIG. 1 .
  • the example directory data structure 400 includes listing information fields 402 - 414 , which contain listing information to define the respective listing records 420 - 424 .
  • the first name field 402 contains “JOHN”
  • the last name field 404 contains “DOE”
  • the mailing address field 406 contains “123 FIRST ST”
  • the city field 408 contains “FRANKLIN”
  • the state field 410 contains “TX”
  • the zip code field 412 contains “77856”
  • the telephone number field 414 contains “979-555-1000” to define the listing record 420 .
  • listing information associated with a listing record in the example directory data structure 400 may include email addresses, business names, business descriptions, navigational coordinates, etc. (not shown). Also, persons of ordinary skill in the art will understand that such textual descriptions can alternatively or additionally be implemented by codes and/or other designations.
  • FIG. 5 depicts an example contact directory data structure 500 that interrelates listing information to one or more contact records associated with a particular user of the example communication system 100 of FIG. 1 (e.g., example user 110 of FIG. 1 ), which may be located in the example contact directory 136 of FIG. 1 .
  • the example contact directory data structure 500 may be implemented as a network electronic address book, which can communicatively couple with one or more clients (e.g., the user devices 112 - 118 ) to transfer or synchronize one or more contact records.
  • the example contact directory data structure 500 contains a user table 502 to store data objects that define a particular user including a user name field 510 to uniquely identify the user, an account identifier field 512 to associate any number of accounts or device identifiers with the user, and a password field 513 to allow unique access to the contact directory 136 . Also, the example contact directory data structure 500 includes a contact table 511 to store data objects in the respective fields 514 - 528 , which associates listing information into a contact record that relates with a particular user defined in the user table 502 .
  • the user table 502 contains an example record 504 associated with the example user 110 of FIG. 1 that includes “USER110” in the user name field 510 , “555-555-1000” (e.g., the phone number associated with the phone 112 ) in the account identifier field 512 , and “USER110PASSWORD” in the password field 513 .
  • the contact table 510 is shown with an example contact record 506 associated with the example user 110 of FIG.
  • the contact table 511 is also shown with an unpopulated contact record 508 , which is discussed in detail below.
  • the listing information associated with a contact record in the example contact directory data structure 500 may include multiple telephone numbers, email addresses, business names, business descriptions, navigational coordinates, or other individually customizable fields (not shown).
  • a user e.g., user 110 of FIG. 1
  • a particular contact record e.g., the contact records 506 and 508 of FIG. 5
  • can write additional information to the example contact directory data structure 500 which may not be available as listing information (e.g., private contact information).
  • FIG. 6 depicts an example sequence diagram illustrating the functionality of the communication system 100 of FIG. 1 providing directory assistance with contact management.
  • the example system process of FIG. 6 begins with the user 110 of FIG. 1 dialing a particular number with the user device 112 of FIG. 1 to the SSP 104 of FIG. 1 (e.g., the user 110 of FIG. 1 dials “411” into telephone 112 of FIG. 1 ) (step 602 ).
  • the SSP 104 of FIG. 1 then routes the communication of the user device 112 of FIG. 1 to the TOPS switch 109 of FIG. 1 (step 604 ), which communicatively couples the user 110 of FIG. 1 with the example operator position 130 of FIG. 1 (step 606 ).
  • the calling line identifier 200 of FIG. 2 identifies the device identifier associated with the user device 112 of FIG. 1 or other such unique identifiers associated with the user 110 of FIG. 1 .
  • the example user 110 of FIG. 1 communicates to a human operator at the operator position 130 of FIG. 1 particular listing information, such as locality information (e.g., a city name, a state name, a zip code, etc.) and/or other such listing information (e.g., a business name, a surname, a first and last name, etc.).
  • locality information e.g., a city name, a state name, a zip code, etc.
  • other such listing information e.g., a business name, a surname, a first and last name, etc.
  • the operator 1 may communicate to the operator a last name of “DOE’” and a zip code of “04441.”
  • the operator may then enter the provided listing information to one or more string objects (i.e., one or more particular sequences of symbols, digits, and/or other characters) using one or more of the I/O device(s) 204 of FIG. 2 (e.g., a mouse, a keyboard, a microphone, etc.) into the DA processor 206 of FIG. 2 .
  • the DA processor 206 of FIG. 2 may provide respective fields for each string to relate to a particular listing field in the directory server(s) 132 of FIG.
  • the DA processor 206 of FIG. 2 queries the directory server(s) 132 of FIG. 1 to determine respective matches with the entered string objects via, for example, an application programming interface (“API”) that enables queries and/or data exchanges between the DA processor 206 of FIG. 2 and the directory server(s) 132 of FIG. 1 (step 608 ).
  • the query of the directory server 132 of FIG. 1 may be implemented as a lookup function, which is generally associated with directories to enable a query of a known a name and/or locality of a person or business to whom a telephone number is registered, which then retrieves the telephone number.
  • the directory server(s) 132 of FIG. 1 returns some or all of the listing information from fields 402 - 414 associated with listing record 424 (e.g., first name of “JACK”, mailing address of “123 THIRD ST”, city name of “GREENVILLE”, state name of “ME”, and/or telephone number of “207-555-1000”) to the DA processor 206 of FIG. 2 (step 610 ).
  • the directory server(s) 132 of FIG. 1 may provide sequential string matching algorithms as near matching (e.g., matching a number of characters or sequence of characters within a string) and index matching (e.g., ranking a subset of characters or sequence of characters within a string), or any such current or future string matching algorithms.
  • the DA processor 206 of FIG. 2 then sends the returned listing information to one or more of the I/O devices 204 to audibly, textually, or visually communicate the listing information for the human operator and/or the user (step 612 ).
  • the human operator may communicate the matched listing information (e.g., the telephone number of “207-555-1000”) to the user 110 of FIG. 1 and/or offer to directly connect the user 110 of FIG. 1 .
  • the operator may also perform several additional queries with new or modified listing information communicated from the user.
  • the DA processor 206 of FIG. 2 creates a directory assistance service record to register the usage of the DA service by the example user 110 of FIG.
  • the DA processor 206 of FIG. 2 generates a directory assistance service record to register, for example, the telephone number of “555-555-1000” associated with the user device 112 of FIG. 1 and the telephone number of “207-555-1000” from the matching listing record 424 of FIG. 4 .
  • the directory assistance service record may include textual or other data objects to register the use of directory assistance.
  • the directory assistance service records may include any syntactical language capable of describing and structuring data objects such as, for example, extensible markup language (“XML”), HyperText Markup Language (“HTML”), character delimited string, etc.
  • the DA processor 206 of FIG. 2 sends the directory assistance service record from the example operator position 130 of FIG. 1 via the TOPS switch 106 of FIG. 1 to the example DA management system 134 of FIG. 1 and, more particularly, the DASR parser 300 of FIG. 3 (step 614 ).
  • the DASR parser 300 of FIG. 3 then duplicates the information from the directory assistance service record to simultaneously execute multiple tasks. For example, the DASR parser 300 of FIG. 3 passes one or more data objects from the directory assistance service record to the CRIS 302 of FIG. 3 to update a particular user account in a financial accounting system (e.g., debit the accrued expense account associated with user 110 of FIG. 1 to reflect the usage of directory assistance) (step 616 ).
  • a financial accounting system e.g., debit the accrued expense account associated with user 110 of FIG. 1 to reflect the usage of directory assistance
  • the DASR parser 300 of FIG. 3 also passes one or more data objects from the directory assistance service record (e.g., the telephone number of “555-555-1000” associated with the telephone 112 of FIG. 1 ) to the contact directory processor 304 of FIG. 3 (step 618 ).
  • the directory assistance service record e.g., the telephone number of “555-555-1000” associated with the telephone 112 of FIG. 1
  • the contact directory processor 304 of FIG. 3 queries the contact directory 136 of FIG. 1 to determine if user 110 of FIG. 1 has an associated user record in the contact directory 136 of FIG. 1 (step 620 ). For example, the contact directory processor 304 of FIG. 3 sends the string of “555-555-1000” to the contact directory 136 of FIG. 1 , which analyzes the user records and, in particular, the account identifier field 512 to determine a match for a record associated with the example user 110 of FIG. 1 . In this example, a match for the user record 504 is determined, which identifies one or more records associated with user 110 of FIG. 1 (e.g., the contact records 506 and 508 of FIG. 5 ). The contact directory 136 of FIG.
  • the contact directory processor 304 of FIG. 3 then returns a logic value or other such signifier to the contact directory processor 304 of FIG. 3 to identify an associated user record, for example, the username “USER110” or the contact identifier “USER110B” for the user 110 of FIG. 1 (step 622 ).
  • the contact directory may return a Boolean value such as, for example, a false signifier (e.g., “0”) for no determined match or a true signifier (e.g., “1”) for a determined match.
  • the contact directory 136 of FIG. 1 may provide sequential string matching algorithms as near matching (e.g., matching a number of characters or sequence of characters within a string) and index matching (e.g., ranking a subset of characters or sequence of characters within a string), or any such current or future string matching algorithms.
  • the contact directory processor 304 of FIG. 3 may query the contact directory 136 of FIG. 1 with any syntactical language capable of describing and structuring data objects from a directory assistance service record such as, for example, extensible markup language (“XML”), HyperText Markup Language (“HTML”), or any other such markup language or character delimited string.
  • XML extensible markup language
  • HTML HyperText Markup Language
  • the contact directory processor 304 of FIG. 3 also uses one or more data objects from the directory assistance service record (e.g., the telephone number of “207-555-1000” associated with the matching listing record 424 of FIG. 4 ) to query the directory server(s) 132 of FIG. 1 (step 624 ).
  • the query of the contact directory processor 304 of FIG. 3 may be implemented as a reverse lookup function, which is generally associated with directories to enable a query with a known telephone number, which then retrieves a name and/or address of a person or business to whom the telephone number is registered.
  • the directory server(s) 132 of FIG. 1 analyze, for example, the listing records 420 - 424 and, in this instance, the telephone number field 414 of FIG. 4 to determine matching listing information.
  • a match for the listing record 424 is determined from the string of “207-555-1000” in the telephone number field 414 .
  • the directory server(s) 132 of FIG. 1 returns some or all of the listing information from fields 402 - 414 associated with listing record 424 (e.g., first name of “JACK”, last name of “DOE”, mailing address of “123 THIRD ST”, city name of “GREENVILLE”, state name of “ME”, zip code of “04441” and/or telephone number of “207-555-1000”) to the contact directory processor 304 of FIG. 3 (step 626 ).
  • the contact directory processor 304 of FIG. 3 is provided a relative certainty for determining matching listing information using the example reverse look-up function described above.
  • the contact directory process 304 of FIG. 3 stores the returned listing information as contact record 508 in the contact directory 136 of FIG. 1 (step 628 ).
  • the contact directory processor 304 of FIG. 3 stores the returned listing information associated with listing record 424 of FIG.
  • listing information provided from directory service usage and additional listing information associated with the listing record is stored as a contact record and associated with the example user 110 of FIG. 1 in the contact directory 136 of FIG. 1 .
  • the contact directory processor 304 may also be configured to identify a contact record as a contact stemming from a DA service request, for example, the contact table 510 of FIG. 5 may only store contacts records associated with DA service requests and/or an additional field in contact table 510 may be populated with “DA contact” (not shown).
  • the example communication system 100 of FIG. 1 may be configured to transfer the content of the contact directory 136 of FIG. 1 to an associated user device prior to and/or after a user request.
  • the user device 112 of FIG. 1 may be a VoIP telephone, which may on an aperiodic basis (e.g., based on event-based procedure(s), etc.), a periodic basis (e.g., based on scheduled procedure(s), etc.), or real-time basis to obtain or receive updated contacts from the contact directory 136 of FIG. 1 .
  • the contact directory 136 of FIG. 1 may be implemented with API(s) to enable users to communicatively couple and interact with the contact directory 136 of FIG. 1 .
  • Example of such interfaces may include providing graphic user interfaces via a browser or other such common programs to enable user interaction on user devices, such as, for example, VoIP phones, cellular phones, personal computers, personal digital assistants, MP3 players, set-top-boxes, or any other device which may audibly or visually communicate data objects to a user.
  • user devices such as, for example, VoIP phones, cellular phones, personal computers, personal digital assistants, MP3 players, set-top-boxes, or any other device which may audibly or visually communicate data objects to a user.
  • Such an interface may provide a user (e.g., users 110 of FIG. 1 ) to access designated contact directory data structures within the example contact directory 136 of FIG. 1 through one or more user devices (e.g., the user devices 112 - 116 ).
  • the interface may use, for example, a web-based or HTML user interface to accept input and provide output by generating web pages that are transported via the Internet and viewed by the user using a web browser program, a telephone user interface to accept input (e.g., a tone-dialed response) and provide output by generating telephone voice that is transported via a telephone network and heard by the user using a telephone, or any other hardware, software, or firmware that enables the user devices 112 - 118 of FIG.
  • a user e.g., users 110 of FIG. 1
  • the interface may use, for example, a web-based or HTML user interface to accept input and provide output by generating web pages that are transported via the Internet and viewed by the user using a web browser program, a telephone
  • the interface also may include one or more example authentication mechanisms and/or protocols to authenticate a particular user seeking to access the example contact directory 136 of FIG. 1 .
  • Example mechanism(s) and/or protocol(s) that can be employed may include requiring entry of a unique identifier (e.g., the user name “USER110” of the user name field 510 of FIG. 5 ) and password (e.g., the password “USER110PASSWORD” of the password field 513 of FIG. 5 ) associated with a particular data structure (e.g., the contact data structure 500 of FIG.
  • the interface After authenticating a user, the interface enables the authenticated user to provide, delete, and/or change one or more fields and/or records in the contact directory 136 of FIG. 1 via the example user devices 112 - 118 or other user devices, as discussed above in the example communications system 100 of FIG. 1 .
  • FIGS. 7 and 8 Flow diagrams representative of example processes configured to implement the example operator position 130 of FIG. 1 and the DA management system 134 of FIG. 1 are shown in FIGS. 7 and 8 .
  • the processes may be implemented as machine readable instructions in the form of one or more example programs for execution by a processor, such as the processor 805 shown in the example processor system 900 of FIG. 9 .
  • the processes may be embodied in software stored on a tangible medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (“DVD”), or a memory associated with the processor 905 , but persons of ordinary skill in the art will readily appreciate that the entire processes and/or parts thereof could alternatively be executed by a device other than the processor 905 and/or embodied in firmware or dedicated hardware in a well known manner.
  • a device other than the processor 905 and/or embodied in firmware or dedicated hardware in a well known manner.
  • any or all of the example operator position 130 of FIG. 1 , the DA management system 134 of FIG. 1 , the directory server(s) 132 of FIG. 1 , and the contact directory 136 of FIG. 1 could be implemented by firmware, hardware, and/or software.
  • the calling line identifier 200 , network interface 202 , I/O devices 204 , and DA processor 206 of the example operator position 130 of FIG. 2 along with the DASR parser 300 , CRIS 302 , and contact directory processor 304 of the example DA management system 134 of FIG. 3 may be implemented by firmware, hardware, and/or software.
  • the example processes are described with reference to the flow diagrams illustrated in FIGS. 7-8 , persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example processes may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Similarly, the execution of the example processes and each block in the example processes can be performed iteratively.
  • the example process 700 of FIG. 7 provides an example execution sequence that may be performed by the example operator position 130 of FIG. 1 to provide DA service for a user (e.g., the example user 110 of FIG. 1 ) and record the use of the DA service by the user.
  • the example process 800 of FIG. 8 provides an example execution sequence that may be performed by the example DA management system 134 of FIG. 1 to provide contact management for a user of DA services (e.g., the example user 110 ), administer billing for the usage of DA services, and/or any other electronic services to monitor the usage of DA services.
  • the example process 700 of FIG. 7 begins at block 702 where the example operator position 130 of FIG. 1 communicatively couples a user, who may dial a particular telephone number (e.g., “411,” “555-1212,” etc.) with an operator, which provides the example operator position 130 of FIG. 1 with the device identifier associated with the user device.
  • the example operator position 130 of FIG. 1 receives particular listing information (e.g., city name(s), state name(s), zip code(s), business name(s), surname(s), first and last name(s), etc.) from the user.
  • the operator position 130 of FIG. 1 queries the directory server(s) 132 of FIG.
  • any such sequential string matching algorithms such as near matching (e.g., matching a number of characters or sequence of characters within a string), index matching (e.g., ranking a subset of characters or sequence of characters within a string), or any such current or future string matching algorithms.
  • the operator position 130 of FIG. 1 then receives the results of the query from the directory server(s) 132 of FIG. 1 (block 706 ) and provides the listing information to the user (block 706 ). If the operator position 130 of FIG. 1 receives a communication that the provided listing information is incorrect (e.g., a negative verbal response from a user, a particular tone-dialed response from a user device, etc.), the operator position 130 of FIG. 1 provides the user an option for an additional directory query (block 710 ). If the operator position 130 of FIG. 1 receives a communication to indicate an additional directory query (e.g., an affirmative verbal response from a user, a particular tone-dialed response from a user device, etc.), the operator position 130 of FIG. 1 repeats blocks 702 - 708 to perform an additional query with new or additional listing information received from the user.
  • a communication that the provided listing information is incorrect e.g., a negative verbal response from a user, a particular tone-dialed
  • the operator position 130 of FIG. 1 receives a communication that the provided listing information is correct (e.g., an affirmative verbal response, a particular tone-dialed response from a user device, etc.), the operator position 130 of FIG. 1 generates a directory assistance service record to register the usage of the DA service by the user (block 712 ), which is sent to the DA management system 134 of FIG. 1 .
  • the directory assistance service record may include one or more data objects such as, for example, a telephone number for the user to be billed and a telephone number of the provided listing information. After a directory assistance service record is generated and sent (block 712 ) or the operator position 130 of FIG.
  • the process 700 ends and/or returns control to a higher-level process.
  • a request from the user for no additional directory queries e.g., an affirmative verbal response from a user, a particular tone-dialed response from a user device, etc.
  • the example process 800 of FIG. 8 begins at block 802 where the DA management system 134 of FIG. 1 obtains a directory assistance service record, which may be generated from the example operator position 130 of FIG. 1 .
  • the DA management system 134 of FIG. 1 duplicates one or more data objects from the directory assistance service record to any additional processes for parallel processing.
  • the DA management system 134 of FIG. 1 may duplicate the directory assistance service record to a billing process.
  • the DA management system 134 of FIG. 1 performs a query on the contact directory 136 of FIG.
  • the DA management system 134 of FIG. 1 may query the contact directory 136 of FIG. 1 for a record containing a particular telephone number or other such unique user identifier associated with a user from the directory assistance service record.
  • the DA management system 134 of FIG. 1 may also query the contact directory 136 of FIG. 1 and identify a plurality of records associated with a particular telephone number or other such unique identifier from the data object(s) of the directory assistance service record.
  • the DA management system 134 of FIG. 1 If the DA management system 134 of FIG. 1 does not identify a record associated with the user from the directory assistance service record in block 808 , the DA management system 134 of FIG. 1 ends the process 800 and/or returns control to a higher-level process. Alternatively, if the DA management system 134 of FIG. 1 identifies a record associated with the user from the directory assistance service record in block 808 , the DA management system 134 of FIG. 1 performs a query of the directory server(s) 132 of FIG. 1 with one or more data objects from the directory assistance service record (block 810 ). For example, the DA management system 134 of FIG. 1 may query the directory server(s) 132 of FIG. 1 with a telephone number from the directory assistance service record.
  • the DA management system 134 of FIG. 1 then obtains some or all of the listing information associated with the listing record returned from the directory server(s) 132 of FIG. 1 (block 812 ).
  • the DA management system 134 of FIG. 1 may obtain first names, last names, mailing addresses, city names, state names, zip codes, multiple telephone numbers, email addresses, business names, business descriptions, navigational coordinates, or any other listing information that can be stored in the directory server(s) 132 of FIG. 1 .
  • the DA management system 134 stores the listing information as one or more contact records in the contact directory 136 of FIG. 1 (block 814 ).
  • the DA management system 134 may store the listing information to a contact record that is associated with the user of directory assistance.
  • the DA management system 134 may also store the listing information to a plurality of contact records, each of which is associated with a different user record in the contact directory 136 of FIG. 1 (e.g., multiple user records associated with a common data object, such as multiple users associated with a telephone number).
  • the DA management system 134 also may store the new contact record in a particular table specified for DA service contacts or populate a particular field to differentiate the new contact record as contact associated with DA service usage.
  • FIG. 9 is a schematic diagram of an example processor platform 900 that may be used and/or programmed to implement any or all of the example operator position 130 of FIG. 1 , the DA management system 134 of FIG. 1 , the directory server(s) 132 of FIG. 1 , and the contact directory 136 of FIG. 1 . More particularly, any or all of the calling line identifier 200 , network interface 202 , I/O devices 204 , and DA processor 206 of the example operator position 130 of FIG. 2 along with the DASR parser 300 , CRIS 302 , and contact directory processor 304 of the example DA management system 134 of FIG. 3 may be implemented by the example processor platform 900 .
  • the processor platform 900 can be implemented by one or more general purpose single-thread and/or multi-threaded processors, cores, microcontrollers, etc.
  • the processor platform 900 may also be implemented by one or more computing devices that contain any of a variety of concurrently-executing single-thread and/or multi-threaded processors, cores, microcontrollers, etc.
  • the processor platform 900 of the example of FIG. 9 includes at least one general purpose programmable processor 905 .
  • the processor 905 executes coded instructions 910 present in main memory of the processor 905 (e.g., within a random-access memory (“RAM”) 915 ).
  • the coded instructions 910 may be used to implement the instructions represented by the example processes of FIGS. 7 and 8 .
  • the processor 905 may be any type of processing unit, such as a processor core, processor and/or microcontroller.
  • the processor 905 is in communication with the main memory (including a read-only memory (“ROM”) 920 and the RAM 915 ) via a bus 925 .
  • ROM read-only memory
  • the RAM 915 may be implemented by dynamic RAM (“DRAM”), Synchronous DRAM (“SDRAM”), and/or any other type of RAM device, and ROM may be implemented by flash memory and/or any other desired type of memory device. Access to the memory 915 and 920 may be controlled by a memory controller (not shown).
  • DRAM dynamic RAM
  • SDRAM Synchronous DRAM
  • ROM flash memory and/or any other desired type of memory device. Access to the memory 915 and 920 may be controlled by a memory controller (not shown).
  • the processor platform 900 also includes an interface circuit 930 .
  • the interface circuit 930 may be implemented by any type of interface standard, such as an external memory interface, serial port, general purpose input/output, etc.
  • One or more input devices 935 and one or more output devices 940 are connected to the interface circuit 930 .
  • At least some of the above described example methods and/or apparatus are implemented by one or more software and/or firmware programs running on a computer processor.
  • dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement some or all of the example methods and/or apparatus described herein, either in whole or in part.
  • alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the example methods and/or apparatus described herein.
  • a tangible storage medium such as: a magnetic medium (e.g., a magnetic disk or tape); a magneto-optical or optical medium such as an optical disk; or a solid state medium such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; or a signal containing computer instructions.
  • a digital file attached to e-mail or other information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium.
  • the example software and/or firmware described herein can be stored on a tangible storage medium or distribution medium such as those described above or successor storage media.
  • a device is associated with one or more machine readable mediums containing instructions, or receives and executes instructions from a propagated signal so that, for example, when connected to a network environment, the device can send or receive voice, video or data, and communicate over the network using the instructions.
  • a device can be implemented by any electronic device that provides voice, video and/or data communication, such as a telephone, a cordless telephone, a mobile telephone, a cellular telephone, a Personal Digital Assistant (“PDA”), a set-top box, a computer, and/or a server.
  • PDA Personal Digital Assistant

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Methods and an apparatus for providing contact management with directory assistance. An example method includes obtaining, via a processor, a billing record generated to track usage of a directory assistance service by a caller, the billing record comprising a first data object conveyed to the caller in association with the usage of the directory assistance service; querying, via the processor, a first directory with the first data object of the billing record to obtain listing information associated with the first data object; and conveying a contact record including the obtained listing information to a device associated with the caller.

Description

RELATED APPLICATION
This patent arises from a continuation of U.S. patent application Ser. No. 11/553,781, filed Oct. 27, 2006, now U.S. Pat. No. 8,483,381, which is hereby incorporated herein by reference in its entirety.
TECHNICAL FIELD
This disclosure relates generally to contact management and, more particularly, to methods and apparatus for providing contact management with directory assistance.
BACKGROUND
When using communications systems, individual users are generally interconnected via user devices that are associated with a unique identifier to enable communication among multiple nodes within the communication systems. For example, in a telecommunication system, the identifier is commonly referred to as a “telephone number,” which is dialed or inputted with an originating user device to reach a user device (e.g., a telephone) at a particular network termination point associated with the identifier. Given the enormous number of user devices and users within communications systems, each user may desire to retain these identifiers in an accessible medium, such as an electronic address book. Electronic address books may be networked to allow accessibility from a plurality of user devices or transferred to store in local memory of a user device. Electronic address books are commonly formatted in a data structure relating one or more records with varying information, such as addresses, names, etc.
Directory assistance services are commonly used in communication systems to provide listing information to communication systems users. Generally, directory assistance services use a directory or a database containing names, addresses, and telephone numbers for respective users. For example, in the North American public switched telephone network, a user desiring particular listing information dials a directory assistance access code, for example “411,” and connects with a directory assistance service. The user generally provides listing information such as a name (e.g., business name, surname, etc.) and/or locality information (e.g., zip codes, state names, cities, etc.) associated with a desired listing record. If the directory assistance service matches the listing information to a particular listing record, a human operator or a recorded message file communicates additional listing information (e.g., a telephone number) associated with the particular listing record to the user. However, to use the requested telephone number in the future, the user must memorize the listing information, manually record the listing information, or call back to the directory assistance service.
After the directory assistance service communicates the additional listing information to the user, the directory assistance service creates a billing feed to charge a particular user for the service. This billing feed may include a phone number or any other unique account identifier for the user and the phone number provided for the matched listing. Generally, this billing feed is sent to a customer records information system (“CRIS”), which bills and records the directory service usage.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a schematic illustration of an example communication system.
FIG. 2 is a schematic illustration of an operator position of FIG. 1.
FIG. 3 is a schematic illustration of an example directory assistance (“DA”) management system of FIG. 1.
FIG. 4 illustrates an example directory data structure, which may be stored in the directory server(s) of FIG. 1.
FIG. 5 illustrates a contact directory data structure, which may be stored in the contact directory of FIG. 1.
FIG. 6 is an example sequence diagram of the example communication system of FIG. 1.
FIG. 7 is a flow chart representation of example process that may be executed to implement the operator position of FIG. 1.
FIG. 8 is a flow chart representation of example process that may be executed to implement the DA management system of FIG. 1.
FIG. 9 is a schematic illustration of an example processing system that may be used to execute the example processes of FIGS. 7 and 8 and/or to implement the example operator position and DA management system of FIG. 1.
DETAILED DESCRIPTION
An example communication system 100 to provide directory assistance with contact management for users of the example system 100 is illustrated in FIG. 1. The example system 100 of FIG. 1 is useful to provide directory assistance with contact management among diverse user devices (e.g., analog phones, digital phones, voice-over-Internet-Protocol (“VoIP”) phones, cellular phones, personal computers, personal digital assistants (“PDAs”), MP3 players, set-top-boxes (“STBs”), etc.). Additionally, the example system 100 of FIG. 1 is useful to provide contact management among many users, each of whom may be associated with one or more user device(s).
The example communication system 100 is configured to provide contact management by storing listing information associated with the use of a directory assistance (“DA”) service to a network device (e.g., a database server, a file server, etc.) that can be accessed or transferred among a plurality of user devices. For example, a directory service provider may include an automated system or human operator that responds to a user who places a telephone call. The user may then request a telephone number by providing particular listing information (e.g., city name, state name, business name, surname, etc.) associated with the telephone number. The example automated system or human operator then queries one or more directories or databases to match the provided listing information with a telephone number. When a match is determined, the example automated system or human operator provides the requested telephone number with any other listing information to the user.
As described below, the listing information provided to the user (e.g., a telephone number) and other associated listing information (e.g., mailing address, city name, state, etc.) can be stored as a contact record and associated with the user in a network device (e.g., a database server, a file server, a network address book, etc.). In one example embodiment, the example communication system 100 determines additional listing information with an example reverse lookup function using one or more data objects (e.g., a telephone number) from a billing record generated from the usage of the directory assistance service. In an additional example embodiment, the example communication system 100 is configured to transfer this stored information from the network device to one or more user devices associated with a particular user on an aperiodic basis (e.g., based on event-based procedure(s), etc.) or a periodic basis (e.g., based on scheduled procedure(s), etc.).
Turning to FIG. 1, the example communication system 100 FIG. 1 is shown as a simplified block diagram with components of hardwired and/or wireless communications networks 102 and 103. FIG. 1 also shows the interaction between user devices 112, 114, 116, and 118 associated with a particular user 110, an operator position 130, a directory 132, a directory assistance (“DA”) management system 134, and a contact directory 136. The example communication system 100 is illustratively shown with the network 102 configured as an example public switched telephone network, which communicatively couple the user 110 with the operator position 130 through user devices 112 and 114, switches 104 and 109, and communication links 140, 142, and 144. As is well known to those of ordinary skill in the art, the example network 102 may be configured as any network that enables voice and/or data communication among user(s) and a directory assistance service, such as wireless mobile telephone networks, VoIP networks, etc.
The example communication system 100 is also shown with the network 103, which may be implemented as one or more networks (e.g., local-area networks (“LANs”), wide-area networks (“WANs”), metropolitan-area networks, the Internet, digital subscriber line (“DSL”) networks, cable networks, power line networks, wireless communication networks, wireless mobile telephone networks, wireless fidelity (“Wi-Fi”) networks, and/or satellite networks). The network 103 is shown with data links 158, 156, 154, and 152, which communicatively couple the contact directory 136, SSP 104, and user devices 116 and 118. The data links 152-158 may employ applications, protocols, networks, and/or hardware to communicatively couple each of the user devices 112-118 including, for example, hardwired or wireless communication schemes. For example, the user device 116 may be implemented with a personal computer or set-top-box that communicatively couples with the contact directory 136 and data link 154 via the Internet to exchange data using a common markup language, such as HyperText Markup Language (“HTML”), Extensible Markup Language (“XML”), etc. Additionally or alternatively, the user device 118 may be implemented with a mobile phone that communicatively couples with the contact directory 136 and data link 154 via a Wireless Application Protocol and a Wireless Markup Language.
As shown, each of the communication links 140 and 142 is coupled with a terminating user device 112 and 114, which may include PDAs, cellular telephones, personal computers, television set-top-boxes, and telephone (e.g., an analog telephone, a digital telephone, a VoIP telephone), or any other user device that enables voice and/or data communication over the public switched telephone network 102. Similarly, the additional network 103 is shown coupled with terminating devices 116 and 118, which may include PDAs, cellular telephones, personal computers, television set-top-boxes, and telephone (e.g., an analog telephone, a digital telephone, a VoIP telephone), routers, switches, or any other device that enables voice and/or data communication over the network 103.
In the example communication system 100, each of the example user devices 112-118 has one or more unique device identifiers to distinguish the respective example user devices 112-118 from one another as well as from other user devices, thereby enabling communication between multiple nodes on the network. A device identifier may generally identify a network termination point that connects to one or more user devices (e.g., a telephone number may connect a number of telephones). The device identifier associated with a user device may be a unique alpha-numeric or numeric identifier (e.g., a telephone number, a byte address, an Internet Protocol (“IP”) Address, a Mobile Identification Number, etc.). For example, each of the user devices 112 and 114 coupled with the PSTN 102 may be assigned a ten digit number that is associated with a specific telephone line 140 and 142 shown in FIG. 1. To identify one or more user devices (e.g., the user devices 112-118) with a particular user (e.g., the user 110), the device identifiers may be associated with a single record in a data structure. As described below, the record may then be uniquely distinguished and associated with a particular user by a user identifier, such as a user name, a user number, and/or any other unique identifier. Also described below, one or more user devices and device identifiers may be associated with multiple users and, thus, multiple records in a data structure, such as a telephone service and telephone number may be shared with multiple users.
The PSTN 102 incorporates the advanced intelligent network (“AIN”). Some of the components of the advanced intelligent network are shown in FIG. 1 to illustrate at least a part of the advanced intelligent network (“AIN”) 102 of a typical local exchange carrier. The advanced intelligent network (“AIN”) uses the signaling system 7 (“SS7”) network for signal or system control message transport. The components thereof are well known to those skilled in the art. Generally, a plurality of central offices is provided in a typical public switched telephone network 102. As shown in FIG. 1, a central office may include an electronic switch 104 known to those skilled in the art as a service switching point (“SSP”). The number of SSP switches depends on the number of users to be served by the public switched telephone network. An SSP is the AIN component of a typical electronic central office switch used by a local exchange carrier. The terms “SSP” and “switch” are generally used interchangeably and are understood to refer to a telecommunications switch having AIN capability and which may be utilized for connecting communication links or trunk circuits 146.
Much of the intelligence, and the basis for many of the enhanced features of the PSTN 102, resides in the local service control point (“SCP”) 108 that is coupled to signal transfer point (“STP”) 106 and the SSP 104 via SS7 data links 148 and 149. Among the functions performed by the service control points is maintenance of network databases used in providing enhanced services. Service control points, such as SCP 108, normally implement high volume routing services, such as call forwarding, number translating, and routing. In most local exchange carrier networks, service control points are only used for database look up and routing services that take place prior to the logical completion of the call (i.e., the provision of a ringing signal to the called user and ring back to the calling user).
Directory assistance is a well-known service in public switched telephone network 102, and is generally identified in North America with a telephone number, such as “411” or “555-1212.” Directory assistance as discussed herein may also be configured on the networks, as discussed above in connection with network 103 of FIG. 1 in the example communication system 100 of FIG. 1.
To provide directory assistance services, the PSTN 102 of FIG. 1 includes a switch 109 that is coupled with an operator position 130 through the data link 144. The switch 109 is shown as an example Traffic Operator Position System (“TOPS”) switch to provide call routing and switching along with directory assistance services. In the PSTN 102, the user 110 may dial a particular telephone number on the user device 112, which is routed via the SSP 104 and the TOPS switch 109 to communicatively couple the user 110 with hardware, software, and/or firmware used by a human operator at the operator position 130. Similarly, the user 110 may be routed to a voice activated system (not shown) configured with hardware, software, and/or firmware to provide directory assistance via text-to-speech (“TTS”) or speech recognition systems. An example operator position 130 is discussed in detail below in connection with FIG. 2.
The example communication system 100 also includes directory server(s) 132 that can be queried to obtain listing information via the data links 160 and 162, which communicatively couple the directory server(s) 132 with the operator position 130 and the DA management system 162. The data links 160 and 162 may employ applications, protocols, networks, and/or hardware including, for example, hardwired or wireless Ethernet communication scheme, which is well known and, thus, is not described in greater detail herein. The directory server(s) 132 include one or more data structures including listing information such as telephone numbers, first and last names, business names, business descriptions, email addresses, mailing addresses, etc. The directory server(s) 132 may be implemented using, for example, a look-up table, a relational database, or any other suitable structure for storing data. Similarly, the directory server(s) 132 may comprise removable media disk drives, hard disk drives, network drives, and/or any other suitable storage devices. As discussed above, a human operator or voice activated system at the operator position 130 performs a query on the directory server(s) 132, which may include matching particular listing information such as names (e.g., person and/or business names) and localities (e.g., cities, states, zip codes, etc.).
Also illustratively shown in the example communication system 100 is a directory assistance management system 134 that provides contact management for users of DA services (e.g., the example user 110), administers billing for the usage of DA services, and/or supports any other service to monitor and manage the usage of DA services within the PSTN 102 of FIG. 1. As discussed in detail below in connection with FIG. 3, the directory assistance management system 134 may include servers such as, for example, application servers, database servers, file servers, etc. Additionally, the directory assistance management system 132 may contain a variety of databases such as, for example, mainframe databases, client-server databases, and/or any other electronic store of data supported on any memory device (e.g., removable media disk drives, hard disk drives, network drives). The DA management system 134 is shown coupled with the TOPS switch 109, the directory server(s) 132, and the contact directory 136 via the data links 162, 164, and 166. The data links 162166 may employ applications, protocols, networks, and/or hardware including, for example, hardwired or wireless Ethernet communication scheme, which is well known and, thus, is not described in greater detail herein.
The example communication system 100 also includes a contact directory 136, which is discussed in detail below in connection with FIG. 5. As discussed below, the contact directory 136 is configured such that the user 110 and the DA management system 134 can obtain existing contact information from and/or provide new contact information to the contact directory 136. The contact directory 136 includes one or more data structures including contact records for a particular user, which may contain information such as telephone numbers, first and last names, business names, business descriptions, email addresses, mailing addresses, and/or navigational coordinates. Additionally, the contact directory 136 may contain other individually customizable fields that can be configured to store electronic information relating to a particular person and/or business. The contact directory 136 may be implemented using, for example, a look-up table, a relational database, or any other suitable structure for storing data. Similarly, the contact directory 136 may comprise removable media disk drives, hard disk drives, network drives, and/or any other suitable storage devices. As previously discussed, the contact directory 136 is coupled with the network 103 and the DA management system 134 via the data links 158 and 166.
FIG. 2 depicts an example operator position 130 of FIG. 1 that is configured to provide DA services in the example communication system 100 of FIG. 1. More particularly, the example operator position 130 of FIG. 2 includes a network interface device 202 that may include hardware and/or software such as, for example, a data link layer of a wired Ethernet or any other suitable physical connection to communicatively couple the data links 144 and 160; a calling line identifier 200 to determine a particular device identifier associated with the user devices 112 and 114 and/or the communication links 140 and 142 of FIG. 1 (e.g., a telephone number for the user devices 112 and communication link 140 of FIG. 1); a DA processor 206 to generate a directory assistance service record that contains one or more data objects to register a DA service transaction (e.g., a telephone number of a user to be billed and a telephone number of a matched listing); and one or more input/output device(s) 204 to enable a human operator interaction with the operator position 130 of FIG. 2 (e.g., a keyboard, a mouse, a graphical monitor, a microphone, a speaker or headset, etc.). Also, the operator position 130 of FIG. 2 includes a system interface 208 that may employ common applications and/or hardware to communicatively couple the caller identifier 200, network interface 202, I/O devices 204, and DA processor 206. The operation of the example operator position 130 of FIG. 2 is discussed below in connection with FIG. 6.
FIG. 3 depicts an example DA management system 132 of FIG. 1 configured to provide contact management for users of DA services (e.g., the example user 110), administer billing for the usage of DA services, and/or support any other service to monitor and manage the usage of DA services within the PSTN 102 of FIG. 1. The DA management system 132 of FIG. 2 includes a directory assistance service record (“DASR”) parser 300 that obtains a directory assistance service record from the TOPS switch 106 of FIG. 1 and replicates the data objects from the directory service record for processing in the DA management system 132 of FIG. 2; a customer records information system (“CRIS”) 302 to administer the billing for DA service usage and any other billing services associated with the PSTN 102 of FIG. 1; and a contact directory processor 304 provide one or more interface(s) to read data from the directory 132 of FIG. 1 and to read and write data to the contact directory 166 of FIG. 1. The operation of the DA management system 132 of FIG. 2 is discussed below in connection with FIG. 6.
FIG. 4 depicts an example directory data structure 400 that associates listing information in the example directory server(s) 132 of FIG. 1. The example directory data structure 400 includes listing information fields 402-414, which contain listing information to define the respective listing records 420-424. In particular, the first name field 402 contains “JOHN,” the last name field 404 contains “DOE,” the mailing address field 406 contains “123 FIRST ST”, the city field 408 contains “FRANKLIN,” the state field 410 contains “TX,” the zip code field 412 contains “77856,” and the telephone number field 414 contains “979-555-1000” to define the listing record 420. Additionally or alternatively, the listing information associated with a listing record in the example directory data structure 400 may include email addresses, business names, business descriptions, navigational coordinates, etc. (not shown). Also, persons of ordinary skill in the art will understand that such textual descriptions can alternatively or additionally be implemented by codes and/or other designations.
FIG. 5 depicts an example contact directory data structure 500 that interrelates listing information to one or more contact records associated with a particular user of the example communication system 100 of FIG. 1 (e.g., example user 110 of FIG. 1), which may be located in the example contact directory 136 of FIG. 1. The example contact directory data structure 500 may be implemented as a network electronic address book, which can communicatively couple with one or more clients (e.g., the user devices 112-118) to transfer or synchronize one or more contact records. The example contact directory data structure 500 contains a user table 502 to store data objects that define a particular user including a user name field 510 to uniquely identify the user, an account identifier field 512 to associate any number of accounts or device identifiers with the user, and a password field 513 to allow unique access to the contact directory 136. Also, the example contact directory data structure 500 includes a contact table 511 to store data objects in the respective fields 514-528, which associates listing information into a contact record that relates with a particular user defined in the user table 502.
For example, the user table 502 contains an example record 504 associated with the example user 110 of FIG. 1 that includes “USER110” in the user name field 510, “555-555-1000” (e.g., the phone number associated with the phone 112) in the account identifier field 512, and “USER110PASSWORD” in the password field 513. The contact table 510 is shown with an example contact record 506 associated with the example user 110 of FIG. 1 that includes “USER110A” in the contact identifier field 514, “JEAN” in the first name field 516, “DOE” in the last name field 518, “123 FOURTH ST” in the mailing address field 520, “MADISON” in the city field 522, “FL” in the state field 524, “32340” in the zip code field 526, and “850-555-1000” in the telephone number field 528. Persons of ordinary skill in the art will understand that such textual descriptions can also be implemented by codes and/or other designations. The contact table 511 is also shown with an unpopulated contact record 508, which is discussed in detail below. Additionally or alternatively, the listing information associated with a contact record in the example contact directory data structure 500 may include multiple telephone numbers, email addresses, business names, business descriptions, navigational coordinates, or other individually customizable fields (not shown). As explained below, a user (e.g., user 110 of FIG. 1) associated with a particular contact record (e.g., the contact records 506 and 508 of FIG. 5) can write additional information to the example contact directory data structure 500, which may not be available as listing information (e.g., private contact information).
FIG. 6 depicts an example sequence diagram illustrating the functionality of the communication system 100 of FIG. 1 providing directory assistance with contact management. The example system process of FIG. 6 begins with the user 110 of FIG. 1 dialing a particular number with the user device 112 of FIG. 1 to the SSP 104 of FIG. 1 (e.g., the user 110 of FIG. 1 dials “411” into telephone 112 of FIG. 1) (step 602). The SSP 104 of FIG. 1 then routes the communication of the user device 112 of FIG. 1 to the TOPS switch 109 of FIG. 1 (step 604), which communicatively couples the user 110 of FIG. 1 with the example operator position 130 of FIG. 1 (step 606). Once the example operator position 130 of FIG. 1 is communicatively coupled with the user 110 of FIG. 1, the calling line identifier 200 of FIG. 2 identifies the device identifier associated with the user device 112 of FIG. 1 or other such unique identifiers associated with the user 110 of FIG. 1. The example user 110 of FIG. 1 communicates to a human operator at the operator position 130 of FIG. 1 particular listing information, such as locality information (e.g., a city name, a state name, a zip code, etc.) and/or other such listing information (e.g., a business name, a surname, a first and last name, etc.). For example, the user 110 of FIG. 1 may communicate to the operator a last name of “DOE’” and a zip code of “04441.” The operator may then enter the provided listing information to one or more string objects (i.e., one or more particular sequences of symbols, digits, and/or other characters) using one or more of the I/O device(s) 204 of FIG. 2 (e.g., a mouse, a keyboard, a microphone, etc.) into the DA processor 206 of FIG. 2. The DA processor 206 of FIG. 2 may provide respective fields for each string to relate to a particular listing field in the directory server(s) 132 of FIG. 1 (e.g., a one-to-one correlation with the first name field 402, the last name field, the mailing address field 406, the city field 408, the state field 410, the zip code field 412, and the telephone number field 414 of FIG. 4).
Thus, the DA processor 206 of FIG. 2 queries the directory server(s) 132 of FIG. 1 to determine respective matches with the entered string objects via, for example, an application programming interface (“API”) that enables queries and/or data exchanges between the DA processor 206 of FIG. 2 and the directory server(s) 132 of FIG. 1 (step 608). The query of the directory server 132 of FIG. 1 may be implemented as a lookup function, which is generally associated with directories to enable a query of a known a name and/or locality of a person or business to whom a telephone number is registered, which then retrieves the telephone number. The directory server(s) 132 of FIG. 1 analyzes, for example, the listing records 420-424 and, in this instance, the respective last name fields 404 and zip code fields 412 to determine matching listing information. In this example, a match for the listing record 424 is determined from the matching last name of “DOE” and zip code of “04441” in the respective fields 404 and 412. Thus, the directory server(s) 132 of FIG. 1 returns some or all of the listing information from fields 402-414 associated with listing record 424 (e.g., first name of “JACK”, mailing address of “123 THIRD ST”, city name of “GREENVILLE”, state name of “ME”, and/or telephone number of “207-555-1000”) to the DA processor 206 of FIG. 2 (step 610). Although this example provides an exact match of listing information, the directory server(s) 132 of FIG. 1 may provide sequential string matching algorithms as near matching (e.g., matching a number of characters or sequence of characters within a string) and index matching (e.g., ranking a subset of characters or sequence of characters within a string), or any such current or future string matching algorithms.
The DA processor 206 of FIG. 2 then sends the returned listing information to one or more of the I/O devices 204 to audibly, textually, or visually communicate the listing information for the human operator and/or the user (step 612). For example, the human operator may communicate the matched listing information (e.g., the telephone number of “207-555-1000”) to the user 110 of FIG. 1 and/or offer to directly connect the user 110 of FIG. 1. The operator may also perform several additional queries with new or modified listing information communicated from the user. When the example communication between the user 110 of FIG. 1 and the operator position 130 of FIG. 2 completes, the DA processor 206 of FIG. 2 creates a directory assistance service record to register the usage of the DA service by the example user 110 of FIG. 1. In particular, the DA processor 206 of FIG. 2 generates a directory assistance service record to register, for example, the telephone number of “555-555-1000” associated with the user device 112 of FIG. 1 and the telephone number of “207-555-1000” from the matching listing record 424 of FIG. 4. Persons of ordinary skill in the art will readily understand that the directory assistance service record may include textual or other data objects to register the use of directory assistance. Also, the directory assistance service records may include any syntactical language capable of describing and structuring data objects such as, for example, extensible markup language (“XML”), HyperText Markup Language (“HTML”), character delimited string, etc.
The DA processor 206 of FIG. 2 sends the directory assistance service record from the example operator position 130 of FIG. 1 via the TOPS switch 106 of FIG. 1 to the example DA management system 134 of FIG. 1 and, more particularly, the DASR parser 300 of FIG. 3 (step 614). The DASR parser 300 of FIG. 3 then duplicates the information from the directory assistance service record to simultaneously execute multiple tasks. For example, the DASR parser 300 of FIG. 3 passes one or more data objects from the directory assistance service record to the CRIS 302 of FIG. 3 to update a particular user account in a financial accounting system (e.g., debit the accrued expense account associated with user 110 of FIG. 1 to reflect the usage of directory assistance) (step 616). The DASR parser 300 of FIG. 3 also passes one or more data objects from the directory assistance service record (e.g., the telephone number of “555-555-1000” associated with the telephone 112 of FIG. 1) to the contact directory processor 304 of FIG. 3 (step 618).
The contact directory processor 304 of FIG. 3 then queries the contact directory 136 of FIG. 1 to determine if user 110 of FIG. 1 has an associated user record in the contact directory 136 of FIG. 1 (step 620). For example, the contact directory processor 304 of FIG. 3 sends the string of “555-555-1000” to the contact directory 136 of FIG. 1, which analyzes the user records and, in particular, the account identifier field 512 to determine a match for a record associated with the example user 110 of FIG. 1. In this example, a match for the user record 504 is determined, which identifies one or more records associated with user 110 of FIG. 1 (e.g., the contact records 506 and 508 of FIG. 5). The contact directory 136 of FIG. 1 then returns a logic value or other such signifier to the contact directory processor 304 of FIG. 3 to identify an associated user record, for example, the username “USER110” or the contact identifier “USER110B” for the user 110 of FIG. 1 (step 622). Alternatively, the contact directory may return a Boolean value such as, for example, a false signifier (e.g., “0”) for no determined match or a true signifier (e.g., “1”) for a determined match.
Although this example provides an exact match of the account identifier field 512, the contact directory 136 of FIG. 1 may provide sequential string matching algorithms as near matching (e.g., matching a number of characters or sequence of characters within a string) and index matching (e.g., ranking a subset of characters or sequence of characters within a string), or any such current or future string matching algorithms. Also, the contact directory processor 304 of FIG. 3 may query the contact directory 136 of FIG. 1 with any syntactical language capable of describing and structuring data objects from a directory assistance service record such as, for example, extensible markup language (“XML”), HyperText Markup Language (“HTML”), or any other such markup language or character delimited string.
The contact directory processor 304 of FIG. 3 also uses one or more data objects from the directory assistance service record (e.g., the telephone number of “207-555-1000” associated with the matching listing record 424 of FIG. 4) to query the directory server(s) 132 of FIG. 1 (step 624). The query of the contact directory processor 304 of FIG. 3 may be implemented as a reverse lookup function, which is generally associated with directories to enable a query with a known telephone number, which then retrieves a name and/or address of a person or business to whom the telephone number is registered. The directory server(s) 132 of FIG. 1 analyze, for example, the listing records 420-424 and, in this instance, the telephone number field 414 of FIG. 4 to determine matching listing information. In this example, a match for the listing record 424 is determined from the string of “207-555-1000” in the telephone number field 414. Thus, the directory server(s) 132 of FIG. 1 returns some or all of the listing information from fields 402-414 associated with listing record 424 (e.g., first name of “JACK”, last name of “DOE”, mailing address of “123 THIRD ST”, city name of “GREENVILLE”, state name of “ME”, zip code of “04441” and/or telephone number of “207-555-1000”) to the contact directory processor 304 of FIG. 3 (step 626). As the telephone number originated from the directory server(s) 132 of FIG. 1 and, more particularly, the directory data structure 400 of FIG. 4, the contact directory processor 304 of FIG. 3 is provided a relative certainty for determining matching listing information using the example reverse look-up function described above.
With the additional listing information returned from the query and the identification of user record 504 of FIG. 5 in the contact directory 136 of FIG. 1, the contact directory process 304 of FIG. 3 stores the returned listing information as contact record 508 in the contact directory 136 of FIG. 1 (step 628). In particular, the contact directory processor 304 of FIG. 3 stores the returned listing information associated with listing record 424 of FIG. 4 (e.g., “JACK” from the first name field 402, “DOE” from the last name field 404, “123 THIRD ST” from the mailing address field 406, “GREENVILLE” from the city field 408, “ME” from the state field 410, “04441” from the zip code field 412, “207-555-1000” from the telephone number field 414 of FIG. 4) to the respective fields 516-528 in contact record 508 of FIG. 5. Thus, listing information provided from directory service usage and additional listing information associated with the listing record is stored as a contact record and associated with the example user 110 of FIG. 1 in the contact directory 136 of FIG. 1. The contact directory processor 304 may also be configured to identify a contact record as a contact stemming from a DA service request, for example, the contact table 510 of FIG. 5 may only store contacts records associated with DA service requests and/or an additional field in contact table 510 may be populated with “DA contact” (not shown).
As previously stated, the example communication system 100 of FIG. 1 may be configured to transfer the content of the contact directory 136 of FIG. 1 to an associated user device prior to and/or after a user request. For example, the user device 112 of FIG. 1 may be a VoIP telephone, which may on an aperiodic basis (e.g., based on event-based procedure(s), etc.), a periodic basis (e.g., based on scheduled procedure(s), etc.), or real-time basis to obtain or receive updated contacts from the contact directory 136 of FIG. 1. Similarly, the contact directory 136 of FIG. 1 may be implemented with API(s) to enable users to communicatively couple and interact with the contact directory 136 of FIG. 1. Example of such interfaces may include providing graphic user interfaces via a browser or other such common programs to enable user interaction on user devices, such as, for example, VoIP phones, cellular phones, personal computers, personal digital assistants, MP3 players, set-top-boxes, or any other device which may audibly or visually communicate data objects to a user.
Such an interface may provide a user (e.g., users 110 of FIG. 1) to access designated contact directory data structures within the example contact directory 136 of FIG. 1 through one or more user devices (e.g., the user devices 112-116). The interface may use, for example, a web-based or HTML user interface to accept input and provide output by generating web pages that are transported via the Internet and viewed by the user using a web browser program, a telephone user interface to accept input (e.g., a tone-dialed response) and provide output by generating telephone voice that is transported via a telephone network and heard by the user using a telephone, or any other hardware, software, or firmware that enables the user devices 112-118 of FIG. 1 to enable inputs that allow a user to control the contact directory 136 of FIG. 1 and outputs that allow the contact directory 136 of FIG. 1 to produce the effects of the control. To this end, the interface also may include one or more example authentication mechanisms and/or protocols to authenticate a particular user seeking to access the example contact directory 136 of FIG. 1. Example mechanism(s) and/or protocol(s) that can be employed may include requiring entry of a unique identifier (e.g., the user name “USER110” of the user name field 510 of FIG. 5) and password (e.g., the password “USER110PASSWORD” of the password field 513 of FIG. 5) associated with a particular data structure (e.g., the contact data structure 500 of FIG. 5), and/or using a user device (e.g., the user device 112 of FIG. 1) having a device identifier uniquely associated with a field in data structure (e.g., the account identifier field 512 of FIG. 5). After authenticating a user, the interface enables the authenticated user to provide, delete, and/or change one or more fields and/or records in the contact directory 136 of FIG. 1 via the example user devices 112-118 or other user devices, as discussed above in the example communications system 100 of FIG. 1.
Flow diagrams representative of example processes configured to implement the example operator position 130 of FIG. 1 and the DA management system 134 of FIG. 1 are shown in FIGS. 7 and 8. In these examples, the processes may be implemented as machine readable instructions in the form of one or more example programs for execution by a processor, such as the processor 805 shown in the example processor system 900 of FIG. 9. The processes may be embodied in software stored on a tangible medium such as a CD-ROM, a floppy disk, a hard drive, a digital versatile disk (“DVD”), or a memory associated with the processor 905, but persons of ordinary skill in the art will readily appreciate that the entire processes and/or parts thereof could alternatively be executed by a device other than the processor 905 and/or embodied in firmware or dedicated hardware in a well known manner. For example, any or all of the example operator position 130 of FIG. 1, the DA management system 134 of FIG. 1, the directory server(s) 132 of FIG. 1, and the contact directory 136 of FIG. 1 could be implemented by firmware, hardware, and/or software. More particularly, the calling line identifier 200, network interface 202, I/O devices 204, and DA processor 206 of the example operator position 130 of FIG. 2 along with the DASR parser 300, CRIS 302, and contact directory processor 304 of the example DA management system 134 of FIG. 3 may be implemented by firmware, hardware, and/or software. Further, although the example processes are described with reference to the flow diagrams illustrated in FIGS. 7-8, persons of ordinary skill in the art will readily appreciate that many other methods of implementing the example processes may alternatively be used. For example, the order of execution of the blocks may be changed, and/or some of the blocks described may be changed, eliminated, or combined. Similarly, the execution of the example processes and each block in the example processes can be performed iteratively.
The example process 700 of FIG. 7 provides an example execution sequence that may be performed by the example operator position 130 of FIG. 1 to provide DA service for a user (e.g., the example user 110 of FIG. 1) and record the use of the DA service by the user. The example process 800 of FIG. 8 provides an example execution sequence that may be performed by the example DA management system 134 of FIG. 1 to provide contact management for a user of DA services (e.g., the example user 110), administer billing for the usage of DA services, and/or any other electronic services to monitor the usage of DA services.
The example process 700 of FIG. 7 begins at block 702 where the example operator position 130 of FIG. 1 communicatively couples a user, who may dial a particular telephone number (e.g., “411,” “555-1212,” etc.) with an operator, which provides the example operator position 130 of FIG. 1 with the device identifier associated with the user device. After the user and the operator are communicatively coupled (block 702), the example operator position 130 of FIG. 1 receives particular listing information (e.g., city name(s), state name(s), zip code(s), business name(s), surname(s), first and last name(s), etc.) from the user. The operator position 130 of FIG. 1 then queries the directory server(s) 132 of FIG. 1 with the user-provided listing information, which may employ any such sequential string matching algorithms such as near matching (e.g., matching a number of characters or sequence of characters within a string), index matching (e.g., ranking a subset of characters or sequence of characters within a string), or any such current or future string matching algorithms.
The operator position 130 of FIG. 1 then receives the results of the query from the directory server(s) 132 of FIG. 1 (block 706) and provides the listing information to the user (block 706). If the operator position 130 of FIG. 1 receives a communication that the provided listing information is incorrect (e.g., a negative verbal response from a user, a particular tone-dialed response from a user device, etc.), the operator position 130 of FIG. 1 provides the user an option for an additional directory query (block 710). If the operator position 130 of FIG. 1 receives a communication to indicate an additional directory query (e.g., an affirmative verbal response from a user, a particular tone-dialed response from a user device, etc.), the operator position 130 of FIG. 1 repeats blocks 702-708 to perform an additional query with new or additional listing information received from the user.
If the operator position 130 of FIG. 1 receives a communication that the provided listing information is correct (e.g., an affirmative verbal response, a particular tone-dialed response from a user device, etc.), the operator position 130 of FIG. 1 generates a directory assistance service record to register the usage of the DA service by the user (block 712), which is sent to the DA management system 134 of FIG. 1. The directory assistance service record may include one or more data objects such as, for example, a telephone number for the user to be billed and a telephone number of the provided listing information. After a directory assistance service record is generated and sent (block 712) or the operator position 130 of FIG. 1 receives a request from the user for no additional directory queries (e.g., an affirmative verbal response from a user, a particular tone-dialed response from a user device, etc.) (block 710), the process 700 ends and/or returns control to a higher-level process.
The example process 800 of FIG. 8 begins at block 802 where the DA management system 134 of FIG. 1 obtains a directory assistance service record, which may be generated from the example operator position 130 of FIG. 1. After obtaining the directory assistance service record (block 802), the DA management system 134 of FIG. 1 duplicates one or more data objects from the directory assistance service record to any additional processes for parallel processing. For example, the DA management system 134 of FIG. 1 may duplicate the directory assistance service record to a billing process. After duplicating one or more data objects from the directory assistance service record to create any parallel processes (block 804), the DA management system 134 of FIG. 1 performs a query on the contact directory 136 of FIG. 1 to determine if one or more users specified by the data objects from the directory assistance service record has a record in the contact directory 136 of FIG. 1 (block 806). For example, the DA management system 134 of FIG. 1 may query the contact directory 136 of FIG. 1 for a record containing a particular telephone number or other such unique user identifier associated with a user from the directory assistance service record. The DA management system 134 of FIG. 1 may also query the contact directory 136 of FIG. 1 and identify a plurality of records associated with a particular telephone number or other such unique identifier from the data object(s) of the directory assistance service record.
If the DA management system 134 of FIG. 1 does not identify a record associated with the user from the directory assistance service record in block 808, the DA management system 134 of FIG. 1 ends the process 800 and/or returns control to a higher-level process. Alternatively, if the DA management system 134 of FIG. 1 identifies a record associated with the user from the directory assistance service record in block 808, the DA management system 134 of FIG. 1 performs a query of the directory server(s) 132 of FIG. 1 with one or more data objects from the directory assistance service record (block 810). For example, the DA management system 134 of FIG. 1 may query the directory server(s) 132 of FIG. 1 with a telephone number from the directory assistance service record.
The DA management system 134 of FIG. 1 then obtains some or all of the listing information associated with the listing record returned from the directory server(s) 132 of FIG. 1 (block 812). For example, the DA management system 134 of FIG. 1 may obtain first names, last names, mailing addresses, city names, state names, zip codes, multiple telephone numbers, email addresses, business names, business descriptions, navigational coordinates, or any other listing information that can be stored in the directory server(s) 132 of FIG. 1. After the listing information is obtained in block 812, the DA management system 134 stores the listing information as one or more contact records in the contact directory 136 of FIG. 1 (block 814). For example, the DA management system 134 may store the listing information to a contact record that is associated with the user of directory assistance. The DA management system 134 may also store the listing information to a plurality of contact records, each of which is associated with a different user record in the contact directory 136 of FIG. 1 (e.g., multiple user records associated with a common data object, such as multiple users associated with a telephone number). The DA management system 134 also may store the new contact record in a particular table specified for DA service contacts or populate a particular field to differentiate the new contact record as contact associated with DA service usage.
FIG. 9 is a schematic diagram of an example processor platform 900 that may be used and/or programmed to implement any or all of the example operator position 130 of FIG. 1, the DA management system 134 of FIG. 1, the directory server(s) 132 of FIG. 1, and the contact directory 136 of FIG. 1. More particularly, any or all of the calling line identifier 200, network interface 202, I/O devices 204, and DA processor 206 of the example operator position 130 of FIG. 2 along with the DASR parser 300, CRIS 302, and contact directory processor 304 of the example DA management system 134 of FIG. 3 may be implemented by the example processor platform 900. For example, the processor platform 900 can be implemented by one or more general purpose single-thread and/or multi-threaded processors, cores, microcontrollers, etc. The processor platform 900 may also be implemented by one or more computing devices that contain any of a variety of concurrently-executing single-thread and/or multi-threaded processors, cores, microcontrollers, etc.
The processor platform 900 of the example of FIG. 9 includes at least one general purpose programmable processor 905. The processor 905 executes coded instructions 910 present in main memory of the processor 905 (e.g., within a random-access memory (“RAM”) 915). The coded instructions 910 may be used to implement the instructions represented by the example processes of FIGS. 7 and 8. The processor 905 may be any type of processing unit, such as a processor core, processor and/or microcontroller. The processor 905 is in communication with the main memory (including a read-only memory (“ROM”) 920 and the RAM 915) via a bus 925. The RAM 915 may be implemented by dynamic RAM (“DRAM”), Synchronous DRAM (“SDRAM”), and/or any other type of RAM device, and ROM may be implemented by flash memory and/or any other desired type of memory device. Access to the memory 915 and 920 may be controlled by a memory controller (not shown).
The processor platform 900 also includes an interface circuit 930. The interface circuit 930 may be implemented by any type of interface standard, such as an external memory interface, serial port, general purpose input/output, etc. One or more input devices 935 and one or more output devices 940 are connected to the interface circuit 930.
At least some of the above described example methods and/or apparatus are implemented by one or more software and/or firmware programs running on a computer processor. However, dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement some or all of the example methods and/or apparatus described herein, either in whole or in part. Furthermore, alternative software implementations including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the example methods and/or apparatus described herein.
It should also be noted that the example software and/or firmware implementations described herein are optionally stored on a tangible storage medium, such as: a magnetic medium (e.g., a magnetic disk or tape); a magneto-optical or optical medium such as an optical disk; or a solid state medium such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; or a signal containing computer instructions. A digital file attached to e-mail or other information archive or set of archives is considered a distribution medium equivalent to a tangible storage medium. Accordingly, the example software and/or firmware described herein can be stored on a tangible storage medium or distribution medium such as those described above or successor storage media.
To the extent the above specification describes example components and functions with reference to particular standards and protocols, it is understood that the scope of this patent is not limited to such standards and protocols. For instance, each of the standards for Internet and other packet switched network transmission (e.g., Transmission Control Protocol (“TCP”)/Internet Protocol (“IP”), User Datagram Protocol (“UDP”)/IP, HyperText Markup Language (“HTML”), HyperText Transfer Protocol (“HTTP”)) represent examples of the current state of the art. Such standards are periodically superseded by faster or more efficient equivalents having the same general functionality. Accordingly, replacement standards and protocols having the same functions are equivalents which are contemplated by this patent and are intended to be included within the scope of the accompanying claims.
This patent contemplate examples wherein a device is associated with one or more machine readable mediums containing instructions, or receives and executes instructions from a propagated signal so that, for example, when connected to a network environment, the device can send or receive voice, video or data, and communicate over the network using the instructions. Such a device can be implemented by any electronic device that provides voice, video and/or data communication, such as a telephone, a cordless telephone, a mobile telephone, a cellular telephone, a Personal Digital Assistant (“PDA”), a set-top box, a computer, and/or a server.
Additionally, although this patent discloses example systems including software or firmware executed on hardware, it should be noted that such systems are merely illustrative and should not be considered as limiting. For example, it is contemplated that any or all of these hardware and software components could be embodied exclusively in hardware, exclusively in software, exclusively in firmware or in some combination of hardware, firmware and/or software. Accordingly, while the above specification described example systems, methods and articles of manufacture, persons of ordinary skill in the art will readily appreciate that the examples are not the only way to implement such systems, methods and articles of manufacture. Therefore, although certain example methods, apparatus and articles of manufacture have been described herein, the scope of coverage of this patent is not limited thereto. On the contrary, this patent covers all methods, apparatus and articles of manufacture fairly falling within the scope of the appended claims either literally or under the doctrine of equivalents.

Claims (18)

What is claimed is:
1. A method comprising:
obtaining, via a directory assistance processor, a first data object from a billing record generated to track usage of a directory assistance service by a caller during a call to the directory assistance service, the first data object having been retrieved by the directory assistance service via a first query performed during the call, the first data object having been conveyed to the caller by the directory assistance service during the call;
performing, via the directory assistance processor and after completion of the call, a second query of a first directory using the first data object of the billing record to obtain listing information associated with the first data object, the first query and the second query being different queries; and
transferring, via the directory assistance processor, a contact record including the listing information obtained from the first directory to a device associated with the caller prior to a follow-up call, by the caller, to the directory assistance service for the contact record.
2. The method of claim 1, wherein the billing record further includes a second data object associated with the caller, and further including storing the listing information in a second directory in association with the second data object.
3. The method of claim 2, further including querying a second directory with the second data object to identify user records associated with the second data object.
4. The method of claim 1, wherein the performing of the second query of the first directory using the first data object includes querying the first directory with a telephone number provided to the caller during the usage of the directory assistance service.
5. The method of claim 1, wherein the device associated with the caller includes a cellular phone.
6. An apparatus, comprising:
a memory including machine readable instructions; and
a directory assistance processor to execute the instructions to perform operations including:
obtaining a first data object from a billing record which tracks usage of a directory assistance service by a caller during a call to the directory assistance service, the first data object having been retrieved by the directory assistance service via a first query performed during the call, the first data object having been conveyed to the caller by the directory assistance service during the call;
performing, after completion of the call, a second query of a first directory using the first data object of the billing record to obtain listing information associated with the first data object, the first query being a different query than the second query; and
transferring a contact record including the listing information obtained from the first directory to a device associated with the caller without receiving a follow-up call to the directory assistance service for the contact record from the caller.
7. The apparatus of claim 6, wherein the billing record further includes a second data object associated with the caller, and the operations further include storing the listing information in a second directory in association with the second data object.
8. The apparatus of claim 7, wherein the operations further include querying a second directory with the second data object to identify user records associated with the second data object.
9. The apparatus of claim 6, wherein the performing of the second query of the first directory using the first data object includes querying the first directory with a telephone number provided to the caller during the usage of the directory assistance service.
10. The apparatus of claim 6, wherein the device associated with the caller includes a voice over Internet Protocol telephone.
11. A tangible machine readable storage device including instructions that, when executed, cause a machine to perform operations comprising:
obtaining a first data object from a billing record generated to track usage of a directory assistance service by a caller during a call to the directory assistance service, the first data object having been retrieved by the directory assistance service via a first query performed during the call, the first data object having been conveyed to the caller by the directory assistance service during the call;
performing, after completion of the call, a second query of a first directory using the first data object of the billing record to obtain listing information associated with the first data object, the first query and the query being different queries; and
transferring a contact record including the listing information obtained from the first directory to a device associated with the caller without a follow-up call, by the caller, to the directory assistance service for the contact record.
12. The storage device of claim 11, wherein the billing record further includes a second data object associated with the caller, and the operations further include storing the listing information in a second directory in association with the second data object.
13. The storage device of claim 12, wherein the operations further include querying a second directory with the second data object to identify user records associated with the second data object.
14. The storage device of claim 11, wherein the performing of the second query of the first directory with the first data object includes querying the first directory with a telephone number provided to the caller during the usage of the directory assistance service.
15. The storage device of claim 11, wherein the device associated with the caller includes a cellular phone.
16. The method of claim 1, further including storing the contact record in a second directory associated with the caller, and providing access to the contact record stored in the second directory to the device via an electronic interface.
17. The apparatus of claim 6, wherein the operations further include storing the contact record in a second directory associated with the caller, and providing access to the contact record stored in the second directory to the device via an electronic interface.
18. The storage device of claim 11, wherein the operations further include storing the contact record in a second directory associated with the caller, and providing access to the contact record stored in the second directory to the device via an electronic interface.
US13/916,173 2006-10-27 2013-06-12 Methods and apparatus to provide contact management with directory assistance Expired - Fee Related US9270821B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/916,173 US9270821B2 (en) 2006-10-27 2013-06-12 Methods and apparatus to provide contact management with directory assistance

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/553,781 US8483381B2 (en) 2006-10-27 2006-10-27 Methods and apparatus to provide contact management with directory assistance
US13/916,173 US9270821B2 (en) 2006-10-27 2013-06-12 Methods and apparatus to provide contact management with directory assistance

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/553,781 Continuation US8483381B2 (en) 2006-10-27 2006-10-27 Methods and apparatus to provide contact management with directory assistance

Publications (2)

Publication Number Publication Date
US20130272517A1 US20130272517A1 (en) 2013-10-17
US9270821B2 true US9270821B2 (en) 2016-02-23

Family

ID=38820159

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/553,781 Active 2029-10-01 US8483381B2 (en) 2006-10-27 2006-10-27 Methods and apparatus to provide contact management with directory assistance
US13/916,173 Expired - Fee Related US9270821B2 (en) 2006-10-27 2013-06-12 Methods and apparatus to provide contact management with directory assistance

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/553,781 Active 2029-10-01 US8483381B2 (en) 2006-10-27 2006-10-27 Methods and apparatus to provide contact management with directory assistance

Country Status (2)

Country Link
US (2) US8483381B2 (en)
WO (1) WO2008051655A1 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8358766B1 (en) 2006-08-10 2013-01-22 At&T Mobility Ii Llc Operating a directory assistance call center based upon directory assistance database and caller ID data
US8483381B2 (en) 2006-10-27 2013-07-09 At&T Intellectual Property I, L.P. Methods and apparatus to provide contact management with directory assistance
TWI342147B (en) * 2006-12-25 2011-05-11 Inventec Appliances Corp Method of updating internet protocol phone contact information in general phone
JP5299011B2 (en) * 2009-03-25 2013-09-25 セイコーエプソン株式会社 Tape printer, control method and program for tape printer
CA2768805A1 (en) * 2009-07-20 2011-01-27 Research In Motion Limited Methods and apparatus to use a network repository as a proxy to exchange converged address book service requests and responses
US20110238622A1 (en) * 2010-03-26 2011-09-29 Salesforce.Com, Inc. System, method and computer program product for associating a record with an account from an on-demand database system
US20140122517A1 (en) * 2012-10-25 2014-05-01 Vlad Vendrow Contact list based on internal and external data
JP5796725B2 (en) * 2013-03-22 2015-10-21 カシオ計算機株式会社 Authentication processing apparatus, authentication processing method, and program
US12063258B2 (en) * 2016-06-03 2024-08-13 Comcast Cable Communications, Llc Voice service routing system for accessibility
WO2018115986A1 (en) * 2016-12-23 2018-06-28 Vishal Gupta Narrowcast engine based on association of contact card with contact directories

Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5259026A (en) 1991-12-18 1993-11-02 Bell Communications Research, Inc. Method for speed calling automatic update
US5892820A (en) 1996-08-28 1999-04-06 Bell Atlantic Network Services, Inc. Directory assistance access to intercept telephone numbers
US6163596A (en) 1997-05-23 2000-12-19 Hotas Holdings Ltd. Phonebook
US20020007455A1 (en) * 2000-04-17 2002-01-17 Wiederin Shawn E. Stateless mechanism for data retrieval
US20030076939A1 (en) * 2001-10-19 2003-04-24 Timmins Timothy A. Technique for attributing communication call transactions to user affiliations and adjusting billings thereof
US20030105635A1 (en) 2001-11-30 2003-06-05 Graumann David L. Method and apparatus to perform speech recognition over a voice channel
US20030112937A1 (en) 2001-12-19 2003-06-19 Kreckel Richard D. Telecommunication services reporting system
US20030179866A1 (en) 2002-03-20 2003-09-25 Bellsouth Intellectual Property Corporation Personal address updates using directory assistance data
US20030179864A1 (en) 2002-03-20 2003-09-25 Bellsouth Intellectual Property Corporation Personal calendaring, schedules, and notification using directory data
US20030223565A1 (en) * 2002-06-03 2003-12-04 Interchange Corp. Enhanced directory assistance services in a telecommunications network
US20040029567A1 (en) 2001-05-25 2004-02-12 Timmins Timothy A. Technique for effectively providing personalized communications and information assistance services
US20040062370A1 (en) * 1999-01-29 2004-04-01 Microsoft Corporation Interactive billing control system
US20040132433A1 (en) * 2000-07-14 2004-07-08 Stern Robert A. System and method for directory services and e-commerce across multi-provider networks
US20040141604A1 (en) 1996-06-10 2004-07-22 Shaffer James D. One number, intelligent call processing system
US20040161093A1 (en) * 1997-03-13 2004-08-19 Metro One Telecommunications, Inc. Method and apparatus for monitoring telephonic members and providing directory assistance
US20040170260A1 (en) * 2003-02-28 2004-09-02 Baker Nathan Bryant System and method for identifying parties in bills for communications services
US20040170261A1 (en) * 2003-02-28 2004-09-02 Baker Nathan B. Methods and systems for providing on-line bills for use in communications services
US20040184593A1 (en) * 1997-03-13 2004-09-23 Metro One Telecommunications, Inc. Technique for effectively providing concierge-like services in a directory assistance system
US20040214554A1 (en) * 2002-06-25 2004-10-28 Bellsouth Intellectual Property Corporation Wireless paging directory assistant
US20050018829A1 (en) * 2000-03-07 2005-01-27 Baker Nathan Bryant Technique for assessing charges for a telecommunication service including information assistance
US20050041794A1 (en) 1994-04-28 2005-02-24 Cox Patrick M. Method and system for directory assistance services
US20050053220A1 (en) * 2001-02-27 2005-03-10 Helbling Christopher L. Methods and systems for directory information lookup
US6870921B1 (en) 1999-11-12 2005-03-22 Metro One Telecommunications, Inc. Enhanced directory assistance service providing individual or group directories
US20050111640A1 (en) * 2003-02-27 2005-05-26 Tekelec Methods and systems for automatically and accurately generating call detail records for calls associated with ported subscribers
US20050143064A1 (en) 2000-01-31 2005-06-30 Robert Pines Communication assistance system and method
US20050157858A1 (en) 2001-02-27 2005-07-21 Mahesh Rajagopalan Methods and systems for contact management
WO2005076588A1 (en) 2004-02-10 2005-08-18 Call Genie Inc. Method and system of providing personal and business information
US20050185786A1 (en) * 1999-10-08 2005-08-25 Evan Marwell Personalized assistance system and method
US20050238159A1 (en) 2004-04-26 2005-10-27 Halsell Victoria M Automatic number storage for directory assistance services
US20060072734A1 (en) 2004-08-12 2006-04-06 Christine Baumeister System and method for preferred provider services in an enhanced directory assistance system
US20060093120A1 (en) * 2000-08-21 2006-05-04 Volt Information Sciences Inc. Enhanced directory assistance automation
US20060147015A1 (en) * 2004-12-30 2006-07-06 Christine Baumeister Enhanced directory assistance system with voice over IP call handling
US20060173915A1 (en) * 2004-11-29 2006-08-03 Kliger Scott A Telephone search supported by advertising based on past history of requests
US20060245576A1 (en) * 2005-04-27 2006-11-02 Henry Gary E Technique for continually assisting a user during an information assistance call
US7184754B1 (en) * 2003-02-04 2007-02-27 Farmar Michael G Method and apparatus for cellular telephone directory assistance
US20070088616A1 (en) 2005-10-14 2007-04-19 Lambert Susan E Systems and methods for searching for entertainment tickets via internet
US20070127648A1 (en) 1998-09-04 2007-06-07 Wardin William K Method and system for creating a billing record with a called party's name
US20070203736A1 (en) * 2006-02-28 2007-08-30 Commonwealth Intellectual Property Holdings, Inc. Interactive 411 Directory Assistance
US8358766B1 (en) * 2006-08-10 2013-01-22 At&T Mobility Ii Llc Operating a directory assistance call center based upon directory assistance database and caller ID data
US8483381B2 (en) 2006-10-27 2013-07-09 At&T Intellectual Property I, L.P. Methods and apparatus to provide contact management with directory assistance

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381467A (en) * 1992-10-30 1995-01-10 At&T Corp. Telephone call billing system
US6628772B1 (en) * 1994-04-28 2003-09-30 Metro One Telecommunications, Inc. Method for providing enhanced directory assistance upon command using out-of-band signaling
US5842174A (en) * 1995-04-10 1998-11-24 Yanor; David Patrick Telephone billing analyzer
US6115458A (en) * 1995-07-14 2000-09-05 American Express Travel Related Services Company, Inc. Method and apparatus for summaries of prepaid instrument transaction activity
US5982864A (en) * 1997-05-01 1999-11-09 At& T Corp Telephone billing with customized billing information
US5943406A (en) * 1997-09-30 1999-08-24 Leta; John T. Telephone call tracking and billing system and method
US7792267B2 (en) * 2004-05-25 2010-09-07 International Business Machines Corporation Automatic call completion in a directory assistance system

Patent Citations (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5259026A (en) 1991-12-18 1993-11-02 Bell Communications Research, Inc. Method for speed calling automatic update
US20050041794A1 (en) 1994-04-28 2005-02-24 Cox Patrick M. Method and system for directory assistance services
US20040141604A1 (en) 1996-06-10 2004-07-22 Shaffer James D. One number, intelligent call processing system
US5892820A (en) 1996-08-28 1999-04-06 Bell Atlantic Network Services, Inc. Directory assistance access to intercept telephone numbers
US20040184593A1 (en) * 1997-03-13 2004-09-23 Metro One Telecommunications, Inc. Technique for effectively providing concierge-like services in a directory assistance system
US20040161093A1 (en) * 1997-03-13 2004-08-19 Metro One Telecommunications, Inc. Method and apparatus for monitoring telephonic members and providing directory assistance
US6163596A (en) 1997-05-23 2000-12-19 Hotas Holdings Ltd. Phonebook
US20070127648A1 (en) 1998-09-04 2007-06-07 Wardin William K Method and system for creating a billing record with a called party's name
US20040062370A1 (en) * 1999-01-29 2004-04-01 Microsoft Corporation Interactive billing control system
US20050185786A1 (en) * 1999-10-08 2005-08-25 Evan Marwell Personalized assistance system and method
US6870921B1 (en) 1999-11-12 2005-03-22 Metro One Telecommunications, Inc. Enhanced directory assistance service providing individual or group directories
US20050143064A1 (en) 2000-01-31 2005-06-30 Robert Pines Communication assistance system and method
US20050018829A1 (en) * 2000-03-07 2005-01-27 Baker Nathan Bryant Technique for assessing charges for a telecommunication service including information assistance
US20020007455A1 (en) * 2000-04-17 2002-01-17 Wiederin Shawn E. Stateless mechanism for data retrieval
US20040132433A1 (en) * 2000-07-14 2004-07-08 Stern Robert A. System and method for directory services and e-commerce across multi-provider networks
US20060093120A1 (en) * 2000-08-21 2006-05-04 Volt Information Sciences Inc. Enhanced directory assistance automation
US20050157858A1 (en) 2001-02-27 2005-07-21 Mahesh Rajagopalan Methods and systems for contact management
US20050053220A1 (en) * 2001-02-27 2005-03-10 Helbling Christopher L. Methods and systems for directory information lookup
US20040029567A1 (en) 2001-05-25 2004-02-12 Timmins Timothy A. Technique for effectively providing personalized communications and information assistance services
US20030076939A1 (en) * 2001-10-19 2003-04-24 Timmins Timothy A. Technique for attributing communication call transactions to user affiliations and adjusting billings thereof
US20030105635A1 (en) 2001-11-30 2003-06-05 Graumann David L. Method and apparatus to perform speech recognition over a voice channel
US20030112937A1 (en) 2001-12-19 2003-06-19 Kreckel Richard D. Telecommunication services reporting system
US20030179864A1 (en) 2002-03-20 2003-09-25 Bellsouth Intellectual Property Corporation Personal calendaring, schedules, and notification using directory data
US6870915B2 (en) 2002-03-20 2005-03-22 Bellsouth Intellectual Property Corporation Personal address updates using directory assistance data
US20040258234A1 (en) 2002-03-20 2004-12-23 Bellsouth Intellectual Property Corporation Personal address updates using directory assistance data
US20030179866A1 (en) 2002-03-20 2003-09-25 Bellsouth Intellectual Property Corporation Personal address updates using directory assistance data
US20030223565A1 (en) * 2002-06-03 2003-12-04 Interchange Corp. Enhanced directory assistance services in a telecommunications network
US20040214554A1 (en) * 2002-06-25 2004-10-28 Bellsouth Intellectual Property Corporation Wireless paging directory assistant
US7184754B1 (en) * 2003-02-04 2007-02-27 Farmar Michael G Method and apparatus for cellular telephone directory assistance
US20050111640A1 (en) * 2003-02-27 2005-05-26 Tekelec Methods and systems for automatically and accurately generating call detail records for calls associated with ported subscribers
US20040170260A1 (en) * 2003-02-28 2004-09-02 Baker Nathan Bryant System and method for identifying parties in bills for communications services
US20040170261A1 (en) * 2003-02-28 2004-09-02 Baker Nathan B. Methods and systems for providing on-line bills for use in communications services
WO2005076588A1 (en) 2004-02-10 2005-08-18 Call Genie Inc. Method and system of providing personal and business information
US20050238159A1 (en) 2004-04-26 2005-10-27 Halsell Victoria M Automatic number storage for directory assistance services
US20060072734A1 (en) 2004-08-12 2006-04-06 Christine Baumeister System and method for preferred provider services in an enhanced directory assistance system
US20060173915A1 (en) * 2004-11-29 2006-08-03 Kliger Scott A Telephone search supported by advertising based on past history of requests
US20060147015A1 (en) * 2004-12-30 2006-07-06 Christine Baumeister Enhanced directory assistance system with voice over IP call handling
US20060245576A1 (en) * 2005-04-27 2006-11-02 Henry Gary E Technique for continually assisting a user during an information assistance call
US20070088616A1 (en) 2005-10-14 2007-04-19 Lambert Susan E Systems and methods for searching for entertainment tickets via internet
US20070203736A1 (en) * 2006-02-28 2007-08-30 Commonwealth Intellectual Property Holdings, Inc. Interactive 411 Directory Assistance
US8358766B1 (en) * 2006-08-10 2013-01-22 At&T Mobility Ii Llc Operating a directory assistance call center based upon directory assistance database and caller ID data
US8483381B2 (en) 2006-10-27 2013-07-09 At&T Intellectual Property I, L.P. Methods and apparatus to provide contact management with directory assistance

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
Patent Cooperation Treaty, "International Preliminary Report on Patentability", issued in connection with Application No. PCT/US2007/076760, May 7, 2009, 2 pages.
Patent Cooperation Treaty, "International Search Report", issued in connection with Application No. PCT/US2007/076760, Jan. 14, 2008, 5 pages.
Patent Cooperation Treaty, "Written Opinion of the International Searching Authority", issued in connection with Application No. PCT/US2007/076760, Jan. 14, 2008, 7 pages.
Patent Cooperation Treaty, "Written Opinion of the International Searching Authority", issued in connection with Application No. PCT/US2007/076760, May 7, 2009, 6 pages.
United States Patent and Trademark Office, "Notice of Allowance and Fee(s) Due", issued in connection with U.S. Appl. No. 11/553,781, Mar. 12, 2013, 18 pages.
United States Patent and Trademark Office, "Office Action", issued in connection with U.S. Appl. No. 11/553,781, Apr. 12, 2011, 14 pages.
United States Patent and Trademark Office, "Office Action", issued in connection with U.S. Appl. No. 11/553,781, Apr. 30, 2010, 22 pages.
United States Patent and Trademark Office, "Office Action", issued in connection with U.S. Appl. No. 11/553,781, Aug. 16, 2012, 24 pages.
United States Patent and Trademark Office, "Office Action", issued in connection with U.S. Appl. No. 11/553,781, Jan. 24, 2012, 24 pages.
United States Patent and Trademark Office, "Office Action", issued in connection with U.S. Appl. No. 11/553,781, Oct. 12, 2010, 14 pages.

Also Published As

Publication number Publication date
US8483381B2 (en) 2013-07-09
WO2008051655A1 (en) 2008-05-02
US20080101581A1 (en) 2008-05-01
US20130272517A1 (en) 2013-10-17

Similar Documents

Publication Publication Date Title
US9270821B2 (en) Methods and apparatus to provide contact management with directory assistance
US8116437B2 (en) Voice communications menu
US7352848B2 (en) Personal address updates using directory assistance data
US7167547B2 (en) Personal calendaring, schedules, and notification using directory data
US9042525B2 (en) System and method for voice activated dialing from a home phone
US5940476A (en) System and method for identifying an unidentified caller
US6985569B2 (en) System and method for identifying parties in bills for communications services
US6535596B1 (en) Call processing system utilizing subscriber services and preferences
US5901203A (en) Computer-based system and method for identifying an unidentified caller
US7274776B1 (en) Methods and systems for routing a call
US8619961B2 (en) Methods, systems and storage mediums for providing a self-provisioning telephony service
CN100525337C (en) Communication assistance system and method
US7996481B2 (en) Outbound notification using customer profile information
EP1238530B1 (en) System for storing and supplying wireless contacts information
US7965829B2 (en) Subscriber alterable call transfer service
US6735294B2 (en) Method and apparatus for an extensible markup language (XML) calendar-telephony interface
US20040193603A1 (en) Technique for effectively searching for information in response to requests in information assistance service
US7328005B2 (en) Information storage system
WO2005006724A1 (en) Method and apparatus for selecting a sound in a subscriber-based ring-back sound providing system
US20090122964A1 (en) System and method for providing recorded messages on a communications network
US7917527B1 (en) Personalized directory services for web routing
KR20040052824A (en) Recording system using wire or wireless telephone and method for recording thereof
KR20040010999A (en) method for up-dating a telephone number list of internet-phone

Legal Events

Date Code Title Description
AS Assignment

Owner name: AT&T KNOWLEDGE VENTURES, L.P., NEVADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PEARSON, LARRY B.;REEL/FRAME:030604/0310

Effective date: 20061030

ZAAA Notice of allowance and fees due

Free format text: ORIGINAL CODE: NOA

ZAAB Notice of allowance mailed

Free format text: ORIGINAL CODE: MN/=.

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCF Information on status: patent grant

Free format text: PATENTED CASE

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20240223