WO2000069128A1 - System for building a telephony application - Google Patents

System for building a telephony application Download PDF

Info

Publication number
WO2000069128A1
WO2000069128A1 PCT/IL2000/000230 IL0000230W WO0069128A1 WO 2000069128 A1 WO2000069128 A1 WO 2000069128A1 IL 0000230 W IL0000230 W IL 0000230W WO 0069128 A1 WO0069128 A1 WO 0069128A1
Authority
WO
WIPO (PCT)
Prior art keywords
telephony
application
protocol
call
objects
Prior art date
Application number
PCT/IL2000/000230
Other languages
French (fr)
Inventor
Tomer Tankel
Shimon Yannay
Original Assignee
Tundo Communication And Telephony Ltd.
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 Tundo Communication And Telephony Ltd. filed Critical Tundo Communication And Telephony Ltd.
Priority to AU39860/00A priority Critical patent/AU3986000A/en
Publication of WO2000069128A1 publication Critical patent/WO2000069128A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1106Call signalling protocols; H.323 and related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • 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
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13003Constructional details of switching devices
    • 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/1309Apparatus individually associated with a subscriber line, line circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13196Connection circuit/link/trunk/junction, bridge, router, gateway
    • 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/13299Bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13389LAN, internet

Definitions

  • the present invention relates to telephony systems, and in particular to apparatus and methods for building applications for use in telephony systems.
  • Telephony systems are well known in the art. Telephony systems typically include telephony switches and other telephony devices. Typical prior art telephony switches which might be used on private premises, as opposed to being used as part of the public switched telephone network (PSTN), include switches available from Lucent
  • Telephony switches are generally used to provide telephony services to end units such as conventional telephones, the services typically including basic services such as call establishment, routing of calls to other switches or to the PSTN, and other well known services.
  • Telephony switches may provide services to telephony devices, which in turn control, receive commands from, and provide services to end units. Advanced services may also be included, as is well known in the art. Telephony switches typically operate according to a pre-defined protocol.
  • a prior art protocol which can be used in a telephony system including telephone switches is the H.323 v. 2 protocol of the International Telecommunications Union (ITU), published in 1998.
  • the application In order to provide an application having specific desirable behavior for use in a telephony device, the application must incorporate specific knowledge of the protocol used by the associated telephony switches. Typically, for a system designer or programmer to learn a telephony protocol and to incorporate such specific knowledge into an application is a time consuming and therefore an expensive task.
  • the present invention seeks to provide improved apparatus and . methods for building applications for use in telephony systems.
  • a framework for building telephony applications is provided, wherein an application built with the framework is insulated from the telephony protocol.
  • a system for building a telephony application for use with a telephony switch running a telephony protocol including an infrastructure module for communicating with the telephony switch running the telephony protocol, wherein an application built with the infrastructure module is insulated from the telephony protocol.
  • the telephony protocol includes H.323.
  • the infrastructure module includes a plurality of objects.
  • each of the plurality of objects is implemented in a programming language.
  • the programming language includes an object-oriented programming language.
  • the object-oriented programming language includes C++.
  • the plurality of objects includes the following: an application object, a terminal object, at least one channel object, at least one call object, at least one device object, and at least one media session object.
  • the plurality of objects also includes at least one of the following: a protocol call object, and a states object.
  • a method for building a telephony application for use with a telephony switch running a telephony protocol including providing an infrastructure module for communicating with the telephony switch running the telephony protocol, wherein an application built with the infrastructure module is insulated from the telephony protocol, and building an application using the infrastructure module.
  • an application produced by the method is also provided.
  • Fig. 1 is a simplified pictorial illustration of a telephony system including an application built with a system for building telephony applications constructed and operative in accordance with a preferred embodiment of the present invention
  • Fig. 2 is a simplified pictorial illustration of a preferred embodiment of a portion of the system of Fig. 1.
  • FIG. 1 is a simplified pictorial illustration of a telephony system including an application built with a system for building telephony applications constructed and operative in accordance with a preferred embodiment of the present invention.
  • the system of Fig. 1 preferably comprises one or more telephony switches 100, two telephony switches 100 being shown in Fig. 1 by way of example only.
  • telephony switches 100 may be provided. Furthermore, it is appreciated that, alternatively, only one telephony switch 100 may be provided.
  • the system of Fig. 1 also preferably comprises a data network 130, which may comprise any appropriate data network as is well known in the art, such as, for example, a LAN or a WAN.
  • a data network 130 may comprise any appropriate data network as is well known in the art, such as, for example, a LAN or a WAN.
  • the system of Fig. 1 also preferably comprises a plurality of telephony devices 140, each of which may be similar to any appropriate prior art telephony device except as described below.
  • At least one of the telephony devices 140 comprises an application 143 built on a framework 146, the framework 146 typically comprising a system for building telephony applications.
  • the framework 146 is designed to insulate the application 143 from knowledge of a protocol used in any of the switches 100. Protocols used in telephony switches are well-known in the art, and an example of a suitable protocol is the H.323 protocol referred to above. A preferred implementation of the framework 146 is described in more detail below with reference to Fig. 2.
  • Each of the telephony devices 140 is preferably operatively associated with a plurality of end units 150 such as conventional telephones or other communication devices. It is appreciated that a wide variety of appropriate telephony devices 140 and end units 150, including telephony devices and end units which are well known in the art, may be used. It is further appreciated that other types of telephony device 140, including devices associated only with a single end unit or themselves comprising an end unit, may be used. P TtILOO/00230
  • the system of Fig. 1 also preferably comprises a gateway 155, typically comprising any appropriate gateway, as is well known in the art, operative to connect the remainder of the system of Fig. 1 to the public switched telephone network (PSTN) 160 or to another outside telephone network.
  • PSTN public switched telephone network
  • the application 143 provides application services, as are well-known in the art, to one or more end units 150. Without limiting the generality of the foregoing, typical application services include call origination, call termination, hold, call waiting, conference calling, and other appropriate services, typically including services known in the prior art.
  • the framework 146 is operative to allow the application 143 to provide application services without the application 143 needing to be aware of details of any protocol used by one or more of the switches 100; allowing operation without needing to be aware of details of a protocol is also termed herein "insulating" from the protocol.
  • Fig. 2 is a simplified pictorial illustration of a preferred embodiment of a portion of the system of Fig. 1. Fig.
  • FIG. 2 depicts class relationships between the application 143 of Fig. 1, depicted in Fig. 2 as an application object 170, and various objects which may be comprised in the framework 146 of Fig. 1.
  • the concept of objects and relationships is well known, particularly in object oriented programming languages such as C++; it is appreciated that the subsystem of Fig. 2 may be implemented in an appropriate object oriented language such as C++, combined with appropriate hardware.
  • the subsystem of Fig. 2 could be implemented in an appropriate object oriented language such as C++, based on Fig. 2 and the description thereof.
  • the objects and relationships depicted in Fig. 2 make it possible for an application to be insulated from an underlying protocol on a switch. It is appreciated that the subsystem of Fig. 2 alone comprises an alternative preferred embodiment of the present invention, and that the subsystem of Fig. 2 without the application class 170 comprises a further alternative preferred embodiment of the present invention.
  • the subsystem of Fig. 2 preferably comprises the following:
  • the application object 170 which preferably implements all behavior required by a telephony application, such as telephony application for the H.323 protocol, including such well known behaviors as initiating a stack protocol, allocating channels, and other well known behaviors.
  • a terminal object 180 which is preferably responsible for protocol based communication, such as H.323 communication, with a switch and for the management of call objects, as described below Typically, one terminal object 180 is present for each application object 170.
  • the terminal object 180 is preferably responsible for Registration, Admission, Status (RAS) messaging, which is well known in H.323.
  • One or more channel objects 190 One or more channel objects 190. Each channel object 190 represents a "line" in the system, in analogy to a physical telephone line in pre-modern telephone systems.
  • Each line is preferably operative to have up to several calls comprising one active call and several waiting or on-hold calls.
  • the channel provides an interface between a call object 200, described below, and a device object 210, also described below.
  • the application object 170 is responsible for allocating the channel objects 190 in accordance with the number of "lines" supported in the system.
  • each state object 195 preferably representing the current state of a channel object 190.
  • each state object 195 handles events as they occur in accordance with event type, thus reducing processing load on the associated channel object 190.
  • Typical events handled by the state object 195 include call termination, DTMF, and call alert, as well as any other appropriate events.
  • One or more call objects 200 typically including at least one base call object 202 and at least one associated protocol call object such as, for example, an H.323 call object 204.
  • the base call object 202 typically represents a call to a channel object 190, and preferably acts as an intermediary to broker transactions between a channel object
  • the H.323 call object 204 is preferably responsible for the protocol-based communications, such as H.323 communications, with the switch regarding call events.
  • the H.323 call object 204 typically communicates with the switch after a call has been established.
  • One or more device objects 210, each device object 210 preferably being created by a channel object 190 and representing input/output (I/O) to an actual end unit device where calls are terminated. Examples of an actual device include: a telephone set; a head set; a PC phone; or any other appropriate end unit device.
  • Each media session object 220 representing resources allocated for exchanging media over the telephony network.
  • the term "media session” is used herein to designate a session in which audio packets are exchanged.
  • the media session object 220 is preferably used by the call object 200 to track resources allocated to a media session.
  • Each media session object 220 is preferably allocated on one of the following bases: by the associated channel object 190 once for every call; for every active call; or once per associated channel object 190 and then re-assigned for the active call when a new call occurs.
  • events originated by a device object 210 are generally propagated to an associated channel object 190, and then to a base call object 202 and an H.323 call object 204; events originating on the other side of the call are generally propagated in the reverse direction.
  • the propagation of events is indicated in Fig. 2 by arrows between the elements named in the preceding sentence.
  • Other arrows between elements of the subsystem of Fig. 2 indicate object relationships, where one object invokes methods of another object in order to perform actions or receive stored information, as is well known in the art.
  • the operation of the subsystem of Fig. 2 is now briefly described.
  • the application object 170 preferably creates the terminal object 180 and invokes the terminal object 180, which in turn initializes H.323 communications.
  • the application object 170 then preferably creates channel objects 190, preferably one channel object 190 for each line associated with the application object 170.
  • the channel object 190 in turn preferably creates one or more device objects 210, and stores pointers to the device objects 210 so created, each device object being preferably associated, as described above, with an I/O device where calls are terminated.
  • the channel object 190 in turn preferably creates a media session object 220, preferably as described above.
  • the channel object 190 communicates with the media session object 220 via the base call object 202.
  • the associated channel object 190 preferably informs the terminal object 180, typically by invoking an appropriate method such as a CreateCall method.
  • the terminal object 180 preferably creates a new base call object 202 and a new H.323 call object 204
  • the terminal object 180 uses the call objects 200 to send H.323 messages to the switch in order to actually establish the call.
  • a message relating to establishing a call is received by the H.323 call object 204, which message does not require notifying the channel 190, such a message is handled by one of the call objects 200, such as the base call object 202 or the H.323 call object 204
  • Examples of messages not requiring notification of the channel 190 include call transfer requests, admission messages typically comprising H.323 messages to the switch requesting approval of call establishment, and other similar messages or events
  • messages or events which are received by the H.323 call object 204 and which need to be propagated to the associated channel 190 or device 210 are sent to the appropriate destination via the base call object 202.
  • messages which do need to be propagated include call termination messages, DTMF tones, and other similar messages
  • one or more of the media session objects 220 is used to allocate resources for media exchange, that is, for exchange of audio packets. It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A system for building a telephony application (143) for use with a telephony switch (100) running a telephony protocol, the system including an infrastructure module for communicating with the telephony switch (100) running the telephony protocol, wherein an application built with the infrastructure module is insulated from the telephony protocol. Related apparatus and methods are also provided.

Description

SYSTEM FOR BUILDING A TELEPHONY APPLICATION FIELD OF THE INVENTION The present invention relates to telephony systems, and in particular to apparatus and methods for building applications for use in telephony systems.
BACKGROUND OF THE INVENTION
Telephony systems are well known in the art. Telephony systems typically include telephony switches and other telephony devices. Typical prior art telephony switches which might be used on private premises, as opposed to being used as part of the public switched telephone network (PSTN), include switches available from Lucent
Technologies and the AS 5300 switch available from Cisco. Telephony switches are generally used to provide telephony services to end units such as conventional telephones, the services typically including basic services such as call establishment, routing of calls to other switches or to the PSTN, and other well known services.
Telephony switches may provide services to telephony devices, which in turn control, receive commands from, and provide services to end units. Advanced services may also be included, as is well known in the art. Telephony switches typically operate according to a pre-defined protocol. One example of a prior art protocol which can be used in a telephony system including telephone switches is the H.323 v. 2 protocol of the International Telecommunications Union (ITU), published in 1998.
In order to provide an application having specific desirable behavior for use in a telephony device, the application must incorporate specific knowledge of the protocol used by the associated telephony switches. Typically, for a system designer or programmer to learn a telephony protocol and to incorporate such specific knowledge into an application is a time consuming and therefore an expensive task.
Technologies related to those of the present invention are described in a co-pending application entitled "Telecommunications System Failure Recovery", filed on the same day as the present application, having the same inventors and assigned to the same assignee as the present application. The "Telecommunications System Failure
Recovery" application is hereby incorporated herein by reference. The disclosures of all references mentioned above and throughout the present specification are hereby incorporated herein by reference.
SUMMARY OF THE INVENTION The present invention seeks to provide improved apparatus and . methods for building applications for use in telephony systems. In the present invention, a framework for building telephony applications is provided, wherein an application built with the framework is insulated from the telephony protocol.
There is thus provided in accordance with a preferred embodiment of the present invention a system for building a telephony application for use with a telephony switch running a telephony protocol, the system including an infrastructure module for communicating with the telephony switch running the telephony protocol, wherein an application built with the infrastructure module is insulated from the telephony protocol.
Further in accordance with a preferred embodiment of the present invention the telephony protocol includes H.323.
Still further in accordance with a preferred embodiment of the present invention the infrastructure module includes a plurality of objects.
Additionally in accordance with a preferred embodiment of the present invention each of the plurality of objects is implemented in a programming language.
Moreover in accordance with a preferred embodiment of the present invention the programming language includes an object-oriented programming language. Further in accordance with a preferred embodiment of the present invention the object-oriented programming language includes C++.
Still further in accordance with a preferred embodiment of the present invention the plurality of objects includes the following: an application object, a terminal object, at least one channel object, at least one call object, at least one device object, and at least one media session object.
Additionally in accordance with a preferred embodiment of the present invention the plurality of objects also includes at least one of the following: a protocol call object, and a states object.
There is also provided in accordance with another preferred embodiment of the present invention a method for building a telephony application for use with a telephony switch running a telephony protocol, the method including providing an infrastructure module for communicating with the telephony switch running the telephony protocol, wherein an application built with the infrastructure module is insulated from the telephony protocol, and building an application using the infrastructure module. In accordance with another preferred embodiment of the present invention, an application produced by the method is also provided.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:
Fig. 1 is a simplified pictorial illustration of a telephony system including an application built with a system for building telephony applications constructed and operative in accordance with a preferred embodiment of the present invention; and
Fig. 2 is a simplified pictorial illustration of a preferred embodiment of a portion of the system of Fig. 1.
DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT Reference is now made to Fig. 1 which is a simplified pictorial illustration of a telephony system including an application built with a system for building telephony applications constructed and operative in accordance with a preferred embodiment of the present invention.
The system of Fig. 1 preferably comprises one or more telephony switches 100, two telephony switches 100 being shown in Fig. 1 by way of example only.
It is appreciated that a larger number of telephony switches 100 may be provided. Furthermore, it is appreciated that, alternatively, only one telephony switch 100 may be provided.
The system of Fig. 1 also preferably comprises a data network 130, which may comprise any appropriate data network as is well known in the art, such as, for example, a LAN or a WAN.
The system of Fig. 1 also preferably comprises a plurality of telephony devices 140, each of which may be similar to any appropriate prior art telephony device except as described below.
At least one of the telephony devices 140 comprises an application 143 built on a framework 146, the framework 146 typically comprising a system for building telephony applications. Preferably, the framework 146 is designed to insulate the application 143 from knowledge of a protocol used in any of the switches 100. Protocols used in telephony switches are well-known in the art, and an example of a suitable protocol is the H.323 protocol referred to above. A preferred implementation of the framework 146 is described in more detail below with reference to Fig. 2.
Each of the telephony devices 140 is preferably operatively associated with a plurality of end units 150 such as conventional telephones or other communication devices. It is appreciated that a wide variety of appropriate telephony devices 140 and end units 150, including telephony devices and end units which are well known in the art, may be used. It is further appreciated that other types of telephony device 140, including devices associated only with a single end unit or themselves comprising an end unit, may be used. P TtILOO/00230
The system of Fig. 1 also preferably comprises a gateway 155, typically comprising any appropriate gateway, as is well known in the art, operative to connect the remainder of the system of Fig. 1 to the public switched telephone network (PSTN) 160 or to another outside telephone network. It is appreciated that various components of the system of Fig. 1, including each telephony switch 100 and each telephony device 140, may be implemented in a suitable combination of hardware and software, as is well known in the art.
The operation of the system of Fig. 1 is now briefly described. Except as described below, the operation of the system of Fig. 1 is preferably similar to that of a prior art system.
The application 143 provides application services, as are well-known in the art, to one or more end units 150. Without limiting the generality of the foregoing, typical application services include call origination, call termination, hold, call waiting, conference calling, and other appropriate services, typically including services known in the prior art. The framework 146 is operative to allow the application 143 to provide application services without the application 143 needing to be aware of details of any protocol used by one or more of the switches 100; allowing operation without needing to be aware of details of a protocol is also termed herein "insulating" from the protocol. Reference is now made to Fig. 2, which is a simplified pictorial illustration of a preferred embodiment of a portion of the system of Fig. 1. Fig. 2 depicts class relationships between the application 143 of Fig. 1, depicted in Fig. 2 as an application object 170, and various objects which may be comprised in the framework 146 of Fig. 1. The concept of objects and relationships is well known, particularly in object oriented programming languages such as C++; it is appreciated that the subsystem of Fig. 2 may be implemented in an appropriate object oriented language such as C++, combined with appropriate hardware. A skilled person of the art will appreciate that the subsystem of Fig. 2 could be implemented in an appropriate object oriented language such as C++, based on Fig. 2 and the description thereof. The objects and relationships depicted in Fig. 2 make it possible for an application to be insulated from an underlying protocol on a switch. It is appreciated that the subsystem of Fig. 2 alone comprises an alternative preferred embodiment of the present invention, and that the subsystem of Fig. 2 without the application class 170 comprises a further alternative preferred embodiment of the present invention. The subsystem of Fig. 2 preferably comprises the following:
The application object 170, referred to above, which preferably implements all behavior required by a telephony application, such as telephony application for the H.323 protocol, including such well known behaviors as initiating a stack protocol, allocating channels, and other well known behaviors. A terminal object 180, which is preferably responsible for protocol based communication, such as H.323 communication, with a switch and for the management of call objects, as described below Typically, one terminal object 180 is present for each application object 170. The terminal object 180 is preferably responsible for Registration, Admission, Status (RAS) messaging, which is well known in H.323. One or more channel objects 190. Each channel object 190 represents a "line" in the system, in analogy to a physical telephone line in pre-modern telephone systems. Each line is preferably operative to have up to several calls comprising one active call and several waiting or on-hold calls. The channel provides an interface between a call object 200, described below, and a device object 210, also described below. Typically, the application object 170 is responsible for allocating the channel objects 190 in accordance with the number of "lines" supported in the system.
One or more state objects 195, each state object 195 preferably representing the current state of a channel object 190. Preferably, each state object 195 handles events as they occur in accordance with event type, thus reducing processing load on the associated channel object 190. Typical events handled by the state object 195 include call termination, DTMF, and call alert, as well as any other appropriate events.
One or more call objects 200, typically including at least one base call object 202 and at least one associated protocol call object such as, for example, an H.323 call object 204. The base call object 202 typically represents a call to a channel object 190, and preferably acts as an intermediary to broker transactions between a channel object
190 and an H.323 call object 204. The H.323 call object 204 is preferably responsible for the protocol-based communications, such as H.323 communications, with the switch regarding call events. The H.323 call object 204 typically communicates with the switch after a call has been established. Generally, there is one H.323 call object 204 for every phone call in a system, such as the system of Fig. 1. One or more device objects 210, each device object 210 preferably being created by a channel object 190 and representing input/output (I/O) to an actual end unit device where calls are terminated. Examples of an actual device include: a telephone set; a head set; a PC phone; or any other appropriate end unit device.
One or more media session objects 220, each media session object 220 representing resources allocated for exchanging media over the telephony network. The term "media session" is used herein to designate a session in which audio packets are exchanged. The media session object 220 is preferably used by the call object 200 to track resources allocated to a media session. Each media session object 220 is preferably allocated on one of the following bases: by the associated channel object 190 once for every call; for every active call; or once per associated channel object 190 and then re-assigned for the active call when a new call occurs.
In the subsystem of Fig. 2, events originated by a device object 210 are generally propagated to an associated channel object 190, and then to a base call object 202 and an H.323 call object 204; events originating on the other side of the call are generally propagated in the reverse direction. The propagation of events is indicated in Fig. 2 by arrows between the elements named in the preceding sentence. Other arrows between elements of the subsystem of Fig. 2 indicate object relationships, where one object invokes methods of another object in order to perform actions or receive stored information, as is well known in the art. The operation of the subsystem of Fig. 2 is now briefly described. The application object 170 preferably creates the terminal object 180 and invokes the terminal object 180, which in turn initializes H.323 communications.
The application object 170 then preferably creates channel objects 190, preferably one channel object 190 for each line associated with the application object 170. The channel object 190 in turn preferably creates one or more device objects 210, and stores pointers to the device objects 210 so created, each device object being preferably associated, as described above, with an I/O device where calls are terminated.
The channel object 190 in turn preferably creates a media session object 220, preferably as described above. Preferably, the channel object 190 communicates with the media session object 220 via the base call object 202.
When, for example, a user wishes to establish a call using a particular device associated with one of the device objects 210, the associated channel object 190 preferably informs the terminal object 180, typically by invoking an appropriate method such as a CreateCall method. The terminal object 180, preferably creates a new base call object 202 and a new H.323 call object 204
Preferably, the terminal object 180 uses the call objects 200 to send H.323 messages to the switch in order to actually establish the call.
It is appreciated that a call can thus be established without the application object 170 needing to be aware of the details of the H.323 protocol or any alternative protocol.
Preferably, if a message relating to establishing a call is received by the H.323 call object 204, which message does not require notifying the channel 190, such a message is handled by one of the call objects 200, such as the base call object 202 or the H.323 call object 204 Examples of messages not requiring notification of the channel 190 include call transfer requests, admission messages typically comprising H.323 messages to the switch requesting approval of call establishment, and other similar messages or events
Preferably, messages or events which are received by the H.323 call object 204 and which need to be propagated to the associated channel 190 or device 210, are sent to the appropriate destination via the base call object 202. Examples of messages which do need to be propagated include call termination messages, DTMF tones, and other similar messages
Generally, one or more of the media session objects 220 is used to allocate resources for media exchange, that is, for exchange of audio packets. It is appreciated that various features of the invention which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the invention which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable subcombination.
It will be appreciated by persons skilled in the art that the present invention is not limited by what has been particularly shown and described hereinabove. Rather the scope of the invention is defined only by the claims which follow:

Claims

What is claimed is:
CLAIMS 1. A system for building a telephony application for use with a telephony switch running a telephony protocol, the system comprising: an infrastructure module for communicating with the telephony switch running the telephony protocol, wherein an application built with the infrastructure module is insulated from the telephony protocol.
2. A system according to claim 1 and wherein the telephony protocol comprises H.323.
3. A system according to claim 1 and wherein the infrastructure module comprises a plurality of objects.
4. A system according to claim 3 and wherein each of the plurality of objects is implemented in a programming language.
5. A system according to claim 4 and wherein the programming language comprises an object-oriented programming language.
6. A system according to claim 5 and wherein the object-oriented programming language comprises C++.
7. A system according to claim 3 and wherein the plurality of objects comprises the following: an application object; a terminal object; at least one channel object; at least one call object; at least one device object; and at least one media session object.
8. A system according to claim 7 and wherein the plurality of objects also comprises at least one of the following: a protocol call object; and a states object.
9. A method for building a telephony application for use with a telephony switch running a telephony protocol, the method comprising: providing an infrastructure module for communicating with the telephony switch running the telephony protocol, wherein an application built with the infrastructure module is insulated from the telephony protocol; and building an application using the infrastructure module.
10. A telephony application produced by the method of claim 9.
PCT/IL2000/000230 1999-05-11 2000-04-18 System for building a telephony application WO2000069128A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU39860/00A AU3986000A (en) 1999-05-11 2000-04-18 System for building a telephony application

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US30944599A 1999-05-11 1999-05-11
US09/309,445 1999-05-11

Publications (1)

Publication Number Publication Date
WO2000069128A1 true WO2000069128A1 (en) 2000-11-16

Family

ID=23198267

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IL2000/000230 WO2000069128A1 (en) 1999-05-11 2000-04-18 System for building a telephony application

Country Status (2)

Country Link
AU (1) AU3986000A (en)
WO (1) WO2000069128A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995610A (en) * 1997-05-06 1999-11-30 Telefonaktiebolaget Lm Ericsson Cooperative call processing across public and private intelligent networks
US6064667A (en) * 1997-02-10 2000-05-16 Genesys Telecommunications Laboratories, Inc. Apparatus and methods enhancing call routing to and within call centers

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064667A (en) * 1997-02-10 2000-05-16 Genesys Telecommunications Laboratories, Inc. Apparatus and methods enhancing call routing to and within call centers
US5995610A (en) * 1997-05-06 1999-11-30 Telefonaktiebolaget Lm Ericsson Cooperative call processing across public and private intelligent networks

Also Published As

Publication number Publication date
AU3986000A (en) 2000-11-21

Similar Documents

Publication Publication Date Title
KR100259409B1 (en) Control of a telephone switching system over a digital information network
US6178183B1 (en) Method and apparatus for receiving conventional telephone calls while connected to the internet
US6188688B1 (en) Method and apparatus for placing telephone calls while connected to the internet
US7027435B2 (en) Method and device for call diversion via an agent in a communications system
EP0885530B1 (en) Distributed architecture for services in a telephony system
US9497230B2 (en) Apparatus and method for computer controlled call processing applications in packet switched telephone networks
US6671263B1 (en) Multimedia call handling
US6038302A (en) Methods and apparatus for processing phantom calls placed via computer-telephony integration (CTI)
US7596131B1 (en) Advanced voice communication feature transparency in a telecommunications network
JP4048122B2 (en) Apparatus and method for computer controlled call processing applications in packet switched telephone networks
EP1619865B1 (en) Methods and apparatus for accomplishing call-state synchronization and event notification between multiple private branch exchanges
KR20070083622A (en) System and method for bridge call appearance in distributed peer-to-peer network
JP2002500485A (en) System and method for servicing calls originating over the internet
US20070071202A1 (en) Server apparatus
CN101771769B (en) Method, device and system for call control
US7050565B2 (en) Multimedia augmented call coverage
EP1405497B1 (en) Processing multimedia calls in a packet-based network
US20080056239A1 (en) VOIP Service Over a Regular Phone
WO2005060226A1 (en) VoIP GATEWAY APPARATUS, AND METHOD FOR CONTROLLING CALL-IN/CALL-OUT IN VoIP GATEWAY APPARATUS
WO2000069128A1 (en) System for building a telephony application
WO2001049011A1 (en) Method and system for call processing using an ss7 gateway
EP1527615B1 (en) System and method for controlling a telecom network
CN117956072A (en) Call processing method and device, equipment and computer readable storage medium
JP2010147646A (en) Method of controlling communication, and communication system
JPH01220932A (en) Communication system

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ CZ DE DE DK DK DM DZ EE EE ES FI 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 MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ 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
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP