Washington, D.C. Location

McNeely, Hare & War LLP
5335 Wisconsin Ave, NW, Suite 440,
Washington, DC 20015
(202) 274-0214

Directions | Email

Princeton, NJ Location

McNeely, Hare & War LLP
12 Roszel Road, Suite C104,
Princeton, NJ 08540
(609) 240-2533

Directions | Email

Translate Site:

       

Seminar Sign Up

Patent Images


 

United States Patent Application 20040196968
Kind Code A1
Yue, Jonathan Zhanjun October 7, 2004

Message screening system and method

Abstract
A method of screening a voice communication from a caller includes registering a subscriber with an agent center to provide the subscriber with a unique identification number, adding the unique identification number to a list of approved callers associated with a subscriber telephone number, and blocking calls to the subscriber telephone number if the caller is not on the list of approved callers and forwarding calls to the subscriber number if the caller is on the list of approved callers.


 

Inventors: Yue, Jonathan Zhanjun(San Ramon, CA)
Correspondence Name and Address:
Kevin J. McNeely, Esq.
    5301 Wriley Road
    Bethesda
    MD
    20816
    US
Serial No.: 831041
Series Code: 10
Filed: April 26, 2004

 

U.S. Current Class: 379/210.02; 379/211.02
U.S. Class at Publication: 379/210.02; 379/211.02
Intern’l Class: H04M 003/42

Claims


I claim:

1. A method of screening a voice communication from a caller, comprising: registering a subscriber with an agent center to provide the subscriber with a unique identification number; adding the unique identification number to a list of approved callers associated with a subscriber telephone number; and blocking calls to the subscriber telephone number if the caller is not on the list of approved callers and forwarding calls to the subscriber number if the caller is on the list of approved callers.

2. The method of claim 1, further comprising: determining if the caller is on a list of rejected callers; and notifying the subscriber of a call request if the caller is not on the list of rejected callers.

3. The method of claim 2, wherein the notifying occurs by a voice message to a telephone of the subscriber.

4. The method of claim 2, wherein the notifying occurs by a tone sent to a telephone of the subscriber.

5. The method of claim 2, wherein the notifying occurs by a text message sent to a telephone of the subscriber.

6. The method of claim 2, wherein the notifying occurs by a picture sent to the telephone of the subscriber.

7. The method of claim 2, further comprising: allowing the subscriber to add the telephone number of the caller to the list of approved callers.

8. A call-screening system, comprising: a database having a list of approved callers; a registration module providing a subscriber with a unique identification number and adding the unique identification number to the list of approved callers, and a call forwarding module forwarding calls by approved callers to a telephone number of the subscriber.

9. The system of claim 8, wherein the database further comprises a list of rejected callers, and further comprising: a call blocking module blocking calls by rejected callers to the telephone number of the subscriber.

10. The system of claim 9, further comprising: a notification module notifying the subscriber of a call request if the caller is not on the list of approved callers and not on the list of rejected callers.

11. The system of claim 8, further comprising: a telephone having the database that includes the list of approved callers.

12. The system of claim 8, further comprising: a telephone system having the database that includes the list of approved callers.

13. An agent center operable to screen calls to a subscriber with a telephone having a caller identification with a subscriber list of approved callers and rejected callers, the agent center comprising: a database storing subscriber information that includes a unique identification number of the subscriber; a phone card operable to receive, generate, dial, and send telephone calls over a communication network; and a central processor unit operable to provide instructions accessing the database, control the phone card, and update the list of approved callers with the unique identification number.


Description


CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims priority from U.S. Provisional Application No. 60/432,118 filed Dec. 9, 2002, U.S. Pat. application Ser. No. 10/697,017 filed Oct. 31, 2003, and International Application No. PCT/US2003/038532 filed on Dec. 4, 2003, which are incorporated herein by reference.

FIELD OF THE INVENTION

[0002] The present invention relates generally to screening electronic messages, and more particularly, to blocking spam or undesirable communication or phone solicitations.

BACKGROUND

[0003] Many electronic communication users have suffered from unsolicited junk email messages and unwanted telephone solicitations. An efficient way for an email user to block junk email messages is to use a Whitelist that includes a list of permissible email addresses. Email messages sent from email addresses that are not included in the whitelist are rejected or saved in a special email folder.

[0004] Phone users may also adopt this Whitelist method to block undesirable phone calls and text messages. The challenge with the whitelisting method is that it is difficult for new callers to communicate with a user who uses a whitelist. Since the new caller is not yet included in a recipient’s whitelist, the recipient will not be able to receive email messages from the new caller. The calls or messages would be rejected immediately or would be mixed together with rejected messages. As a result, it is difficult for a new caller to communicate with the user, even if it is a desired communication.

SUMMARY

[0005] In one general aspect, a method of screening a voice communication from a caller includes registering a subscriber with an agent center to provide the subscriber with a unique identification number, adding the unique identification number to a list of approved callers associated with a subscriber telephone number, and blocking calls to the subscriber telephone number if the caller is not on the list of approved callers and forwarding calls to the subscriber number if the caller is on the list of approved callers.

[0006] Implementation may include one or more of the following features. For example, the method may include determining if the caller is on a list of rejected callers and notifying the subscriber of a call request if the caller is not on the list of rejected callers. The notifying may occur by a voice message, a tone, a text message, or a picture sent to a telephone of the subscriber.

[0007] In another implementation, the method includes allowing the subscriber to add the telephone number of the caller to the list of approved callers.

[0008] In another general aspect, a call-screening system includes a database having a list of approved callers, a registration module providing a subscriber with a unique identification number and adding the unique identification number to the list of approved callers, and a call forwarding module forwarding calls by approved callers to a telephone number of the subscriber. The database may also include a list of rejected callers, and the system may further include a call blocking module blocking calls by rejected callers to the telephone number of the subscriber.

[0009] In a further implementation, a notification module notifies the subscriber of a call request if the caller is not on the list of approved callers and not on the list of rejected callers. In one implementation, the system includes a telephone or telephone system having the database that includes the list of approved callers.

[0010] In another implementation, an agent center operable to screen calls to a subscriber with a telephone having a caller identification with a subscriber list of approved callers and rejected callers includes a database storing subscriber information that includes a unique identification number of the subscriber, a phone card operable to receive, generate, dial, and send telephone calls over a communication network, and a central processor unit operable to provide instructions accessing the database, control the phone card, and update the list of approved callers with the unique identification number.

DESCRIPTION OF THE DRAWINGS

[0011] FIG. 1 schematically depicts an illustrative network where an Email Agent Center is used for Whitelist subscription.

[0012] FIG. 2 depicts the components in an Email Agent Center of the preferred embodiment of the present invention.

[0013] FIG. 3 illustrates exemplary agent centers used in local area network and wide area networks.

[0014] FIG. 4 is a flow chart showing the control flow of email whitelist subscription among email users using the agent center.

[0015] FIG. 5 is a flowchart illustrating the process and methods of assigning public and private agents to email users by an agent center.

[0016] FIG. 6 is an illustrative flowchart showing the procedure and methods of a user sending whitelist subscription message to another user via an agent center.

[0017] FIG. 7 is a flowchart showing the procedure and methods of a program sending email message to an email user via an agent center.

[0018] FIG. 8 is a flowchart illustrating the procedure and methods to block junk email messages in which the sender’s email address is the same as the recipient’s email address.

[0019] FIG. 9 is a network diagram used in approving telephone calls from allowed callers to a subscriber.

[0020] FIG. 10 is a method of call screening with an agent center.

DETAILED DESCRIPTION

[0021] FIG. 1 schematically depicts an illustrative network where an Email Agent Center (agent center) is used for whitelist subscription. The lines 4, 4-A, 4-B are communications lines. Mail client 1 is a Mail User Agent (MUA) that can be used by one or more email users to manage email messages. Email servers 2 and 6 are computer servers responsible for transferring and delivering email messages. Each mail server can have a Mail Transfer Agent (MTA) and a Mail Delivery Agent (MDA). The terms MUA, MTA, and MDA are defined in the well-known Simple Mail Transfer Protocol (SMTP). Network segments marked 4-B are capable of conducting electronic messaging with the SMTP standard. An Email Agent Center 5 is connected to the email servers 2 and 6 and to the email users 1 and 7.

[0022] Email user 7 uses mail client 8 to receive email and uses an email whitelist. User 3 registers with the agent center 5 through communication line 4-A. In one embodiment of the present invention, line 4-A is capable of electronic communication with the Hyper Text Transfer Protocol (HTTP). Preferably the agent center 5 provides a HTTP server and the users 3 and 7 use a Web browser to access the HTTP server.

[0023] Via agent center 5, email user 3 can subscribe to the whitelist of user 7 and vice versa. When the two users are mutually subscribed to each other’s whitelist, they can send email to each other directly with normal email.

[0024] FIG. 2 shows the components in an Email Agent Center 9. Agent Server 9-A accepts requests from email users and provides services to the users. In the illustrated embodiment of the present invention, the agent server is a HTTP server. Other embodiments include servers that are compliant to the Simple Object Access Protocol (SOAP), Extended Markup Language (XML) protocol, or any other communication protocol. Agent Database 9-B is a database storing the records of all registered users. The following parameters of a registered user are included in a database record:

[0025] {User ID, Password, Email Address, Private Agent, Public Agent, Expiry Date}.

[0026] User ID is a unique user identification (ID) name. Password is a secret word or phrase entered by the user for later logon to the agent center. Email Address is the user’s email address that will be protected from receiving junk email. Private Agent includes a secret email address created by the agent center and assigned to the registered user. The private agent should be trusted by the user and never disclosed to other email users. Public Agent includes an email address that can be disclosed to selected email users such as e-commerce Web sites or online service providers. The email address of the Public Agent is a temporary email address, which can expire after a period of time specified by the user. The selected email users can send regular email messages to the public agent. The agent center that “owns” the public agent will forward the messages to the intended recipient as if the email messages were sent from the recipient’s private agent. The Expiry Date is the expiration date after which the public agent will be made invalid by the agent center. When a public agent is expired, email messages addressed to it are rejected by the agent center. The registered email user can log in to the agent center and request a new public agent at any time.

[0027] Referring to FIG. 2 again, Application Interface 9-C represents other communication channels to the agent center. These channels include telephone communications, FAX messages, TCP/IP socket programming interfaces, etc. Application Interface 9-C is complimentary to the agent server 9-A. Email server 9-D is a server for sending email messages to registered users.

[0028] FIG. 3 depicts an exemplary block diagram where a multiplicity of agent centers reside in local area network (LAN) and wide area network (WAN). The physical infrastructure of communication networks LAN and WAN can be wired lines or wireless transmissions. Email users served by mail server 10 are registered with agent center 14. Agent center 14 is connected with mail server 10 through LAN 19 and connected to WAN 16. Email server 11 uses agent centers 17 and 18 that are located on WAN 16. Note that email server 11 does not use an agent center on its own local area network. Email server 12 uses agent center 15 on the local area network and agent center 17 on the wide area network 16. Email server 13 uses only an agent center 18 residing on the wide area network.

[0029] When an email server is said to “use” an agent center herein, the email users served by the mail server are recommended to register with the agent center. However, some users may elect not to register with the recommended agent center. They can register with agent centers that reside on the network (LAN or WAN) that are available and accessible to them. Selecting which agent center to use is at an email user’s discretion.

[0030] FIG. 4 is a flow chart showing the control flow of a whitelist subscription process among email users using the Email Agent Center. At step 20, an email user who uses a whitelist first registers with an agent center. Detailed steps of the registration will be described in FIG. 5.

[0031] When the user registers with the agent center, the user selects a unique ID string and a password. The agent center creates a user account (not an email account) for the email user who can use the ID and the password to log in to the agent center and manage his/her account. The user can elect to use an email address as the ID string. After successful registration, the user obtains a unique uniform resource identifier (URI), such as, for example, a Mail URL (MURL). In the preferred embodiment of the present invention, the Mail URL has the following format:

[0032] http://<www.AgentCenterDomain>/<UserID>

[0033] where <www.AgentCenterDomain> represents the full URL (including the port number) of the HTTP server in the agent center. If secure socket layer (SSL) protocol is required by the HTTP server, “http” must be replaced by “https”.

[0034] A particular case with the Mail URL is that it may include an email address such as:

[0035] http://<www.AgentCenterDomain>/<UserEmailAddress>

[0036] where <UserEmailAddress> is an email address used by the user as his/her account user ID.

[0037] Upon successful registration, the email user obtains a private agent and a public agent as shown in step 21. In the preferred embodiment of the present invention, the information of the agents are provided by a HTTP server and displayed in a Web browser. The private agent is uniquely represented by an email address as follows:

[0038] <PrivateAgent>@<AgentCenterDomain>

[0039] where <PrivateAgent> is a unique identification (ID) string generated by the agent center. The ID string can be a randomly generated string or an encoded string. Characters in <AgenterCenterDomain> is the domain name of the agent center.

[0040] The public agent is also represented by a unique email address:

[0041] <PublicAgent>@<AgentCenterDomain>

[0042] where <PublicAgent> is a unique ID string similar to the string <PrivateAgent> and <AgentCenterDomain> represents the domain name of the agent center.

[0043] At step 22 shown in FIG. 4, the registered email user saves the private agent’s email address in his/her whitelist so that the user will be able to receive email messages sent from his/her private agent.

[0044] At step 23, the registered user reveals his/her email contact information to friends, on name cards, online service providers, e-commerce web sites, etc. If the user expects the other email user would send email manually, i.e., not programmatically, the user will reveal his/her Mail URL to other email users such as friends and business contacts. If the user is filling out an online form required by an online service provider or e-commerce web site, the user can elect to enter the email address of his/her public agent.

[0045] At step 24-A, other email users who have obtained the Mail URL of the registered user can send a whitelist subscription message to the registered user via the agent center. Detailed steps of this procedure will be described in FIG. 6.

[0046] At step 24-B, a computer program can send a regular email message to the public agent of the registered user. When the agent center receives the message, it forwards the message to the registered user. Detailed descriptions of this procedure will be illustrated in FIG. 7.

[0047] FIG. 5 is a flow chart that illustrates the procedure and detailed steps for an email user to register with an agent center. An email user who wishes to register with the agent center is herein referred to as an “applicant”. In the illustrated embodiment of the present invention, the user accesses a Web site provided by the agent center using a Web browser. At step 25, the applicant inputs a unique ID string in the applicant’s choice. This ID string can be an email address if the applicant chooses to display his/her email address in his/her Mail URL. At step 26, the applicant enters a secret password string.

[0048] At step 27, the agent center determines if the ID string entered by the user is an email address. If the answer is NO, the agent center asks the applicant to input the email address to be protected from receiving junk email. If the result is YES, the control goes to step 28-B where the agent center prompts the applicant to enter the protected email address. The user can designate the email address in the ID string as the protected email address or enter a different email address as the protected email address. After validating all the input from the applicant (ID string, password, email address), at step 29, the agent center assigns unique private and public agents to the applicant by displaying the email addresses of the assigned agents to the applicant and storing the agents into the agent database. The default value of the expiry date for the public agent is stored in the database.

[0049] FIG. 6 is a flow chart illustrating the procedure and methods for a sending email user (sender) to send a whitelist subscription message to a recipient who is registered with an agent center. In the illustrated embodiment of the invention, at step 30, the sender accesses the Mail URL of the recipient using a Web browser. An online form is presented to the sender for data input. At step 31, the sender enters his/her email address on the form. At step 32, the sender enters email message.

[0050] At step 33, the sender is required to recognize the pattern of an image generated dynamically by the agent center and displayed to the sender. The pattern could be a string of letters, digits, or shapes of objects. The sender must recognize the pattern in the image and enter the correct answer. The pattern recognition measure is to prevent junk-email senders from using computer programs to send email messages to the recipient automatically. All the dynamically-generated patterns are intentionally made hard for computer programs to obtain the correct answer, while humans can easily recognize the patterns correctly. In another embodiment, a sender may be required to enter a correct access code rather than recognize an image pattern. The sender must register with the agent center to obtain a private unique access code.

[0051] The sender then requests to send the email message to the recipient, usually by pressing a “Submit” button on the online form. At step 34, the agent center constructs a SMTP mail and uses its mail server to send the email to the recipient. Because the Mail URL accessed by the sender contains the recipient’s unique user ID, the agent center can use this user ID to find the recipient’s private agent by looking up the agent database. The agent center formats the SMTP mail header by placing the private agent’s email address on the “From:” header field as if this email was sent from the recipient’s private agent. An exemplary SMTP mail header of such email is shown as follows:

[0052] From: <RecipientPrivateAgentEmailAddress>

[0053] To: <RecipientEmailAddress>

[0054] Reply-To: <SenderEmailAddress>

[0055] Subject: Email Address Registration Request

[0056] where <RecipientPrivateAgentEmailAddress> represents the email address of the recipient’s private agent; <RecipientEmailAddress- > is the email address of the recipient stored in the agent database; <SenderEmailAddress> is the email address entered by the sender in step 31. The message text entered by the sender in step 32 is copied to the message body of the SMTP mail. The recipient’s mail server should receive the email and deliver it to the recipient properly.

[0057] FIG. 7 is a flow chart showing the procedure and methods that are used by a computer program to send email messages to a registered recipient via the agent center. At step 35, the program sends a regular email addressed to the public agent of the registered recipient. At step 36 the agent center receives the email because the public agent belongs to the same domain as the agent center. At step 37, the agent center determines the public agent from the received email and then performs a look up in the agent database. When it looks up in the database, it finds the private agent and recipient’s email address corresponding to the public agent.

[0058] At step 38 of FIG. 7, the agent center constructs a SMTP mail and uses its mail server to send the email to the recipient’s email address. The agent center formats the SMTP mail header by placing the private agent’s email address on the “From:” header field as if the email was sent from the recipient’s private agent. An exemplary SMTP mail header of such email is shown as follows:

[0059] From: <RecipientPrivateAgentEmailAddress>

[0060] To: <RecipientEmailAddress>

[0061] Reply-To: <ProgramSenderEmailAddress>

[0062] Subject: Email From Your Public Agent

[0063] where <RecipientPrivateAgentEmailAddress> represents the email address of the recipient’s private agent; <RecipientEmailAddress- > is the recipient’s email address stored in the agent database; <ProgramSenderEmailAddress> is the email address of the original sender (the program). The message text sent by the program is copied to the message body of the SMTP mail.

[0064] After the recipient receives the email, the recipient can elect to save the <ProgramSenderEmailAddress> to the recipient’s whitelist. The registered email user can use his/her user ID and password to log into the agent center and update the expiry date of the public agent or request a new public agent.

[0065] FIG. 8 is a flowchart illustrating the procedure and steps to block junk email messages in which the sender’s email address is identical to the recipient’s email address. In the whitelisting method, a user’s email address must be included in his/her whitelist so that the user can send an email to himself/herself. However, it is often a junk-email sender’s trick to fake an email and place the victim user’s email address in the “From” header field so that the email appears to be sent from the email user himself/herself In the illustrated embodiment of the present invention, the mail client used by the sender adds an extra mail header to the outgoing email if the email is addressed to the email user. The header field is named “X-AuthSelf”, which could be changed to a different name without affecting the true meaning of the field. When the mail server receives the email, it examines the X-AuthSelf header to determine whether the message is truly a “self-addressed” email. Detailed the steps of the procedure are described as follows.

[0066] At step 40, when an email user tries to send an email to himself/herself, the mail client uses a one-way hash function on his/her email address to obtain a hash string. A one-way hash function is also known as message digest, fingerprint, and compression function. A hash function is an algorithm that takes a variable-length string as input and produces a fixed-length binary value (hash) as the output. The critical part is to make this process irreversible, that is, finding a string that produces a given hash value should be very hard (hence the word “one-way”). It should also be hard to find two arbitrary strings that produce the same hash value. Algorithms MD 4, MD5 and SHA-1 are commonly used hash algorithms. In the illustrated embodiment of this invention, the MD5 algorithm is used for one-way hashing of email addresses.

[0067] Since a junk-email sender can use the hash function on the user’s email address to generate the same hash value, a piece of information that are unknown to the junk-email sender must be used in the hashing process. The present invention uses the password of the user’s email account as the “salt” in the hash function. Salt is just a string that is concatenated with the input string before being operated on by the hash function. At step 40, the user’s password is concatenated with the user’s email address and the MD5 hash function is applied to the concatenated string. Using password as salt would prevent junk-email senders from obtaining the same hash value since they do not have the user’s password.

[0068] At step 41, the mail client used by the email user adds the header field X-AuthSelf to the SMTP mail header and copies the base64-encoded value of the hash string obtained in step 40 to the field value. The header field-value pair is shown as follows:

[0069] X-AuthSelf: <base64 encoding of (MD5 hash of (password+emailaddress))>

[0070] where (password+emailaddress) represents the concatenated string of the user’s email account password and his/her email address.

[0071] Base64 encoding is used because some SMTP mail servers on the Internet cannot process binary strings properly. Base64 encoding always produces US-ASCII strings so that the email can be transferred safely over the Internet.

[0072] At step 42 the user’s mail server sends the email and at step 43 the server receives the email. Note that at step 43 the email server may receive email messages from other senders as well. At step 44, the mail server extracts the sender’s email address (on the “From” header field) from the email and compare this address with the recipient’s email address. If these two email addresses are not the same, the control goes to step 45-B where the sender’s email address is searched in the email user’s whitelist for junk email blocking according to the standard whitelisting method. If they are the same, then the server extracts the value of the “X-AuthSelf” header field in step 45-A. The value is empty if the header field does not exist in the email.

[0073] At step 46, the server uses the same hash function as that used in the step 40 to obtain the hash value of the concatenated string of the user’s email account password and the user’s email address. At step 47 the hash value is encoded by the base64 algorithm. At step 47, the base64-encoded string is compared with the X-AuthSelf header field extracted in the step 45-A to determine whether they are the same. If the answer is YES, then the email is an authentic email sent by the user himself/herself. If the answer is NO, then the email is rejected as a faked email.

[0074] In other embodiments of the invention, other hash functions such as MD4 and SHA-1 can be used at steps 40 and 47. The base64 algorithm used in the illustrated embodiment can be replaced by other binary-to-ASCII conversion algorithms such as the Quoted Printable (QP) encoding algorithm. As long as the same hash function and encoding algorithm are used in sending and receiving email, the procedure illustrated in FIG. 8 is valid for distinguishing fake and authentic email messages.

[0075] While the illustrated embodiment uses protocols such as HTTP and SMTP, the invention may also be used with other networking protocols such as IP version 6, SOAP, XML, Extended SMTP, or protocols not yet developed.

[0076] The invention may also be used with cryptographic protocols such as Secure Socket Layer (SSL), IP Security (IPSec), and Public Key Infrastructure (PKI). In the PKI architecture, a user holds two keys: a public key and a private key. An email sender uses a recipient’s public key to encrypt a message and the recipient uses his/her own secret private key to decrypt the message. The public and private keys are also used to authenticate the origin of messages. Email messages sent using the PKI protocol are said to be “secure”.

[0077] Two well-known protocols of the PKI architecture are S/MIME and OpenPGP standards. S/MIME is short for Secure Multipurpose Internet Mail Extensions, which is a specification for secure electronic messaging. OpenPGP is short for Open Pretty Good Privacy and is another standard in secure electronic messaging. S/MIME and OpenPGP both build on top of the PKI architecture.

[0078] If email users use any one of the PKI protocols, then the following modifications are made to the illustrated embodiment of the present invention:

[0079] Referring to FIG. 5 that shows the process of an email user registering with an agent center, the user is required to enter his/her PKI public key or certificate following the step 28-A or 28-B but prior to the step 29. At step 29, the agent center also creates public and private keys of PKI for the public and private agents of the registered user. The agent center saves the public and private keys of both agents into the agent database and reveals the public key or certificate of the private agent to the registered user.

[0080] At step 21 in FIG. 4, the registered user obtains the public key of his/her private agent in addition to the email addresses of the agents. At step 22, the user “trusts” and saves the public key of the private agent into his/her whitelist.

[0081] Referring to FIG. 6, at step 32, if the email sender has a PKI public key, the sender can enter his/her public key along with the message text. When the recipient receives the email, email address and public key of the sender are both captured. At step 34, the agent center can use a security protocol such as S/MIME or OpenPGP to send email to the recipient.

[0082] In FIG. 7, at step 39, the agent center can send secure email to the recipient using S/MIME, OpenPGP, or any other secure communication protocol.

[0083] When a registered email user and the agent center use secure email communication, the agent database 9-B shown in FIG. 2 has the following additional parameters in the record of the registered user:

[0084] {UsersPublicKey, PrivateAgentsPublicKey, PrivateAgentsPrivateKey, PublicAgentsPublicKey, PublicAgentsPrivateKey}

[0085] where UsersPublicKey is the public key of the registered user. This is key is required for the agent center to send encrypted email to the user.

[0086] PrivateAgentsPublicKey is the public key of the private agent. This key is as important as the email address of the private agent and should be protected by the registered user from disclosing to other email users. PrivateAgentsPrivateKey is the private key of the public agent. PublicAgentsPublicKey is the public key of the user’s public agent. PublicAgentsPrivateKey is the private key of the public agent.

[0087] The described modifications are made so that secure email can be sent between the agent center and a registered email user as well as between a registered user and another registered or non-registered email user. The PKI keys are just additional information added in whitelist or agent database similar to email addresses.

[0088] Another modification that can be made to the illustrated embodiment is that the agent center and the user’s email server can share user-profile information such as password, user’s name. Sharing the information can be implemented by messaging between the agent center and the email server according to some communication protocol such as TCP/IP sockets, HTTP, SOAP, or any other protocol. Password sharing is particularly important because the users can be relieved from memorizing multiple passwords. Email servers usually have a user-account database that includes information such as user email address, account password, and user’s name. If sharing of password is desired, the step 26 shown in FIG. 5 can be omitted and the agent center can obtain the password from the user-account database on the email server and save it into the agent database in the agent center.

[0089] In the illustrated embodiment, the private agent and the public agent are identified by associated email addresses. In another embodiment, multiple email addresses are associated with each of the agents. The private and public agents may have other communication addresses that include any sequence of one or more characters that uniquely identify a file, variable, account, or other entity. For example, the addresses may identify a node in a network by a data access control address, a media access control address or another type of IP address. In another embodiment, the public and private address may include a URL with an IP address or a domain name. In a further embodiment, the private and public agents use an instant message protocol and are identified with instant message contact addresses, such as, for example, instant inbox addresses. In still another embodiment, the private and public agents use a short message service protocol or a text message service protocol and are identified by a home location register of a subscriber’s mobile device, such as a personal digital assistant, a cellular phone, or a pager.

[0090] FIG. 9 is a network diagram used in approving telephone calls from allowed callers to a subscriber. Telephone devices 51 and 52 communicate with call processor 53 and an agent center 50 in a voice network 49. Telephone 51 and 52 can be a regular telephone, a cell phone, or any other device capable of voice communication. Network 49 can be a fixed line or wireless voice network. Call processor 53 performs regular voice call routing or switching and phone account management. Agent center 50 registers subscribers and forward calls to subscribers. Agent center 50 comprises four main components: (1) central processing unit (CPU) 50-A; (2) random access memory (RAM) 50-B; (3) subscriber database 50-C; and (4) phone card 50-D. These four components 50-A through 50-D are inter-connected and can send information to each other. The database 50-C has a permanent storage medium and a server program to save and retrieve user information. Subscriber’s information, such as, account ID, name, telephone number, and password are stored in the database 50-C. The phone card 50-D is able to receive phone calls, generate and send voice signals over the network, dial outgoing phone calls, and communicate with callers and receivers. The telephone 51, 52 has a computer program code to perform caller identification, caller action instruction, and voice management.

[0091] The method of approving telephone calls from a caller to a subscriber may be employed on various types of networks, such as, for example, on a telephone or cellular voice network. In this embodiment, the subscriber may have several telephone accounts and each account includes a whitelist that is used to allow calls from approved contacts. The agent center 50 has a telephone number and may have a personal identification string, such as, for example, the name of the subscriber.

[0092] The agent center 50 telephone number is publicly available. The subscriber includes the private agent, herein the telephone number of the agent center, into his telephone whitelists. A new contact that calls the telephone number of the agent center inputs the subscriber’s personal identification. The new contact may be prompted to answer one or more questions or enter an access code correctly. The agent center sends a voice message or a caller alert to one or more telephones of the subscriber, and the subscriber can then decide whether to add the new contact to the whitelist of the telephone(s). If the new contact is added to the whitelist of a telephone, the telephone number to access the telephone(s) directly is sent to the new contact. Approved callers can then directly make calls to the subscriber and the subscriber is able to receive the calls. Rejected callers can be blocked by the agent center permanently if the subscriber instructs the agent center to ignore the callers.

[0093] The whitelist of one telephone can be transferred and copied to another telephone. The whitelists on all telephones of a subscriber can also be synchronized. The whitelist of a telephone can be embedded in the telephone device or can be associated with the telephone’s number and managed in a centralized telephone account management system. A telephone can be a cellular phone or any other voice communication device.

[0094] In another embodiment, the agent center can be used in paging or broadcasting with a combination of a voice agent center in a voice network and a mail agent center in a data network. The mail agent center sends an email message to all registered email accounts of a subscriber and the voice agent center issues a call notification to all registered phone numbers of the subscriber. The networks can be used in a combined way to by having an email converted to a voice message and a voice communication that is converted to a text message.

[0095] Referring to FIG. 10, a method of call screening includes registering a subscriber at the agent center (step 55). Once the registration is complete, the agent center’s phone number is added to the subscriber’s list of approved callers (step 56).

[0096] The subscriber then receives calls in step 57 and the method checks whether the caller is an approved caller in step 58. If the caller dials the agent center’s phone number for the subscriber or another number that is on the approved caller list, the call is recognized as an approved call and is forwarded to the subscriber in step 59.

[0097] The method also checks a blocked caller list in step 60. If the caller number is on the list of blocked callers, the call is blocked in step 61.

[0098] In one implementation, a database that includes the blocked and approved caller lists reside at the agent center. In another implementation, the blocked and approved caller lists are stored in the telephone system apart from the agent center.

[0099] If the caller is not an approved or a blocked caller, a notification is sent to the subscriber that a new caller is requesting a connection in step 62. In step 63, the subscriber can then add the new caller to the approved or blocked caller lists. In various implementations, the notification may be a text message, a voice message, a picture, or a tone that is sent to the subscriber’s telephone.

[0100] While the present invention has been particularly described with reference to the preferred embodiments, it should be obvious to those of ordinary skill in the art that modifications in form and details may be made without departing from the spirit and scope of the invention.

* * * * *