WO1999037081A1 - Communications system - Google Patents

Communications system Download PDF

Info

Publication number
WO1999037081A1
WO1999037081A1 PCT/GB1999/000058 GB9900058W WO9937081A1 WO 1999037081 A1 WO1999037081 A1 WO 1999037081A1 GB 9900058 W GB9900058 W GB 9900058W WO 9937081 A1 WO9937081 A1 WO 9937081A1
Authority
WO
WIPO (PCT)
Prior art keywords
call
components
party
computer telephony
interface
Prior art date
Application number
PCT/GB1999/000058
Other languages
French (fr)
Inventor
Simon Alexander Beddus
Fenela Wills
Gary Leslie Bruce
Original Assignee
British Telecommunications Public Limited Company
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 British Telecommunications Public Limited Company filed Critical British Telecommunications Public Limited Company
Priority to US09/581,643 priority Critical patent/US6785375B1/en
Priority to JP2000540666A priority patent/JP4361212B2/en
Priority to AU19774/99A priority patent/AU1977499A/en
Priority to CA2317467A priority patent/CA2317467C/en
Priority to EP99900558A priority patent/EP1050154A1/en
Publication of WO1999037081A1 publication Critical patent/WO1999037081A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/42314Systems providing special services or facilities to subscribers in private branch exchanges
    • H04M3/42323PBX's with CTI arrangements

Definitions

  • the present invention relates to a communication system, and in particular to a computer telephony interface (CTI) for use in such a system.
  • CTI computer telephony interface
  • a computer telephony interface including concurrent first party call components and third party call components.
  • a computer telephony interface is a control interface used on a computer which implements or controls one or more nodes in a communications network
  • Microsoft's TAPI telephony application programmer's interface
  • NetMeeting NetMeeting
  • Such a control interface is known as a "first party call component" since it models and controls a call from the point of view of one of the parties involved in a connection.
  • a call may be modelled and controlled from a platform which is not either an originating or a destination node in the call.
  • calls using the H323 protocol may be made via a computer platform which is dedicated to a call switching function and which is termed a "virtual switch"(sometimes also termed a "gatekeeper") .
  • a virtual switch may have a control interface constructed using, for example the Java telephony application programmers interface (JTAPI).
  • JTAPI Java telephony application programmers interface
  • This is an example of a third party call component, since the control of the call is based on a view of the call which is not that of either the originating or the destination party.
  • the invention provides for the first time a control interface which uses concurrently both first party call components and third party call components.
  • Conventional PBX and public networks have been controlled from either the first or third party.
  • network functionality is distributed across many components, the ability given by the present invention to control more than one node or switch makes possible control and use of the full functionality of a computer implemented/computer-controlled communications network.
  • a computer telephony interface including a plurality of concurrent call components for a plurality of different respective network nodes active in a call.
  • the plurality of concurrent call components include first party call components and third party call components.
  • one of the said call components is arranged to control a network resource operating a multi-call communications protocol.
  • the limitations of conventional computer telephony interfaces are particularly marked when used to control devices implementing a multi-call protocol.
  • a multi-call protocol is one which allows a respective network node to engage in more than one call at a time.
  • An example of such a multi-call protocol is H.323 used in Microsoft's Net Meeting and in other audio/visual conferencing applications.
  • the different call components are sub-classes of a single call component parent class.
  • a telephony server for connection in a telecommunication system and including a computer telephony interface according to any one of the preceding aspects.
  • a communications system including a computer controlling a plurality of different network resources, in which the computer includes a computer telephony interface in accordance with any one of the preceding aspects of the invention.
  • a method of operating a computing system connected to a communications network comprising: a) selecting one or more of a plurality of call components comprising both first party call components and third party call components; b) incorporating the or each selected call component in a call model running on the computing system c) controlling via the said call model network resources corresponding to the or each selected call component, and thereby establishing a call in the said communications network.
  • the invention also encompasses methods of operating a network, or operating network nodes, using the computer telephony interface of the previous aspects. DESCRIPTION OF THE DRAWINGS Systems embodying the invention will now be described in further detail, by way of example only, with reference to the accompanying drawings:
  • Figures 1 A and 1 B are schematics showing prior art communications systems
  • Figure 2 is a schematic showing a communications system embodying the present invention
  • Figure 3 is a schematic showing a network implementing the system of Figure 2;
  • Figure 4 is a schematic showing components of a PC Node in the network of Figure 3;
  • Figure 5 is a diagram showing schematically the communications link between a telephony server and a PC communications client.
  • Figure 6 is an object diagram showing a computer telephony interface implementing the present invention
  • Figure 7 is a diagram showing a further example of a system embodying the invention. DESCRIPTION OF EXAMPLES
  • Figure 1 A shows a personal computer 10 having a connection 1 1 to a communications network which may be, for example, a corporate Intranet.
  • a communications network which may be, for example, a corporate Intranet.
  • the communications client running on the PC is Microsoft's "NetMeeting”.
  • Microsoft's telephony application programmers interface (TAPI) 1 2 is used to control the NetMeeting client 1 3.
  • the TAPI interface may in turn be controlled by a higher level application programme, such as, for example, a personal information manager application which might use TAPI and NM to initiate a call to a destination number read from an address book.
  • the TAPI interface in this example models and controls the operation of the NM client from the point of view of an originating node in a call.
  • FIG. 1 B shows a communications system developed by BT for use in telemarketing call centres and known as "Melody".
  • PC nodes 14, 1 5 are connected via a data network (using for example ethernet) to a computer 1 6 which functions as a virtual switch.
  • the personal computers 14, 1 5 use Internet phone clients for communication with each other via the switch 1 6. They also communicate with a call centre application 17 running on a telephony server.
  • the call centre application controls the virtual switch 1 6 using a computer telephony interface constructed Sun's Java telephony application programmers interface (JTAPI) 1 8.
  • JTAPI Java telephony application programmers interface
  • Figure 1 B shows a system embodying the present invention.
  • the interface 21 which may again be a call centre application used, for example, to distribute calls between agents in a telemarketing call centre, controls network resources via a computer telephony interface 22.
  • This interface may again be constructed using Sun's JTAPI.
  • the interface is not limited to using a single call component such as a third party call component dedicated to operating a virtual switch, but instead can operate concurrently a number of different call components including, a first party call component 26 modelling the call from the view of node A, a third party call control component 27 modelling the view of the call from the virtual switch 24 and another first party call control component 28 modelling the call from the viewpoint of the other node B.
  • the interface 22 fully captures and allows efficient control of all the capabilities of the network.
  • the network in this example includes in addition to an originating node 23 which may be a first PC running an NM client, a virtual switch 24 and another PC node 25 running NM a third node 29 corresponding to a third PC C again running a NetMeeting client.
  • the third node 29 is present in the call component derived from the third party view of the virtual switch 24 but not present in the call components of the end nodes 23, 25.
  • FIG. 3 shows in outline a network suitable for use in implementing the invention. This is termed by the inventors a 2 + 10 network.
  • a virtual switch 31 using NetMeeting and the H323 protocol in connected via a local area network to a number (for example 10) of personal computer 32. It is also connected via the LAN to a telephony gateway 33.
  • the virtual switch 31 may be a UNIX workstation while the Gateway 33 may be a workstation running Windows NT.
  • the Gateway 33 is connected via two exchange lines 34, 35 to the public switch telephony network 36.
  • the exchange lines may be, for example, ISDN lines.
  • the virtual switch 31 is also connected to an Intranet 37 and to the Internet 38.
  • FIG 4 shows in further detail the components on one of the PCs in the network of Figure 3.
  • a first party call component 41 controls the telecommunications functions of the PC via the NetMeeting SDK (software developers kit) 42 and the NetMeeting applications window 43.
  • the control interface 44 includes a conference object and address objects for nodes A and B.
  • the interface communicates primitives with the NetMeeting H323 client 45.
  • a telephony server includes a NetMeeting call component 51 and a call component factory 52 which communicates via a link 53 which may be a CORBA interface or a sockets interface with a PC.
  • the PC includes a communications application 54 running above the NetMeeting SDK which in turn controls the NetMeeting client 56.
  • Figure 6 is a class diagram for a computer telephony interface implementing the invention. This diagram is generated using the rational ROSE tool, and may be used to generate code fragments using that tool.
  • the interface includes a call component class 61 which has child classes including a NetMeeting call component 62 and a virtual switch call component 63.
  • the NetMeeting call component is a first party call component while the virtual switch call component is a third party call component.
  • the generation of instances of the call component 61 is managed by the call component class factory 64.
  • the call component factory 64 has subclasses including a NetMeeting call component factory 641 which generates instances of the NetMeeting call component 62, and a virtual switch call component factory 642 which generates instances of the virtual switch call component 63.
  • a call and conference management system is constructed using Java and JTAPI.
  • the system provides H.323 IP (Internet Protocol) video/voice and data call capabilities.
  • the system uses thin clients to support net-centric applications including call centre management, conference calls, directory systems and management applications.
  • the system uses concurrently 1 st party, 3rd party and "nth" party call components to manage calls across multiple nodes and multiple domains.
  • each node within a call or conference is modelled as a call component (CC) within a virtual node.
  • the nodes may be physically embodied, e.g., as H.323 clients, TAPI cards, network gatekeepers or gateways, or PBX switches.
  • Each call component is linked back to a single CTI Java Call Model (JCM).
  • JCM Java Call Model
  • many call components including in general both first party and third party call components, are linked back to a single Java Call Model.
  • the list of call components within a Java Call Model is built up dynamically as a call is routed through the system. Provision is made for the JCM to have knowledge of default call components prior to a call or conference being created.
  • the simplest call component is a client call component, corresponding, e.g. to a TAPI card or an H.323 client.
  • a client call component is the primary and default call component.
  • the Java Call Model used for simple calls may be the Java.
  • a two party or three party call may be established using, e.g., a number of H.323 client call components.
  • a call component corresponding to an MCU conference bridge with media mixing capabilities it is prefered to select a call component corresponding to an MCU conference bridge with media mixing capabilities.
  • H.323 in itself is not capable of emulating the functionality of a PBX, this limitation may be overcome by using H.323 virtual switch (VS) also known as gatekeeper technology.
  • VS virtual switch
  • This approach allows calls to be modelled with originating and terminating legs. To transfer a call one of the legs is removed and a new one set up to another client.
  • the present system includes a virtual switch call component (VSCC) to model such a virtual switch. When a java.callcontrol call is requested, the system selects a VSCC by default.
  • VSCC virtual switch call component
  • additional call components may be added dynamically to a Java Call Model during call set up.
  • the system shown in Figure 7 is split into two layers.
  • the JTAPI layer is responsible for presenting simplified views of a call or conference and for integrating the views with routing requests.
  • the call component layer is responsible for modelling a call through a virtual switch and for associating call components with JTAPI calls.
  • the JTAPI layer performs as normal from the perspective of an application making use of the JTAPI layer.
  • the JTAPI layer is designed as a single provider system and presents a single API to a range of multimedia and CTI systems.
  • the JTAPI packages modelled within the JTAPI layer are core, call control, and ca //centre
  • the JTAPI Call class is able to access at least one call component prior to making a call. That call component is, as discussed previously, the default or primary call component.
  • the JTAPI layer models a corresponding call component and appends the call component to a JTAPI call.
  • the JTAPI call continues to model the overall state of a call as other associated call components become active within the system domain and are appended to the call.
  • the JTAPI call class when requested to do so by the JTAPI application, interrogates call components to request further options such as call transfers, conferences and gateways. When number translation occurs across gateways, the JTAPI Call models the correct connection state. Finally, when the call ends, the JTAPI call class removes inactive call components and becomes itself inactive.
  • call components are arranged to present consistent behaviour, events and properties to the JTAPI call model.
  • the behaviour of the call components offers a range of call control capabilities from connecting address A to address B, to conferencing A,B,C, and D, or routing an incoming call to B.
  • the system is designed to allow all components of a call to be modelled by a single JTAPI call model.
  • the Java call model interrogates call components to discover which call components supports a certain function. Table 1 below lists call component capabilities.
  • the call components have the following states: idle, active and inactive. Idle represents the state before call component connections are added, active occurs during the call whilst there is one or more call component connections, and inactive is the state entered when the call component connections have become disconnected.
  • CCconnection for each call component in the active state there will be at least one CCconnection and associated CCAddress. This models the behaviour of the JTAPI call model.
  • the state set of CCConnection includes Idle, alerting, ringing, connected.
  • the state set may be extended to include Automatic Call Distribution, queues and IVR states.
  • CCAddress this models the behaviour of the Address and has the ability to represent IP Addresses.
  • Two subclasses of this class are NetMeeting User and Virtual Switch User.
  • the JTAPI concepts of Terminal and Terminal Connection are not used.
  • Call Component Class Factory this is a special class for creating calls for a specific node type.
  • a JCM has access to a number of 3CFs before connections are made, representing the capabilities of the CC created by that mechanism. Once the CC is created, the 3CF is no longer consulted by the JCM. Capability enumeration occurs through direct interaction with the CCs. 3CFs are defined for NetMeeting CC and Virtual Switch CC.
  • Call Component Manager this exists to capture calls that are presented via a control node only, i.e. calls not created from the JTAPI layer. For example, when a call centre enters the domain from another network, or an existing call is routed through a control node, a new CC is created by the CCM. Subsequently, the CCM interrogates the JTAPI call registry to determine whether a JTAPI call exists. If a JCM exists, then the newly created CC is appended to the JCM. If not, then a new JCM is created and the CC is appended.
  • the CCM may be enhanced to allow filters to be added to monitor nodes in other domains. This permits a remote CCM to monitor for certain types of calls and addresses.
  • JCM's it may be necessary for JCM's to exist in two domains, for example so that a call that originates in a site in Singapore is transferred to Hong Kong. Both sites retain an interest in the model of the call in case the call is transferred back, so each has a call model with remote capabilities.
  • JTAPI Call Registry this is used to register all active calls within a domain.
  • the class may be implemented as an enhancement to the JTAPI provider class.
  • the call registry is important in that it is used to determine whether CC created via a CCM should be associated with a new JCM (Java Call Model) or with an existing JCM. Table 1

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

A computer telephony interface includes both first party and third party call components.

Description

COMMUNICATIONS SYSTEM
The present invention relates to a communication system, and in particular to a computer telephony interface (CTI) for use in such a system. SUMMARY OF THE INVENTION
According to a first aspect of the present invention there is provided a computer telephony interface (CTI) including concurrent first party call components and third party call components.
A computer telephony interface is a control interface used on a computer which implements or controls one or more nodes in a communications network, For example, Microsoft's TAPI (telephony application programmer's interface) might be used in conjunction with a program such as NetMeeting (TRADEMARK) to control a PC used for audio/visual communication with other PCs connected, e.g., to an Intranet. Such a control interface is known as a "first party call component" since it models and controls a call from the point of view of one of the parties involved in a connection. Alternatively, a call may be modelled and controlled from a platform which is not either an originating or a destination node in the call. For example, calls using the H323 protocol may be made via a computer platform which is dedicated to a call switching function and which is termed a "virtual switch"(sometimes also termed a "gatekeeper") . Such a virtual switch may have a control interface constructed using, for example the Java telephony application programmers interface (JTAPI). This is an example of a third party call component, since the control of the call is based on a view of the call which is not that of either the originating or the destination party. The invention provides for the first time a control interface which uses concurrently both first party call components and third party call components. Conventional PBX and public networks have been controlled from either the first or third party. However since network functionality is distributed across many components, the ability given by the present invention to control more than one node or switch makes possible control and use of the full functionality of a computer implemented/computer-controlled communications network.
According to a second aspect of the present invention there is provided a computer telephony interface including a plurality of concurrent call components for a plurality of different respective network nodes active in a call. Preferably the plurality of concurrent call components include first party call components and third party call components.
Preferably one of the said call components is arranged to control a network resource operating a multi-call communications protocol. The limitations of conventional computer telephony interfaces are particularly marked when used to control devices implementing a multi-call protocol. A multi-call protocol is one which allows a respective network node to engage in more than one call at a time. An example of such a multi-call protocol is H.323 used in Microsoft's Net Meeting and in other audio/visual conferencing applications.
Preferably the different call components are sub-classes of a single call component parent class.
According to another aspect of the invention, there is provided a telephony server for connection in a telecommunication system and including a computer telephony interface according to any one of the preceding aspects.
According to a further aspect of the invention there is provided a communications system including a computer controlling a plurality of different network resources, in which the computer includes a computer telephony interface in accordance with any one of the preceding aspects of the invention. According to another aspect of the present invention, there is provided a method of operating a computing system connected to a communications network, the method comprising: a) selecting one or more of a plurality of call components comprising both first party call components and third party call components; b) incorporating the or each selected call component in a call model running on the computing system c) controlling via the said call model network resources corresponding to the or each selected call component, and thereby establishing a call in the said communications network. The invention also encompasses methods of operating a network, or operating network nodes, using the computer telephony interface of the previous aspects. DESCRIPTION OF THE DRAWINGS Systems embodying the invention will now be described in further detail, by way of example only, with reference to the accompanying drawings:
Figures 1 A and 1 B are schematics showing prior art communications systems; Figure 2 is a schematic showing a communications system embodying the present invention;
Figure 3 is a schematic showing a network implementing the system of Figure 2;
Figure 4 is a schematic showing components of a PC Node in the network of Figure 3;
Figure 5 is a diagram showing schematically the communications link between a telephony server and a PC communications client; and
Figure 6 is an object diagram showing a computer telephony interface implementing the present invention; Figure 7 is a diagram showing a further example of a system embodying the invention. DESCRIPTION OF EXAMPLES
Figure 1 A shows a personal computer 10 having a connection 1 1 to a communications network which may be, for example, a corporate Intranet. In this prior art example, the communications client running on the PC is Microsoft's "NetMeeting". Microsoft's telephony application programmers interface (TAPI) 1 2 is used to control the NetMeeting client 1 3. The TAPI interface may in turn be controlled by a higher level application programme, such as, for example, a personal information manager application which might use TAPI and NM to initiate a call to a destination number read from an address book. The TAPI interface in this example models and controls the operation of the NM client from the point of view of an originating node in a call. It has only a limited view of the network and of other nodes, based on returned information from the network. The TAPI interface to the NM client constitutes in this example a first party call component. Figure 1 B shows a communications system developed by BT for use in telemarketing call centres and known as "Melody". PC nodes 14, 1 5 are connected via a data network (using for example ethernet) to a computer 1 6 which functions as a virtual switch. The personal computers 14, 1 5 use Internet phone clients for communication with each other via the switch 1 6. They also communicate with a call centre application 17 running on a telephony server. The call centre application controls the virtual switch 1 6 using a computer telephony interface constructed Sun's Java telephony application programmers interface (JTAPI) 1 8. The JTAPI interface is dedicated to controlling the virtual switch 1 6 and so constitutes a third party call component.
The system shown in Figure 1 B is described and claimed in the present applicant's co-pending international patent application number PCT/GB97/01 884 "Processing Device Network" filed 1 1 July 1 997. The contents of this earlier application are incorporated herein by reference. Figure 2 shows a system embodying the present invention. Application
21 , which may again be a call centre application used, for example, to distribute calls between agents in a telemarketing call centre, controls network resources via a computer telephony interface 22. This interface may again be constructed using Sun's JTAPI. However, by contrast with the prior art system, the interface is not limited to using a single call component such as a third party call component dedicated to operating a virtual switch, but instead can operate concurrently a number of different call components including, a first party call component 26 modelling the call from the view of node A, a third party call control component 27 modelling the view of the call from the virtual switch 24 and another first party call control component 28 modelling the call from the viewpoint of the other node B. In this way, the interface 22 fully captures and allows efficient control of all the capabilities of the network. The network in this example includes in addition to an originating node 23 which may be a first PC running an NM client, a virtual switch 24 and another PC node 25 running NM a third node 29 corresponding to a third PC C again running a NetMeeting client. As shown in the diagram, the third node 29 is present in the call component derived from the third party view of the virtual switch 24 but not present in the call components of the end nodes 23, 25.
Figure 3 shows in outline a network suitable for use in implementing the invention. This is termed by the inventors a 2 + 10 network. A virtual switch 31 using NetMeeting and the H323 protocol in connected via a local area network to a number (for example 10) of personal computer 32. It is also connected via the LAN to a telephony gateway 33. The virtual switch 31 may be a UNIX workstation while the Gateway 33 may be a workstation running Windows NT. The Gateway 33 is connected via two exchange lines 34, 35 to the public switch telephony network 36. The exchange lines may be, for example, ISDN lines. The virtual switch 31 , is also connected to an Intranet 37 and to the Internet 38.
Figure 4 shows in further detail the components on one of the PCs in the network of Figure 3. A first party call component 41 controls the telecommunications functions of the PC via the NetMeeting SDK (software developers kit) 42 and the NetMeeting applications window 43. The control interface 44 includes a conference object and address objects for nodes A and B. The interface communicates primitives with the NetMeeting H323 client 45. As shown in Figure 5, there is a high level communication between different call components. In this example a telephony server includes a NetMeeting call component 51 and a call component factory 52 which communicates via a link 53 which may be a CORBA interface or a sockets interface with a PC. The PC includes a communications application 54 running above the NetMeeting SDK which in turn controls the NetMeeting client 56. Figure 6 is a class diagram for a computer telephony interface implementing the invention. This diagram is generated using the rational ROSE tool, and may be used to generate code fragments using that tool. The interface includes a call component class 61 which has child classes including a NetMeeting call component 62 and a virtual switch call component 63. The NetMeeting call component is a first party call component while the virtual switch call component is a third party call component. The generation of instances of the call component 61 is managed by the call component class factory 64. The call component factory 64 has subclasses including a NetMeeting call component factory 641 which generates instances of the NetMeeting call component 62, and a virtual switch call component factory 642 which generates instances of the virtual switch call component 63.
In a preferred implementation, a call and conference management system, shown in Figure 7, is constructed using Java and JTAPI. The system provides H.323 IP (Internet Protocol) video/voice and data call capabilities. The system uses thin clients to support net-centric applications including call centre management, conference calls, directory systems and management applications. The system uses concurrently 1 st party, 3rd party and "nth" party call components to manage calls across multiple nodes and multiple domains. In operation, each node within a call or conference is modelled as a call component (CC) within a virtual node. The nodes may be physically embodied, e.g., as H.323 clients, TAPI cards, network gatekeepers or gateways, or PBX switches. Each call component is linked back to a single CTI Java Call Model (JCM). Thus during a call across multiple virtual nodes, many call components, including in general both first party and third party call components, are linked back to a single Java Call Model. The list of call components within a Java Call Model is built up dynamically as a call is routed through the system. Provision is made for the JCM to have knowledge of default call components prior to a call or conference being created. For example, the simplest call component is a client call component, corresponding, e.g. to a TAPI card or an H.323 client. For most simple calls, but not in the case of call centre or call routing operations, a client call component is the primary and default call component. The Java Call Model used for simple calls may be the Java. core package. A two party or three party call may be established using, e.g., a number of H.323 client call components. However, to handle large conferences, it is prefered to select a call component corresponding to an MCU conference bridge with media mixing capabilities.
Although H.323 in itself is not capable of emulating the functionality of a PBX, this limitation may be overcome by using H.323 virtual switch (VS) also known as gatekeeper technology. This approach allows calls to be modelled with originating and terminating legs. To transfer a call one of the legs is removed and a new one set up to another client. The present system includes a virtual switch call component (VSCC) to model such a virtual switch. When a java.callcontrol call is requested, the system selects a VSCC by default.
In addition to the use of default or primary call components as described above, additional call components may be added dynamically to a Java Call Model during call set up.
The system shown in Figure 7 is split into two layers. The JTAPI layer is responsible for presenting simplified views of a call or conference and for integrating the views with routing requests. The call component layer is responsible for modelling a call through a virtual switch and for associating call components with JTAPI calls. These two layers will now be described in further detail.
The JTAPI layer performs as normal from the perspective of an application making use of the JTAPI layer. In this example the JTAPI layer is designed as a single provider system and presents a single API to a range of multimedia and CTI systems. The JTAPI packages modelled within the JTAPI layer are core, call control, and ca //centre
The JTAPI Call class is able to access at least one call component prior to making a call. That call component is, as discussed previously, the default or primary call component. When an external call enters the system, the JTAPI layer models a corresponding call component and appends the call component to a JTAPI call. The JTAPI call continues to model the overall state of a call as other associated call components become active within the system domain and are appended to the call. In a stable state, the JTAPI call class, when requested to do so by the JTAPI application, interrogates call components to request further options such as call transfers, conferences and gateways. When number translation occurs across gateways, the JTAPI Call models the correct connection state. Finally, when the call ends, the JTAPI call class removes inactive call components and becomes itself inactive.
In the Call Component Layer, call components are arranged to present consistent behaviour, events and properties to the JTAPI call model. The behaviour of the call components offers a range of call control capabilities from connecting address A to address B, to conferencing A,B,C, and D, or routing an incoming call to B. As previously described, the system is designed to allow all components of a call to be modelled by a single JTAPI call model. The Java call model interrogates call components to discover which call components supports a certain function. Table 1 below lists call component capabilities.
The call components have the following states: idle, active and inactive. Idle represents the state before call component connections are added, active occurs during the call whilst there is one or more call component connections, and inactive is the state entered when the call component connections have become disconnected.
In addition to the principle objects and classes described above, a number of ancillary classes are used in the preferred implementation.
CCconnection: for each call component in the active state there will be at least one CCconnection and associated CCAddress. This models the behaviour of the JTAPI call model. The state set of CCConnection includes Idle, alerting, ringing, connected. The state set may be extended to include Automatic Call Distribution, queues and IVR states.
CCAddress: this models the behaviour of the Address and has the ability to represent IP Addresses. Two subclasses of this class are NetMeeting User and Virtual Switch User. The JTAPI concepts of Terminal and Terminal Connection are not used.
Call Component Class Factory (3CF): this is a special class for creating calls for a specific node type. A JCM has access to a number of 3CFs before connections are made, representing the capabilities of the CC created by that mechanism. Once the CC is created, the 3CF is no longer consulted by the JCM. Capability enumeration occurs through direct interaction with the CCs. 3CFs are defined for NetMeeting CC and Virtual Switch CC.
Call Component Manager: this exists to capture calls that are presented via a control node only, i.e. calls not created from the JTAPI layer. For example, when a call centre enters the domain from another network, or an existing call is routed through a control node, a new CC is created by the CCM. Subsequently, the CCM interrogates the JTAPI call registry to determine whether a JTAPI call exists. If a JCM exists, then the newly created CC is appended to the JCM. If not, then a new JCM is created and the CC is appended. The CCM may be enhanced to allow filters to be added to monitor nodes in other domains. This permits a remote CCM to monitor for certain types of calls and addresses. For example, it may be necessary for JCM's to exist in two domains, for example so that a call that originates in a site in Singapore is transferred to Hong Kong. Both sites retain an interest in the model of the call in case the call is transferred back, so each has a call model with remote capabilities.
JTAPI Call Registry: this is used to register all active calls within a domain. The class may be implemented as an enhancement to the JTAPI provider class. The call registry is important in that it is used to determine whether CC created via a CCM should be associated with a new JCM (Java Call Model) or with an existing JCM. Table 1
Figure imgf000011_0001

Claims

I . A computer telephony interface (CTI) including concurrent first party call components and third party call components.
2. A computer telephony interface including a plurality of concurrent call components for a plurality of different respective network nodes active in a call.
3. A method of operating a computing system connected to a communications network, the method comprising: a) selecting one or more of a plurality of call components comprising both first party call components and third party call components; b) incorporating the or each selected call component in a call model running on the computing system c) controlling via the said call model network resources corresponding to the or each selected call component, and thereby establishing a call in the said communications network.
4. A computer telephony interface according to claim 2, in which the plurality of concurrent call components include first party call components and third party call components.
5. An interface or method according to any one of claims 1 to 4, in which one of the said call components is arranged to control a network resource operating a multi-call communications protocol.
6. An interface or method according to claim 5, in which the multi-call communications protocol is H.323.
7. An interface or method according to any one of claims 1 to 6, in which the different call components are sub-classes of a single call component parent class.
8. A telephony server for connection in a telecommunications system and including a computer telephony interface according to any one of claims 1 to 7.
9. A communications system including a computer controlling a plurality of different network resources, in which the computer includes a computer telephony interface according to any one of claims 1 to 7.
10. A computer telephony interface substantially as described with respect to the accompanying drawings.
I I . A telephony server substantially as described with respect to the accompanying drawings.
1 2. A communications system substantially as described with respect to the accompanying drawings.
1 3. A method of operating a communications system including controlling network nodes via a computer telephony interface according to any one of claims 1 to 7.
14. A method of operating a computer telephony interface according to any one of claims 1 and 2 and 4 to 8, including concurrently controlling first party call components and third party call components.
1 5. A method of operating a computer telephony interface according to any one of claims 1 and 2 and 4 to 8, including concurrently controlling call components for a plurality of different respective network nodes active in a call.
1 6. A machine-readable medium carrying software adapted to implement a computer telephony interface or method according to any one of the preceding claims.
PCT/GB1999/000058 1998-01-14 1999-01-08 Communications system WO1999037081A1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
US09/581,643 US6785375B1 (en) 1998-01-14 1999-01-08 Communications system
JP2000540666A JP4361212B2 (en) 1998-01-14 1999-01-08 Communications system
AU19774/99A AU1977499A (en) 1998-01-14 1999-01-08 Communications system
CA2317467A CA2317467C (en) 1998-01-14 1999-01-08 Communications system
EP99900558A EP1050154A1 (en) 1998-01-14 1999-01-08 Communications system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB9800803.0 1998-01-14
GBGB9800803.0A GB9800803D0 (en) 1998-01-14 1998-01-14 Communications sytem

Publications (1)

Publication Number Publication Date
WO1999037081A1 true WO1999037081A1 (en) 1999-07-22

Family

ID=10825307

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB1999/000058 WO1999037081A1 (en) 1998-01-14 1999-01-08 Communications system

Country Status (7)

Country Link
US (1) US6785375B1 (en)
EP (1) EP1050154A1 (en)
JP (1) JP4361212B2 (en)
AU (1) AU1977499A (en)
CA (1) CA2317467C (en)
GB (1) GB9800803D0 (en)
WO (1) WO1999037081A1 (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031442B1 (en) 1997-02-10 2006-04-18 Genesys Telecommunications Laboratories, Inc. Methods and apparatus for personal routing in computer-simulated telephony
US6104802A (en) 1997-02-10 2000-08-15 Genesys Telecommunications Laboratories, Inc. In-band signaling for routing
US6480600B1 (en) 1997-02-10 2002-11-12 Genesys Telecommunications Laboratories, Inc. Call and data correspondence in a call-in center employing virtual restructuring for computer telephony integrated functionality
US6711611B2 (en) 1998-09-11 2004-03-23 Genesis Telecommunications Laboratories, Inc. Method and apparatus for data-linking a mobile knowledge worker to home communication-center infrastructure
US6985943B2 (en) 1998-09-11 2006-01-10 Genesys Telecommunications Laboratories, Inc. Method and apparatus for extended management of state and interaction of a remote knowledge worker from a contact center
US6201805B1 (en) 1997-10-21 2001-03-13 Dialogic Corporation Apparatus and method for computer telephone integration in packet switched telephone networks
USRE46528E1 (en) 1997-11-14 2017-08-29 Genesys Telecommunications Laboratories, Inc. Implementation of call-center outbound dialing capability at a telephony network level
US6985478B2 (en) * 1998-02-17 2006-01-10 Genesys Telecommunications Laboratories, Inc. Using XML expressed primitives for platform and system-independent call modeling
US7907598B2 (en) 1998-02-17 2011-03-15 Genesys Telecommunication Laboratories, Inc. Method for implementing and executing communication center routing strategies represented in extensible markup language
US6332154B2 (en) 1998-09-11 2001-12-18 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing media-independent self-help modules within a multimedia communication-center customer interface
USRE46153E1 (en) 1998-09-11 2016-09-20 Genesys Telecommunications Laboratories, Inc. Method and apparatus enabling voice-based management of state and interaction of a remote knowledge worker in a contact center environment
US7929978B2 (en) 1999-12-01 2011-04-19 Genesys Telecommunications Laboratories, Inc. Method and apparatus for providing enhanced communication capability for mobile devices on a virtual private network
DE10245562A1 (en) * 2002-09-30 2004-04-15 Siemens Ag Data communication system, computer, and data communication method for the parallel operation of standard-based and proprietary resources
JP4345334B2 (en) * 2003-03-28 2009-10-14 日本電気株式会社 Fault tolerant computer system, program parallel execution method and program
JP4013980B2 (en) * 2005-02-14 2007-11-28 株式会社日立製作所 IP communication system, communication control method and client terminal in IP network, and client server
US9008075B2 (en) 2005-12-22 2015-04-14 Genesys Telecommunications Laboratories, Inc. System and methods for improving interaction routing performance
KR20100121384A (en) * 2009-05-08 2010-11-17 삼성전자주식회사 System and method for providing service related to telephone to a plurality of devices using upnp in the home network

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0453128A2 (en) * 1990-04-12 1991-10-23 AT&T Corp. Multiple call control method in a multimedia conferencing system
EP0716533A2 (en) * 1994-12-07 1996-06-12 International Business Machines Corporation A gateway system and method
EP0805576A2 (en) * 1996-05-01 1997-11-05 Gpt Limited Multi-party communications
EP0817451A2 (en) * 1996-06-27 1998-01-07 AT&T Corp. Network-based on-demand multiparty multimedia call set up and directory service

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5546452A (en) * 1995-03-02 1996-08-13 Geotel Communications Corp. Communications system using a central controller to control at least one network and agent system
US6094479A (en) * 1997-05-06 2000-07-25 Telefonaktiebolaget Lm Ericsson Computer telephony integration gateway
US6011844A (en) * 1998-06-19 2000-01-04 Callnet Communications Point-of-presence call center management system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0453128A2 (en) * 1990-04-12 1991-10-23 AT&T Corp. Multiple call control method in a multimedia conferencing system
EP0716533A2 (en) * 1994-12-07 1996-06-12 International Business Machines Corporation A gateway system and method
EP0805576A2 (en) * 1996-05-01 1997-11-05 Gpt Limited Multi-party communications
EP0817451A2 (en) * 1996-06-27 1998-01-07 AT&T Corp. Network-based on-demand multiparty multimedia call set up and directory service

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DAVIS A W: "MICROSOFT'S NETMEETING 2.0: WHY DESKTOP VIDEOCONFERENCING'S RALLYING", ADVANCED IMAGING, 1 July 1997 (1997-07-01), pages 44, 46 - 48, XP000770947 *
PARKE I: "THE EVOLUTION OF CONFERENCING", BT TECHNOLOGY JOURNAL, vol. 15, no. 4, 1 October 1997 (1997-10-01), pages 19 - 25, XP000722030 *
THOM G A: "H. 323: THE MULTIMEDIA COMMUNICATIONS STANDARD FOR LOCAL AREA NETWORKS", IEEE COMMUNICATIONS MAGAZINE, vol. 34, no. 12, 1 December 1996 (1996-12-01), pages 52 - 56, XP000636454 *

Also Published As

Publication number Publication date
JP4361212B2 (en) 2009-11-11
AU1977499A (en) 1999-08-02
CA2317467C (en) 2010-10-26
US6785375B1 (en) 2004-08-31
GB9800803D0 (en) 1998-03-11
JP2002510172A (en) 2002-04-02
EP1050154A1 (en) 2000-11-08
CA2317467A1 (en) 1999-07-22

Similar Documents

Publication Publication Date Title
US7076048B2 (en) Agent-based multimedia communication system that supports web telephony call model
EP0963096B1 (en) Distributed call system
US6785375B1 (en) Communications system
US9553755B2 (en) Method for implementing and executing communication center routing strategies represented in extensible markup language
US6967957B2 (en) Architecture for the rapid creation of telephony services in a next generation network
US6584186B1 (en) Protecting communications network integrity
CA2399715C (en) Methods and systems for creating, distributing and executing multimedia telecommunications applications over circuit and packet switched networks
US7369540B1 (en) Programmable network convergence edge switch
US20010028649A1 (en) Using XML expressed primitives for platform and system-independent call modeling
US20020159439A1 (en) Dynamically downloading telecommunication call services
US20140211786A1 (en) Method and Apparatus for Creating and Distributing Cost Telephony-Switching Functionality within an IP Network
Gbaguidi et al. Integration of Internet and telecommunications: An architecture for hybrid services
US20040057464A1 (en) Generic Transport layer
Licciardi et al. An architecture for IN-Internet hybrid services
Tang et al. Advanced Service Architecture for H. 323 Internet Protocol Telephony
Anjum et al. ChaiTime: A system for rapid creation of portable next-generation telephony services using third-party software components
US6744773B1 (en) Method and apparatus for managing inter-domain addresses between a plurality of domains
Liu IP based VPN application server using Java
Tanaka et al. High performance platform for multiple OpenAPIs
Rigault et al. New signalling mechanisms for multi-provider and cross-network services
Bauer IP exchange systems—Redefining distributed communications in the enterprise
Eckardt et al. A TINA trial: interworking experience with the legacy telephone system
Falcarin et al. Call Control Component implementing converged Telephony-Internet networks
Pettersson Designing a Virtual PBX for mobile telephony: using PARLAY and JAIN Technology
Tang Mobile agent based advanced service architecture for H. 323 Internet protocol telephony.

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT UA UG US UZ VN YU ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09581643

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1999900558

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2317467

Country of ref document: CA

Ref country code: CA

Ref document number: 2317467

Kind code of ref document: A

Format of ref document f/p: F

NENP Non-entry into the national phase

Ref country code: KR

WWP Wipo information: published in national office

Ref document number: 1999900558

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642