Method and apparatus for allowing selective disposition of an incoming telephone call during an internet session

A method for notifying an internet browser user of an incoming telephone call is performed by internet call notification software residing on the user's computer and software residing within a telephone network. A user selects the location of the internet notification software as a home page for the browser. The home page prompts the user for activation of internet call notification. If the user requests internet call notification, the software transmits an internet protocol address to the telephone network. The network then stores the internet protocol address for the user. When a call is made to the user, the telephone network accesses a database to retrieve the stored internet protocol address. The network then transmits a message to the user's software to notify the user of the incoming call. The software displays a window containing information about the telephone call. If the user chooses to accept the call, the software closes the browser and connects the telephone call to the user.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention is directed to telephony and the internet, and more particularly, to a software tool for notifying an internet user of an incoming telephone call.

The past several years have seen an explosive growth of the internet. Most of the increase in the popularity of the internet can be attributed to the information content available through the World Wide Web (the “Web”). The Web is built around a network of “server” computers which exchange requests and data from each other using the hypertext transfer protocol (“HTTP”). The Web consists of Web “pages” designed by a human designer using the Hypertext Markup Language (“HTML”). Each Web page contains graphical and text information. A new page may be accessed from the current page via a “hyperlink.”

A user views a Web page using one of a number of commercially available “browser” programs. The browser submits an appropriate HTTP request to establish a communications link with a Web server on the network. A typical HTTP request references a Web page by its unique Uniform Resource Locator (“URL”). A URL identifies the Web server hosting that Web page, so that an HTTP request for access to the Web page can be routed to the appropriate Web server for handling.

A user requests internet access by subscribing to an Internet Service Provider (“ISP”). The ISP owns one or more internet server computers and provides access to other server computers for its subscribers. A user may connect to an ISP server in many ways, but the most common connection method is via a computer modem over conventional analog telephone lines. The user initiates a connection by dialing an ISP-provided access number from within a communications application, usually provided by the ISP. The application transmits user-provided data, such as a user name and password, over the user's computer modem to an application on the server computer. The server computer application confirms the user name and password and provides access to other internet servers. The user's communications application can then launch other internet applications, such as a Web browser.

While connected to the internet, however, the user may not receive any telephone calls over the analog telephone line. With the average internet user connected for over thirty minutes, internet users can frequently miss many important telephone calls. Call Waiting services do not provide an adequate solution to this problem. A user who subscribes to Call Waiting receives neither a visual nor an aural indication of an incoming telephone call. Moreover, many subscribers must disable the Call Waiting service because the Call Waiting transaction (usually one or two beeps) interrupts the user's modem connection to the internet, usually dropping the call.

Other current options available to the user are similarly inadequate. For instance, the user may subscribe to a voice mail service. But such services do not provide an indication to the user that a call and voicemail message were received. In addition, many voicemail services do not answer telephone calls received on a busy line. The user may also elect to purchase a second analog telephone line exclusively reserved for internet use. In most instances, however, the relatively brief time spent on the internet does not warrant the accompanying installation and monthly telephone service costs.

SUMMARY OF THE INVENTION

The present invention overcomes the problems and disadvantages of the prior art by storing the telephone number and internet protocol address of a user in the course of initiating an internet session. The stored information may be used to locate the user on the internet and notify her of an incoming telephone call. The invention also provides the user with information about the caller, such as the caller's name, street address, and telephone number. The internet user may then decide to: (1) ignore the call and continue working within the internet application; (2) accept the call and terminate the internet session; or (3) configure the incoming call as an internet telephony call so the internet session can continue.

In particular, in a preferred embodiment of the present invention, internet call notification software stored on an internet user's computer and advanced intelligent network software stored in a telephone network cooperatively notify the internet user of an incoming telephone call. The internet user sets the browser “home page” to the location of the internet notification software. The software then prompts the user, within the browser to activate the internet call notification. If the user requests notification, first an internet protocol (“IP”) address is assigned by the user's internet service provider. Next, the software transmits the assigned IP address to the network using TCP/IP networking. The telephone network stores the IP address together with the user's telephone number in a database. When a subsequent telephone call is made to the user, the network accesses the database to determine if the user has an active internet session and, if so, to retrieve the IP address of the user. The telephone network then sends a message via the internet to the user's call notification software at the retrieved IP address. The personal computer software then displays a window providing information about the call, such as the calling party's name and telephone number along with options for the disposition of the telephone call. The user may elect to accept the telephone call or reject the call. If the user accepts the telephone call, the software closes the browser and connects the call to the user's telephone line. If the user rejects the telephone call, the software informs the network that the user has rejected the call. The network may then allow the call to ring on the calling party's end. Alternatively, the call may be forwarded to a specified alternate telephone number for the user.

In accordance with the purpose of the invention, as embodied and broadly described herein, the invention is a method for notifying an internet user of an incoming telephone call from a calling party, the method comprising the steps of storing an internet protocol address of the user; receiving the incoming telephone call; retrieving the stored internet protocol address of the user; sending a message to the internet protocol address; displaying information regarding the telephone call; and providing options to the internet user for the disposition of the call.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Reference will now be made in detail to a preferred embodiment of the invention, examples of which are illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.

FIG. 1is a block diagram of an exemplary advanced intelligent network (“AIN”) network100interconnected via Signaling System #7 (“SS7”), in accordance with a preferred embodiment of the present invention. AIN functionality is described in described in Bellcore Documents No. GR-1298-CORE and GR-1299-CORE, which are both hereby incorporated by reference herein. SS7 signaling is described in detail in “American National Standard for Telecommunications—Signaling System Number 7, Nos. T1.110 through T1.116”, which is hereby incorporated by reference herein. A calling party160and a called party/internet user150have access to the network100. The called party150connects to the network100using either a standard telephone155or through a computer200. The computer200connects to the network100by a computer modem267or a similar device. Both the modem267and the telephone155are coupled to a network connector on the user's premises, such as a telephone jack (not shown). A service switching point (“SSP”)175switches calls to and from the internet user150. The SSP may be located, for instance, in an end office coupled to the internet user's telephone jack.

The SSP175is communicatively coupled to an Advanced Intelligent Network Service Control Point (“AIN SCP”)180or similar SS7-compatible device. The SSP175and AIN SCP180communicate via SS7 messaging and TCAP queries. TCAP queries are described in Bellcore Document No. GR-1298-CORE entitled “AIN GR: Switching Systems”, Issue 3, Rev. November 1996, which is hereby incorporated by reference herein. The AIN SCP180accesses one or more databases, including an Internet Call Notification (“ICN”) database190(discussed in greater detail below) and a caller information database194. The AIN SCP stores information and accesses the ICN database190for ICN-related information. The caller information database contains information regarding individual callers, such as names, street addresses, and telephone numbers of subscribers and non-subscribers to the network. The user PC200(through the SSP175) and the AIN SCP180are both communicatively coupled to the internet300using Transmission Control Protocol/Internet Protocol (TCP/IP) networking.

FIG. 2is a block diagram of computer200, in accordance with a preferred embodiment of the present invention. Computer200includes a CPU262; a memory264; input/output lines265; a modem267; an input device270, such as a keyboard or mouse; and a display device280, such as a display terminal. Computer260also includes an removable storage device271, such as a disk drive, that reads computer instructions stored on computer readable media272, such as a computer disk. Memory264of computer260includes browser software277, such as the browser sold under the trademark “Netscape Navigator” by Netscape Communications, Inc., although other browsers may be used. Memory264also includes a computer display control language, such as the Hypertext Markup Language (“HTML”)275and a Java interpreter285. Browser software277may also include a plug-in that interprets the Java language or otherwise provides access to the internet call notification software described below. A person of ordinary skill in the art will understand that memory274also contains additional information, such as application programs, operating systems, data, etc., which are not shown in the figure for the sake of clarity.

The present invention includes two components: (1) an Internet Call Notification (“ICN”) software component290stored on a local disk drive of computer260and read into memory277upon execution; and (2) an AIN software component195stored in AIN SCP180and associated databases190,194. The ICN component290and the AIN component195work together to provide notification to the internet user200of an incoming call. To ensure that the two components function properly, the internet user200pre-registers with his local exchange carrier (“LEC”) for his service area.

Service Activation

Prior to use, the user150may configure the ICN software component290by specifying one or more default telephone numbers. For example, the user150may specify a cellular telephone number, a pager device number, and/or a voicemail telephone number. During execution, the user selects one of the specified numbers for default handling of telephone calls during an internet session. The user interface may include methods to simplify the selection of the number to be used.

FIG. 3is a flow diagram illustrating the flow of data between internet user200, ICN software290, and AIN SCP180and its associated databases. It will be understood by persons of ordinary skill in the art that the steps of flow charts in this document are performed by CPU262ofFIG. 1executing the instructions of software290and a processor in AIN SCP180. In step302, the internet computer200initiates an internet session by dialing a remote server or point of presence (“POP”) operated by the ISP. The dialed number includes a feature code dialing sequence, such as *99. In step304, modem267sends calling digits of the remote server to SSP175. The SSP175will automatically receive the telephone number of the internet user150. An AIN feature code trigger is invoked in the SSP175and a resulting Info-Analyzed message is sent to the AIN SCP180. Based on the dialed feature code, in step306, the AIN SCP180creates an internet call entry410in the ICN database190.

An example of the internet call entry410is shown inFIG. 4. The entry410includes a field420specifying the user's telephone number, a field430specifying the internet address of the user, and a field440specifying a default telephone number of the user, if available. The SSP175provides data for field420. The internet address fields430,440are left blank until the user has been assigned an internet address and requests activation of Internet Call Notification.

Once connected to the ISP server, the ISP assigns the user200an Internet Protocol (“IP”) address to identify the user to other hosts on the Internet. The user200may then open browser software277. Browser software277displays HTML and Java pages specified by HTTP requests. In addition, browser software277can display other HTML and Java documents located on the user's computer. Browser software allows the user to specify a “home page” as the initial document to be displayed by the browser software277. In the present invention, the user sets the home page address as the local disk drive location of ICN software program290(e.g., “C:\ICN\ICN.EXE”). The ICN software program290is an executable stand-alone program or browser “plug-in” written in a programming language, such as the JAVA programming language. JAVA is a registered trademark of Sun Microsystems, Inc. JAVA programming is described in detail in The Waite Group's “Java Primer Plus,” by Paul M. Tyma, Gabriel Torok, and Troy Downing (1996) which is incorporated by reference herein.

In step310, the ICN software290causes the computer200to display a window that prompts the user to activate Internet Call Notification. The window includes a menu of pre-arranged option buttons. The user200may choose to be notified by selecting a “Yes” button in the window. If the user does not want to be notified of incoming calls, the user may select a “No” button in the window. The user may also specify one of the several default telephone numbers that were provided during configuration of the software. If the user200selects call notification, the ICN program290creates a data message, such as a User Datagram Protocol (“UDP”) packet containing: (1) the user's current IP address; (2) the user's telephone number; and (3) the default telephone number. In step312, the packet is sent directly to the AIN SCP180by the ICN software290using a domain name server that maps to a physical address for the AIN SCP180. The AIN SCP180receives the data message and, in step314, completes the database entry310by entering the user's IP address in the field430, and the default telephone number in the field440. The AIN SCP180, in step316, returns a confirmation message back to the user200over the Internet. In step318, ICN software290causes browser277to display a message confirming activation of ICN.

Internet Call Notification and Disposition

FIG. 5is a flow chart illustrating the interaction between calling party160, ICN software290and AIN software195. In step502, a calling party160dials internet user150. A telephone call by the calling party160to the user150will encounter an AIN trigger, such as the terminating busy trigger, in the SSP175prior to reaching the user's line. The terminating busy trigger captures a call to a busy telephone line without allowing the caller to hear a busy signal. The trigger is placed before a call waiting feature or any other terminating feature. Upon capturing the call, the SSP175, in step504, sends a TCAP query to the AIN SCP180for instructions regarding disposition of the telephone call. The AIN SCP180IN STEP506aaccesses the ICN database190and concludes that the user has an active internet session. The AIN SCP180then retrieves the IP address for the user from the IP address field430of the database entry410. In addition, the AIN SCP180, in step506b, accesses the caller information database194to retrieve information regarding the calling party, if available. In step508, the AIN SCP180sends a data message containing the calling party information to the user at the user's internet address. The message notifies the ICN software290of an incoming call.

The ICN software290, in step510, causes the computer200to display a window informing the user that a call is incoming and presenting the user with caller information. The window prompts the user to accept the call directly, to accept the call over the internet using computer telephony, or to ignore the call. If the user elects to accept the telephone call directly, the software290, in step512, terminates the connection between the modem and the ISP server. In step513, the software290sends a call termination indication directly to the AIN SCP180using TCP/IP networking protocol. In addition, the SSP175sends a disconnect message to the AIN SCP180in step514. The termination of the call and modem session are received by the SSP175. The user's telephone line is then free to accept telephone calls. Based on the notification that the user has disconnected the telephone call, the AIN SCP180, in step516, sends an AIN TCAP message to the SSP175, instructing the SSP175to complete the call from the calling party160to the user200. In step518, the user answers the call from calling party170.

If the user elects not to accept the call at step510, call flow continues at step520. In step520, the ICN software290either notifies the AIN SCP180that the user has chosen to ignore the call or the software290times out. In step522, AIN SCP180accesses database190to determine the default telephone number specified by the user at start-up. In step524, AIN SCP180sends a TCAP message instructing SSP175to route the telephone call from calling party170to the default telephone number received in step522. If no answer is received at the specified telephone number, other default processing may be performed.

If the user elects to accept the call using internet telephony, the user must specify a telephony server IP address. In step524, the address is transmitted back to the AIN SCP180. The AIN SCP180then establishes a connection with the telephony server. Once the connection is established, the AIN SCP180provides the user's IP address to the server together with information about the calling party. The server may then connect the calling party160and the internet user150.