EP2561439B1

Unified framework and method for call control and media control

Abstract

This record has no abstract on file.

EP2561439B1, drawing sheet 1
Sheet 1 of 13

Term

4.6 yearsleft in the term

Expires 18 April 2031.

  1. Priority
  2. Filed
  3. Granted
  4. Today
  5. Expires

15 claims: 15 independent, 0 dependent

  1. 1
    A server providing a unified application framework (400) for call control and media control for building application components to execute on a Java virtual machine on the server, the server comprising:means for providing a call control API (350) for providing a standardized Java interface for call control, said call control API defining a set of class object primitives for call control;means for providing a media control API (360) for providing a standardized Java interface for media server control, said media control API defining a set of class object primitives for media control;means for constructing a unified call control and media control API (420) defining a set of unified class objects (422) constructed from the class object primitives of the call control API and the media control API, wherein said unified class objects include: a unified event source object (430) for generating unified events from both call control events and media control events;an observer object (450) specifying a type of event and a state of the application;andsaid unified event source object only dispatching a unified event having an event type to said observer object when the event type and the state of the application match those specified by said observer object;means for deploying an application having components built from the unified class objects;andmeans for executing the application on a Java virtual machine on the server. Server, der ein einheitliches Anwendungsframework (400) für die Anrufsteuerung und Mediensteuerung zum Erstellen von Anwendungskomponenten zur Ausführung auf einer Java Virtual Machine auf dem Server bereitstellt, wobei der Server Folgendes umfasst: ein Mittel zum Bereitstellen einer Anrufsteuerungs-API (350) zum Bereitstellen einer standardisierten Java-Schnittstelle zur Anrufsteuerung, wobei die genannte Anrufsteuerungs-API einen Satz von Klassenobjektprimitiven zur Anrufsteuerung definiert;ein Mittel zum Bereitstellen einer Mediensteuerungs-API (360) zum Bereitstellen einer standardisierten Java-Schnittstelle für die Medienserver-Steuerung, wobei die genannte Mediensteuerungs-API einen Satz von Klassenobjektprimitiven für die Mediensteuerung definiert;ein Mittel zum Aufbau einer einheitlichen Anrufsteuerungs- und Mediensteuerungs-API (420), die einen Satz von einheitlichen Klassenobjekten (422) definiert, die aus den Klassenobjektprimitiven der Anrufsteuerungs-API und der Mediensteuerungs-API aufgebaut sind, wobei die genannten vereinheitlichten Klassenobjekte Folgendes umfassen: ein einheitliches Ereignisquellenobjekt (430) zum Erzeugen einheitlicher Ereignisse sowohl aus Anrufsteuerungsereignissen als auch aus Mediensteuerungsereignissen;ein Beobachterobjekt (450), das einen Ereignistyp und einen Zustand der Anwendung spezifiziert;undwobei das genannte einheitliche Ereignisquellenobjekt nur ein einheitliches Ereignis mit einem Ereignistyp an das genannte Beobachterobjekt sendet, wenn der Ereignistyp und der Status der Anwendung mit den vom genannten Observer-Objekt angegebenen übereinstimmen;ein Mittel zum Einsetzen einer Anwendung mit Komponenten, die aus den vereinheitlichten Klassenobjekten aufgebaut sind;undein Mittel zum Ausführen der Anwendung auf einer Java Virtual Machine auf dem Server. Serveur fournissant une structure d'application unifiée (400) pour la commande d'appel et la commande de média pour construire des composants d'application pour s'exécuter sur une machine virtuelle Java sur le serveur, le serveur comprenant : un moyen pour fournir une API de commande d'appel (350) pour fournir interface Java normalisée pour la commande d'appel, ladite API de commande d'appel définissant un ensemble de primitives d'objet de classe pour la commande d'appel;un moyen pour fournir une API de commande de média (360) pour fournir une interface Java normalisée pour la commande de serveur média, ladite API de commande de média définissant un ensemble de primitives d'objet de classe pour la commande de média;un moyen pour construire une API de commande d'appel et de commande de média unifiée (420) définissant un ensemble d'objets de classe unifiés (422) construits à partir des primitives d'objet de classe de l'API de commande d'appel et de l'API de commande de média, dans lequel lesdits objets de classe unifiés comprennent : un objet de source d'événements unifiés (430) pour générer des événements unifiés à partir à la fois d'événements de commande d'appel et d'événements de commande de média;un objet d'observation (450) spécifiant un type d'événement et un état de l'application;etledit objet de source d'événements unifiés envoie uniquement un événement unifié ayant un type d'événement audit objet d'observation lorsque le type d'événement et l'état de l'application correspondent à ceux spécifiés par ledit objet d'observation;un moyen pour déployer une application ayant des composants construits à partir des objets de classe unifiés;etun moyen pour exécuter l'application sur une machine virtuelle Java sur le serveur.
  2. 2
    Server nach Anspruch 1, wobei die Anwendungskomponenten aus den vereinheitlichten Klassenobjekten sowie aus den Klassenobjektprimitiven der Anrufsteuerungs-API aufgebaut sind. Serveur selon la revendication 1, dans lequel les composants d'application sont construits à partir des objets de classe unifiés, ainsi qu'à partir des primitives d'objet de classe de l'API de commande d'appel. The server as in claim 1, wherein the application components are built from the unified class objects as well as from the class object primitives of the call control API.
  3. 3
    Server nach Anspruch 1, wobei die Anwendungskomponenten aus den vereinheitlichten Klassenobjekten sowie aus den Klassenobjektprimitiven der Mediensteuerungs-API aufgebaut sind. Serveur selon la revendication 1, dans lequel les composants d'application sont construits à partir des objets de classe unifiés, ainsi qu'à partir des primitives d'objet de classe de l'API de commande de média. The server as in claim 1, wherein the application components are built from the unified class objects as well as from the class object primitives of the media control API.
  4. 4
    Server nach Anspruch 1, wobei die genannten vereinheitlichten Klassenobjekte auf einem spezifischen Objektmodell basieren, das bestimmte vordefinierte Konstrukte der Klassenobjektprimitive der Anrufsteuerungs-API und der Mediensteuerungs-API vorschreibt. Serveur selon la revendication 1, dans lequel lesdits objets de classe unifiés sont basés sur un modèle d'objet spécifique qui dicte certaines constructions prédéfinies des primitives d'objet de classe de l'API de commande d'appel et de l'API de commande de média. The server as in claim 1, wherein said unified class objects are based on a specific object model that dictates certain predefined constructs of the class object primitives of the call control API and the media control API.
  5. 5
    Server nach Anspruch 1, wobei die genannten vereinheitlichten Klassenobjekte einen vereinheitlichten Ereignishandler umfassen, der auf einen vordefinierten Anwendungszustand reagiert, der dem spezifischen Objektmodell entspricht. Serveur selon la revendication 1, dans lequel lesdits objets de classe unifiés comprennent un gestionnaire d'événements unifiés qui répond lorsque l'état d'application prédéfini est conforme au modèle d'objet spécifique. The server as in claim 1, wherein said unified class objects include a unified event handler that responds on predefined application state conforming to the specific object model.
  6. 6
    Server nach Anspruch 1, wobei die genannten vereinheitlichten Klassenobjekte einen vereinheitlichten Ereignishandler umfassen, der Ereignisse ignoriert, die für einen Kontext des spezifischen Objektmodells ungeeignet sind. Serveur selon la revendication 1, dans lequel lesdits objets de classe unifiés comprennent un gestionnaire d'événements unifiés qui ignore les événements inappropriés à un contexte du modèle d'objet spécifique. The server as in claim 1, wherein said unified class objects include a unified event handler that ignores events inappropriate to a context of the specific object model.
  7. 7
    Server nach Anspruch 1, wobei die genannte vereinheitlichte Ereignisquelle sowohl Anrufsteuerungsereignisse als auch Mediensteuerungsereignisse serialisiert, so dass die Anwendungskomponente, die die angegebene Ereignisquelle abhört, jeweils nur ein Ereignis verarbeiten muss. Serveur selon la revendication 1, dans lequel ladite source d'événements unifiés sérialise à la fois les événements de commande d'appel et les événements de commande de média de telle sorte que le composant d'application qui écoute ladite source d'événements ne doit traiter qu'un seul événement à la fois. The server as in claim 1, wherein said unified event source serializes both call control events and media control events such that the application component listening to said event source only has to deal with one event at a time.
  8. 8
    Server nach Anspruch 1, wobei die Anwendungskomponenten Teil einer interaktiven Sprachantwortanwendung sind. Serveur selon la revendication 1, dans lequel les composants d'application font partie d'une application de réponse vocale interactive. The server as in claim 1, wherein the application components are part of an interactive voice response application.
  9. 9
    A method of operating a server, comprising:providing a call control API (350) for providing a standardized Java interface for call control under SIP and defining a set of class object primitives for call control;providing a media control API (360), the media control API providing a standardized Java interface for media server control and defining a set of class object primitives for media control;constructing a unified call control and media control API (420) defining a set of unified class objects (422) from the class object primitives of the call control API and the media control API, wherein said unified class objects include: a unified event source object (430) for generating both call control events and media control events;an observer object (450) specifying a type of event and a state of the application;andsaid unified event source object only dispatching a unified event having an event type to said observer object when the event type and the state of the application match those specified by said observer object;the method further comprising: deploying an application having components built from the set of unified class objects;andexecuting the application on a Java virtual machine on said server. Procédé de fonctionnement d'un serveur, comprenant de : fournir une API de commande d'appel (350) pour fournir une interface Java normalisée pour la commande d'appel sous SIP et définissant un ensemble de primitives d'objet de classe pour la commande d'appel;fournir une API de commande de média (360), l'API de commande de média fournissant une interface Java normalisée pour la commande de serveur média et définissant un ensemble de primitives d'objet de classe pour la commande de média;construire une API de commande d'appel et de commande de média unifiée (420) définissant un ensemble d'objets de classe unifiés (422) à partir des primitives d'objet de classe de l'API de commande d'appel et de l'API de commande de média, dans lequel lesdits objets de classe unifiés comprennent : un objet de source d'événements unifiés (430) pour générer à la fois des événements de commande d'appel et des événements de commande de média;un objet d'observation (450) spécifiant un type d'événement et un état de l'application;etledit objet de source d'événements unifiés envoie uniquement un événement unifié ayant un type d'événement audit objet d'observation lorsque le type d'événement et l'état de l'application correspondent à ceux spécifiés par ledit objet d'observation;le procédé comprenant en outre de : déployer une application ayant des composants construits à partir de l'ensemble d'objets de classe unifiés;etexécuter l'application sur une machine virtuelle Java sur ledit serveur. Verfahren zum Betreiben eines Servers, das Folgendes umfasst: Bereitstellen einer Anrufsteuerungs-API (350) zum Bereitstellen einer standardisierten Java-Schnittstelle zur Anrufsteuerung unter SIP und Definieren eines Satzes von Klassenobjektprimitiven zur Anrufsteuerung;Bereitstellen einer Mediensteuerungs-API (360), wobei die Mediensteuerungs-API eine standardisierte Java-Schnittstelle für die Medienserversteuerung bereitstellt und einen Satz von Klassenobjektprimitiven für die Mediensteuerung definiert;Konstruieren einer einheitlichen Anrufsteuerungs- und Mediensteuerungs-API (420), die einen Satz von einheitlichen Klassenobjekten (422) aus den Klassenobjektprimitiven der Anrufsteuerungs-API und der Mediensteuerungs-API definiert, wobei die genannten einheitlichen Klassenobjekte Folgendes umfassen: ein einheitliches Ereignisquellenobjekt (430) zum Erzeugen sowohl von Anrufsteuerungsereignissen als auch von Mediensteuerungsereignissen;ein Beobachterobjekt (450), das einen Ereignistyp und einen Zustand der Anwendung spezifiziert;undwobei das genannte einheitliche Ereignisquellenobjekt nur dann ein einheitliches Ereignis mit einem Ereignistyp an das genannte Beobachterobjekt sendet, wenn der Ereignistyp und der Zustand der Anwendung mit den vom genannten Beobachterobjekt angegebenen übereinstimmen;wobei das Verfahren ferner Folgendes umfasst: Einsetzen einer Anwendung mit Komponenten, die aus dem Satz einheitlicher Klassenobjekte aufgebaut sind;undAusführen der Anwendung auf einer Java Virtual Machine auf dem angegebenen Server.
  10. 10
    Procédé selon la revendication 9, dans lequel les composants d'application sont construits à partir des objets de classe unifiés, ainsi qu'à partir des primitives d'objet de classe de l'API de commande d'appel. The method as in claim 9, wherein the application components are built from the unified class objects as well as from the class object primitives of the call control API. Verfahren nach Anspruch 9, wobei die Anwendungskomponenten aus den vereinheitlichten Klassenobjekten sowie aus den Klassenobjektprimitiven der Anrufsteuerungs-API aufgebaut sind.
  11. 11
    Procédé selon la revendication 9, dans lequel les composants d'application sont construits à partir des objets de classe unifiés, ainsi qu'à partir des primitives d'objet de classe de l'API de commande de média. The method as in claim 9, wherein the application components are built from the unified class objects as well as from the class object primitives of the media control API. Verfahren nach Anspruch 9, wobei die Anwendungskomponenten aus den vereinheitlichten Klassenobjekten sowie aus den Klassenobjektprimitiven der Mediensteuerungs-API aufgebaut sind.
  12. 12
    Procédé selon la revendication 9, dans lequel lesdits objets de classe unifiés comprennent un gestionnaire d'événements unifiés qui répond lorsque l'état d'application prédéfini est conforme au modèle d'objet spécifique. The method as in claim 9, wherein said unified class objects include a unified event handler that responds on predefined application state conforming to the specific object model. Verfahren nach Anspruch 9, wobei die genannten vereinheitlichten Klassenobjekte einen vereinheitlichten Ereignishandler umfassen, der auf einen vordefinierten Anwendungszustand reagiert, der dem spezifischen Objektmodell entspricht.
  13. 13
    Procédé selon la revendication 9, dans lequel lesdits objets de classe unifiés comprennent un gestionnaire d'événements unifiés qui ignore les événements inappropriés à un contexte du modèle d'objet spécifique. The method as in claim 9, wherein said unified class objects include a unified event handler that ignores events inappropriate to a context of the specific object model. Verfahren nach Anspruch 9, wobei die genannten vereinheitlichten Klassenobjekte einen vereinheitlichten Ereignishandler umfassen, der Ereignisse ignoriert, die für einen Kontext des spezifischen Objektmodells ungeeignet sind.
  14. 14
    Procédé selon la revendication 9, dans lequel ladite source d'événements unifiés sérialise à la fois les événements de commande d'appel et les événements de commande de média de telle sorte que le composant d'application qui écoute ladite source d'événements ne doit traiter qu'un seul événement à la fois. The method as in claim 9, wherein said unified event source serializes both call control events and media control events such that the application component listening to said event source only has to deal with one event at a time. Verfahren nach Anspruch 9, wobei die genannte vereinheitlichte Ereignisquelle sowohl Anrufsteuerungsereignisse als auch Mediensteuerungsereignisse serialisiert, so dass die Anwendungskomponente, die die genannte Ereignisquelle abhört, jeweils nur ein Ereignis handhaben muss.
  15. 15
    Procédé selon la revendication 9, dans lequel les composants d'application font partie d'une application de réponse vocale interactive. The method as in claim 9, wherein the application components are part of an interactive voice response application. Verfahren nach Anspruch 9, wobei die Anwendungskomponenten Teil einer interaktiven Sprachantwortanwendung sind.
Independent claims15