CA2186928C - System for interactive control of a computer and telephone - Google Patents

System for interactive control of a computer and telephone Download PDF

Info

Publication number
CA2186928C
CA2186928C CA002186928A CA2186928A CA2186928C CA 2186928 C CA2186928 C CA 2186928C CA 002186928 A CA002186928 A CA 002186928A CA 2186928 A CA2186928 A CA 2186928A CA 2186928 C CA2186928 C CA 2186928C
Authority
CA
Canada
Prior art keywords
computer
user
call
telephone
functions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CA002186928A
Other languages
French (fr)
Other versions
CA2186928A1 (en
Inventor
Michael Langlois
Richard Loen
Duncan Smith
Michael Lahrkamp
Paul Chehowski
Peter Couse
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitel Networks Corp
Original Assignee
Mitel Knowledge Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitel Knowledge Corp filed Critical Mitel Knowledge Corp
Priority to CA002186928A priority Critical patent/CA2186928C/en
Priority to GBGB9720423.4A priority patent/GB9720423D0/en
Priority to IE970702A priority patent/IE970702A1/en
Priority to IL12184597A priority patent/IL121845A0/en
Priority to GB9720653A priority patent/GB2318703B/en
Priority to FR9712229A priority patent/FR2756444A1/en
Priority to DE19743459A priority patent/DE19743459A1/en
Publication of CA2186928A1 publication Critical patent/CA2186928A1/en
Application granted granted Critical
Publication of CA2186928C publication Critical patent/CA2186928C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/247Telephone sets including user guidance or feature selection means facilitating their use
    • H04M1/2473Telephone terminals interfacing a personal computer, e.g. using an API (Application Programming Interface)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/26Devices for calling a subscriber
    • H04M1/27Devices whereby a plurality of signals may be stored simultaneously
    • H04M1/274Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc
    • H04M1/2745Devices whereby a plurality of signals may be stored simultaneously with provision for storing more than one subscriber number at a time, e.g. using toothed disc using static electronic memories, e.g. chips
    • H04M1/27467Methods of retrieving data
    • H04M1/27475Methods of retrieving data using interactive graphical means or pictorial representations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/57Arrangements for indicating or recording the number of the calling subscriber at the called subscriber's set
    • H04M1/575Means for retrieving and displaying personal data about calling party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/57Arrangements for indicating or recording the number of the calling subscriber at the called subscriber's set
    • H04M1/575Means for retrieving and displaying personal data about calling party
    • H04M1/576Means for retrieving and displaying personal data about calling party associated with a pictorial or graphical representation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/64Automatic arrangements for answering calls; Automatic arrangements for recording messages for absent subscribers; Arrangements for recording conversations
    • H04M1/65Recording arrangements for recording a message from the calling party
    • H04M1/6505Recording arrangements for recording a message from the calling party storing speech in digital form
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/66Substation equipment, e.g. for use by subscribers with means for preventing unauthorised or fraudulent calling
    • H04M1/663Preventing unauthorised calls to a telephone set

Abstract

A computer-based telephony system, comprising:
a telephone set for implementing telephony functions on a telephone line, said telephone set including a serial interface for bidirectional communication of data signals; and a computer executable software application for receiving first ones of said data signals from said telephone set and in response implementing predetermined software functions, and for transmitting further ones of said data signals to said telephone set in response to a user input whereupon said telephone set implements predetermined ones of said telephony functions.

Description

21 ~692~3 SYSTEM FOR INTERACTIVE CONTROL OF COMPUTER AND TELEPHONE

Field of the Invention This invention relates in general to personal co~ ul~ l~ and telephony, and more particularly to an interactive system by which a co~ ul~,l and telephone function cooperatively to implement a multiplicity of functions invoked by a user.

Background of the Invention Software applications are known in the art for implementing telephony realules using a personal col~ul~,l. According to existing First Party Call Control architectures, a physical connection is provided b~lwc;en the telephone and personal colllpul~l for providing Con~uler Telephony Tnte~tion (CTI). Such prior art CTI
architectllres have suffered from extreme limitations in functionality and ease of use.
For example, in order to place a phone call, a user typically must first close or lli7.e whatever application he or she is ~;u l~lllly running (eg. Microsoft Word~i), open the CTI application, enter the digits to be dialled via point-and-click numbers, and then click an accept or dial button. ~ vely, according to some CTI
hile~ilules, the user is able to navigate or browse a telephone directory in order to identify the party to be called and then, once located, hiFhli~ht the party's name and click a dial button.

Understandably, the ~wkw~less of using such systems and the limited features provided thereby have led some con~llmer~ to abandon prior art CTI systems in favour of more functional telephone sets or even "plain old telephone sets" (POTS) with çnh~nl~ecl fe~lules being provided by the central offlce.

One of the reasons for the awkwardness and limited functionality of prior art CTI architectures is that there is no seamless integr~tion of functions activated by the telephone and functions activated directly or indirectly by the con,l~ulel.

Recent developments in the standardization of colll~ul~l int~ ces have led to
2~ 86928 increased development of software applications which are adapted to integrate functionality of a personal colllpuL~,. with various and diverse extçrn~l devices. For example, the recently established standard for USB (Universal Serial Bus - a 12 Mbit/s serial interf~ce running over a four wire bus, with an associated software stack supporting peripheral col~ne~;LiviLy to a personal computer) is expected to yield a raft of software applications which interact coop~l~Lively with exte-n~l devices ranging from video games to faxes and data modems.

An object ofthe present invention is to provide an interactive telephone and PC-based software application which will overcome the limitations of prior art CTI
ar~h;le~;L~ s and be compatible with emerging standardized int~rf~ces such as USB.

Su~ uy of the Invention According to the present invention, an int~r~ctive system is provided by which a co~ ,uL~ . and telephone function cooperatively to implement a multiplicity of user-invoked fe~Lules. Physically, the system comprises a telephone set which is connected to a personal computer on which a novel TAPI (Telephony Application Program rnt~rf~ce) application is executed. The telephone set includes a plurality of user-definable function keys in addition to the keypad, handset, speaker phone and other standard colllpol~cllls. The user-definable function keys are programmable via the colllyuler to implement specific telephony fe~ es or to launch applications on the colll~ul~,r. The TAPI application permits shared and interactive functionality between the colll~uL~,l and telephone set including, but not limited to, call m~n~gem~nt call logging, call recording, phonebook ~l~t~b~e creation and editing, and tli~lling The telephone set is connected to a single central office line, and can be connected to the colll~uL~. via either a USB or a standard RS-232 serial line.

The TAPI application according to the present invention comprises a plurality of user int~rf~ce colllponents for user display and printing, and a plurality of engine components for call proces~ing, data storage and manipulation, application configuration m~n~gem~nt and audio recording and playback. The engine 2 1 869~8 , components are located in one or more Dynamic Link Libraries (DLLs) to provide the necessary information for display or printing by the user interf~ce components. The user interface components are contained in a main executable file and are isolated from the non-user or engine components to allow for flexibility in future interface developments.

The user interf~ce components of the present invention provide a graphical user interface (GUI) char~cteri7e~1 by a number of useful features. According to one aspect of the GUI, a "flyout" control bar may be activated by the user to display various context sensitive call ~Lurcs. According to another aspect, where caller line identification data (CLID) is sent to the user's system, the caller's picture is displayed on-screen as a bit map, along with the user's name and telephone number. According to an additional aspect, the user can program a plurality of custom diallers which operate in a manner somewhat similar to speed diallers except that the diallers are logically sequenced by the user for navigating automated ~tten~l~nt~ and other comparable call answering systems.

Brief Description of the Drawings A detailed description of the pl~r.,.l~d embodiment is provided herein below with reference to the following drawings, in which:

Figure 1 is a schem~tic illustration of the co~ uL. l-based telephony system according to a general aspect of the present invention;
Figure 2 is a block ~ gr~m showing software modules which form the protocol stack governing communication be~w~en the telephone set and colllpulel of the telephony system according to the present invention;

Figure 3 shows a main window display generated by the software application according to a first embodiment of the present invention;

-Figure 4 shows the main window display of Figure 3 with a flyout control bar thereof in the open position;

Figures 5a though 5c show the main window display according to an alternative embodiment of the present invention, wherein Figure 5a shows the main window display with toolbar showing, and Figures 5b and 5c show the main window display with control bar actuator positioned n the right and left, respectively;
Figures 6a though 6c show a receptionist icon or indicator of a status line of the main window according to the first embodiment;

Figures 7a though 7c show a voicemail icon or indicator of the status line of the main window according to the first embodiment;

- Figures 8a though 8d show a "Do Not Disturb" icon or indicator of the status line of the main window according to the first embodiment;

Figure 9 is a block diagram showing user intçrfi~ce components of the software application and engine components of the core software module executed by the computer according to the present invention;

Figures 10 shows the main window display ofthe first embodiment in the event of an incoming call (Figure 10a), with the control bar in the open position (Figure lOb), and with the Phone menu open (Figure 10c), whereas Figure 10d shows the main display according to the ~Itçrn~tive embodiment;

Figure 11 shows the main window display according to the first embodiment when an incoming call is sent to voice mail (Figure 1 la), with the control bar in the open position (Figure 1 lb), and with the Phone menu open (Figure 1 lc);
Figure 12 shows the main window display according to the first embodiment when a voice mail me~s~ge is being recorded (Figure 12a) and the user picks-up the 21 869~8 -s call (Figure 12b);

Figure 13 shows the main window display according to the first embodiment when a call is diverted to hold;

Figure 14 shows the main window display according to the first embodiment during a hang-up sequence beginning with the user h~nging up (Figure 14a), the call state being indicated as "Hanging Up" (Figure 14b), and finally the call state being indicated as "Your Line is Free" (Figure 14c);
Figure 15 shows the main window display according to the first embodiment during a direct dial sequence beginning in the idle state with the user clicking the "Make a call" default button (Figure 15a), followed by positioning of the cursor over the Number field and the call state being indicated as "Enter a phone number" (Figure 15b), ent~rin~ of dial digits (Figure l Sc), and finally upon a match between the entered dial digits and a number stored in the Phonebook, the called party's name is displayed along with a call timer for the duration of the call ~Figure 1 Sd);

Figure 16 shows the main window display according to the first embodiment during an on-hook dial sequence beginning in the idle state (Figure 16a), followed by positioning of the cursor over the Number field and entering of dial digits (Figure 16b), as digits are entered, if a match is found in the Phonebook, the name of the person being called is displayed in the Name field (Figure 16c), clicking of the "Make a Call" icon ~e~i~lg in the default button (Figure 16d), and finally initiating the call and displaying the call timer (Figure 16e);

Figure 17 shows the main window display according to the first embodiment during a dial by name sequence beginning in the idle state (Figure 17a), followed by positioning of the cursor over the Name field and ent~ring of letters of the name of the 30 person to be called (Figure 17b), as letters are entered, if a match is found in the Phonebook, the name and default telephone number of the person being called are displayed (Figure 17c), selecting a di~clcnt phone number for the person being 2 1 ~9~3 -called, from a drop-down list (Figure 17d), clicking of the "Make a Call" icon appe~hlg in the default button (Figure 17e), and finally initiating the call anddisplaying the call timer (Figure 17f);

Figure 18 shows the main window display according to the first embodiment during a speed dial sequence beginning in the idle state with the user selecting a "Dial "menu item from the menu bar (Figure 18a), selecting a name and number from the "Speed Dial" list Figure 18b), displaying the selected name and number are displayed (Figure 18c), initi~ting the call and displaying the call timer (Figure 18d);
Figure 19 shows the main window display according to the first embodiment during a drag-and-drop name search and dial sequence, beginning in the idle state (Figure 19a), hi~hli~htin~ and dropping a portion of text from another application into the Name field such that the Phonebook is automatically searched and in response to a match the default number associated with the m~tch~l name is displayed in the Number field (Figure l9c), clicking on the default button resulting in a line being selected and digit out-pulsing (Figure l9d), and once the dialling is complete, display of the call timer (Figure 19e~, Figure 20 shows the main window display according to the first embodiment during a hang up, beginning with clicking on the "Hang Up" icon of the default button (Figure 20a), displaying a "Hanging Up' mes.~ge (Figure 20b), and finally ling to the idle state (Figure 20c);

Figure 21 shows an extension in use indicator ofthe main window display according to the first embollim~nt Figure 22 shows the main window display according to the first embodiment during a sequence of adding a party to the Phonebook from the connected state (Figure 22a) where the user activates the control bar (Figure 22b), and therefrom activates a Phonebook window (Figure 22c) from which a Profile window can be activated (Figure 22d);

~ 1 86928 Figure 23a shows a Work tab of the Profile window, a Home tab is shown in Figure 23b, a Phone tab is shown in Figure 23c, a Personal tab is shown in Figure 23d and a Shortcuts tab is shown in Figure 23e;

Figure 24 shows the main window sequence according to the first embodiment for playing a voicemail message from the idle state with a message waiting icon fl~ching (Figure 24a), with a tooltip indicating the number of messages waiting (Figure 24b), with a shortcut mouse click to open voicemail (Figure 24c) and displaying the voicemail subdirectory of a Call Log and ~uy~,fil~lyosed recorderwindow;

Figure 25 shows various window displays indicating operation of a user customizable dialler feature according to the first embo~1iment wherein Figure 25a shows access to the dialler feature via the Tools menu of the main window, Figure 25b shows a series of user defined categories or sections of the dialler, Figure 25c shows a particular section in an open state, and Figure 25d shows an editing feature for a selected button;

Figure 26 shows a Personal ~ nt window according to the alternative embodiment including a plurality of tabs Identified as Call Screening (Figure 26a), Call Blocking (Figure 26b), Greetings (Figure 26c) and Personal Messages (Figure26d);

Figures 27a through 27f show a configuration window having multiple user selectable tabs for configuring the telephone and application, wherein Figure 27a shows a Sounds tab, Figure 27b shows an Incoming Calls tab, Figure 27c shows an Audio Devices tab, and Figure 27d shows a Function Buttons tab, Figure 27e shows a Voicemail tab, and Figure 27f shows a Miscellaneous tab; and Figure 28 shows a Sound Manager window for effecting sound recording and editing 2 1 ~928 -Detailed Description of the Preferred Embodiment Turning to Figure 1, the co~ u~ based telephony system of the present invention is shown in its broadest aspect comprising a telephone set 1 connected to a telephone switching system 3 (e.g. central office) via a telephone line 5. The telephone set 1 is also connected to a personal computer 7 via a serial link 9. The personal con~ul. l 7 includes a monitor or display 8 as well as a mouse pointer 10 and keyboard 12, in a well known manner. According to the pl~ d embodiment, the serial link is one of either a USB or RS-232 line, although other suitable data co~ .. unication links are possible. The collll,uL~ l 7 executes a TAPI compliant software application for colll~llunicating with the telephone set 1 to implement various telephony functions, as discussed in greater detail below.

The telephone set 1 includes a h~n~l~et 11 and keypad 13, and in addition includesapluralityofprogrammablefunctionkeys 15. As(li~c~ ecl ingreaterdetail below, respective ones of the function keys may be programmed via the software application executed on collll,uhl 7 to activate predet~rmined telephony functions or software functions on the computer. For example, in one scenario a function key may be programmed to automatically activate a "Do Not Disturb" feature while in another scenario the function key may be program~ned to launch a software application such as Microsoft Word(~). The set 1 also includes a message waiting lamp l 6 which is activated by the software application to notify the caller of an incoming mess~ge, which can be a voicemail mçcs~ge~ a fax, Internet email or other multimedia message.

As indicated above, the software application running on col--~ul~,l 7 communicates with telephone set I via serial link 9. As shown in Figure 2, in order for this communication to take place, data must pass through a plurality of modules which form a protocol stack between the application 17 and telephone set 1. The telephone set l incorporates a microprocessor 19 (e.g. Intel 80930) with Flash EPROM memory 21. A modem 23 is connected to microprocessor 19 and is also provided with a Flash memory 25. Tne microprocessor 19 and modem 23 together control implemçnt~tion of standard telephony functions such as incoming call, 21 8692~

outgoing call, call waiting, speaker phone conversation, hold, etc., in a well known manner. However, in accordance with the principles of the present invention, thesoftware application 17 is able to interact with the telephone set 1 to cooperatively implement a multiplicity of user-invoked features.

Although the software modules compriiing the protocol stack do not form part of the present invention, a brief description is provided herein for completeness. The highest level in the stack is le~ sellted by the software application 17 which comprises a plurality of user int~rf~.e components for display and printing functionality, as ~1isc~ssed in greater detail below with reference to Figure 9.Tmme~ tely below the application 17 is a core 27 compri~ing a plurality of engine components for providing all of the support which the user interface col-lpol1ents require to display and print data. This support includes call processin~, data storage and manipulation, application configuration management and audio recording and playback. The engine components are located in one or more DLLs with "C"
language interf~ces to them, as discussed in greater detail below.

According to the ple~ d embodiment as of the filing date of this application, the application 17 is coded in VisualBasic whereas the core 27 of engine colll~onents is coded in C++. To f~ilit~te access from Vis~1~lR~cic to the DLLs, an OCX layer 29 is provided. The OCX layer 29 is also coded in C~.

Below the OCX layer is TAPI layer 31, which is a Microsoft device independent communication library created by Microsoft for use by progr~mmers writing telephony applications (including data, fax and voice modem) for Microsoft operating systems.

Below TAPI layer 31 is a TAPI service provider referred to as "Musm~lm.Tsp" layer 33. This layer colllnlw~icates with Microsoft's "Unimodem/V.Tsp" and "Unimodem/V.Vxd" layers 35 and 37, respectively, which form the standard Windows 95(g low-level software architecture for suppolLillg telephony applications ~ltili7.ing voice/data/fax modems.

2 ~ 86~
-The "Unimodem/V.Vxd" layer 37 communicates with a Mitel.Vxd layer 39 which provides an intçrf~ce to the standard VCOM layer 41. VCOM layer 41 is a static VxD which is loaded when booting Windows 95, and which functions as a device driver interface to the devices connected to serial link 9 (ie. USB or RS-232 port drivers).

Since the UniModem V architecture does not support a number of ee.sçnti~l telephony signals, such as keypad, hookswitch, hold, etc., a 16 bit/32 bit "thllnking layer" 43 is provided for circumventing the UniModem V layers for these signals.

At the lowest levels ofthe protocol stack, VCOM layer 41 communicates with one of either with a VCOM mapper 45 for the USB version of this invention or a VCOM port driver referred to as MSerial.Vxd 47.

For the USB version, VCOM mapper 45 colllll,ul.icates with a USB device driver "musb.sys" 49 for causing the USB to "appear" as a serial port. The "musb.sys" driver 49 con~nullicates the standard Microsoft USB stack and associated hardw~e 51 for tr~nemitting- and receiving serial data via the USB.

For the RS-232 version, the MSerial.Vxd driver 47 colm~ icates with a UART 53 (Universal A~yllchronous Receiver T1~ -;LI. .) in a well known manner.

At the telephone set 1, the USB haldw~ 51 communicates directly with microprocessor 19 via associated USB haldw~e incol~oldled into the microprocessor, whereas for the RS-232 version UART 53 conllllullicates with a further UART 55 conn~cte~l to the microprocessor 19.

As indicated above, the user int~ ce components of application 17 are responsible for implementing a Graphical User Tnterf~e (GUI) which allows the user 30 to access various software and telephony features. The principal user int~ ce to these features is provided by the main window 57 which is depicted via display 8 of computer 7. Two embo(liment.e of the GUI are ~li.eclleeecl herein. A first embodiment 21 ~6~28 is initially shown in Figure 3 while an alternative embodiment is initially shown in Figure 5. The basic user functionality provided by the two embodiments is similar. A
detailed description of the functionality is described herein in detail with reference to the first embodiment, and supplemented where clpplopl;ate with reference to the alternative embodiment. As of the date of initial filing of this application, the second embodiment con ,lilules the best mode, the operation of which will be understood by a person of o,di~ skill in the art having reference to the detailed description of the first embodiment supplPm~nte~l by reference to the second embodiment disclosed herein.
The main window display according to the first embodiment (Figure 3), includes a title bar 59 with document control menu icon as well as minimi7e and close buttons, a customizable toolbar 60 with volume, speaker, microphone, voicemail.
profile, phonebook, call log and help buttons showing, a display area 61 with name field, number field and call state information, a context sensitive default button 63 which has focus and responds to the "Enter" key from the keyboard of co~ ul.,l 7(unless the focus is changed by the user), a control bar actuator 65, a menu bar 67, resize control 69, and a status line 71 with indicators including receptionist icon 73, voicemail icon 75 and "Do Not Disturb" icon 77.
A horizontal control bar 79 can be opened from the main window display 57, as shown in Figure 4. The control bar 79 opens when the screen pointer of mouse 10 passes over the control bar ~ctll~tQr 65 (similar to the auto hide/show feature of the Windows 95~) task bar), and can be programed to open automatically in the event of an incoming call at telephone 1. According to one embodiment of the invention a time delay is provided (e.g. 0.2 secs) after positioning the mouse pointer over the actuator 65, in order to prevent accidental inadvertent opening of the control bar 79. The control bar 79 remains open as long as mouse pointer 10 is positioned over any one of the function buttons 81. Preferably, a time delay is provided (e.g. 0.5 secs.) after the mouse pointer 10 has moved from the control bar 79 before the control bar is closed.
The control bar 79 may also be opened using a keyboard sequence (such as Alt+m).

2 1 ~36q28 In the event that the user drags the main window display 57 to the right side ofdisplay 8 so that there is no longer sufficient room for the control bar 79 to open to the right, the control bar and associated default button 63 swap positions with the display area 61 and the control bar opens to the left ofthe main window display 57.
S This feature of the invention is shown in Figure Sb and Sc, which show the main window display 57 according to the alternative embodiment.

The control bar 79 provides a normally hidden menu of function buttons 81 to the user. The buttons 81 are preferably labelled with icons and text By keeping the control bar 79 closed during normal operation, considerable screen real estate is saved. Opening of the control bar 79 provides the user with imme~ te access to call h~n~lling Çt;a~ s without having to scroll ~hrough a mliltit~1cle of menus or buttons, waiting for tool tips to pop-up, etc., as is common with prior art CTI applications.
Furthermore, according to an important aspect of the invention, the default button 63 l S and buttons 81 of the control bar 79 are context sensitive so as to provide functionality derived from all parts ofthe software application 17, but only function options which are ~ l;ate to the state of the telephone call (e.g. when a call is in progress, as shown in Figure 4, the options are Hang Up, Hold, Recorder and OpenFile).
According to the embodiment shown in Figure 3, the options of menu bar 67 include:

I) a File menu for providing access to Import and Export functions (e.g. links to contact lists from other PIMs, etc.), and an Exit command which quits the application 17;
ii) an Edit menu which provides access to well known cut, copy, paste and delete comm~n(l~, which may be used to modify both the name and number fields ofdisplay are 61;
iii) a View menu which allows the user to hide or show the toolbar 60 within main window 57;
iv) a Phone menu for presenting various telephony function options to the 2 J ~5;~

user for call h~n-lling - as with the default button 63 and function buttons 81 discussed above, the telephony function options presented in the Phone menu are made context sensitive by dimming comm~n~ls which are not applulJliate to the telephone call state;
v) a Dial menu which pl~sen~ the user with a list of user definable important or frequently dialled numbers as well as a Calls Made list and Calls Received list -the Dial menu including:
- a Speed Dial sub-menu defined by the user in the phonebook such that for each person in the list, all relevant phone numbers are displayed. Upon selection of a phone number, the name and number are dropped in display area 61, the telephone 1 goes off-hook and digits are immediately out-pulsed;
- a Calls Made sub-menu for providing the user with a list of the last 20 peoplewho were called, sorted by date and time, with the last person called appearing at the top of the list;
- a Calls Received sub-menu for providing the user with a list of the last 20 people who called, sorted by date and time.
vi) a Tools menu 74 (see Figure 25a) for providing the user with access to advanced features of the application 17, such as:
- a Phonebook sub-menu for providing the user with access to various phonebook functions and directories;
- a Mçss~g~e sub-menu for providing the user with access to mese~ging functions, greetings as well as voicemail messages left for the user in the CallLog (fiierlleeed below);
- a Call Log sub-menu which opens the user's call log, (discussed below);
- a Call Sc~el~ing menu the call screening function on or off(i.e. set--ling incoming calls, except those in the Call Screen folder of the phonebook, to voicemail without disturbing the user;
- a Recorder menu item for opening the Recorder window for recording a conversation;
- a Diallers sub-menu for providing a list of user defined buttons which can be used for speed-dialling or navigation (discussed in greater detail below).

21 86~2~

The options of Menu bar 67 according to the embodiment of Figure 5 are similar, except that there are no View and Dial menu items.

As indicated above, and as shown in Figures 6a to 6c, the status line 71 includes a receptionist icon 73 for indicating that the receptionist function is active, meaning that advisory mese~gse and personal messages are automatically played for specific callers based on CLID. As shown in Figure 6b, when the mouse pointer 10enters the bounding box of receptionist icon 73, a tool tip box 78 opens displaying the current mes~e to be played for incoming callers who are sent to voicemail. A right mouse button click when the mouse pointer 10 is over the receptionist icon 73 opens a shortcut menu 80 for selecting advisory messages, as shown in Figure 6c.

In the alternative embodiment shown in Figures 5a through Sc, the receptionist icon 73 appears as a button for implementing predetermined features such as callscreening, call blocking, greetings and personal mes~ges, all of which are discussed in greater detail below.

The status line 71 also includes a voicemail icon 75 which functions as a meSs~ges indicator to alert the user to any new voicemail messages. As shown in Figures 7a to 7c, when mee~ges are waiting the icon flashes (Figure 7a). As shown in Figure 7b, when the mouse pointer 10 enters the bounding box of voicemail icon 75, a tool tip box 82 opens displaying the number of new mes.~s A right mouse button click when the mouse pointer 10 is over the voicemail icon 73 opens a shortcut menu 84 for ~cce~ing voicemail messages, as shown in Figure 7c. A double click opens the voicemail folder of the Call Log, as discussed in greater detail below.

A "Do Not Disturb" icon 77 is included in the status line 71, as shown in greater detail with lc;ç~ ce to Figures 8a to 8d. The "Do Not Disturb" icon 77 alerts the user that some or all callers are being prevented from calling in (see Figure 8a).
30 As shown in Figure 8b, when the mouse pointer 10 enters the bounding box of "Do Not Disturb" icon 77, a tool tip box 86 opens displaying the status of Call Screen. A
right mouse button click when the mouse pointer 10 is over the voicemail icon 73 '- 21 8~2~

opens a shortcut menu 88 for turning the Call Screen function on or off, as shown in Figure 8c, while a double click toggles between the on/off states. Figure 8d shows the icon 77 indicating that Call Screen is off.

In the alternative embodiment of Figure 5, a bell icon 72 is provided for opening a sound m~n~r window for creating or ch~nging sounds and ~c~i~ning predetermined sounds to different functions, as discussed in greater detail below.

Turning now to Figure 9, the user intçrf~se components of software application 17 and the engine components of core 27 are shown in greater detail. All co~ lications between the engine components and the user int~rf~ce components are provided through a main window component 83. The main window component 83 displays the main window display 57 including menu bar 67, toolbar 60, status line 71, display area 61 and default button 63, as ~ cllssed above. If the data beingcommunicated by the core 27 is int~n~le~ for a user int~rf~ce component other than the main window component 83, the main window component routes it al)plupliately.

A display window component 85 functions in conjunction with the main window colllpollenl 83 to generate display area 61 for showing line and call information.

Flyout menu component 87 displays the context-sensitive control bar 79 for providing push-button-style menu selections.

The application configuration dialog 89 and phone configur~tion dialog 91, in combination allow the user to configure the software application, as discussed in greater detail below with reference to Figure 27.

The group editor 93 allows the user to manipulate entries in a Call Screening list, Call Blocking List or Speed Dial list, as discussed in greater detail below.

The directory coll.ponent 95 displays info~nation relating to the user's - 21 3692~

business and personal contacts. The Phonebook is analogous to a Personal Information Manager (PIM). The Phonebook display is discussed in greater detail below with reference to Figure 23, and contains the following tabs:
Home - Name and home address Work - Name, company name, type of contact and business address Phone Numbers - Home, business, fax and cellular phone numbers Personal - User selectable greeting and message pl~Ç~llces Notes - _ditor OCX that supports sound objects Shortcuts - Window with pleÇ~ d application icons (e.g. Microsoft Word(~), Excel(~), etc.) which are automatically opened when the contact is called or when the contact calls The user can configure programmable icons using the pro~lllllable icons dialog 97. These icons can be programmed to access CO voicemail and IVR systems.
The voice record dialog 99 allows the user to record greetings and other voice recordings.

The retrieve voicemail dialog 101 is used to access voicemail m~ss~ges The call log 103 is used to display all telecommunications activity from the application 17.

The about box 105 displays application version information and current system statistics, in a conventional manner.

When the user wishes to play a voice mail message from Microsoft Fxch~nge~, a Microsoft Fxch~nge UI application 107 is invoked. (user interf~ce).This application displays controls to play, stop, rewind and fast forward the message.
The tray icon 109 appears in the Windows 95~) task bar. When this icon is selected, the tray window is displayed. The tray window provides access to basic 2 ! 86~28 functions of the application 17.

Turning now to the engine components of core 27, call m~n~ger 111 m~int~ine call-specific data for all existing calls on all lines. The call manager 111 uses TAPI to obtain the call-specific information it requires. For each call, the following data is stored:

1. TAPI call handle 2. call state
3. whether the call is incoming or outgoing
4. whether the call should be blocked (for incoming calls)
5. whether the call should be screened (for incoming calls)
6. digits dialled, name of person called (for outgoing calls)
7. caller ID number and name (for incoming calls)
8. call start time, call duration
9. DTMF digits received (for incoming calls) The line manager 113 m~int~in.e line-specific data for all available telephone lines. It interfaces to TAPI 31 to pclr,~l.l line-related requests. The line m~n~ger facilitates multi-line support in the application 17. For each line, it stores the following data:

1. TAPI line handle 2. Iine state 3. feature supported by the line 4. count of rings for an unanswered incorning call 5. exieting calls on the line (actual data is m~int~in~l by call manager 111) 6. number of rings to wait before answering incoming calls 7. voice mail on/off state Line manager 133 also performs the following line-related requests:

-1. dial number 2. hang up 3. answer incoming call The line manager 1 13 contains a TAPI callback to receive line-specific notifications from TAPI layer 31.

The phone manager 1 15 ~ t;~ data that is specific to the telephone 1. It interfaces to TAPI layer 31 to perform phone-related requests. The data m~int~in~d 1 0 by phone m~n~ger 11 5 includes:

1. status of lamp 16 2. hookswitch status 3. phone button data The phone manager 1 15 also contains a TAPI callback to receive telephone-specific notifications from TAPI layer 31.

During operation, the telephone 1 needs to know when the application 17 is active. When the application is not active, the telephone 1 reverts to a regular POTS
telephone and the programmable buttons 15 lose their functionality. In order to cletermine whether the application 17 is active, the telephone 1 ~ t~ to send a so-called 'are you alive?' message to the phone manager 115. The phone manager thenresponds with the appr~pl;ate reply.
The call control m~n~ger 117 manages all incoming and outgoing telephone calls in conjunction with the line m~n~ger 11 3, call manager 11 l and phone manager 115 to access telephony functionality. The line and phone managers fol~v~d required call progress events which they receive from TAPI 31 to the call control manager117. The call control manager 117 also manages any audio playback which may be required for a call.

The database manager 119 provides an interface to the l1~tab~ces 120 stored on disk in computer 7. The databases 120 are preferably stored in Microsoft Jet format (.MDB). This manager's interface is independent of the database technology being used. The ~l~t~b~e manager 119 supports the following functionality:
s 1. open and close databases 2. read and write ~l~t~b~e table data 3. p~ tab~e queries The smart data access m~n~ger 121 provides intelligent access and modification capabilities to all data required by the engine components of core 27 (excluding user ple~ ce data). For simplicity, the user interface components of application 17 may implement the data access functionality they require. For the best mode of this invention as of its filing date, the user interface components are written in Visll~lR~iG~), so that the task of implementing data access functionality required is simplified and results in saving the overhead of passing large amounts of data between the database and the engine colllponents and then b~ lween the engine components and the user int~ce co",pollents. The smart data access m~n~ger 121 uses the ~l~t~b~e m~n~ger 1 l9 to read and write data that is stored in the databases 120.

The smart data access manager 121 ~u~oll~ the following functionality (or the subset of this functionalit,v that only the engine components require):

l. read/write call log data a. get Last Number Redial list b. get Calls Answered list c. get Calls Missed list 2. read/write Phonebook data 3. read/write voice mail data 4. read/write greeting message data 5. read/write programmable icon data - 21 86q28 All required queries (known in advance), are understood by the smart data access manager 121. This manager is responsible for keeping track of data storage mech~nicme in use by the application 17. All audio recordings (e.g. greeting messages and voice mail messages) are stored as separate disk files. References to these files are stored in the databases 120 where needed.

The call tli~çrimin~tion manager 123 is responsible for d~l~ . .,linil~ the calltype (voice, fax or data modem) of incoming calls, by means of fax tone detection, distinctive ring, caller ID and DTMF detection. The call control m~n~ger 117 passes any required call-specific information to the call tli~çrimin~tion m~n~ger 123 as it becomes available. Once an incoming call has been ~i~çrimin~ted~ the call discrimin~tion manager 123 informs the call control m~n~ger ofthe result. If the call is a fax or data modem call, the call control manager 117 all~ ts to pass it to an application that can handle it (using the phone manager l l S).
The registry manager 125 provides an interface to the Windows 95~) registly.

The configuration manager 127 is responsible for m~ ;.inil~g application configuration information and user plef .ences on the basis of user input via the application configuration dialog 89 and phone configuration dialog 91. The configuration m~n~r 127 uses the registry m~n~ger 125 to read and write the actual data.

The audio conversion manager 129 supports conversion between the native audio format (ADPCM) and the WAVE audio format. The native audio format will be used for recording and playback p~,lrol.l.ed by the application 17. Audio files given to or obtained from other applications will be in the WAVE audio format.

The audio I/O m~n~ger 131 is responsible for audio file input and output. It understands the native format used int~rn~lly for play and record operations.

The media message control manager 133 is responsible for:

21 86~28 -I. recording and playing greeting messages II. recording and playing voice mail messages m. playing the phone ringing sound The call control manager 1 17 notifies the media message control manager 133 when any of the above functions need to be pelroll,led.

The dialling manager 135 is responsible for processing all dialling requests including making calls from the Phonebook, the Last Number Redial list and the Speed Dial list. It also keeps track of all required phone colllpa"y dialling sequences (e.g. 3-way calling and call waiting).

The remote retrieval m~n~ger 137 is in charge of providing all functionality that can be ~ccessed remotely. This functionality consists of:
I. playing, saving and deleting voice messages, II. modifying a greeting message According to one embodiment of the invention, the date and time that a voice mess~ge was received may be made available remotely, utili7in~ a text to speech OCX.

The voice mail m~n~ger 139 is responsible for playing previously recorded voice mail mes~es locally, either to the handset 11 or to a speaker device. Thism~n~ger uses the smart data access manager 121 to get voice mail message file names and the media mes~ge control m~n~ger 133 to play the me~s~gl-s to the approl,liate device.

The Microsoft Fxch~nge~) manager 141 provides an interface to all Microsoft Exchange(E~ functionality required by the application 17. In order for all voice mail messages to appear in the Microsoft Fxch~nge~ Inbox, this manager adds a messageto the Inbox folder of the user's mecc~~e store for each voice mail message received.

As well, when the user wishes to play a voice mail message from Microsoft Exchange(~, a form application is invoked (as discussed in greater detail hereinhaving regard to the Microsoft Exchange UI application 107 which displays controls to play, stop, rewind and fast forward the message).
s Since voice mail messages can be played both from the application 17 and from Microsoft Exchange g), these two applications are synchronized in terms of played and deleted mçss~ges If the Phonebook entries of application 17 are to appear in the user's default Microsoft Exchange~ address book, the Microsoft Exchange~
manager 141 ensures that the Phonebook and address book are kept in sync.

In order to better understand how the application 17 and engine components of core 27 function, several call scenarios are described herein below with reference to the first embodiment of the invention, although an underst~ling of the second embodiment will also be obtained thc.~Lolll.

A. Incoming Call When an incoming call is received, TAPLDLL 31 sends a mes~ge to the line m~n~ger 11 3 for each ring. This notification is forwarded to the call control m~n~ger 117. On the first ring, the line m~n~gt-,r 113 creates a new call object using the call m~n~ger 111 and the call control m~n~ger 117 notifies the main window component 83 of the incoming call. In response, the main window 57 displays the incoming call status as shown in Figure 10a wherein default button 63 displays a fl~hing bell icon.
In Figure 1 Ob, the control bar 79 is shown in the open position for displaying various call answer options (other than the default option provided by button 63), while in Figure 10c the same options are displayed via the phone menu item of menu bar 67.

With each ring event, the call control manager 1 17 causes the media message control manager 133 to play a "phone ringing" sound to the appropl;ate local speaker device. If a "caller ID data received" notification is received by the line manager 1 13, the line manager asks the call manager 111 to store the caller ID data with the call's 21 869~8 object. The call control manager 117 then forwards the information to the call discrimin~tion manager 123 and the main window component 83. The main window component 83 and the directory component 95 search the Phonebook directory for amatch in stored telephone number with the identified telephone number of the calling S party. In the event of no match being found, the unaltered CLID data is displayed in display area 61 (i.e. caller name and telephone number). In the event of a match, the caller's name and telephone number are displayed in display area 61 of main window 57. According to the alternative embodiment, the user's image may also be displayed as shown in Figure 1 Od.
The call control manager 117 uses the smart data access manager 121 to determine if the call should be blocked or screened. The resulting information is stored in the call's object. If the call is to be blocked, the call control manager 117 either hangs up on the caller or sends the call to voice mail.
If tli~tin~tive ring data is received by the line manager 113, it is stored in the call object and forwarded to the call di~rimin~tion m~n~ger 123.

With each ring event, the line manager 113 asks TAPI 31 for the answer ring count for the given line. If voice mail is turned on (which is det~rmine(l from the configuration manager 127), after the required number of rings have occurred, the line m~nager 113 answers the call. The call control m~n~ger 117 then sends the call to voice mail, and fo~ ds the information to the main window component 83 for display via display area 61 of main window 57, as shown in Figures 1 la, 1 lb and l lc (wherein reference number 143 represents the Phone menu choice display from menubar 67).

If a call is sent to voice mail, the call control m~n~ger 117 gets the file nameof the greeting to be played to the caller from the smart data access manager 121.
This can be done using caller ID. The call control manager 117 also obtains the name of a file to which the voice mail message can be saved. The two file names are then passed to the media message control manager 133. This manager first plays the greeting to the appropfiate line device. Once the greeting playback has finished, it plays a "beep tone" sound to the line device. Once this sound has finiehed playing, recording starts. When recording has finished, the call control manager 117 asks the media message control m~n~ger 133 to stop recording. At this point, the call control manager 117 sends the voice mail message data to the smart data access manager 121 which stores it, and the phone m~n~ger 115 causes the lamp 16 to flash at telephone set 1.

If the user has fax software rurming on computer 7, the phone m~n~Eer 115 causes lamp 16 to flash upon receipt of an incoming fax. Similarly, it is contemplated that the lamp 16 may be caused to flash upon receipt of an incollling email m~ss~, or any multimedia m~s.s~ge received via the computer 7.

If the user picks up the telephone handset or dep~ ;,es the default button 63 while the call is in voice mail (Figure 12a), the call is taken out of voice mail and put in conversation mode (Figure 12b). If a voice mail mçce~ge was in the process ofbeing recorded, the voice mail data is sent to the smart data access m~n~ger 121.

If the user requests to divert the call to "Hold" and play the "Please Wait"
message (e.g. by dep~ lg the "Hold" function button 81 (Figure 10b)), the call control m~n~g,-r 117 asks the line manager 113 to put the call on hold. Then the call control m~n~ger 117 sends a request to the media me~e~ge control m~n~ger 133 to play the "Please Wait" message. The call control manager 117 also send this information to main window colllponelll 83 which causes the icon 144 for defaultbutton 61 to change to "Retrieve from Hold" (Figure 13) and to display an "On Hold"
message and hold timer 145.

When the user hangs-up the h~n~eet 11 or presses the "Hang Up" icon in default button 61 to complete the call (Figure 14a), call control call m~n~ger 117 advises main window component 83 which generates a "Hanging Up" message 147 in display area 61 (Figure 14b), and also retrieves the call data from the line manager 113 and passes it to the smart data access manager 121 which creates a call log entry 21 ~692~

(described in greater detail below). Then the call object is deleted and call control manager 1 17 advises window component 83 which displays the idle state of window57 with a "Your Line is Free" message 149 in display area 61 (Figure 14c).

B. Outgoing Call Outgoing calls can be initiated in a number of ways, such as direct dial, store and dial, look-up name, speed dial and drag & drop name into the name field of display area 61, as discussed in greater detail below.
The user can dial directly from the telephone set 1 by either first picking up the h~n~eet 11 or pressing a speaker key to obtain dial tone and then dialling the phone number normally via the keypad 13. The user can also directly dial from application 17, as shown in Figures 1 Sa to 1 Sd. From the idle state (Figure 1 Sa), the l S user clicks the "Make a Call" icon displayed in default button 63. In response, the main window colllpollelll 83 sends a request to the dialling m~n~ger 135 to select a line. Upon selecting the line, dial tone is generated for the user and the call control m~n~get 117 sends a message to main window colllpollent 83 for causing a cursor to flash in the "Number" field 151 of display area 61 (Figure 15b).
As digits are entered from the keypad 13 or keyboard 12 (Figure 1 Sc), DTMF
tones are generated and the dialling manager 135 constructs the relevant dial string and then asks the line manager 1 13 for a dialling prefix. If the user wishes to make a private call, the a~rol)liate dialling characters are inserted into the dial string. If the digits entered match a Phonebook entry, the name of the person being called is displayed in the '~ame" field 153 of display area 61 and the call timer 155 is displayed (Figure 1 Sd). The dial string (and, if known, the name of the person being called) is then passed to the line manager 1 13 which creates a call object and initi~te~
the call.
The user can also enter a phone number while on-hook, before out-pulsing the digits, as shown in Figures 16a to 16e. From the idle state (Figure 16a), the user "clicks" the Number field 151. The cursor then flashes in the Number field 151 and the user begins entering digits (Figure 16b). As digits are entered, if a match is found in the Phonebook, the name of the person being called is displayed in the Name field 153 (Figure 16c) along with any label associated with the number (e.g. "Home", "Office"). Then the user clicks the "Make a Call" icon appe~hlg in default button 63 , or hits the "Enter" key since the default button 63 is in "focus", in response to which the line is selected and the digits are out-pulsed (Figure 16d)? via approp,;ateinteraction b~lweell line m~n~ger 113 and dialling m~n~ger 135, as discussed above.
After dialling has been completed, the call timer 155 is displayed (Figure 16e).
The user can look-up a person by name without having to open the Phonebook. This calling sequence is shown in Figures 17a to 17f. From the idle state (Figure 17a), the user "clicks" the Name field 153. The cursor then flashes in the Name field 153 and the user begins ent~ring letters of the name of the person to be called (Figure 17b). As letters are entered, the Phonebook is searched for m~tç~ing names, the "found" portion of a m~trh.od name is then highlighte~l in the Name field 153, and a default phone number for the entry is displayed in the Number field 151 (Figure 17c). The user can select a di~lel,l phone number for the person being called, from a drop-down list 157 activated by clicking on the down arrow at the right of the Number field 151 (Figure 17d). Once the desired number is selected and displayed in the Number field 151 (Figure 17e), the user clicks the "Make a Call"
icon in default button 63 or hits the "Enter" key to select the line and begin digit out-pulsing, as described above. After dialling has been completed, the call timer 155 is displayed (Figure 17f).
Using speed dial, a user can quickly access a list of important or frequently called persons, without having to search the Phonebook, as shown in Figures 18a to 18d. From the idle state (Figure 18a), the user selects the "Dial "menu item from menu bar 67. From the "Speed Dial" list (Figure 18b), a name and p,er~"ed numberare selected. The selected name and number are displayed (Figure 18c), a line isselected and out-pulsing begins as described above, and the default button 63 ch~nges its icon to "Hang Up". Once the dialling is complete, the call timer 155 starts (Figure ~ 1 8-6~2~

18d).

According to another feature of the present invention, the user can drag and drop (i.e. cut and paste) text from another application in order to make a call or pelr",l~ a search. Thus, from the idle state (Figure l9a), the user can hiFhlight a portion of text 159 (usually a person's name) from another application which supports drag and drop functionality (e.g. word processor, spreadsheet, Microsoft Exchange~, etc.), and drag the text out of the application and into window 57. As the user drags the text over the Name field 153, a drop symbol 161 appears under the mouse pointer (Figure 1 9b). Upon dropping the text in the Name field 153, the Phonebook is automatically searched and in response to a match the default number associated with the m~trhec~ name is displayed in the Number field 151 (Figure 1 9c). By clicking on the default button 63 or hitting the "Enter" key, a line is selected and digit out-pulsing begins as described above (Figure 1 9d). Once the dialling is complete, the call timer 155 starts (Figure 1 9e).

Once the user has completed the call, the h~n(l~et 11 can be returned to its cradle or the user can press the speaker key on telephone set l. The user can also hang-up from main window 57 by clicking on the "Hang Up" icon of default button 63 or hitting the "Enter" key (Figure 20a). While disconnecting, the line statusdisplays the "Hanging Up' message 147 (Figure 20b), and finally the display returns to te idle state (Figure 20c). Meanwhile, the call control m~n~ger 117 gets the call data from the line mAn~ger 113 and passes it to the smart data access manager 121 which creates a call log entry. Then the call object is deleted.
C. Conversation Modes When the user is in a conversation with another party, the call can be in the following states:
I. handset conversation II. speakerphoneconversation -m. on hold When the user wishes to switch between conversation modes, the main window component 83 sends a request to the call control m~n~ger 117. The call S control m~n~ger forwards the request to the line manager 113 which updates the call object's call state to the a~lopl;ate conversation mode.

D. Central Offlce 3-Way Call When the user wishes to initiate a 3-way call, the main window manager 83 sends a request to the dialling m~n~ger 135. The connection with the first party is established as described in the "Outgoing call" section a~ped~ g above. When therequired call progress event(s) are received by the call control manager 117, the call control manager obtains the dial string required to call the third party from the dialling m~n~ger 135 and requests the line manager 113 to dial. When the next required call progress event(s) are received, the call control manager 117 obtains the dial string required to connect the three parties and sends it to the line m~n~ger 113 for ~ ling E. CallWaiting The main window m~n~ger 83 sends requests to switch between calls to the dialling m~n~ger 135. The dialling manager then sends the a~plu~l;ate dial strings to the call control manager 117 which forwards them to the line manager 113 for ~ lling.

F. Extension In Use Detection According to another aspect of the present invention, if another extension on the line with which the application 17 is associated is taken off-hook, the phone manager 115 is informed. In response, the phone manager notifies the call control manager 117 which modifies the line's state using the line manager 113 and forward the notification to the main window manager 83. The main window manager then causes the main window to display an in use state indicator in display area 61, as shown in Figure 21.

G. Adding a Person to Phonebook and Opening Profile The user can add a caller or called party to the Phonebook, including CLID
information. From the connected state (Figure 22a), the user rolls the mouse pointer
10 over the control bar actuator 65 (or, alternatively enters Alt + M on the keyboard 12), which causes the control bar 79 to appear (Figure 22b). The user then clicks on the "Add to Phonebook" icon in function button 81, which causes the Phonebook window 163 to open to a "New Entries" display (Figure 22c), thereby ple3~ the user with a list of new entries including the entry for the connPcted party 165 which is highlight~-l The "New Entries" display is indicated as being open at the directories display a~eafing on the left side of window 163.The main window 57 remains in the background.

Within the Phonebook window 163, the user can move or make copies of entries by dragging entries from one list to another using the mouse pointer 10, or can search for entries using a "Find" command in the Tools menu of menu bar 164.

From within the Phonebook window 163, the user can access a profile for any entry by clicking the "open profile" button 167. Initially, the profile window 169 opens with the "Notes" tab 171 open (Figure 22d), thereby presçnting the user with a list of notes (including sound files) relating to that person. However, by clicking on the a~p~pl;ate tab the user can also open the Work tab (Figure 23a), Home tab (Figure 23b), Phone tab (Figure 23c), Personal tab (Figure 23d) or Shortcuts tab(Figure 23e).

The directory component 95 uses the smart data access manager 121 to add, delete, read and modify data accessible from the Phonebook (including the profile).

H. Retrieving a Message The user can retrieve any new voicemail message from the main window 57, which provides an indication of the presence of waiting voicemail by the fl~chin~
icon 75 (Figure 24a) and a tool tip indicating the number of messages when the mouse pointer 10 passes over the icon 75 (Figure 24b). A right click on the mouse pointer 10 when positioned over the icon 75 opens a shortcut menu 172 for opening the Call Log (Figure 24c) to play the me~ges To display the Call Log (as well as the Redial list, the Calls Missed list or the Calls Answered list), the main window component 83 requests the required information from the smart data access manager 121. Call log window 173 opens over the main window 57 and within a Voicemail subdirectory of the Calls Received direcloly displays the stored voicemail messages (Figure 24d).

Double clicking on the mes.~ge icon 175 opens a recorder window 177 for automatically playing the voicemail message. Audio recording and playback requests from the user interf~ce are sent to the smart data access m~n~g~r 121 which returns an audio file ID. Requests to pause, stop, play, rewind, fast forward, etc. the media stream are sent to the media message control m~n~ger 133 using the audiofile ID.
I. Customized Diallers According to another aspect of the invention, customizable diallers are provided via the software application 17 for allowing the user to create multiple unique dialling sequences which can be implemsnted during a single telephone call.
This is particularly useful for navigating automated ans~ g and information systems such as voice mail, telephone help lines, etc.

With reference to Figures 25a through 25d, various window displays are provided showing operation of the diallers feature according to the first embodiment.
In Figure 25a, the dialler feature is shown being ~ccessed via the Tools menu 74 of main window 57. As shown in Figure 25b, the dialler window 179 compri~es a series of user defined categories or sections 181 of telephone numbers, office extensions or 21 B692~

access codes, etc. By clicking on any section 181, the section may be opened or closed, while a right click on the mouse opens a menu for editing, opening/closing, etc. Figure 25c shows a particular section 181 (i.e. "Citizen Info Line") in the open state. As indicated above, a double click on the name of the section closes it again. In the open state focus is initially on the first of a plurality of user buttons 183. By clicking on the focussed button or pressing the Enter key on keyboard 12, the number associated with the button is dialled and focus shifts to the next button. Each dialler button 183 can start a new call, continue a call in progress, or hang up. Standard modem dialler modifiers of the modem 23 are used to insert pauses, wait for dial tone, hookflash, etc., in a well known manner. In this way, a user is able to navigatethrough a complex series of dialling sequences without being required to memorize the sequence or wait for on-line instructions. As shown in Figure 25d, any button can be edited by effecting a right mouse click when the cursor is over the desired button 183. Likewise, a category or section 181 can also be ren~me~l deleted or added.
With reference to the alternative embodiment of Figures 5a though 5c above, the receptionist icon 73 was disclosed as providing access to a plurality of call fe~ s such as call sc~ g, call blocking, greetings and personal messages. Upon clicking the receptionist icon 73, a "Personal ~ t~nt~ window 185 is displayed as shown in Figures 26a though 26d. The Personal ~ t~nt window 185 includes a plurality of tabs identified as Call Screening (Figure 26a), Call Blocking (Figure 26b), Greetings (Figure 26c) and Personal l~ss~ges (Figure 26d). The functionality of each of these realul~s is described within the window tabs of Figures 26a though 26d.
In Figures 27a through 27f, a configuration window 187 is shown having multiple user selectable tabs for configuring the phone 1 and application 17. This window is generated by the application configuration dialog 89 and phone configuration dialog 91 discussed above, and is launched from the Option menu selection from Tools menu 57 (Figure 25a).
With reference to Figure 27a, a Sounds tab 189 is provided to enable the user to customize up to three different ring styles for the te!ephone set 1 and to assign 2 1 ~928 predetermined sounds to call states such as "Answering to Hold", "Music on Hold", "Hold ~emind~r" and "Start recording beep". A Sounds button 190 causes a Sound Manager window to open, as shown in Figure 28.

With reference to Figure 27b, an Incoming Calls tab 191 is shown for specifying whether the first ring should be silenced, how the ring should be generated , auto-al~w~lhlg options and automatic l~lmçhin~ of application 17 and opening of contact profile based on CLID.

Figure 27c shows the Audio Devices tab 193 for specifying whether the telephone set 1 or col~ le~ 7 are used for recording and li~tenin~ to sounds andmessages.

In Figure 27d, a Function Buttons tab 195 is shown which allows the user to assign functions to the programmable function keys 15. The user can assign either a special function, a speed dial, or a combination of both, to the keys 15. A desi~tion Card portion 196 of the window is used to print an overlay card for identifying the functions/speed dials ~ign~l to the various keys 15. As shown, the user can select the font, font size, printer and can then depress a Print Card button 198 which causes the card to be printed with the selected functions/speed dials appe~hlg thereon.
Figure 27e shows the Voicemail tab 197 for configllring voicemail recording and retrieval features.

Figure 27f shows the Miscellaneous tab 199 for configllring various telephone and application plefelellces.

As ~ cllcced briefly above, various sounds may be recorded and ~c~i~ecl to accoll~pally predet~rmined functions. Figure 28 shows a Sound Manager window 201for effecting such sound recording and editing, with available sounds being selected from a drop-down list. A sounds button 190 appears in each window in which the user is permitted to select a sound (e.g. the Sounds tab of Figure 27a), the depression of 21 ~6928 which causes the Sound Manager window 201 to appear.

The above call scenarios are of an exempla~y nature for describing how the application 17 and engine components of core 27 function, and are not int~n-led to be exhaustive. Numerous other call scenarios are ~uppolL~d by the functionality set forth herein.

Claims (20)

  1. WE CLAIM:
    A computer-based telephony system, comprising:
    a telephone set for implementing telephony functions on a telephone line, said telephone set including a serial interface for bidirectional communication of data signals; and a computer executable software application for receiving first ones of said data signals from said telephone set and in response implementing predetermined software functions, and for transmmitting further ones of said data signals to said telephone set in response to a user input whereupon said telephone set implements predetermined ones of said telephony functions;
    wherein said computer executable software application generates and displays a window including an area for indicating telephone call status responsive to one of either user input or receipt of said first ones of said data signals; and wherein said window includes a status region having icons for indicating predetermined ones of said telephony functions which have been implemented.
  2. 2. The computer-based telephony system of claim 1, wherein said computer executable software application generates and displays context sensitive buttons for initiating one or more of said telephony functions which are appropriate to said telephone call status.
  3. 3. The computer-based telephony system of claim 2, wherein at least one of said buttons is a default button adjacent said area for indicating telephone call status, said default button being provided for user initiation of a preferred one of said telephony functions which is appropriate to said telephone call status.
  4. 4. The computer-based telephony system of claim 3, wherein said window includes a control bar of further ones of said buttons which are sequentially arranged adjacent said default button for user initiation of respective further ones of said telephony functions which are appropriate to said telephone line status.
  5. 5. The computer-based telephony system of claim 3, wherein said default button has focus in said window such that said preferred one of said telephony functions may be initiated by pressing an Enter key on a computer executing said application.
  6. 6. The computer-based telephony system of claim 4, wherein said control bar is generated and displayed only in response to a predetermined user input
  7. 7. The computer-based telephony system of claim 2, wherein said context sensitive buttons are identified by labels including at least one of an icon or text for describing said telephony functions which are appropriate to said telephone call status.
  8. 8. The computer-based telephony system of claim 1, wherein said telephone set includes a plurality of user programmable functions keys, and wherein said computer executable software application (I) generates and displays a window including an area depicting said user programmable function keys and a menu associated with each of said depicted programmable function keys, said menu containing a plurality of user-selectable ones of said predetermined software functions and said telephony functions to be assigned to respective ones of said programmable function keys, (ii) transmits predetermined further ones of said data signals to said telephone set in response to user selection of said predetermined software functions and said telephony functions whereby said telephone set assigns said predetermined software functions and telephony functions to respective ones of said user programmable function keys on said telephone set, and (iii) prints an overlay card listing each one of said predetermined software functions and telephony functions assigned to respective ones of said user programmable function keys for placement on said telephone set.
  9. 9. The computer-based telephony system of claim 2, wherein said computer executable software application maintains a phonebook database and generates and displays a phonebook window including an area for indicating names and default telephone numbers of frequently called persons and a button for initiating a call to a selected one of said persons.
  10. 10. The computer-based telephony system of claim 9, wherein said computer executable software application generates a profile window associated with each of said frequently called persons, for each of said persons said profile window including a graphic image of that person, the person's first and last name, and a plurality of selectable tabs for selectively displaying additional information concerning the person and options for automatic implementation of selected ones of said predetermined telephony functions and predetermined software functions.
  11. 11. The computer-based telephony system of claim 10, wherein one of said plurality of selectable tabs is a notes tab for displaying textual notes and icons for initiating playback of sound files associated with said person.
  12. 12. The computer-based telephony system of claim 10, wherein one of said plurality of selectable tabs is a work tab for displaying full work address for said person.
  13. 13. The computer-based telephony system of claim 10, wherein one of said plurality of selectable tabs is a home tab for displaying a full home address for said person.
  14. 14. The computer-based telephony system of claim 10, wherein one of said plurality of selectable tabs is a phone tab displaying a plurality of telephone numbers associated with said person in addition to the default telephone number for said person.
  15. 15. The computer-based telephony system of claim 10, wherein one of said plurality of selectable tabs is a tab for customising greetings to be played when said person calls.
  16. 16. The computer-based telephony system of claim 10, wherein one of said plurality of selectable tabs is a shortcut tab containing a field for displaying icons representing additional software applications which can either by automatically executed in response to one or both of calls being placed to said person or received from said person or manually executed by mouse clicking on said icons.
  17. 17. The computer-based telephony system of claim 2, wherein said window further includes an information display area for displaying name, telephone number and graphic image of a called or calling party.
  18. 18. The computer-based telephony system of claim 17, wherein said computer executable software application maintains a phonebook database including said name, telephone number and graphic image, and automatically searches said database in the event of an incoming call containing caller line identification data for a match between said caller line identification data and said telephone number and in the event of a match automatically displays said name, telephone number and graphic image in said display area of said window.
  19. 19. The computer-based telephony system of claim 1, wherein said computer executable software application includes a user customizable dialler for dialling a plurality of numbers associated with a user defined category in accordance with a user selected dialling sequence.
  20. 20. The computer-based telephony system of claim 19, wherein said computer executable software application displays a window showing a user selected name for each said category and a plurality of buttons each with a user selected label.
CA002186928A 1996-10-01 1996-10-01 System for interactive control of a computer and telephone Expired - Lifetime CA2186928C (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CA002186928A CA2186928C (en) 1996-10-01 1996-10-01 System for interactive control of a computer and telephone
GBGB9720423.4A GB9720423D0 (en) 1996-10-01 1997-09-25 System for interactive control of computer and telephone
IE970702A IE970702A1 (en) 1996-10-01 1997-09-26 System for interactive control of a computer and telephone
IL12184597A IL121845A0 (en) 1996-10-01 1997-09-28 System for interactive control of a computer and telephone
GB9720653A GB2318703B (en) 1996-10-01 1997-09-29 System for interactive control of computer and telephone
FR9712229A FR2756444A1 (en) 1996-10-01 1997-10-01 TELEPHONY SYSTEM BASED ON A COMPUTER
DE19743459A DE19743459A1 (en) 1996-10-01 1997-10-01 Computer-aided telephone system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002186928A CA2186928C (en) 1996-10-01 1996-10-01 System for interactive control of a computer and telephone

Publications (2)

Publication Number Publication Date
CA2186928A1 CA2186928A1 (en) 1998-04-01
CA2186928C true CA2186928C (en) 2001-06-12

Family

ID=4159000

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002186928A Expired - Lifetime CA2186928C (en) 1996-10-01 1996-10-01 System for interactive control of a computer and telephone

Country Status (6)

Country Link
CA (1) CA2186928C (en)
DE (1) DE19743459A1 (en)
FR (1) FR2756444A1 (en)
GB (2) GB9720423D0 (en)
IE (1) IE970702A1 (en)
IL (1) IL121845A0 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5903631A (en) * 1997-03-12 1999-05-11 Mitel Corporation One-button intelligent CTI dialler
GB2337400B (en) * 1998-05-11 2003-07-23 Ibm Applet enabled groupware
DE19834722B4 (en) * 1998-07-31 2004-11-04 Siemens Ag Method for starting up a telecommunication terminal and corresponding telecommunication terminal
US7272604B1 (en) 1999-09-03 2007-09-18 Atle Hedloy Method, system and computer readable medium for addressing handling from an operating system
NO984066L (en) 1998-09-03 2000-03-06 Arendi As Computer function button
GB2346761B (en) * 1999-02-11 2003-12-10 Mitel Corp A telephone apparatus
FR2803469B1 (en) * 2000-01-05 2002-08-16 France Telecom CONNECTION DEVICE BETWEEN A TELEPHONE AND A NETWORK AND METHOD OF CONNECTION BETWEEN A TELEPHONE AND A NETWORK
JP2001292226A (en) * 2000-04-10 2001-10-19 Matsushita Electric Ind Co Ltd Information display device
DE10035217A1 (en) * 2000-07-20 2002-01-31 Bosch Gmbh Robert Method of generating a phone number
FR2816471B1 (en) * 2000-11-09 2008-09-19 Pabic Jean Pierre Le TELEPHONE SYSTEM USING ONE OR MORE MICROCOMPUTERS
US7086010B1 (en) * 2000-11-21 2006-08-01 Nokia Mobile Phones, Ltd. Three-dimensional graphical icon appearance in displays of electronic devices
KR100369646B1 (en) * 2000-11-23 2003-01-30 삼성전자 주식회사 User interface method for portable terminal
GB0102139D0 (en) * 2001-01-27 2001-03-14 Mitel Corp PDA enabled telephone
DE10132921A1 (en) * 2001-07-06 2003-01-23 Tenovis Gmbh & Co Kg Transmission of data and voice information involves transmitting voice over telephone connection and data, consisting at least partly of image information, over data network
DE10138224A1 (en) * 2001-08-03 2003-02-20 Siemens Ag Communications device such as a mobile phone, PDA, PC, etc. has a reminder system which ensures that when a phone call, etc. is taking place with a person linked to an item in a to-do list, the item is mentioned or covered
ATE319260T1 (en) * 2002-03-12 2006-03-15 Tenovis Gmbh & Co Kg USB TELEPHONE, METHOD AND SCREEN MASK FOR OPERATING SUCH A TELEPHONE
CN100505807C (en) * 2003-08-07 2009-06-24 腾讯科技(深圳)有限公司 Method and system for integrating telephones in instant communication tools
US7756262B2 (en) * 2003-12-18 2010-07-13 Siemens Enterprise Communications, Inc. Computer-based telephone call management
GB2424791A (en) * 2005-03-31 2006-10-04 Digits Ltd Integrated telephone handset, computer caller display, voice call recording and automatic redial system
US8102841B2 (en) 2006-12-05 2012-01-24 Microsoft Corporation Auxiliary peripheral for alerting a computer of an incoming call

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0144042A3 (en) * 1983-11-30 1986-07-16 Cygnet Technologies, Inc. A method and an apparatus for maintaining digital communication in a single session
JPH02500708A (en) * 1986-09-16 1990-03-08 アルカテル・エヌ・ブイ communication interface
US4776005A (en) * 1987-07-23 1988-10-04 Affiliated Telephone, Inc. Computer based information system for character display phone network
GB2276520A (en) * 1993-03-23 1994-09-28 Us West Advanced Tech Inc Computer interface method and system
GB9323876D0 (en) * 1993-11-19 1994-01-05 Sdx Business Systems Limited Telephone apparatus
WO1995022183A1 (en) * 1994-02-10 1995-08-17 Elonex Technologies, Inc. Smart phone
AU2957895A (en) * 1994-07-08 1996-02-09 Algorhythms, Inc. Computer on-screen telephone having a telephone construction kit and method of operation
CA2158408C (en) * 1995-09-15 1998-12-08 Graham H. Thompson Architecture for robust voice cti

Also Published As

Publication number Publication date
DE19743459A1 (en) 1998-04-16
GB2318703A8 (en) 2000-05-10
CA2186928A1 (en) 1998-04-01
GB9720423D0 (en) 1997-11-26
GB2318703B (en) 1999-09-15
IL121845A0 (en) 1998-02-22
GB2318703A (en) 1998-04-29
GB9720653D0 (en) 1997-11-26
FR2756444A1 (en) 1998-05-29
IE970702A1 (en) 1998-04-08

Similar Documents

Publication Publication Date Title
US6018571A (en) System for interactive control of a computer and telephone
CA2186928C (en) System for interactive control of a computer and telephone
US7007239B1 (en) Method and apparatus for accessing a contacts database and telephone services
US6192118B1 (en) Computer telephone system and method having a graphical user interface
US6757372B1 (en) User interface for a network-enabled telephone
US5922071A (en) Learning commands which automatically launch a computer program
US5751793A (en) Method and instructions for visual voice messaging user interface
US5065309A (en) Personal computer note-taking facility
US5568540A (en) Method and apparatus for selecting and playing a voice mail message
US5771276A (en) Voice templates for interactive voice mail and voice response system
US6285364B1 (en) Method and apparatus for organizing and displaying internet and telephone information
US5737393A (en) Script-based interactive voice mail and voice response system
US9772763B2 (en) Method and device for providing a multi-level user interface having a dynamic key assignment for a cellularly communicative device
EP1104151A2 (en) Mobile station having improved user interface providing application management and other functions
CA2138069C (en) Screen-based telephone set for interactive enhanced telephony service and method of operating same by microprocessor control
JPH1188496A (en) Caller information display device
US7319743B1 (en) Method for enabling a user interface for a network telephone
GB2285897A (en) Screen-based telephone set
EP0196815B1 (en) Personal computer note-taking facility
GB2322766A (en) ADSI terminal
JP2001352406A (en) Mobile communication terminal

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20161003