Apparatus and method for providing call status information

Abstract
An apparatus and method use logical network connections to telephones interconnected by the network to obtain the call status information and then to convert the call status information to audio information that is presented to the user.
Description


TECHNICAL FIELD

[0001] This invention relates to telecommunication switching systems, and in particular, to the provision of call status information.



BACKGROUND OF THE INVENTION

[0002] Within the prior art, it is well known to convert visual call status information to audio information so that visually impaired people can receive the call status information. The prior art has provided the audio information for call status information by utilizing special hardware to perform voice synthesis. This hardware was designed specifically for visually impaired users, and consequently, was expensive. In addition, the use as special hardware limited the visually impaired users to a few specific telecommunication terminals.


[0003] In addition, the use of specialized equipment resulted in the fact that the users of this equipment were given little if any ability to determine when the audio call status information would be presented and at what frequency. Whereas, the specialized equipment could be modified via programming to provide custom features for individual users; the cost of such provisioning was prohibitive plus the delay normally would be in terms of many months for such customization to be performed by the manufacturer.



SUMMARY OF THE INVENTION

[0004] The aforementioned are solved and a technical advance is achieved in the art by an apparatus and method that uses logical network connections to telephones interconnected by the network to obtain the call status information and then to convert the call status information to audio information that is presented to the user.







BRIEF DESCRIPTION OF THE DRAWING

[0005]
FIG. 1 illustrates, in block diagram form, an embodiment for implementing the invention;


[0006]
FIG. 2 illustrates, in block diagram form, an embodiment for implementing the invention;


[0007]
FIG. 3 illustrates, in pictorial form, an embodiment of an IP telephone set;


[0008]
FIG. 4 illustrates, in block diagram form, an embodiment of an IP telephone set;


[0009]
FIG. 5 illustrates, in flow chart form, operations performed by an embodiment of a call status control routine;


[0010]
FIG. 6 illustrates, in flow chart form, operations performed by an embodiment of an audio control routine;


[0011] FIGS. 7-9 illustrate, in flow chart form, operations performed by an embodiment of a monitor computer;


[0012]
FIGS. 10 and 11 illustrate, in flow chart form, operations performed by another embodiment of a monitor computer; and


[0013]
FIG. 12 illustrates, in block diagram form, an embodiment of a monitor computer.







DETAILED DESCRIPTION

[0014]
FIGS. 1 and 2 illustrate embodiments for implementing the invention. In FIG. 1, control computer 101 performs the overall control functions for conventional telephones 107-108 and IP telephone sets 112-113. IP telephone sets 112-113 may be IP telephone set 4624 manufactured by Avaya Inc. or a similar telephone set. Switching network 105 performs the switching of not only audio information but also control information to and from computer 101 to the telephone sets. Computer 101 is interconnected to wide area network (WAN) 111 via network trunk 106. Control computer 101 controls the activity of IP telephone sets 112-113 by the transmission of call status information and the receipt of call status information from the IP telephone sets via WAN 111. Control computer 101 controls telephones 107-108 by the transmission of call status and reception of control information via switching network 105. Telephone sets 107-108 can be analog telephone sets, ISDN telephone sets, or proprietary digital protocol telephones sets. Monitor computer 118 is utilized to provide the audio information representing the visual call status signals of one of the IP telephone sets. Monitor computer 118 can be a desktop PC, laptop, a pocket PC, or a hand held unit. In one embodiment of the invention, monitor computer 118 receives the program for implementing the invention via WAN 111 from server 119. Telecommunication switching system 100 is connected to public switching network 116 via CO trunks 109 and trunks 114.


[0015]
FIG. 2 illustrates another embodiment for implementing the invention. Control computer 202 is controlling the operations of IP telephone sets 207-208 with respect to telecommunication operations by the transmission and reception of control information via WAN 204. Service circuits 206 under the control of control computer 202 provide tone generation, conferencing, etc. via WAN 204 to IP telephone sets 207-208. For a telecommunication call which is only between two IP telephone sets, the IP telephone sets communicate via WAN 204 for the transmission of audio information. Public switching network 201 is interconnected to WAN 204 via IP trunk 203. Monitor computer 209 and server 219 perform similar functions to those performed by monitor computer 118 and server 119 of FIG. 1.


[0016] Consider now an example of how monitor computer 118 would provide audio call status information for IP telephone set 112 in one embodiment of the invention. In this embodiment, monitor computer 118 has initially stored in its memory the program and data necessary to provide the audio call status information operations. This is often referred to as monitor computer 118 being a “thick client” by those skilled in the art. To perform its operations, monitor computer 118 needs the IP address for IP telephone set 112. Whereas, it is possible that monitor computer 118 has this information or that it is entered by the user. Another method is for monitor computer 118 to broadcast the telephone number and the password which may be encrypted for IP telephone set 112, along with a request for the corresponding IP address via WAN 111 to all of the IP telephone sets 112-113. IP telephone set 112 is responsive to this request to transmit its IP address to monitor computer 118. In addition, monitor computer 118 could obtain the IP address for IP telephone set 112 by accessing server 119 and obtaining the IP address from server 119 in one embodiment of the invention.


[0017] Utilizing the IP address, monitor computer 118 contacts IP telephone set 112 and opens a socket in the TCP/IP control structure of IP telephone set 112 that allows monitor computer 118 to receive the control status information being transmitted from computer 101 via network trunk 106 and WAN 111 to IP telephone set 112. In one embodiment of the invention, monitor computer 118 is responsive to the call status information being transmitted to IP telephone set 112 which will cause different indicators to be lit on IP telephone set 112 to convert this call status information into audio information that monitor computer 118 presents to the user via a speaker or headphones attached to monitor computer 118. As will be discussed later, the user of monitor computer 118 has the capability for determining what type of call status information will be presented in audio information and also how often. The ability to tailor the presentation of call status audio information must be built into the capabilities of monitor computer 118 or preprogrammed into the programming data of monitor computer 118 in the thick client implementation.


[0018] The advantage of the embodiment just described for presenting audio call status information is quite clear. First, no connection must be made physically to IP telephone set 112 nor does the program of control computer 101 have to be modified in any manner. In the previous example, the embodiment utilized the audio reproduction capability of monitor computer 118 to present the audio call status information to the user. In another embodiment, monitor computer 118 transmits the audio call status information to IP telephone set 112 via WAN 111 for presentation to the user. This is accomplished by monitor computer 118 opening a second socket on IP telephone set 112 by a request which IP telephone set 112 recognizes as being a socket through which it will receive audio information. Monitor computer 118 is responsive to the call status information being transmitted to IP telephone set 112, to convert the call status information to audio call status information, and to transmit this audio call status information via the second socket to IP telephone set 112. In response to the audio call status information from monitor computer 118, IP telephone set 112 presents this information to the user via the internal CODEC of IP telephone set 112. The output of the CODEC of IP telephone set 112 presents the audio call status information to the user in the same audio stream as is being utilized for the actual telecommunication call. Alternatively, IP telephone set 112 could utilize a built-in speaker such as one used as a speaker phone to present this information. Alternately, as is well known to those skilled in the art, IP telephone set 112 could also convert the received audio call status information to information to be presented to the user using another conversion technique rather than that used by its CODEC.


[0019] In the previous examples, the embodiments described utilize a program and data configuration information stored permanently on monitor computer 118. This information had to be pre-stored on monitor computer 118. There are advantages in utilizing such a software structure-namely such a structure is normally more efficient and yields faster performance. However, the previous embodiments do suffer from the disadvantage of having to have the program and data preinstalled on monitor computer 118 before the audio call status information operations can be performed. In the embodiments to be described in this section, the only software that must be pre-installed on monitor computer 118 is a web browser. When the user of monitor computer 118 wishes to perform the audio call status operations with IP telephone set 112, the user first accesses server 119 utilizing the web browser and obtains from server 119 a JAVA applet or its equivalent Microsoft ActiveX Control entity. The JAVA applet is a JAVA program that will be installed on monitor computer 118 that will perform the operations of establishing the first socket on IP telephone set 112 in order to obtain the call status information and, if desired, to establish the second socket that is utilized to present the audio call status information to the user. An operation where a computer starts out with only a browser and downloads a JAVA applet to execute certain functions and relies on other programs already installed on monitor computer 118 is commonly referred to as a “thin client” implementation by those skilled in the art. The JAVA applet would utilize the audio reproduction capabilities of software already installed on monitor computer 118 via the browser to present the audio call status information to the user. The audio files that would be utilized for the audio call status information would be, however, downloaded from server 119 in the JAVA applet. In addition, the visual interface utilized by the user of monitor computer 118 would be downloaded as a web page to monitor computer 118 and operate under control of the browser. As different commands were indicated on the visual interface web page, the browser would respond by calling the appropriate JAVA code that was part of the JAVA applet.


[0020] One advantage of the “thin client” embodiments is that the user interface is nothing more than a web page design that is done at a high level. In addition, server 119 is a central place where necessary and desired changes in the JAVA code can be made without directly interacting with monitor computer 118 in order to pre-install software. In addition, the customization of the visual interface web page utilized by the user of a computer such as monitor computer 118 is greatly enhanced by the user being able to interact with server 119 via the browser of monitor computer 118. Not only are users used to utilizing browsers, but the development of the necessary program is made a great deal easier because of this type of interface. Also, if the owner of the systems illustrated in FIG. 1 or 2 wishes, they can easily place predefined user interfaces on server 119. In addition, it is easy to modify the language that will be used for the audio messages of the audio call status information with respect to country. A new language can be added simply by putting the necessary audio messages onto server 119 where the new audio messages can be selected by the users or by user profiles created by the owner of the system.


[0021] The previous embodiments described for FIG. 1 can be implemented on the system illustrated in FIG. 2.


[0022] In the previous sections, it was described how audio call status information could be provided to a user of an IP telephone set such as IP telephone sets 112-113. It is also highly desirable to provide audio call status information for the users of more conventional telephones such as telephone sets 107-108. These telephone sets may be analog, ISDN, or proprietary protocol type telephone sets.


[0023] To understand how audio call status information could be provided for a user of telephone set 108, consider the following example. To set up the operations of providing the audio call status information, the user of telephone set 108 utilizes monitor computer 118 to establish a logical connection with the control computer 101 via WAN 111 and network trunk 106. In one embodiment, monitor computer 118 establishes this logical connection to computer 101 by opening a socket on computer 101 to a call status control routine. The user of monitor computer 118 then identifies telephone set 108 by telephone number and supplies an optional password to control computer 101. Control computer 101 is responsive to monitor computer 118 to transmit all control status information not only to telephone set 108 but also to monitor computer 118 via WAN 111. In addition, control computer 101 may optionally transmit to monitor computer 118 control information received from telephone set 108.


[0024] Monitor computer 118 is responsive to the call status information and control information received from computer 101 via WAN 111 to perform the previously described operations of providing audio call status information. In addition, monitor computer 118 may be programmed to indicate on its visual interface and audio interface the operations that the user is performing on telephone set 108.


[0025] The program utilized by monitor computer 118 to provide the audio call status information may be performed in either a thick client form or a thin client form. The thin client form has the advantage of being easier to modify by the owner of the system illustrated in FIG. 1 or the manufacturer as changes are made in the software being executed by control computer 101. In addition, the visual interface in the thin client implementation is a web page and can be more readily modified than the visual interface of the thick client implementation.


[0026]
FIG. 3 illustrates an embodiment of IP telephone set 112. The user of IP telephone set 112 speaks and listens through handset 302. Although not illustrated in FIG. 3, IP telephone set 112 also has a speaker and microphone for conference calls. Display 301 is utilized to display the telephone number being dialed by keypad 309 during the placement of an outgoing call and displays the name and telephone number of the calling party for an incoming call. IP telephone set 112 has a number of telephone lines that could be selected with each line being denoted by a pair of indicators and a button. For example, indicators 303 and 304 and button 307 indicate line 1. Indicators 305 and 306 and button 308 indicate line 2. If the user is active on line 1, indicator 304 will be on as well as indicator 303. If the user has a caller on hold on line 2, indicator 305 will flash. The user of IP telephone set 112 selects line 1 by activating button 307. Similarly, the user activates line 2 by activating button 308.


[0027] Pairs of indicators and buttons, such as indicator 309 and button 311, may be used for activating a variety of operations. One is to automatically dial a party that had been preprogrammed by the user or to activate a feature such as using the conference facilities of IP telephone set 112. If button 311 is activated, indicator 309 will turn on. Indicator 312 and button 314 have similar functions. In general, there would be a number of such combinations of indicators and buttons as illustrated by 309, 311, 312, and 314. All button activation information is transmitted to control computer 101, and control computer 101 controls the state of the indicators.


[0028]
FIG. 4 illustrates, in block diagram form, one embodiment of IP telephone set 112. Processor 402 provides the overall control for the functions of IP telephone set 112 by executing programs and storing and retrieving data from memory 401. Processor 402 connects to WAN 111 or 204 via interface 403. Processor 402 interfaces to handset 302 via interface 407 and connects to visual display and buttons 419 via interface 409. Visual display and buttons 419 is all of the indicators, buttons keypad, and display illustrated in FIG. 3. Processor 402 performs the operations of IP telephone set 112 by executing the routines illustrated in memory 401.


[0029] Operating system 412 provides the overall control and the necessary protocol operations. Operating system routine 412 provides all control functions required to implement the TCP/IP protocol as is well known to those skilled in the art. Data is stored in data block 413. CODEC 414 encodes and decodes the audio information for communication with handset 302 or conference speaker and microphone 406 for communication with WAN 111 or 204. Overall control of the call processing is performed by the IP telephone set 112 under the control of call processing routine 416. The communication and control of the various interfaces illustrated in FIG. 4 is provided by interfaces routine 417. Audio generator routine 414 implements other software methods for reproducing sounds for utilization with the invention.


[0030] Call status control routine 408 terminates the socket that is established by monitor computer 118 to receive the call status information from IP telephone set 112 as described in the previous examples. Operating system 412 is responsive to messages from monitor computer 118 to establish the socket that allows monitor computer 118 to communicate with call status control routine 408. When monitor computer 118 opens a socket on IP telephone set 112, it uses the IP address of IP telephone set 112 to transmit a message to a TCP/IP port on IP telephone set 112 that is associated with call status control routine 408. Operating system 412 is response to this message to establish a socket for monitor computer 118 to receive call status information from IP telephone set 112. This socket interconnects monitor computer 118 and call status control routine 408. The operating system of the IP telephone set 112 then directs future messages for the port from monitor computer 118 to this socket from which the messages are transferred to call status control routine 408. Similarly, messages from call status control routine 408 to the socket are transmitted to monitor computer 118. Call status control routine 408 receives information from call processing routine 416 concerning control information received via WAN 111 to update indicators or display 301 of visual display and buttons 419. Similarly, call status control 408 receives actuation information for buttons or the keypad of block 419 from call processing routine 416. Call status control 418 transmits this call status information to monitor computer 118.


[0031] Audio control routine 411 terminates a second socket that was described as being set up by monitor computer 118, as described in the previous examples, to have IP telephone set 112 reproduce the audio call status information. When monitor computer 118 opens the second socket on IP telephone set 112, it uses the IP address of IP telephone set 112 to transmit a message to another TCP/IP port on IP telephone set 112 that is associated with audio control routine 411. Operating system 412 is response to this message to establish a socket for monitor computer 118 to receive call status information from IP telephone set 112. This other socket interconnects monitor computer 118 and audio control routine 411. The operating system of the IP telephone set 112 then directs future messages for the port from monitor computer 118 to this other socket from which the messages are transferred to audio control routine 411. Similarly, messages from audio control routine 411 to the other socket are transmitted to monitor computer 118. The speaker of unit 406 or the receiver of handset 302 can be utilized for this reproduction of the audio call status information. Audio control 411 can utilize CODEC routine 414 to reproduce this audio call status information or audio generator routine 418. The audio information is transferred via the appropriate handset to either the speaker or receiver.


[0032]
FIG. 5 illustrates, in flowchart form, operations performed by an embodiment of a call status control routine such as call status control routine 408 of FIG. 4. After being started in block 500, decision block 501 determines if the routine is active with respect to receiving call status information from an IP telephone set. Active in this case means that there is a socket set up to an IP telephone set by the operating system. If the answer is no, decision block 502 determines if there is a message containing a telephone number and password of an IP telephone set. This indicates that a monitor computer is attempting to establish communication with a call status control routine. If the answer is yes, decision block 503 determines if the telephone number and password for this particular IP telephone set has been received. If the answer is no, control is transferred back to decision block 501. If the answer is yes, block 504 makes the state active and sends a message to the operating system to establish the socket with the IP telephone set. Note, that one skilled in the art could readily envision that blocks 501-504 could be performed within the operating system or some other routine.


[0033] If the answer is yes in decision block 501 or no in decision block 502, control is transferred to decision block 506. Decision block 506 determines if there is a call status message from the call processing routine. If the answer is no, control is transferred to decision block 507 which determines if communication has been lost with the monitor computer. The operating system would normally detect this loss of communication and inform the call status control routine in a manner well known to those skilled in the art. If the answer is no in decision block 507, control is transferred to block 509 which performs normal processing before returning control back to decision block 501. If the answer in decision block 507 is yes, control is transferred to block 508 which sets the state to non-active before returning control back to decision block 501.


[0034] Returning to decision block 506. If a call status message has been received from the call processing routine, block 511 transmits this message to the monitor computer before transferring control back to decision block 501.


[0035]
FIG. 6 illustrates, in flowchart form, operations performed by one embodiment of an audio control routine such as audio control routine 411 of FIG. 4. After being started in block 600, decision block 601 determines if the routine is active with respect to receiving call status information from an IP telephone set. Active in this case means that there is a socket set up to an IP telephone set by the operating system. If the answer is no, decision block 602 determines if there is a message containing a telephone number and password of an IP telephone set. This indicates that a monitor computer is attempting to establish communication with a call status control routine. If the answer is yes, decision block 603 determines if the telephone number and password for this particular IP telephone set has been received. If the answer is no, control is transferred back to decision block 601. If the answer is yes, block 604 makes the state active and sends a message to the operating system to establish the socket with the IP telephone set. Note, that one skilled in the art could readily envision that blocks 601-604 could be performed within the operating system or some other routine.


[0036] If the answer is yes in decision block 601 or no in decision block 602, control is transferred to decision block 606. The latter decision block determines if a voice message has been received from the monitor computer. If the answer is no, control is transferred to block 614 whose operations are described below. If the answer in decision block 606 is yes, decision block 608 determines if the voice message designates that the CODEC routine of the IP telephone should be utilized to present the message to the user. If the answer is yes in decision block 608, the message is sent to the CODEC routine by block 609. Note, if the message is sent to the CODEC then the message will be played in the receiver of the IP telephone set that is currently being utilized by the user.


[0037] Returning to decision block 608. If the answer is no, decision block 612 determines if the message designates that the audio generator routine is to be used to present the message to the user. If the answer is yes, block 613 transmits the voice message to the audio generator routine before transferring control back to decision block 601.


[0038] Returning to decision block 612, if the answer is no, control is transferred to decision block 614 which determines if communication has been lost with the monitor computer. The operating system would normally detect this loss of communication and inform the call status control routine in a manner well known to those skilled in the art. If the answer is no in decision block 614, control is transferred to block 617 which performs normal processing before returning control back to decision block 601. If the answer in decision block 614 is yes, control is transferred to block 616 which sets the state to non-active before returning control back to decision block 601.


[0039] FIGS. 7-9 illustrate, in flowchart form, operations performed by one embodiment of a monitor computer such as monitor computer 118 of FIG. 1 where the monitor computer is receiving the call status information from an IP telephone set. After being started, in block 700, block 701 obtains the control routine whose operations are illustrated in FIGS. 7-9. The control routine will be obtained from internal memory if the embodiment is implementing a thick client implementation; and the control routine will be obtained from a server, such as server 119, if the embodiment is implementing a thin client implementation. After the control routine is obtained and executed, decision block 702 determines if it is necessary to tailor the user interface or the user. This decision is based on whether the system allows such tailoring and whether it is necessary. It may be that the interface has already been tailored for the user, and this information is stored in an interface database. If the answer in decision block 702 is yes, control is transferred to block 902 of FIG. 9. If the answer in decision block 702 is no, block 703 obtains the telephone number and password for the IP telephone set that is to be monitored. Block 703 may perform this operation by obtaining it from a server such as server 119. In addition, the user may know the telephone number and the password and enter it manually. After execution of block 703, block 704 broadcasts the telephone number and password to all of the IP telephone sets.


[0040] After execution of block 704, control is transferred to decision block 706 which determines if an IP telephone set responded to the broadcasting of the telephone number and the password. One skilled in the art would readily realize that the telephone number and password could be encrypted so that it was not possible for a computer to fraudulently gain access to the control status information of an IP telephone set. If the answer in decision block 706 is no, control is transferred to block 707 which performs error recovery before transferring control back to block 703. If the answer is decision block 706 is yes, block 708 establishes a socket with the operating system of the IP telephone set that responded. The socket establishes communication to the call status control routine of that IP telephone set before transferring control to decision block 801 of FIG. 8.


[0041] Decision block 801 determines if call status information has been received as a message from the IP telephone set. If the answer is no, decision block 802 determines if communication has been lost between the monitor computer and the IP telephone set. If the answer is yes, operations are terminated in block 809. In addition to transferring control to block 809 upon communication being terminated between the monitored computer and the IP telephone set, decision block 802 also is responsive to user input to terminate operations. If the answer is no in decision block 802, control is transferred back to decision block 801.


[0042] Returning to decision block 801, if the answer is yes, control is transferred to block 803 which accesses the interface database to determine if the particular call status information should be presented to the user. As is discussed with respect to FIG. 9, the user or system administrator has the capability of determining which call status information will be presented to the user as well as how often a particular type of call status information must occur before an instance of the call status information is presented to the user. If the answer is no in decision block 803, control is transferred back to decision block 801. If the answer is yes in decision block 803, control is transferred to decision block 804 which determines from the interface database if the call status information is to be presented by the monitor computer or transmitted to the IP telephone set for presentation to the user. If the answer in decision block 804 is that the monitor computer should present the information, block 805 accesses the encoded audio message from the interface database along with the audio driver type that is to be utilized, and block 806 transmits the call status information to the audio driver of the monitor computer for playout. If the decision in decision block 804 is that the call status information is to be presented in audio form to the user on the IP telephone set, block 807 accesses the encoded audio message from the interface database along with the audio driver type that is to be utilized on the IP telephone set. Block 808 then sends a message that contains the encoded audio message and the audio driver type to the audio control routine of the IP telephone set before transferring control back to decision block 801.


[0043] Returning to FIG. 7, if the answer in decision block 702 is yes that the user interface must be tailored, control is transferred to block 902 of FIG. 9. FIG. 9 illustrates the operations performed by an embodiment in gathering the options of a user wants visual information communicated to them with audio messages. The audio messages can be voice messages or other audio sounds. For example, if the user is talking on one call but has a second call on hold, the user may choose to have the fact that the second call is on hold presented to them as an audio tone or as a voice message. In addition, the user can specify their preference for how often they should receive an audio message with respect to the call on hold. The preference data comprises the various visual messages that can be transmitted to the users IP telephone set and the options that the user has to tailor the resulting audio messages. The interface may be tailored to each individual user or a system administrator may establish one standard interface. In one embodiment, if the system administrator is determining the interface, then, the preference information and accompanying options would be presented in a visual table or other means well known to those skilled in the art. If the information is presented to each user, then in one embodiment the preference information with options is presented as a voice message and the user would select options by responding with voice responses. The voice responses would be interpreted using well known voice-to-text software routines. After receiving control from decision block 702, block 902 access the preference data for a particular IP telephone set, and block 903 selects the first preference as the selected preference to be presented to the user by block 904. Block 906 receives the user's response and converts this response to text and verifies that it is a correct response. Block 907 then stores the received response in the interface database. Decision block 908 determines if there are any preferences that remain to have options selected. If the answer is yes, control is transferred to block 909. Block 909 selects the next preference from the preference data and transfers control back to block 904. If the answer in decision block 908 is no, control is transferred back to block 703 of FIG. 7.


[0044] FIGS. 10-11 illustrate, in flowchart form, operations performed by one embodiment of a monitor computer such as monitor computer 118 of FIG. 1 where the monitor computer is receiving the call status information from a control computer that is controlling a switching system, such as telecommunication switching system 100. After being started, in block 1000, block 1001 obtains the control routine whose operations are illustrated in FIGS. 10-11. The control routine will be obtained from internal memory if the embodiment is implementing a thick client implementation; and the control routine will be obtained from a server, such as server 119 if the embodiment is implementing a thin client implementation. After the control routine is obtained and executed, decision block 1002 determines if it is necessary to tailor the user interface or the user. This decision is based on whether the system allows such tailoring and whether it is necessary. It may be that the interface has already been tailored for the user, and this information is stored in an interface database. If the answer in decision block 1002 is yes, control is transferred to block 1009 that performs operations similar to those illustrated in FIG. 9. If the answer in decision block 1002 is no, block 1003 obtains the telephone number and password for the IP telephone set that is to be monitored. Block 1003 may perform this operation by obtaining it from a server such as server 119. In addition, the user may know the telephone number and the password and enter it manually. After execution of block 1003, block 1004 broadcasts the telephone number and password to all of the IP telephone sets.


[0045] After execution of block 1004, control is transferred to decision block 1006 which determines if an IP telephone set responded to the broadcasting of the telephone number and the password. One skilled in the art would readily realize that the telephone number and password could be encrypted so that it was not possible for a computer to fraudulently gain access to the control status information of an IP telephone set. If the answer in decision block 1006 is no, control is transferred to block 1007 which performs error recovery before transferring control back to block 1003. If the answer is decision block 1006 is yes, block 1008 establishes a socket with the operating system of the IP telephone set that responded. The socket establishes communication to the call status control routine of that IP telephone set before transferring control to decision block 1101 of FIG. 11.


[0046] Decision block 1101 determines if call status information has been received as a message from the IP telephone set. If the answer is no, decision block 1102 determines if communication has been lost between the monitor computer and the IP telephone set. If the answer is yes, operations are terminated in block 1109. In addition to transferring control to block 1109 upon communication being terminated between the monitored computer and the IP telephone set, decision block 1102 also is responsive to user input to terminate operations. If the answer is no in decision block 1102, control is transferred back to decision block 1101.


[0047] Returning to decision block 1101, if the answer is yes, control is transferred to block 1103 which accesses the interface database to determine if the particular call status information should be presented to the user. As is discussed with respect to FIG. 9, the user or system administrator has the capability of determining which call status information will be presented to the user as well as how often a particular type of call status information must occur before an instance of the call status information is presented to the user. If the answer is no in decision block 1103, control is transferred back to decision block 1101. If the answer is yes in decision block 1103, control is transferred to block 1104. Block 1104 accesses the encoded audio message from the interface database along with the audio driver type that is to be utilized, and block 1106 transmits the call status information to the audio driver of the monitor computer for playout before transferring control back to decision block 1101.


[0048]
FIG. 12 illustrates, in block diagram form, one embodiment of a monitor computer. Processor 1202 provides the overall control for the functions of a monitor computer by executing programs and storing and retrieving data from memory 1201. Processor 1202 connects to WAN 111 or 204 via interface 1203. Processor 1202 interfaces to user input device 1211 via interface 1207 and connects to display 1219 via interface 1209. Processor 1202 performs the operations of a monitor computer by executing the routines illustrated in memory 1201.


[0049] Operating system 1212 provides the overall control and the necessary protocol operations. Operating system routine 1212 provides all control functions required to implement the TCP/IP protocol as is well known to those skilled in the art. Data is stored in data block 1213. Interface database 1216 stores preferences and options that define the user interface. Overall control is performed by control routine 1216. The communication and control of the various interfaces illustrated in FIG. 12 is provided by interfaces routine 1217. Audio driver 1218 controls the reproduction of sounds.


[0050] When the operations of an IP telephone set or monitor computer are implemented in software, it should be noted that the software can be stored on any computer-readable medium for use by or in connection with any computer related system or method. In the context of this document, a computer-readable medium is an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer related system or method. The IP telephone set or monitor computer can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. For example, the computer-readable medium can be, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (electronic), a read-only memory (ROM) (electronic), an erasable programmable read-only memory (EPROM, EEPROM, or Flash memory) (electronic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, for instance, via optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.


[0051] In an alternative embodiment, where IP telephone set or monitor computer is implemented in hardware, IP telephone set or monitor computer can be implemented with any or a combination of the following technologies, which are each well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array(s) (PGA), a field programmable gate array (FPGA), etc.


[0052] Of course, various changes and modifications to the illustrated embodiments described above will be apparent to those skilled in the art. These changes and modifications can be made without departing from the spirit and scope of the invention and without diminishing its intending advantages. It is therefore intended that such changes and modifications be covered by the following claims except insofar as limited by the prior art.


Claims
  • 1. A method for providing call status information intended for visual presentation as audio information, comprising the steps of: establishing a first network connection by a monitor computer to a telecommunication set via a network; receiving call status information intended for visual presentation by the telecommunication set via the network from an endpoint; transmitting call status information intended for visual presentation to the monitor computer by the telecommunication set; converting the call status information intended for visual presentation to audio call status information by the monitor computer; and presenting the audio call status information to a user of the telecommunication set.
  • 2. The method of claim 1 wherein the step of presenting comprises the step of producing the audio call status information on the telecommunication set.
  • 3. The method of claim 2 wherein the step of presenting further comprises the step of transmitting the audio call status information from the monitor computer to the telecommunication set.
  • 4. The method of claim 3 wherein the step of transmitting the audio call status information comprises the step of establishing a second network connection to the telecommunication set by the monitor computer.
  • 5. The method of claim 2 wherein the audio call status information is produced by a CODEC used for telecommunication voice information of telecommunication calls.
  • 6. The method of claim 2 wherein the audio call status information is produced by an audio generator other than a CODEC used for telecommunication voice information of telecommunication calls.
  • 7. The method of claim 1 wherein the endpoint is a telecommunication switching system.
  • 8. The method of claim 1 wherein the endpoint is another telecommunication set.
  • 9. The method of claim 1 wherein the step of presenting comprises the step of producing the audio call status information on the monitor computer.
  • 10. The method of claim 1 wherein the step of establishing comprises obtaining the network address of the telecommunication set from the telecommunication set.
  • 11. The method of claim 10 wherein the step of obtaining comprises the steps of broadcasting a telecommunication identification number of the telecommunication set on the network by the monitor computer; and transmitting the network address of the telecommunication set to the monitor computer by the telecommunication set.
  • 12. The method of claim 1 wherein the step of converting comprises determining if the call status information intended for visual presentation should be presented.
  • 13. The method of claim 12 wherein the step of determining comprises the step of accessing a database.
  • 14. The method of claim 1 wherein the network supports a protocol that allows for sockets and the step of establishing the first network connection comprises the step of setting up a socket on the telecommunication set by the monitor computer.
  • 15. The method of claim 4 wherein the network supports a protocol that allows for sockets and the step of the second network connection comprises the step of setting up a socket on the telecommunication set by the monitor computer.
  • 16. The method of claim 1 further comprises the step of receiving the call status information intended for visual presentation from a switching system via the network.
  • 17. A method for providing call status information intended for visual presentation as audio information by a telecommunication set, comprising the steps of: establishing a first network connection with a monitor computer in response to a first message from a monitor computer; and transmitting call status information intended for visual presentation to the monitor computer via the first network connection for presentation as audio call status information.
  • 18. The method of claim 17 further comprises the steps of receiving the audio call status information from the monitor computer; and producing the audio call status information to a user of the telecommunication set.
  • 19. The method of claim 18 wherein the step of receiving comprises the steps of establishing a second network connection with the monitor computer in response to a second message from the monitor computer; and receiving the audio call status information from the monitor computer via the second network connection.
  • 20. The method of claim 19 wherein the audio call status information is produced by a CODEC used for telecommunication voice information of telecommunication calls.
  • 21. The method of claim 19 wherein the audio call status information is produced by an audio generator other than a CODEC used for telecommunication voice information of telecommunication calls.
  • 22. The method of claim 17 wherein the network supports a protocol that allows for sockets and the step of establishing the first network connection comprises the step of setting up a socket with the monitor computer.
  • 23. The method of claim 19 wherein the network supports a protocol that allows for sockets and the step of establishing the second network connection comprises the step of setting up a socket with the monitor computer.
  • 24. The method of claim 17 further comprises the step of receiving the call status information intended for visual presentation from a switching system via the network.
  • 25. The method of claim 17 further comprises transmitting the network address of the telecommunication set to the monitor computer by the telecommunication set in response to a telecommunication identification number of the telecommunication set being received on the network from the monitor computer.
  • 26. A method for providing by a monitor computer call status information intended for visual presentation as audio information, comprising the steps of: establishing a first network connection to a telecommunication set via a network; receiving call status information intended for visual presentation to the monitor computer by the telecommunication set; and converting the call status information intended for visual presentation to audio call status information; and presenting the audio call status information to a user of the telecommunication set.
  • 27. The method of claim 26 wherein the step of presenting comprises the steps of establishing a second network connection to the telecommunication set; and transmitting the audio call status information to the telecommunication set.
  • 28. The method of claim 26 wherein the step of presenting comprises the step of producing the audio call status information on the monitor computer.
  • 29. The method of claim 26 wherein the step of establishing comprises obtaining the network address of the telecommunication set from the telecommunication set.
  • 30. The method of claim 29 wherein the step of obtaining comprises the steps of broadcasting a telecommunication identification number of the telecommunication set on the network; and receiving the network address of the telecommunication set from the telecommunication set.
  • 31. The method of claim 26 wherein the step of converting comprises determining if the call status information intended for visual presentation should be presented.
  • 32. The method of claim 31 wherein the step of determining comprises the step of accessing a database.
  • 33. The method of claim 26 wherein the network supports a protocol that allows for sockets and the step of establishing the first network connection comprises the step of setting up a socket on the telecommunication set.
  • 34. The method of claim 27 wherein the network supports a protocol that allows for sockets and the step of establishing the second network connection comprises the step of setting up a socket on the telecommunication set.
  • 35. A processor-readable medium comprising processor-executable instructions configured for: establishing a first network connection by a monitor computer to a telecommunication set via a network; receiving call status information intended for visual presentation by the telecommunication set via the network from an endpoint; transmitting call status information intended for visual presentation to the monitor computer by the telecommunication set; converting the call status information intended for visual presentation to audio call status information by the monitor computer; and presenting the audio call status information to a user of the telecommunication set.
  • 36. The processor-readable medium of claim 35 further comprises browser processor-executable instructions retrieving the processor-executable instructions for establishing, converting and presenting from a server and storing on the monitor computer.
  • 37. The processor-readable medium of claim 35 wherein the presenting comprises producing the audio call status information on the telecommunication set.
  • 38. The processor-readable medium of claim 37 wherein the presenting further comprises transmitting the audio call status information from the monitor computer to the telecommunication set.
  • 39. The processor-readable medium of claim 38 further comprises browser processor-executable instructions retrieving the processor-executable instructions for establishing, converting and presenting from a server and storing on the monitor computer.
  • 40. The processor-readable medium of claim 38 wherein transmitting the audio call status information comprises establishing a second network connection to the telecommunication set by the monitor computer.
  • 41. The processor-readable medium of claim 37 wherein the audio call status information is produced by a CODEC used for telecommunication voice information of telecommunication calls.
  • 42. The processor-readable medium of claim 37 wherein the audio call status information is produced by an audio generator other than a CODEC used for telecommunication voice information of telecommunication calls.
  • 43. The processor-readable medium of claim 35 wherein the endpoint is a telecommunication switching system.
  • 44. The processor-readable medium of claim 35 wherein the endpoint is another telecommunication set.
  • 45. The processor-readable medium of claim 35 wherein the presenting comprises producing the audio call status information on the monitor computer.
  • 46. The processor-readable medium of claim 35 wherein establishing comprises obtaining the network address of the telecommunication set from the telecommunication set.
  • 47. The processor-readable medium of claim 46 wherein the obtaining comprises broadcasting a telecommunication identification number of the telecommunication set on the network by the monitor computer; and transmitting the network address of the telecommunication set to the monitor computer by the telecommunication set.
  • 48. The processor-readable medium of claim 47 further comprises browser processor-executable instructions retrieving the processor-executable instructions for establishing, converting and presenting from a server and storing on the monitor computer.
  • 49. The processor-readable medium of claim 35 wherein the converting comprises determining if the call status information intended for visual presentation should be presented.
  • 50. The processor-readable medium of claim 49 wherein the determining comprises accessing a database.
  • 51. The processor-readable medium of claim 35 wherein the network supports a protocol that allows for sockets and establishing the first network connection comprises setting up a socket on the telecommunication set by the monitor computer.
  • 52. The processor-readable medium of claim 40 wherein the network supports a protocol that allows for sockets and establishing the second network connection comprises setting up a socket on the telecommunication set by the monitor computer.
  • 53. The processor-readable medium of claim 35 further comprises receiving the call status information intended for visual presentation from a switching system via the network.
  • 54. A processor-readable medium comprising processor-executable instructions stored in a telecommunication set for: establishing a first network connection with a monitor computer in response to a first message from a monitor computer; and transmitting call status information intended for visual presentation to the monitor computer via the first network connection for presentation as audio call status information.
  • 55. The processor-readable medium of claim 54 further comprises receiving the audio call status information from the monitor computer; and producing the audio call status information to a user of the telecommunication set.
  • 56. The processor-readable medium of claim 55 wherein the receiving comprises establishing a second network connection with the monitor computer in response to a second message from the monitor computer; and receiving the audio call status information from the monitor computer via the second network connection.
  • 57. The processor-readable medium of claim 56 wherein the audio call status information is produced by a CODEC used for telecommunication voice information of telecommunication calls.
  • 58. The processor-readable medium of claim 56 wherein the audio call status information is produced by an audio generator other than a CODEC used for telecommunication voice information of telecommunication calls.
  • 59. The processor-readable medium of claim 54 wherein the network supports a protocol that allows for sockets and establishing the first network connection comprises setting up a socket with the monitor computer.
  • 60. The processor-readable medium of claim 56 wherein the network supports a protocol that allows for sockets and establishing the second network connection comprises setting up a socket with the monitor computer.
  • 61. The processor-readable medium of claim 54 further comprises receiving the call status information intended for visual presentation from a switching system via the network.
  • 62. The processor-readable medium of claim 54 further comprises transmitting the network address of the telecommunication set to the monitor computer by the telecommunication set in response to a telecommunication identification number of the telecommunication set being received on the network from the monitor computer.
  • 63. A processor-readable medium comprising processor-executable instructions stored in a monitor computer for: establishing a first network connection to a telecommunication set via a network; receiving call status information intended for visual presentation to the monitor computer by the telecommunication set; and converting the call status information intended for visual presentation to audio call status information; and presenting the audio call status information to a user of the telecommunication set.
  • 64. The processor-readable medium of claim 63 wherein the presenting comprises establishing a second network connection to the telecommunication set; and transmitting the audio call status information to the telecommunication set.
  • 65. The processor-readable medium of claim 64 further comprises browser processor-executable instructions obtaining the processor-executable instructions for establishing, converting, accessing and presenting from a server and storing on the monitor computer.
  • 66. The processor-readable medium of claim 63 wherein the presenting comprises producing the audio call status information on-the monitor computer.
  • 67. The processor-readable medium of claim 63 wherein establishing comprises obtaining the network address of the telecommunication set from the telecommunication set.
  • 68. The processor-readable medium of claim 67 wherein the obtaining comprises broadcasting a telecommunication identification number of the telecommunication set on the network; and receiving the network address of the telecommunication set from the telecommunication set.
  • 69. The processor-readable medium of claim 68 further comprises browser processor-executable instructions obtaining the processor-executable instructions for establishing, converting, accessing and presenting from a server and storing on the monitor computer.
  • 70. The processor-readable medium of claim 63 wherein the converting comprises determining if the call status information intended for visual presentation should be presented.
  • 71. The processor-readable medium of claim 70 wherein the determining comprises accessing a database.
  • 72. The processor-readable medium of claim 63 wherein the network supports a protocol that allows for sockets and establishing the first network connection comprises setting up a socket on the telecommunication set.
  • 73. The processor-readable medium of claim 64 wherein the network supports a protocol that allows for sockets and establishing the second network connection comprises setting up a socket on the telecommunication set.
  • 74. A method for providing call status information intended for visual presentation as audio information, comprising the steps of: establishing a network connection by a telecommunication set to a control computer of the telecommunication switching system via a first network; transmitting call status information intended for visual presentation to the telecommunication set by the control computer via the first network; accessing the call status information intended for visual presentation by monitor computer from the telecommunication set and first network or the control computer and a second network; converting the call status information intended for visual presentation to audio call status information by the monitor computer; and presenting the audio call status information to a user of the telecommunication set by the monitor computer.
  • 75. The method of claim 74 further comprises the step of communicating voice information by the telecommunication set to another telecommunication set via the first network.
  • 76. The method of claim 74 further comprises the step of communicating voice information by the telecommunication set to another telecommunication set via the first and second networks wherein the other telecommunication set communicates both voice information and call status information intended for visual presentation with the telecommunication switching system via the second network.
  • 77. The method of claim 74 wherein the step of accessing via the second network comprises the steps of obtaining a password for the telecommunication set; and transmitting the password and a telecommunication identified number for the telecommunication set to the control computer by the monitor computer.
  • 78. The method of claim 77 wherein the second supports a protocol that allows for sockets and the step of transmitting the password and the telecommunication identified number comprises the step of setting up a socket on the control computer by the monitor computer.
  • 79. The method of claim 77 wherein the step of accessing further comprises transmitting by the control computer the call status information intended for visual presentation to the monitor computer via the second network.
  • 80. The method of claim 74 wherein the step of converting comprises determining if the call status information intended for visual presentation should be presented.
  • 81. The method of claim 80 wherein the step of determining comprises the step of accessing a database.
  • 82. A processor-readable medium comprising processor-executable instructions configured for: establishing a network connection by a telecommunication set to a control computer of the telecommunication switching system via a first network; transmitting call status information intended for visual presentation to the telecommunication set by the control computer via the first network; accessing the call status information intended for visual presentation by monitor computer from the telecommunication set and first network or the control computer and a second network; converting the call status information intended for visual presentation to audio call status information by the monitor computer; and presenting the audio call status information to a user of the telecommunication set by the monitor computer.
  • 83. The processor-readable medium of claim 82 further comprises communicating voice information by the telecommunication set to another telecommunication set via the first network.
  • 84. The processor-readable medium of claim 83 further comprises browser processor-executable instructions obtaining the processor-executable instructions for establishing, converting, accessing and presenting from a server and storing on the monitor computer.
  • 85. The processor-readable medium of claim 82 further comprises communicating voice information by the telecommunication set to another telecommunication set via the first and second networks wherein the other telecommunication set communicates both voice information and call status information intended for visual presentation with the telecommunication switching system via the second network.
  • 86. The processor-readable medium of claim 85 further comprises browser processor-executable instructions obtaining the processor-executable instructions for establishing, converting, accessing and presenting from a server and storing on the monitor computer.
  • 87. The processor-readable medium of claim 82 wherein the accessing via the second network comprises obtaining a password for the telecommunication set; and transmitting the password and a telecommunication identified number for the telecommunication set to the control computer by the monitor computer.
  • 88. The processor-readable medium of claim 87 wherein the second network supports a protocol that allows for sockets and transmitting the password and the telecommunication identified number comprises setting up a socket on the control computer by the monitor computer.
  • 89. The processor-readable medium of claim 87 wherein the accessing further comprises transmitting by the control computer the call status information intended for visual presentation to the monitor computer via the second network.
  • 90. The processor-readable medium of claim 82 wherein the converting comprises determining if the call status information intended for visual presentation should be presented.
  • 91. The processor-readable medium of claim 90 wherein the determining comprises accessing a database.
  • 92. The processor-readable medium of claim 91 further comprises browser processor-executable instructions obtaining the processor-executable instructions for establishing, converting, accessing and presenting from a server and storing on the monitor computer.