The invention is related to the field of communications, and in particular, to systems and methods of processing contact lists to develop routing plans.
Most wireless telephones and personal digital assistants have contact lists that are used to make voice calls and send text messages or emails. To generate a contact list, the user enters contact names and associated contact items. The contact names identify a person, business, or some other entity. The contact items enable communication with the associated contact name, such as telephone number or e-mail address for the associated contact name. The user may then place calls or send text messages and emails through their contact list. Unfortunately, existing communication systems do not take advantage of these contact lists to provide more intelligent communication services.
In a communication system, a processing system receives contact lists with contact items from wireless communication devices and processes the contact lists to identify a redundant contact item. In response, the processing system transfers a notification to a master wireless communication device. The processing system receives a response from the master wireless communication device and processes the response to generate and transfer a routing instruction. A routing system receives the routing instruction. The routing system receives a message for the master wireless communication device, and in response, selects another wireless communication device for the message based on the routing instruction and transfers the message to the other wireless communication device.
Communication devices 101-103 comprise communication circuitry and user interfaces, such as telephones, personal digital assistants, computers, internet appliances, and the like. Contact lists 111-112 comprise contact names and associated contact items. Processing server 104 and routing server 105 comprise processing and communication circuitry. Processing server 104 and routing server 105 may be integrated together or distributed across multiple devices. Links 121-122, 131-133, 140, and 150 comprise wireless or wire line communication connections. Links 121-122, 131-133, 140, and 150 may be direct links or they may include various intermediate systems and components.
Users operate communication devices 101-102 to generate contact lists 111-112. Processing server 104 obtains and processes contact lists 111-112 to generate a routing plan. Processing server 104 provides the routing plan to routing server 105. Routing server 105 receives communications over link 150 that are directed to communication device 103. Based on the routing plan, routing server 105 may route these communications to communication device 103, however, routing server 105 may instead re-direct these communications to communication devices 101-102.
To generate the routing plan, processing server 104 processes contact lists 111-112 to identify contact items that are present in only one of the contact lists 111-112. The routing plan will redirect communications for communication device 103 to the one of communication devices 101-102 that is associated with that one contact list. For example, if only contact list 111 has a contact item of telephone number (303) 555-1111, then telephone calls from (303) 555-1111 to communication device 103 would be redirected to communication device 101.
Processing server 104 also processes contact lists 111-112 to identify contact items that are present in both contact lists 111-112. If the same contact item is in both contact lists 111-112, then processing server 104 notifies associated communication devices 101-102 of this condition, and communication devices 101-102 each send notification responses to processing server 104. Processing server 104 processes these notification responses to generate the routing plan. For example, if both contact lists 111-112 have the same contact item (303) 555-1111, then processing server 104 will notify communication devices 101-102 of the condition to obtain routing instructions for communications from (303) 555-1111. The routing instructions indicate where communications from (303) 555-1111 should be routed, and processing server 104 implements the routing instructions in the routing plan.
The routing instructions in the responses may indicate that one, both, or neither of communication devices 101-102 should receive a communication from a particular contact item. For example, if both contact lists 111-112 have the same contact item (303) 555-1111, then the response from communication device 101 may request communications from (303) 555-1111, but the response from communication device 102 may deny communications from (303) 555-1111. Thus, communications from (303) 555-1111 to communication device 103 would be redirected to communication device 101 but not to communication device 102. Alternatively, the responses from communication devices 101-102 may both request communications from (303) 555-1111, and communications from (303) 555-1111 to communication device 103 would be redirected to both communication devices 101-102. In another alternative, the responses from communication devices 101-102 may both deny communications from (303) 555-1111, and communications from (303) 555-1111to communication device 103 would be routed to communication device 103.
Processing server 104 transfers the routing plan to routing server 105. Routing server 105 subsequently receives a communication request for a communication directed to communication device 103 and processes the communication request and the routing plan to determine if the communication should be redirected to communication device 101 or communication device 102. Routing server 105 obtains information from the communication request that identifies the sender of the communication, such as a telephone number or internet address. Routing server 105 then attempts to match this sender information with an associated routing instruction. Subsequently, routing server 105 receives the communication and routes the communication to one or more of communication devices 101-103 based on the routing plan. In this example, routing server 105 routes the communication to communication device 101—even though the communication was originally directed to communication device 103.
Home hub 306 communicates with an external communication system (not shown) via link 330. Home hub 306 comprises processing server 304 and routing server 305. Home hub 306 comprises processing and communication circuitry, such as a modem, computer, wireless transceiver, voice over internet protocol gateway, or the like.
Processing server 304 processes contact lists 311-312 to generate a routing plan. During this process, processing server 304 notifies master wireless telephone 301 to obtain responses that clarify and approve of any routing changes. For example, if only contact list 312 has contact item (303) 555-1111, then telephone calls from (303) 555-1111 to home telephone 303 will be redirected to associated wireless telephone 302 if master wireless telephone 301 approves this routing change. If both contact lists 311-312 have the same contact item (303) 555-1111, then telephone calls from (303) 555-1111 to home telephone 303 will be redirected to one or both of wireless telephones 301-302 based on routing instructions from master wireless telephone 301. Processing server 304 transfers the routing plan to routing server 305. Routing server 305 receives a call from an external system directed to home telephone 303 and routes the call based on the routing plan. The routing plan routes incoming calls to one or more telephones as specified by master wireless telephone 301.
In this example, the routing plan implements a routing priority specified by master wireless telephone 301. Routing server 305 receives a call and routes the call to master wireless telephone 301 on a first priority if master wireless telephone 301 is available. Routing server 305 then routes the call to wireless telephone 302 on a second priority if wireless telephone 302 is available. Finally, routing server 305 routes the call to home telephone 303 on a third priority.
Digital assistants 501-503 send contact lists 511-513 to processing server 504—typically in response to a user change to the contact lists. Processing server 504 processes contact lists 511-513 to generate a routing plan. During this process, processing server 504 obtains instructions and approval from master personal digital assistant 501 for implementation and changes to the routing plan.
When e-mail server 507 receives an e-mail directed to one of digital assistants 501-503, then e-mail server 507 transfers a route request to routing server 505. The route request identifies the sender and recipient of the e-mail. Routing server 504 processes the route request and the routing plan to generate a route instruction indicating the digital assistant (or email address/network address) that should receive the e-mail. Routing server 505 transfers the route instruction to the e-mail server 507. E-mail server 507 transfers the e-mail as specified by the route instruction. E-mail server 507 may re-address the email or encapsulate the e-mail in another e-mail to accomplish the e-mail redirection.
When text message server 508 receives a text message directed to one of digital assistants 501-503, then text message server 508 transfers a route request to routing server 505. The route request identifies the sender and recipient of the text message. Routing server 504 processes the route request and the routing plan to generate a route instruction indicating the digital assistant (or telephone number/internet address) that should receive the text message. Routing server 505 transfers the route instruction to text message server 508. Text message server 508 transfers the text message as specified by the route instruction. Text message server 508 may re-number the text message or encapsulate the text message in another text message to accomplish the text message redirection.
When VOIP server 509 receives a call directed to one of digital assistants 501-503, then VOIP server 509 transfers a route request to routing server 505. The route request identifies the caller number and the called number. Routing server 505 processes the route request and the routing plan to generate a route instruction indicating the digital assistant (or telephone number/internet address) that should receive the call. Routing server 505 transfers the route instruction to VOIP server 509. VOIP server 509 routes the call as specified by the route instruction. VOIP server 509 may change the called number or use a different internet address to accomplish the call redirection.
The above description and associated figures teach the best mode of the invention. The following claims specify the scope of the invention. Note that some aspects of the best mode may not fall within the scope of the invention as specified by the claims. Those skilled in the art will appreciate that the features described above can be combined in various ways to form multiple variations of the invention. As a result, the invention is not limited to the specific embodiments described above, but only by the following claims and their equivalents.
This patent application is a continuation of U.S. patent application Ser. No. 11/876,827 that was filed on Oct. 23, 2007 and is entitled, “COMMUNICATION ROUTING PLANS THAT ARE BASED ON COMMUNICATION DEVICE CONTACT LISTS.” U.S. patent application Ser. No. 11/876,827 is hereby incorporated by reference into this patent application.
Number | Date | Country | |
---|---|---|---|
Parent | 11876827 | Oct 2007 | US |
Child | 14323530 | US |