GB2337176A - Communications software agents - Google Patents

Communications software agents Download PDF

Info

Publication number
GB2337176A
GB2337176A GB9809601A GB9809601A GB2337176A GB 2337176 A GB2337176 A GB 2337176A GB 9809601 A GB9809601 A GB 9809601A GB 9809601 A GB9809601 A GB 9809601A GB 2337176 A GB2337176 A GB 2337176A
Authority
GB
United Kingdom
Prior art keywords
agents
agent
communications
telephone
goals
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.)
Granted
Application number
GB9809601A
Other versions
GB2337176B (en
GB9809601D0 (en
Inventor
Deborah L Pinard
Eliana M O Peres
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.)
Microsemi Semiconductor ULC
Original Assignee
Mitel 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 Corp filed Critical Mitel Corp
Priority to GB9809601A priority Critical patent/GB2337176B/en
Priority to GB0319237A priority patent/GB2389994B/en
Publication of GB9809601D0 publication Critical patent/GB9809601D0/en
Priority to CA 2270820 priority patent/CA2270820C/en
Priority to US09/305,873 priority patent/US6675194B1/en
Priority to DE1999120692 priority patent/DE19920692B4/en
Publication of GB2337176A publication Critical patent/GB2337176A/en
Application granted granted Critical
Publication of GB2337176B publication Critical patent/GB2337176B/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54508Configuration, initialisation
    • H04Q3/54525Features introduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54575Software application
    • H04Q3/54583Software development, e.g. procedural, object oriented, software generation, software testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1305Software aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13057Object-oriented software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13096Digital apparatus individually associated with a subscriber line, digital line circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13175Graphical user interface [GUI], WWW interface, visual indication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13176Common channel signaling, CCS7
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13179Fax, still picture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1318Ringing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13204Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1324Conference call
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1326Consultation call, broker's call, call hold, toggling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13292Time division multiplexing, TDM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13349Network management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13377Recorded announcement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13389LAN, internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13405Dual frequency signaling, DTMF

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

A communication system includes a plurality of desktop controller agents receiving goal commands and invoking a process to achieve the goals. A plurality of resource agents each in communication with an associate device receives and stores goals from a desktop controller agent and operates the associated device in response to goals received from the desktop controller agent. A network interconnects all of the agents and carries goals between the agents. Communications folders for the user agents are maintained and include a log of communications made using devices associated with a respective desktop controller agent. Attachments can be selected to accompany communications made using the devices.

Description

2337176 COMMUNICATIONS SYSTEM AND METHOD
Field Of The Invention
The present invention relates to communications systems and in particular to a communications system and method which treats different types of communications in a similar manner and provide a uniform presentation for different types of communications. The present invention also relates to a communications system and method which provides local switching control of telephone interface circuits to network channels to avoid glare situations.
Background Of The Invention
Comrnunications systems in the past have treated different types of communications differently. Specifically, telephone calls, electronic mail (e-mail), voice mail, facsimile messages and video calls have all been handled by these communications systems using separate applications. These separate applications typically have different functions and all work slightly different making applications integration difficult.
Conununications systems having "universal in-boxes" to handle email, voice mail and facsimile messages have also been considered. These communications systems are based on a client-server architecture with the server acting as the central processor and controlling data flow in the communications system. Telephone call control is also handled by the server. Although this type of communications system provides a "universal in-box", the different types of communications are still handled differently. Also, the centralized server to control communications can become a bottleneck in the communications system. In addition, in these communications systems, when one party wishes to place another party on hold, that party must signal the server to connect the other party's channel to silence and connect their channel to dial tone. If the party placed on hold is manipulating their channels, glare situations can arise. As should be appreciated by those of skill in the art, these communications systems constrain users to communicate in ways fixed by the communications system. Thus, users are required to adapt to the constraints of the communications system, rather than the communications system adapting to the needs of the users.
It is therefore an object of the present invention to provide a novel communications system and method which obviates and mitigates at least one of the 5 above-described disadvantages.
Summary Of The Invention
According to one aspect of the present invention there is provided a method of operating a communications system comprising the steps of.
providing a plurality of desktop controller agents for receiving goal commands (goals) from agents and for invoking processes to achieve said goals; providing a plurality of resource agents, each in con-ununication with an associated device for receiving and storing goals from a desktop controller agent and for operating said associated device in response thereto; interconnecting all of said agents and carrying goals between said agents; maintaining communications folders for said agents, each said communications folder including a log of communications made using devices associated with a respective desktop controller agent; and selectively including attachments to accompany communications made using said devices.
Preferably, at least one communications folder is maintained for each agent representing a person or people with different roles. It is also preferred that the different types of communications includes voice calls, video calls, appointments, shared data calls, c-mails, voice mails and facsimile messages.
Preferably, each desktop controller agent is created by a user agent and has jurisdiction over a plurality of resource agents. Each of the resource agents receives and stores goals and operates an associated device to pem-lit the different types of communications to occur between agents who have jurisdiction over desktop controller agents.
Preferably, each role agent stores the at least one communications folder for an associated user agent and creates entries for the logs as communications are made and received. It is also preferred that each role agent executes a script to create each log entry. It is also preferred that the logs can be sorted and configured to display entries in basically any convenient and desired manner. Preferably the desktop controller agents create operating system monitor agents to monitor the operating systems of computers so that the role agents can create logs of created files to allow files to be linked to entries in the communications logs.
According to another aspect of the present invention there is provided a communications system comprising:
a plurality of desktop controller agents for receiving goal cornmands (goals) and for invoking a process to achieve said goals; a plurality of resource agents, each in communication with an associated device for receiving and storing goals from a desktop controller agent and for operating said associated device in response to receiving said goals from a desktop controller agent; a network interconnecting all of said agents and carrying goals between 1 said agents; communications folders for said agents, each said communications folder including a log of communications made using devices associated with a respective desktop controller agent; and attachments to accompany selectively communications made using 1 said devices.
According to still yet another aspect of the present invention there is provided a communications system comprising:
a plurality of process agents for receiving goal commands (goals) in the form of signals defining tasks to be performed to establish telephone calls; a plurality of connection agents, each in communication with an associated telephone interface circuit for receivina and storing goals ftom a process agent and for operating said associated telephone interface circuit in response to receiving said goals from a process agent to establish a telephone call from one telephone interface circuit to another; and a network interconnecting all of said agents and carrying goals between said agents thereby, said connection agents locally controlling connection of said telephone interface circuits to channels of said network.
In still yet another aspect of the present invention there is provided a method of operating a communications system comprising the steps of.
providing a plurality of process agents for receiving goal commands (goals) in the form of signals defining tasks to be performed to establish telephone calls; providing a plurality of connection agents, each in communication with an associated telephone interface circuit for receiving and storing goals from a process agent and for operating said associated telephone interface circuit in response to receiving said goals from a process agent to establish a telephone call from one telephone interface circuit to another; interconnecting all of said agents and carrying goals between said agents; and locally controlling connection of said telephone interface circuits to channels of said network via said connection agents.
According to still yet another aspect of the present invention there is provided a communications system comprising:
a network having a plurality of channels; a plurality of telephone devices connectable to one or more channels of said network to establish telephone connections between telephone devices; and switch means acting between each of said telephone devices and said network, each said switch means being locally controlled to connect said assciated telephone device to selected channels of said network.
According to still yet another aspect of the present invention there is provided a method of operating a communications system comprising the steps of.
providing a plurality of desktop controller agents for receiving goal commands (goals) from agents and for invoking processes to achieve said goals; providing a plurality of resource agents, each in communication with an associated device for receiving and storing goals from a desktop controller agent and for operating said associated device in response thereto; interconnecting all of said agents and carrying goals between said agents; maintaining communications folders for said agents, each said communications folder including a log of communications made using devices associated with a respective desktop controller agent; and selectively executing routines to sort entries in said log thereby-to generate reports.
According to still yet another aspect of the present invention there is provided a communications system comprising:
a plurality of desktop controller agents for receiving goal commands (goals) and for invoking a process to achieve said goals; a plurality of resource agents, each in communication with an associated device for receiving and storing goals from a desktop controller agent and for operating said associated device in response to receiving said goals from a desktop controller agent; a network interconnecting all of said agents and carrying goals between said agents; communications folders for said agents, each said communications folder including a log of communications made using devices associated with a respective desktop controller agent; and selectable executable routines to sort entries in said log thereby to generate reports.
The present invention provides advantages in that since different types of communications are treated the same, similar services and features can be applied to different types of communications thereby facilitating applications integration.
0 Also, by treating different types of communications the same, a uniform presentation can be used for all types of communications. In addition, since the communications system breaks the client-server mold and relies on peer to peer communications, connection control between parties is handled locally avoiding glare situations from occurring.
is Brief Description Of The Drawings
An embodiment of the present invention will now be described more fully with reference to the accompanying drawings in which:
Figure 1 is a schematic diagram of a communications system in accordance with the present invention; Figures 2a, 2b and 2c are schematic diagrams illustrating an agent layout for one of the processor systems forming part of the communications system of Figure 1; Figures 3a and 3b are block diagrams illustrating data associated with a role agent; by a user agent; Figure 4 is a communications log communications sent and received Figure 5 is a schematic diagram illustrating a connection agent and a 20 connection control resource forming part of the processor system of Figures 2a and 2b; Figure 6 is a schematic diagram illustrating connection control between multiple telephones forming part of the communications system of Figure 1; Figure 7 illustrates message flow during telephone communications 25 over the communications system of Figure 1 between user agents.
Figures 8a and 8b are schematic diagrams illustrating the process by which entries are made in the communications log; and Figure 9 is pseudo code representing an application to produce a monthly report or summary from the entries in the communications log of Figure 4.
Detailed Description Of The Preferred Embodiment
Referring now to Figure 1, a communications system 110 in accordance with the present invention is shown and includes a pair of processor systems 112 connected to a network 116. Network 116 includes a data switch 118 such as an ATM or Ethernet switch and a server 120. The data switch 118 and the server 120 are connected to a wide area network (WAN) or public switched telephone network (PSTN) 122 via T I or ISDN data links 124. Stand alone telephones 126 are connected to the data switch 118 by way of a data multiplexer 12 8. The communications system 110 is based on the architecture described in U. S. Patent No.
5,638,494 to Pinard et al. issued on June 10, 1997 and in U.S. Patent No. 5,657,446 to Pinard et al. issued on August 12, 1997 assigned to Mitel Corporation, assignee of the present invention, the contents of which are incorporated herein by reference.
The server 120 (better shown in Figure 2a) includes a configuration agent 130 which contains a computer program for configuring the various agents in the communications system 110 and their goals. A goal is a definition of the purpose, of a particular function, for example the connection of a telephone with a virtual channel to allow a call to be established across the network 122. The configuration agent 130 is responsible for downloading goals stored in memory therein to the various agents at start up and as new agents, devices and goals are added, changed or removed from the communications system 110. The server 120 also includes a database 132 storing a directory of addresses for the various agents so that when a goal is to be accomplished, the addresses for the various agents may be obtained by the agent requiring the addresses.
Group agents and role agents 134 and 136 respectively are also resident in the server 120. The group and role agents are responsible for functions.
The group agents include databases 138 for keeping policies and preferences relating to groups such as for example directories for people, timetables and any other preferences related to a group of people rather than a single role. The group agents 134 use the role agents to perform their functions. Figure 2c shows an agent which represents a person with different roles, referred to as a user aaent 140. The role -8 agents 136 include databases 139 storing communications information (se Figure 3a) and the user agents 140 include databases 141 for storing policies and preferences relating to communications preferences such as for example, call screening, call forwarding etc. (see Figure 3b).
Turning back to Figure 1, it can be seen that each processor system 112 includes a personal computer (PC) 160 and a telephone 162 connected to the personal computer 160 by way of a universal serial bus (USB) 164. USB includes a 12 Mbit/s serial interface running over a 4 wire bus with an associated software stack supporting peripheral connectivity to the PC 160. The PC 160 includes a display or monitor 160a, a keyboard 160b and a mouse pointer 160c operating in a well known manner.
Within each PC 160 is a desktop controller agent 170 (see Figure 2b) to handle desktop related resources for a user agent 140. The desktop controller agent is created by the user agent when a user logs into the network 116. The created desktop controller agent 170 selects resources which are necessary for the desktop controller agent to provide the user agent 136 with the communications it requires in order for the user agent to fulfill its role. The desktop controller agent 170 includes a call discriminator to discriminate between types of communications such as voice, facsimile or data being received and to invoke an application that can handle the communication if the communication is to be received. In this manner, the user agent 140 does not know or care about the resources available to the processor system 112.
As is shown in Figure 2b, the desktop controller agent 170 has jurisdiction over and is responsible for creating and initializing a dial tone generator agent 172, a dialing signal (digital multi-frequency (DTNE)) detector agent 174, a phone agent 176, a connection agent 178 and a user interface agent 180.
The dial tone generator agent 172 is responsible for providing the telephone 162 with a dial tone by way of a dial tone generator 182 when an off-hook or "hands-free" dialing condition is detected. The dialing signal detector agent 174 is responsible for storing dialing signals generated by the telephone 162 and translated by a dialing signal translator 184. The phone agent 176 is connected to a phone driver 186 and executes a program loop for monitoring the telephone line current via the phone driver 186 so that off-hook and "hands-ftee" dialing conditions of the telephone 162 are detected. The connection agent 178 generates requests to a group agent 134 to establish a connection between the telephone 162 and virtual channels of the network 116. Connections between the telephone 162 and virtual channels of the network 116 are made by a connection control resource 188 when the request has been accepted.
The desktop controller agent 170 also includes an operating system monitor agent 194 to monitor the operating system of the PC 160 and detect when a file is created or executed (i.e. final save). When the operating system monitor agent 194 detects that a file has been created or exited, it sends a message to the desktop controller agent 170 which in turn sends a message to the role agent 136. The role agent 136 executes a script which logs the file information as shown in Figure 8b.
Figure 3a illustrates the structure of the communications information stored at the role agent 136. As can be seen, the role agent 136 keeps a directory 210 in which directory entries are held. The directory entries are business and personal contacts associated with the role of the user logged into the network. Preferences 212 associated with each directory entry are also stored by the role agent 136. The preferences are for example types of communications preferred by the business and personal contacts.
Communications folders 214 for the user such as personal and public folders are also stored by the role agent 136. The personal communications folder includes a lo storing incoming and outgoing communications, deleted g t> communications etc. The communications 216 in the logs of each communications folder 214 may be of virtually any type such as for example voice calls 216a, video calls 216b, call sharing 216c, appointments 216d, E-mail 216e, voice mail 216f, facsimiles 216g etc. Each communication 216 in each communications folder 214 may be associated with an account code 218 for billing and contract purposes and may also have one or more attachments 220.
Turning to Figure 3b, the structure of the communications information stored in database 141 at the user agent 140 is better illustrated. As can be seen, the communications information is user specific since a user can only be in one place at one time. Thus, the user agent resolves conflicts between roles. In this example, the communications information includes a calendar, the number of calls before busy regardless of the role receiving the call etc.
Referring now to Figure 4, the incoming and outgoing communications in the log of personal communications folder 214 is better illustrated. As can be seen, the log is in a list format and includes all of the incoming and outgoing communications related to the user. The log indicates the type of communication, the time the communication was sent or received, the date on which the communication was sent or received, the direction of the communication (i.e. whether it is incoming or outgoing), the author of the communication, the receiver of the communication and the duration of the communication. If desired, additional fields can be provided in the log such as for example account codes associated with each communication, the subject of the communication etc. Links can be established between the entries in the log and files created by the user associated with the entry. In this manner, if the entry in the log is selected, the associated file entries that are linked to the entry are displayed. Software is provided in the role agent 136 to allow the entries in the log to be sorted by any combination of fields and presented either in the list format as shown or in a calendar format. Figure 9 shows pseudo code for producing a monthly report or summary from entries in the log.
The PC 160 contains a telephone applications program of the type disclosed in U.S. Patent No. 5,533,110 to Pinard et al., and assigned to Mitel Corporation, assignee of the present application, the content of which is also incorporated herein by reference. The user interface ag 1 gent 180 executes the telephone applications program to control views, windows or icons 190 appearing on the monitor 160a of the personal computer 160 to allow communications to be created, received, read and/or manipulated.
The views include a main window presenting a display showing communications information. The views also include a communications folder view, a directory view, a local caller icon, a call setup window and a call window. The communications folder view allows the logs of each communications folder 214 to be displayed.
The local caller icon represents the user logged into the network via the PC 160. The call setup icon is used when the user wishes to send a communications to a called party. In this case, the user drags the local caller icon into the call setup window resulting in the directory 2 10 being displayed in the directory view. The user can then drag a directory entry from the directory 210 into the call setup window at which time a communications link is initiated to the party to be called. When the communications link is established, the call window is displayed showing the local caller icon and a called party icon. If an attachment is to be sent to the called party, an attachment icon representing the attachment to be sent is dragged into the call window. The above windows and icons and their operation relating to telephone communications are described in U.S. Patent No. 5,533,110 to Pinard et al. referred to above.
Within the server 120 are desktop controller agents 250 for each stand alone phone 126. The desktop controller agents 250 have jurisdiction over and are responsible for creating and initializing a dial tone generator agent 252, a dialing signal detector agent 254, a phone agent 256, a connection agent 258 and a user interface agent 260. The dial tone generator agent 252 is responsible for connecting a dial tone generator 262 to the stand alone telephone 126 when an off-hook or hands free dialing condition is detected by way of the phone agent 256 and a phone driver 268. The dialing signal detector agent 254 is responsible for storing dialing signals generated by the stand alone telephone 126 that have been translated by a dialing signal translator 264. The connection agent 258 is responsible for controlling a connection control resource 266 to interconnect the stand alone telephone 126 and data switch 118 when a telephone call is to be made or received. The user interface agent 260 maintains a communications folder 270 in which all communications activities are stored as described above. If the role of the user using the stand alone telephone 126 requires the user to have access to e-mail, facsimile messages etc., the desktop controller agent 250 has jurisdiction over and is responsible for text-to-voice and voice-to-text converters to allow the user to retrieve and send these types of communications.
Referring now to Figure 5, the connection agent 178 and connection control resource 188 are better illustrated. As can be seen, the connection control resource 188 is responsive to the connection agent 178 and selects virtual channels to interconnect a data switch driver 3 00 leading to data switch 118 and the phone driver 186 connected to the telephone 162. The connection control resource 188 also performs mixing between virtual channels to allow for conference calls, call swapping and connects the outgoing virtual channels to silence 302 if a party is to be placed on hold as well as retrieves calls placed on hold. As will be appreciated, the connection control resource 188 handles connection control between the telephone 162 and the data switch 118 locally. As such, the connection control resource 18 8 is able to change the connection of the telephone to different virtual channels allowing the telephone connection to be moved back and forth between the virtual channels. Since the switching is done locally, the connection control resource 188 does not interfere with another party's connections and thereby avoids glare situations.
For example, Figure 6 shows three USB telephones 162a, 162b, 162c connected to one another across virtual channels vc I, vc2 and vc3 respectively. The virtual channels may extend over a public switched telephone network (PSTN), a wide area network (WAN), an internet connection or an intranet connection As can be seen, telephone 162a is connected to telephone 162b via virtual channel vc2. Telephone 162a is connected to telephone 162c via virtual channel vc I while telephone 162c is connected to telephone 162b via virtual channel vc3. Connection control resource 188a is responsive to its associated connection agent to move the telephone connection between the virtual channels vcl and vc2 placing one of the telephone calls on hold. Likewise, connection control resource 188b is responsive to its associated connection agent to move the telephone connection between the virtual channels vc I and vc3 while connection control resource 188c is responsive to its associated connection agent to move the telephone connection between the virtual channels vc2 and vc3. As will be appreciated, the connection control agents 178 2 control the local connection control resource unlike "centralized switchinj type connections which require a party that is to be placed on hold, to be connected to silence by a remote data switch. If the party placed on hold is manipulating the channels to which it is connected, glare situations can occur resulting in the loss of communications across the channels. In the present system, glare situations of this nature are avoided.
In general, if a user wishes to make a telephone call and the handset of the telephone 162 is removed from its cradle or if hands-free dialing is selected, the phone agent 176 monitoring the subscriber's line current detects the increase in line current. The phone agent 176 sends a message to the desktop controller agent 170 which in turn sends a message to the dial tone generator agent 172 causing it to connect the dial tone generator 182 to the telephone 162 and thereby provide the dial tone. Once the dial tone is provided and the user begins dialing digits, the dialing signal translator 184 detects and translates the DTMI dialing signals. As dialing signals are translated, they are stored by the dialing signal detector agent 174. The stored dialed digits are conveyed by the dialing signal detector agent 174 to the desktop controller agent 170 which in turn conditions the user interface agent 180 to open a window. The dialed party is displayed in the window.
Of course, the user can also make a telephone call by selecting the 0 local caller icon and dragging it into the call setup window to display the directory 2 10. Once the directory is displayed, the desired directory entry can be selected and dragged into the call setup window thereby to display the call window showing the local caller icon and the called party icon.
Once a telephone call has been initiated in one of the above-described manners, the desktop controller agent 170 sends a message to the user agent 140 which in turn sends it to the role agent 136. The message contains the virtual channel that the connection agent 178 selected for the call. The desktop controller agent 170 in turn sends a message to the connection agent 178 causing the connection agent to condition the connection control resource 188 to connect the phone driver 186 to the appropriate virtual channel so that the telephone call can be made.
is When the role agent receives a request to call another party, the role agent looks up the "address" of the role agent of the party to be called and sends a message offering the call to that role agent 136. The role agent receiving the message in turn sends the message to the user agent 140 for the called party which sends it to the desktop controller agent 170. The desktop controller agent then uses the connection agent 178 to get a virtual channel which will map to the calling party. The desktop controller agent also notifies the phone and user interface agents that the call is being offered. This causes the phone to ring and the calloffered to be displayed on the personal computer. If the called party answers the call either by going off-hook, "clickinj on the personal computer or "dragging" the appropriate icon, then the desktop controller agent 170 is informed. The desktop controller agent 170 in turn notifies the connection a-ent 178 which connects the handset and also notifies the user agent 140 which passes the message through to the role agent 136. The role agent 136 in turn sends the message to the role agent of the calling party allowing a connection between the parties to be made. The communications path is thus established.
If the user selects an attachment such as an e-mail message, a facsimile message etc. to accompany the telephone communication, the desktop controller agent 170 invokes an appropriate agent to transmit the attachment to the called party. The attachment is of course transmitted in a suitable form to allow the called party to discern it from voice call signaling. The telephone applications software executed by the user interface agent 180 includes a protocol to identify a communication as an attachment to another communication and the applications software links them within the system. If an attachment cannot be received by the called party, it is discarded.
The protocol in turn generates an error message for display to the caller.
Figure 7 shows the message trace between two callers establishing a handsfree telephone communications link with the calling user selecting an attachment (in this example e-mail) to accompany the telephone communication. As can be seen, the caller opens a window showing the directory including the party to whom the telephone call is to be made. The caller then selects the party to be called and selects the attachment to accompany the telephone call (i.e. the e- mail). Once the party and attachment have been selected, the user drags the party and attachment into the call setup window.
When this occurs the user interface agent 180 sends a message to the desktop controller agent 170 which in turn causes the dial tone generator agent 172 to connect the dial tone generator 182 to the telephone to supply the dial tone as described previously. Once the dial tone is provided, the selected party is dialed. The dialed digits are translated by the dialing signal translator 184 and stored by the dialing signal detector agent 174. The desktop controller agent 170 sends a message to the connection agent 178 so that the connection agent conditions the connection control resource 188 to connect the telephone to the appropriate virtual channel of the network 116.
Once the connection has been made, the desktop controller agent 170 sends a message to the role agent 136 through the user agent 140 including the communication and attachment. When the role agent receives the communication and the attachment, it stores the communications and attachment and then executes a script to create an entry for the communications log with the appropriate fields of the entryfilled in (see Figure 8a). Once the entry has been completed the role agent 136 stores it in the log of the appropriate communications folder. Following this, the role agent 136 offers the communication to the called party over the network 116.
The role agent at the called party firstly determines whether the call is to be blocked or forwarded pursuant to the preferences stored in the role agent database 139. If the call is to be blocked a busy message is sent to the role agent of the caller. If the call is to be passed through to the called party, the role agent associated with the called party receives the communication and attachment from the caller and then offers the communication and attachment to the desktop controller agent 170 through the user agent 140. When the role agent of the called party receives the communication and the attachment, the role agent also executes a script which creates an entry for the log of the appropriate communications folder with all of the appropriate fields filled in. Once the entry has been completed, the role agent 136 stores the entry in the log.
Upon being offered the communication and attachment, the desktop controller agent 170 sends a message to the user interface agent causing the user interface agent 180 to open a window to display the callers identification and the attachment. Since the offered communication is in the form of a telephone call, the desktop controller agent 170 also sends a message to the phone agent 176 which in turn causes the phone driver 186 to ring the telephone. When the called party accepts the communication from the window, it is detected by the user interface agent 180 which in turn sends a message to the desktop controller agent 170. The desktop controller agent in turn sends a message to the phone agent 176 causing the phone driver 186 to stop ringing the telephone. At the same time, the desktop controller agent 170 sends a message to the connection agent 178 which in turn causes the connection control resource 188 to connect the telephone to the appropriate virtual channel of the network 116.
Once the communications link has been established, the desktop controller agent 170 sends a message to the user interface agent 180 causing it u. a call window showing the local caller icon and a calling party icon signifying that the conu-nunication has been accepted. The open window also shows the attachment. When the user selects the attachment, it is detected by the user interface agent 180 which in turn sends a message to the desktop controller agent 170 causing the desktop controller agent to send a message to the appropriate resource to launch the attachment.
As will be appreciated, the present communications system allows attachments to be sent with virtually any form of communications. A log of all communications made and received from each user is kept allowing detailed activity reports to be generated. Since links can be made between communication entries in the log and created files can be made, files can be located and retrieved using the communications log entries. In addition, since the connections between telephones and the network are locally controlled glare situations are avoided.
Although the agent architecture has been described as being based on the architecture described in U.S. Patent No. 5,638,494, those of skill in the art will appreciate that alternative agent architectures can be used. For example, the agents may be constituted by programs which when executed perform the tasks described previously. The agents may also represent objects in terms of object- oriented languages such as for example C', Java, SmallTalk and the like.
Although a particular embodiment of the present invention has been described, those of skill in the art will appreciate that other variations and modifications may be made without departing from the spirit and scope thereof as 10 defined by the appended claims.

Claims (1)

  1. We Claim:
    1. of- A method of operating a communications system comprising the steps providing a plurality of desktop controller agents for receiving goal commands (goals) from agents and for invoking processes to achieve said goals; providing a plurality of resource agents, each in communication with an associated device for receiving and storing goals from a desktop controller agent and for operating said associated device in response thereto; interconnecting all of said agents and carrying goals between said agents; maintaining communications folders for said agents, each said communications folder including a log of communications made using devices associated with a respective desktop controller agent; and selectively including attachments to accompany communications made using said devices.
    2. The method of claim 1 wherein at least one communications folder is maintained for each agent representing a person or people with different roles.
    The method of claim 2 wherein each desktop controller agent has jurisdiction over a plurality of resource agents, each of said resource agents receiving and storing goals and operating an associated device to permit different types of communications to occur between agents who have jurisdiction over desktop 25 controller agents.
    4. The method of claim 3 wherein each desktop controller agent is created by another agent for each of said agents, each said desktop controller agent creating 0 resource agents and selecting associated devices necessary for said agents to fulfill their roles.
    5.
    The method of claim 4 wherein said different types of communications include voice calls, video calls, appointments, shared data calls, emails, voice mails and facsimile messages.
    7.
    6.
    The method of claim 5 wherein each desktop controller agent has jurisdiction over a user interface agent, said log of communications being accessed via said user interface agent.
    The method of claim 6 wherein said user interface agent is resident on a computer and displays said log of communications on a monitor of said computer.
    8.
    said computer.
    The method of claim 7 wherein said attachments are selected using 9. The method of claim 8 wherein said different types of communications can be associated with account codes.
    10.
    The method of claim 8 wherein each desktop controller agent further has jurisdiction over a dial tone generator agent, a dialing signal detector agent, a connection agent and a phone agent, said dial tone generator agent operating a dial tone generator, said dialing signal detector agent operating a dialing signal translator, said connection agent operating a connection control resource and said phone agent operating a phone driver coupled to a telephone device, said goals including signals defining the operation of tasks in processing a telephone call between agents.
    0 The method of claim 4 'wherein each role agent stores the at least one communications folder of an associated agent and creates entries for the log of communications as communications are made and received.
    12. The method of claim 11 wherein said role agent executes a script to create each log entry.
    13.
    is. The method of claim 11 wherein said desktop controller agerts create operating system monitor agents to monitor operating systems of computers, -.: - r-.,e agents being responsive to the desktop controller agents to create logs of created said role agents allowing file entries to be linked to entries in the communications logs.
    The method of claim 12 wherein said logs can be sorted to generate reports.
    14. The method of claim 13 wherein said logs can be configured to display entries in list or calendar formats.
    16.
    A communications system comprising: a plurality of desktop controller agents for receiving goal cominands (goals) and for invoking a process to achieve said goals; a plurality of resource agents, each in communication with an associated device for receiving and storing goals from a desktop controller agent and for operating said associated device in response to receiving said goals from a desktop controller agent; a network interconnecting all of said agents and carrying goals be-.,.7,- n said agents; communications folders for said apnts, each said communications folder including a log of communications made g devices associated with a respective desktop controller agent; and 0 attachments to accompany selectively communications made using said devices.
    17. A communications system as defined in claim 16 wherein at least one communications folder is maintained for each agent representing a person or people with different roles.
    18. A communications system as defined in claim 17 wherein each desktop controller agent has jurisdiction over a plurality of resource agents, each of said 0 resource agents receiving and storing goals and operating an associated device to permit different types of communications to occur between agents who have jurisdiction over said desktop controller agents.
    21.
    19. A communications system as defined in claim 18 wherein each desktop controller agent is created by another agent or by said communication system, each C said desktop controller agent creating resource agents and selecting associated devices 0 necessary for said agents to fulfill their roles.
    20. A communications system as defined in claim 19 wherein said different types of communications include voice calls, video calls, appointments, shared data calls, e-mails, voice mails and facsimile messages.
    A communications system as defined in claim 20 wherein each desktop controller agent has jurisdiction over a user interface agent, said log of communications being accessed via said user interface agent.
    22. A communications system as defined in claim 21 wherein said user interface agent is resident on a computer and displays said log of communications on a monitor of said computer.
    23. A communications system as defined in claim 22 wherein said attachments are selected using said computer.
    24. A communications system as defined in claim 23 wherein said different types of communications can be associated with account codes.
    25. A communications system as defined in claim 24 where-.-, desktop controller agent further has jurisdiction over a dial tone generator ageT -, z dialting signal detector agent, a connection agent and a phone agent, said dial tone generator agent operating a dial tone generator, said dialing signal detector agent operating a dialing signal translator, said connection agent operating a connection control resource and said phone agent operating a phone driver coupled to a telephone, said goals including signals defining the operation of tasks in processing a telephone call between agents.
    26. A communications system as defined in claim 19 wherein each role agent stores the at least one communications folder of an associated agent and creates 15 entries for the log of communications as communications are made and received.
    27. A communications system as defined in claim 26 wherein said role agent executes a script to create each log entry.
    28.
    A communications system as defined in claim 27 wherein said logs can be sorted to generate reports.
    29. A communications system as defined in claim 28 wherein said logs can be configured to display entries in list or calendar formats.
    30. A communications system as defined 7;laim 19 wherein said desktop controller agents create operating system monitor agents to monitor operating systems 0 0 of computers, the role agents being responsive to the desktop controller agents to create logs of created files, said role agents allowing file entries to be linked to entries in the communications lo.s.
    0 31.
    A communications system comprising: a plurality of process agents for receiving goal commands (goals) in the form of signals defining tasks to be performed to establish telephone calls; a plurality of connection agents, each in communication with an associated telephone interface circuit for receiving and storing goals from a process agent and for operating said associated telephone interface circuit in response to receiving said goals from a process agent to establish a telephone call from one telephone interface circuit to another; and a network interconnecting all of said agents and carrying goals between said agents thereby, said connection agents locally controlling connection of said telephone interface circuits to channels of said network.
    32. A communications system as defined in claim 31 wherein said connection agents are operable to connect said telephone interface circuits to silence to place telephone calls on hold in response to on- hold goal commands.
    33. A communications system as defined in claim 32 wherein said connection agents are operable to connect said telephone interface circuits to multiple 20 channels to conference telephone calls in response to conference goal commands.
    34. A communications system as defined in claim 33 wherein said connection agents are operable to condition said telephone interface circuits to swap connections between channels to swap telephone calls in response to swap goal 25 commands.
    35. A communications system as defined in claim 31 wherein said network is at least one of a public switched telephone network, a wide area network, an intemet connection and an intranet connection.
    36.
    o f A method of operating a communications system comprising the steps providing a plurality of process agents for receiving goal commands (goals) in the form of signals defining tasks to be perforTned to establish telephone calls; providing a plurality of connection agents, each in communication with an associated telephone interface circuit for receiving and storing goals from a process agent and for operating said associated telephone interface circuit in response to receiving said goals from a process agent to establish a telephone call from one telephone interface circuit to another; interconnecting all of said agents and carrying goals betwec!.-., said agents; and locally controlling connection of said telephone interface circuits to channels of said network via said connection agents.
    38.
    37. The method of claim 36 further comprising the step of, during said. locally controlling step, connecting said telephone interface circuits to silence to place telephone calls on hold in response to on-hold goal commands.
    The method of claim 37 further comprising the step of, during said locally controlling step, connecting said telephone interface circuits to multiple channels to conference telephone calls in response to conference goal commands.
    39.
    The method of claim 38 further comprising the step of, during said locally controlling step, conditioning said telephone interface circuits to swap connections between channels to swap telephone calls in response to swap goal commands.
    40.
    A communications system comprising:
    a network having a plurality of channels; a plurality of telephone devices connectable to one or more channels of said network to establish telephone connections between telephone devices; and switch means acting between each of said telephone devices and said network, each said switch means being locally controlled to connect said associated 5 telephone device to selected channels of said network.
    41. A communications system as defined in claim 40 wherein each said switch means is actuable to connect said associated telephone device to silence to place a telephone connection on hold.
    42. A communications system as defined in claim 41 wherein each switch means is actuable to connect said associated telephone device to multiple channels of said network to conference telephone connections.
    A communications system as defined in claim 42 wherein each switch means is actuable to swap connections between channels of said network to swap telephone connections.
    44. A communications system as defined in claim 41 wherein said network is at least one of a public switched telephone network, a wide area network, an internet connection and an intranet connection.
    45. of.
    A method of operating a communications system comprising the steps providing a plurality of desktop controller agents for receiving goal C commands (goals) from agents and for invoking processes to achieve said goals; providing a plurality of resource agents, each in communication with an associated device for receiving and storing goals from a desktop controller agent and for operating said associated device in response thereto; interconnecting all of said agents and carrying goals between said agents; maintaining communications folders for said agents, each said communications folder including a log of communications made using devices associated with a respective desktop controller agent; and selectively executing routines to sort entries in said log thereby to generate reports.
    46. The method of claim 45 wherein routines can be executed to configure 10 said logs to display entries in list or calendar formats.
    47.
    A communications system comprising: a plurality of desktop controller agents for receiving goal commands (goals) and for invoking a process to achieve said goals; a plurality of resource agents, each in communication witn associated device for receiving and storing goals from a desktop controller agt:-. for operating said associated device in response to receiving said goals from a desktop controller agent; a network interconnecting all of said agents and carrying goals between said agents; communications folders for said agents, each said communications folder including a log of communications made using devices associated with a respective desktop controller agent; and selectable executable routines to sort entries in said log thereby to 25 generate reports.
    48. A communications system as defined in claim 47 wherein routines can be selected and executed to configure said logs to display entries in list or calendar formats.
GB9809601A 1998-05-05 1998-05-05 Communications system and method Expired - Lifetime GB2337176B (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
GB9809601A GB2337176B (en) 1998-05-05 1998-05-05 Communications system and method
GB0319237A GB2389994B (en) 1998-05-05 1998-05-05 Communications system and method
CA 2270820 CA2270820C (en) 1998-05-05 1999-05-03 Communications system and method
US09/305,873 US6675194B1 (en) 1998-05-05 1999-05-05 Handling different communications types by using agents to implement communication goal commands
DE1999120692 DE19920692B4 (en) 1998-05-05 1999-05-05 Communication system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB9809601A GB2337176B (en) 1998-05-05 1998-05-05 Communications system and method

Publications (3)

Publication Number Publication Date
GB9809601D0 GB9809601D0 (en) 1998-07-01
GB2337176A true GB2337176A (en) 1999-11-10
GB2337176B GB2337176B (en) 2003-12-24

Family

ID=10831495

Family Applications (2)

Application Number Title Priority Date Filing Date
GB9809601A Expired - Lifetime GB2337176B (en) 1998-05-05 1998-05-05 Communications system and method
GB0319237A Expired - Lifetime GB2389994B (en) 1998-05-05 1998-05-05 Communications system and method

Family Applications After (1)

Application Number Title Priority Date Filing Date
GB0319237A Expired - Lifetime GB2389994B (en) 1998-05-05 1998-05-05 Communications system and method

Country Status (3)

Country Link
CA (1) CA2270820C (en)
DE (1) DE19920692B4 (en)
GB (2) GB2337176B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1298902A1 (en) * 2001-09-28 2003-04-02 Rockwell Electronic Commerce Corporation Streaming announcements to agents of an ACD

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987001541A1 (en) * 1985-08-28 1987-03-12 Jose Manuel Soto Distributed switching telecommunications system
GB2289598A (en) * 1994-03-15 1995-11-22 Mitel Corp Adaptive communication system
GB2311188A (en) * 1996-03-11 1997-09-17 Mitel Corp Call routing
GB2328831A (en) * 1997-08-26 1999-03-03 Mitel Corp Dynamic alteration of communication group assignments as user roles change

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837798A (en) * 1986-06-02 1989-06-06 American Telephone And Telegraph Company Communication system having unified messaging

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1987001541A1 (en) * 1985-08-28 1987-03-12 Jose Manuel Soto Distributed switching telecommunications system
GB2289598A (en) * 1994-03-15 1995-11-22 Mitel Corp Adaptive communication system
US5638494A (en) * 1994-03-15 1997-06-10 Mitel Corporation Adaptive communication system
GB2311188A (en) * 1996-03-11 1997-09-17 Mitel Corp Call routing
GB2328831A (en) * 1997-08-26 1999-03-03 Mitel Corp Dynamic alteration of communication group assignments as user roles change

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1298902A1 (en) * 2001-09-28 2003-04-02 Rockwell Electronic Commerce Corporation Streaming announcements to agents of an ACD

Also Published As

Publication number Publication date
DE19920692B4 (en) 2007-03-15
GB2389994B (en) 2004-02-11
DE19920692A1 (en) 1999-11-11
GB2389994A (en) 2003-12-24
CA2270820A1 (en) 1999-11-05
GB0319237D0 (en) 2003-09-17
GB2337176B (en) 2003-12-24
CA2270820C (en) 2004-07-20
GB9809601D0 (en) 1998-07-01

Similar Documents

Publication Publication Date Title
US6430289B1 (en) System and method for computerized status monitor and use in a telephone network
CA2308157C (en) Remote access, emulation, and control of office equipment, devices and services
US6493428B1 (en) Text-enhanced voice menu system
JP4362178B2 (en) Wireless communication apparatus having API between user application program and telephone program and method thereof
US7804949B2 (en) Client-based integration of PBX and messaging systems
US7330721B2 (en) Method and system for supporting non-intrusive and effective voice communication among mobile users
EP0763921A2 (en) Terminals, methods and systems for providing intelligent communication
US20080076395A1 (en) Method and System for Supporting Non-Intrusive and Effective Voice Communication Among Mobile Users
EP0957621A2 (en) Computer email with telephony support
US6801609B2 (en) Telephone system with programmable line appearances
US6415020B1 (en) Call on-hold improvements
GB2306853A (en) Automatic displays for incoming telephone calls
US6675194B1 (en) Handling different communications types by using agents to implement communication goal commands
US6819665B1 (en) Private branch exchange implemented using H.323 gatekeeper
US20050025127A1 (en) Method and apparatus for communication web services
CA2270820C (en) Communications system and method
US7180890B2 (en) Phone connector component operationally connectable through packet network to any selected one or more switch components for originating and/or terminating telecommunication service
JPH09294163A (en) Communication method and communication system
US7203189B2 (en) Network implemented communication system
US7190776B2 (en) System and method for selecting a feature
US20070116229A1 (en) Method for forwarding a call to a call number that is assigned to the originally dialed number by means of a directory system
GB2373959A (en) A voicemail call return dialling system
EP0771098A2 (en) Circuits, systems and methods for providing resource allocation in a communication system
WO2000038396A1 (en) Change between functional modes of terminal in private branch exchange
EP1162801A2 (en) Digital telecommunication network

Legal Events

Date Code Title Description
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
732E Amendments to the register in respect of changes of name or changes affecting rights (sect. 32/1977)
PE20 Patent expired after termination of 20 years

Expiry date: 20180504