Language selection

Search

Patent 2186928 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent: (11) CA 2186928
(54) English Title: SYSTEM FOR INTERACTIVE CONTROL OF A COMPUTER AND TELEPHONE
(54) French Title: SYSTEME DE CONTROLE INTERACTIF POUR UN ORDINATEUR ET UN TELEPHONE
Status: Expired
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04M 3/42 (2006.01)
  • H04M 1/247 (2006.01)
  • H04M 1/27 (2006.01)
  • H04M 1/2745 (2006.01)
  • H04M 1/57 (2006.01)
  • H04M 1/65 (2006.01)
  • H04M 1/663 (2006.01)
  • H04M 11/06 (2006.01)
(72) Inventors :
  • LANGLOIS, MICHAEL (Canada)
  • LOEN, RICHARD (Canada)
  • SMITH, DUNCAN (Canada)
  • LAHRKAMP, MICHAEL (Canada)
  • CHEHOWSKI, PAUL (Canada)
  • COUSE, PETER (Canada)
(73) Owners :
  • MITEL NETWORKS CORPORATION (Canada)
(71) Applicants :
  • MITEL CORPORATION (Canada)
(74) Agent: PERRY + CURRIER
(74) Associate agent:
(45) Issued: 2001-06-12
(22) Filed Date: 1996-10-01
(41) Open to Public Inspection: 1998-04-01
Examination requested: 1998-03-23
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): No

(30) Application Priority Data: None

Abstracts

English 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.


French Abstract

Un système de téléphonique basé sur un ordinateur comprend: un combiné téléphonique pour l'implantation des fonctions de la téléphonie sur une ligne téléphonique, le dit combiné regroupe une interface série pour la communication bidirectionnelle des signaux de données; une application logicielle exécutable par un ordinateur d'abord pour recevoir des signaux de données du combiné téléphonique et leur répondre en implantant des fonctions logicielles pré-déterminées; et ensuite pour transmettre des signaux de données au combiné téléphonique en réponse à une entrée par l'utilisateur où le combiné met en oeuvre des fonctions de téléphonie prédéterminées.

Claims

Note: Claims are shown in the official language in which they were submitted.



34
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. 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. 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. 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.


35
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. 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. 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. 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. 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


36
telephone numbers of frequently called persons and a button for initiating a
call to a
selected one of said persons.
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. 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. 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. 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. 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. 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.


37
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. 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. 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. 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. 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.

Description

Note: Descriptions are shown in the official language in which they were submitted.


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;

21 B6928
-




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
11
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
12
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;~
13
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~
14
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~
16
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
17
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:

21 86928
-



18
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.

- 2 1 86928
19
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
-



21
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.

- 21 86923
22
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
23
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

6928
24
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

- 21 86Q28
26
"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

21 86928
-



28
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

- 2 1 86928
29
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).

21 86928

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~
31
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
32
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
33
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.

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date 2001-06-12
(22) Filed 1996-10-01
Examination Requested 1998-03-23
(41) Open to Public Inspection 1998-04-01
(45) Issued 2001-06-12
Expired 2016-10-03

Abandonment History

There is no abandonment history.

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $0.00 1996-10-01
Request for Examination $400.00 1998-03-23
Registration of a document - section 124 $100.00 1998-04-01
Registration of a document - section 124 $100.00 1998-04-01
Maintenance Fee - Application - New Act 2 1998-10-01 $100.00 1998-08-13
Maintenance Fee - Application - New Act 3 1999-10-01 $100.00 1999-08-25
Maintenance Fee - Application - New Act 4 2000-10-02 $100.00 2000-09-28
Final Fee $300.00 2001-03-13
Registration of a document - section 124 $50.00 2001-04-24
Maintenance Fee - Patent - New Act 5 2001-10-01 $150.00 2001-09-18
Maintenance Fee - Patent - New Act 6 2002-10-01 $150.00 2002-09-19
Maintenance Fee - Patent - New Act 7 2003-10-01 $150.00 2003-09-17
Maintenance Fee - Patent - New Act 8 2004-10-01 $200.00 2004-09-09
Registration of a document - section 124 $100.00 2005-07-11
Registration of a document - section 124 $100.00 2005-07-18
Maintenance Fee - Patent - New Act 9 2005-10-03 $200.00 2005-09-08
Maintenance Fee - Patent - New Act 10 2006-10-02 $250.00 2006-09-08
Maintenance Fee - Patent - New Act 11 2007-10-01 $250.00 2007-09-07
Registration of a document - section 124 $100.00 2007-09-14
Registration of a document - section 124 $100.00 2007-09-14
Maintenance Fee - Patent - New Act 12 2008-10-01 $250.00 2008-09-15
Registration of a document - section 124 $100.00 2009-02-24
Maintenance Fee - Patent - New Act 13 2009-10-01 $250.00 2009-09-14
Registration of a document - section 124 $100.00 2010-01-14
Maintenance Fee - Patent - New Act 14 2010-10-01 $250.00 2010-09-16
Maintenance Fee - Patent - New Act 15 2011-10-03 $450.00 2011-09-19
Maintenance Fee - Patent - New Act 16 2012-10-01 $450.00 2012-09-12
Registration of a document - section 124 $100.00 2013-03-12
Registration of a document - section 124 $100.00 2013-03-12
Registration of a document - section 124 $100.00 2013-03-28
Registration of a document - section 124 $100.00 2013-03-28
Maintenance Fee - Patent - New Act 17 2013-10-01 $450.00 2013-09-13
Registration of a document - section 124 $100.00 2014-02-04
Registration of a document - section 124 $100.00 2014-02-04
Registration of a document - section 124 $100.00 2014-02-13
Maintenance Fee - Patent - New Act 18 2014-10-01 $450.00 2014-09-10
Registration of a document - section 124 $100.00 2015-05-04
Registration of a document - section 124 $100.00 2015-05-28
Maintenance Fee - Patent - New Act 19 2015-10-01 $450.00 2015-09-09
Registration of a document - section 124 $100.00 2017-03-10
Registration of a document - section 124 $100.00 2017-03-23
Registration of a document - section 124 $100.00 2018-12-03
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
MITEL NETWORKS CORPORATION
Past Owners on Record
CHEHOWSKI, PAUL
COUSE, PETER
LAHRKAMP, MICHAEL
LANGLOIS, MICHAEL
LOEN, RICHARD
MITEL CORPORATION
MITEL KNOWLEDGE CORPORATION
SMITH, DUNCAN
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Cover Page 1997-02-11 1 13
Abstract 1997-02-11 1 16
Claims 1997-02-11 4 172
Claims 2000-07-20 4 188
Cover Page 2001-05-25 1 37
Drawings 1997-02-11 39 8,103
Drawings 1998-09-22 46 1,101
Description 1997-02-11 33 1,451
Representative Drawing 2001-05-25 1 9
Cover Page 1998-04-22 1 44
Cover Page 1999-09-30 1 44
Representative Drawing 1998-04-22 1 7
Fees 1999-08-25 1 51
Prosecution-Amendment 2000-03-20 2 41
Fees 2000-09-28 1 51
Assignment 1996-10-01 20 730
Prosecution-Amendment 1998-03-23 1 57
Assignment 2001-04-24 37 2,292
Correspondence 1996-11-06 46 2,718
Correspondence 2001-03-13 1 64
Fees 1998-08-13 1 56
Correspondence 2001-06-12 1 19
Correspondence 2001-07-23 2 48
Prosecution-Amendment 2000-07-20 6 249
Correspondence 2005-06-22 9 463
Correspondence 2005-07-13 9 524
Correspondence 2005-07-19 1 13
Correspondence 2005-07-19 1 15
Assignment 2005-07-11 70 4,393
Assignment 2005-07-18 42 3,905
Assignment 2007-09-14 39 2,305
Assignment 2007-09-14 39 2,319
Assignment 2009-02-24 12 749
Assignment 2010-01-14 12 738
Assignment 2010-01-13 51 2,926
Assignment 2013-03-12 29 1,211
Assignment 2013-03-12 18 680
Assignment 2013-03-28 94 5,139
Assignment 2014-02-13 45 2,104
Assignment 2013-03-28 95 5,213
Assignment 2014-02-04 19 608
Assignment 2014-02-04 19 566
Assignment 2015-05-04 14 501
Assignment 2015-05-28 53 3,950