Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
CPL EDITOR
Document Type and Number:
WIPO Patent Application WO/2003/052540
Kind Code:
A2
Abstract:
The inventive system comprises a graphic interface (3) and a converter (4) translating the graphic symbols (8) entered by the user into a CPL script (5). The generated CPL script (5) is fed into a CPL engine (6) for controlling various IP based services (7). Not only the service (7) to be executed, but also a definition of the semantics of the individual linguistic elements are enclosed via the converter (4).

Inventors:
BECKER OLIVER (DE)
BENINI GIOVANNI (DE)
Application Number:
PCT/DE2002/004533
Publication Date:
June 26, 2003
Filing Date:
December 11, 2002
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SIEMENS AG (DE)
BECKER OLIVER (DE)
BENINI GIOVANNI (DE)
International Classes:
G06F1/00; G06F8/34; G06F9/44; G06F9/445; G06F; (IPC1-7): G06F/
Other References:
BECKER O ET AL: "CPL-Editor" INTERNET ARTICLE, [Online] 7. Mai 2001 (2001-05-07), Seiten 1-4, XP002266942 Gefunden im Internet: [gefunden am 2004-01-14]
BERGHOLZ A: "Extending your markup: an XML tutorial" IEEE INTERNET COMPUTING, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, Juli 2000 (2000-07), Seiten 74-79, XP002210347 ISSN: 1089-7801
ROSENBERG ET AL: "Programming Internet Telephony Services" INTERNET ARTICLE, 1. Juni 1999 (1999-06-01), XP002196889 Gefunden im Internet: [gefunden am 2002-04-22]
JIN P HONG ET AL: "CSDE: CCITT LANGUAGES-BASED SOFTWARE DEVELOPMENT ENVIRONMENT" INNOVATIONS IN SWITCHING TECHNOLOGY. STOCKHOLM, MAY 28 - JUNE 1, 1990, PROCEEDINGS OF THE INTERNATIONAL SWITCHING SYMPOSIUM. (ISS), NEW YORK, IEEE, US, Bd. 2 SYMP. 13, 28. Mai 1990 (1990-05-28), Seiten 175-181, XP000130863
Attorney, Agent or Firm:
SIEMENS AKTIENGESELLSCHAFT (München, DE)
Download PDF:
Claims:
Patentansprüche
1. l.
2. System zur Einrichtung eines TelephonieDienstes, aufweisend eine graphischen Oberfläche (3) und einen Konverter (4), der mittels graphischer Benutzeroberfläche (3) eingegebene graphischen Symbole (8) in ein Skript (5) übersetzt, wobei das Skript (5) einem Interpreter (6) zum Ansteuern von IPbasierten Diensten (7) mittels eines Servers zugeführt wird, dadurch gekennzeichnet, dass in dem Skript (5) neben dem auszuführenden Dienst (7) eine Definition der Semantik der einzelnen Sprachelemente des Skripts (5) enthalten ist.
3. System nach Anspruch 1, dadurch gekennzeichnet, dass die Semantik der einzelnen Sprachelemente durch eine XMLbasierte Definition festgelegt ist.
4. System nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die neuen sprachbeschreibenden Elemente eine eigene Sprache (12) bilden, die mittels XMLSchema beschrieben ist.
5. System nach Anspruch 1, dadurch gekennzeichnet, dass die syntaktische und semantische Definitionen durch Benutzung der XMLTechnologie verbunden sind.
6. System nach Anspruch 1, dadurch gekennzeichnet, dass die Semantik der einzelnen Sprachelemente in einer für den Menschen lesbaren Form aufbereitbar ist.
7. System nach Anspruch 1, dadurch gekennzeichnet, dass Informationen, ~die ausschließlich Hilfscharakter besitzen, in verschiedenen menschlichen Sprachen in der XML basierten Definition der Computersprache integriert sind.
8. CPLEditor, aufweisend eine graphischen Oberfläche (3) und einen Konverter (4), der eingegebene graphische Symbole (8) automatisch in ein CPLSkript (5) übersetzt, dadurch gekennzeichnet, dass in dem CPLSkript (5) neben dem auszuführenden Dienst (7) auch eine Definition der Semantik der einzelnen Sprachelemente des CPLSkripts (5) enthalten ist.
9. Verfahren zum Erstellen eines CPLSkripts für eine CPL Engine zum Ansteuern von verschiedenen IPbasierten Diensten (7), aufweisend die folgenden Schritte : Eingabe von Anweisungen bezüglich eines IPbasierten Dienstes mittels einer graphischen Oberfläche (3), und Umsetzung von eingegebenen graphischen Symbole (8) in ein CPLSkript (5), dadurch gekennzeichnet, dass dem CPLSkript (5) neben dem auszuführenden Dienst (7) auch eine Definition der Semantik der einzelnen Sprachelemente beigelegt wird.
10. Verfahren nach Anspruch 8, d a d u r c h g e k e n n z e i c h n e t, dass die Semantik der einzelnen Sprachelemente durch XML basierte Definition festgelegt wird.
11. Verfahren nach Anspruch 8 oder 9, dadurch gekennzeichnet, dassInformationen, die Hilfscharakter besitzen, in verschiedenen menschlichen Sprachen in der XMLbasierten Definition der Computersprache integriert sind und ein Hilfssystem diese Informationen auswertet.
12. Verfahren zur Einrichtung eines Telephoniedienstes auf Grundlage eines Skriptes, das mittels eines Verfahrens nach einem der Ansprüche 8 bis 10 erstellt wurde, weiterhin aufweisend den folgenden Schritt : Umsetzen des Skripts (5) durch einen Interpreter (6) zum Ansteuern von IPbasierten Diensten (7) mittels eines Servers.
13. Softwareprogramm, dadurch gekennzeichnet, dass es ein Verfahren nach einem der Ansprüche 8 bis 11 implementiert, wenn es auf einem Rechner läuft.
Description:
Beschreibung CPL-Editor Die Erfindung betrifft ein Verfahren und ein System bestehend aus einer graphischen Oberfläche und einem Konverter, der die graphischen Symbole in einen CPL-Code übersetzt, wobei der erzeugte CPL-Code zum Ansteuern von verschiedenen IP- basierten Diensten einer sogenannten CPL-Engine zugeführt wird.

Der generelle Hintergrund der vorliegenden Erfindung ist der Wunsch, im Umfeld von"Voice over IP"neue Dienste einfach und schnell entwickeln und umsetzen zu können. Ein solcher Dienst kann zum Beispiel so aussehen, dass während einer bestimmten Zeit im Büro eingehende Anrufe der wichtigsten Kunden automatisch auf ein Mobiltelephon umgeleitet werden.

Dazu hat das Standardisierungsgremium Internet Engineering Task Force (IETF) eine eigene Sprache, die Call Processing Language (CPL), eingeführt. CPL ist eine Sprache zum Beschreiben und Steuern von Internet-Telefon-Anwendungen. Sie ist plattform-und systemunabhängig und basiert auf XML. Ihre Spezifikation enthält eine Grammatik (DTD, Document Type Definition), die die Syntax der CPL-Elemente definiert. In der DTD stehen die einzelnen möglichen Tags und Attribute für das XML-Dokument. Die Reihenfolge der Vereinbarungen ist nicht entscheidend, sie muss jedoch vollständig sein. Die DTD gibt genau die Baumstruktur der XML-Seite wieder. Damit das Erstellen der DTD gelingt, muss daher die Datenstruktur der XML-Dokumente bereits klar definiert sein.

Ein CPL-Skript enthält zwei Arten von Informationen, nämlich allgemeine Informationen und aktionsbezogene Informationen.

Zu den allgemeinen Informationen gehören Informationen, die für einen Server notwendig sind, um das Skript korrekt zu verarbeiten. Aktionsbezogene Informationen sind Informationen, die die Operationen und Entscheidungen bestimmen, die bei einem bestimmten Anruf, der von dem Server vermittelt wird, stattfinden sollen.

Die Semantik der einzelnen Sprachelemente von CPL ist bisher nur verbal beschrieben. Ebenso wenig sind weitere Nebenbemerkungen sowie die CPL innenwohnende Systematik formal definiert.

Der Benutzer sollte zur Erstellung eines Telephonie-Dienstes nach Möglichkeit nicht zuerst die CPL-Syntax erlernen müssen.

Daher ist eine grafische Oberfläche von Vorteil, die in Zusammenspiel mit einem Editor auf einfache und möglichst intuitive Weise die Erstellung eines Telephonie-Dienstes mittels Symbolen erlaubt und auf die graphische Eingabe des Benutzers hin automatisch das zugehörige CPL-Skript generiert. Aufgrund der unzureichenden Definition von CPL ist indessen nicht auszuschließen, dass die automatische Erzeugung und Umsetzung eines Dienstes mittels CPL unter Verwendung eines Editors und eines Interpreters immer eindeutige Ergebnisse liefert. Verschiedene CPL-Editoren können bei der bekannten Definition durchaus unterschiedliche CPL-Skripten liefern.

Der Erfindung liegt dementsprechend die Aufgabe zugrunde, eine Technik bereitzutellen, die möglichst gewährleistet, dass bei der Einrichtung eines Telephonie-Dienstes mittels Erstellung und Ausführung eines Skriptes weitgehend eindeutige Ergebnisse erzielt werden können.

Diese Aufgabe wird erfindungsgemäß durch die Merkmale der unabhängigen Ansprüche gelöst. Die abhängigen Ansprüche bilden den zentralen Gedanken der Erfindung in besonders-- vorteilhafter Weise weiter.

Zentrale Erkenntnis der Erfindung ist es, dass nicht nur der auszuführende Dienst, sondern auch eine Definition der Semantik der einzelnen Sprachelemente dem Skript beigelegt wird.

Gemäß einem ersten Aspekt der vorliegenden Erfindung ist ein System zur Einrichtung eines Telefonie-Dienstes vorgesehen.

Das System weist eine graphische Oberfläche und einen -Konverter auf, der die von einem Benutzer eingegebenen graphischen Symbole von der graphischen Oberfläche in ein Skript übersetzt. Das Skript wird dann einem Interpreter zum Ansteuern von verschiedenen IP-basierten Diensten mittels eines Servers zugeführt. Dabei ist in dem Skript neben dem auszuführenden Dienst auch eine Definition der Semantik der einzelnen Sprachelemente des Skripts enthalten.

Die Semantik der einzelnen Sprachelemente kann beispielsweise durch eine XML-basierte Definition festgelegt sein.

Derartige neue sprachbeschreibende Elemente bilden wiederum eine eigene Sprache, die mittels XML-Schema beschreibbar ist.

Die syntaktische und semantische Definition kann somit durch Benutzung der XML-Technologie verbunden werden. Die Semantik der einzelnen Sprachelemente kann dabei in einer für den Menschen lesbaren Form aufbereitet sein. Informationen, die ausschließlich Hilfschrakter besitzen, können in verschiedenen menschlichen Sprachen in der XML-basierten Definition der Computersprache integriert sein.

Gemäß einem weiteren Aspekt der vorliegenden Erfindung ist- ein CPL-Editor vorgesehen, der eine graphische Oberfläche und einen Konverter aufweist. Der Konverter setzt mittels der graphischen Oberfläche eingegebene graphische Symbole automatisch in einem CPL-Skript um. Dabei sind in dem CPL- Skript neben einem auszuführenden Dienst auch eine Definition der Semantik der einzelnen Sprachelemente des CPL-Skripts enthalten.

Gemäß einem noch weiteren Aspekt der vorliegenden Erfindung ist ein Verfahren zum Erstellen eines CPL-Skripts auf eine CPL-Engine zum Ansteuern von verschiedenen IP-basierten Diensten vorgesehen. Dabei werden Anweisungen bzgl. eines IP- basierten Dienstes mittels einer graphischen Oberfläche eingegeben. Diese Anweisungen werden dann automatisch in ein CPL-Skript umgesetzt. Dem CPL-Skript wird dabei neben dem auszuführenden Dienst auch eine Definition der Semantik der einzelnen Sprachelemente beigelegt.

Die Erfindung bezieht sich weiterhin auf ein Verfahren zur Einrichtung eines Telefonie-Dienstes auf Grundlage eines Skripts, das in dieser Weise erstellt wurde. Das Verfahren weist den weiteren Schritt auf, dass das Skript durch einen Interpreter zum Ansteuern von IP-basierten Diensten mittels eines Servers umgesetzt wird.

Schließlich ist gemäß der Erfindung auch ein Software- Programm vorgesehen, das ein wie oben ausgeführtes Verfahren implementiert, wenn es auf einem Rechner läuft.

Die Syntaxdefinitionen können auf standardisiertem Wege unter konsequenter Benutzung der XML-Technologie erfolgen.- Die Erweiterbarkeit von XML erlaubt zusätzlich die Definition eigener Elemente, die die Bedeutung eigentlicher Sprachelemente der Computersprache beschreiben. Sämtliche für diese Sprache verarbeitende Software relevanten Informationen der bisher rein verbalen Beschreibung können aus diesen zusätzlichen Elementen abgeleitet werden. Vorteilhafterweise erfolgen somit die Definition der Semantik der einzelnen Sprachelemente wiederum mittels XML und nicht wie bisher durch verbale Beschreibung. Dadurch vermeidet man, dass verschiedene CPL-Engines, welche Software für die Sprache erstellen, die Semantik unterschiedlich interpretieren.

Durch Verbindung der syntaktischen und semantischen Definitionen durch Benutzung der XML-Technologie erreicht man eine vollständige Sprachspezifikation, die komplett konsistent formal erfolgt.

Des Weiteren bilden die neuen sprachbeschreibenden Elemente eine eigene Sprache, die mittels XML-Schema eindeutig beschrieben werden kann. Darüber hinaus können Erweiterungen in der Sprache einfach umgesetzt werden. Einerseits kann diese Erweiterung dadurch erfolgen, dass weitere Sprachelemente definiert werden, und andererseits durch Definition weiterer zur Sprachbeschreibung notwendiger Informationen. Durch Definition weiterer Sprachelemente wird zum Beispiel die Anzahl der möglichen Aktionen erweitert.

Durch. die Definition weiterer zur Sprachbeschreibung notwendiger Informationen kann die Modellierung der grafischen Informationen verbessert und auch erweitert werden.

Ein-weiterer Vorteil besteht darin, dass die Semantik in einer für den Menschen leicht lesbaren Form aufbereitbar ist.

Des Weiteren können Informationen, die ausschließlich Hilfscharakter besitzen, in verschiedenen menschlichen Sprachen in die XML-basierte Definition der Computersprache integriert werden und lassen sich so beispielsweise durch Hilfssysteme auswerten.

Somit hat man eine durchgängige XML-basierte Kette erreicht : 1. Die zu beschreibende Sprache ist XML-basiert.

2. Das Dokument, das die Sprachelemente semantisch beschreibt, ist XML-basiert.

3. Die Definition dieses Modells (das sogenannte Metamodell) ist durch den Einsatz des XML-Schema ebenfalls XML-basiert.

4. Sämtliche Erweiterungen sind XML-basiert.

Die durchgehende Toolkette stellt eine bessere Konsistenz sicher und kann auf allen Ebenen mit den gleichen Methoden (XML) bearbeitet werden.

Weitere Merkmale, Vorteile und Eigenschaften der vorliegenden Erfindung sollen nunmehr unter Bezugnahme auf Ausführungsbeipiele und der Figuren der beiliegenden Zeichnungen näher erläutert werden.

Figur 1 zeigt ein Netzwerk.

Figur 2 zeigt die Stationen der Signalverarbeitung.

Figur 3 zeigt einen Screenshot einer graphischer Oberfläche Figur 4 zeigt eine XML-basierte Toolkette.

Figur 5 zeigt ein sprachbeschreibendes Element.

Figur 6 zeigt eine Vorschrift für ein sprachbeschreibendes Element.

Figur 7 zeigt die den Aufbau der sprachbeschreibenden Datei.

In dem Netzwerk von Figur 1 sollen Nachrichten, die in einem PSTN (Public Switched Telephone Network) 1 versendet werden, zusätzlich über ein paketvermitteltes Netz, wie bspw. das Internet 2 zu dem Empfänger durchgestellt werden. Zum Beispiel soll ein Anruf auf einen Anrufbeantworter geleitet werden und zusätzlich soll der Empfänger auf einem weiteren logischen und/oder phyischen Kanal, wie bspw. E-mail vom Eingang dieses Anrufs benachrichtigt werden.

Um einen solchen Dienst einrichten zu können, generiert der Benutzer ein CPL-Skript 5, das an einen Interpreter für CPL (CPL-Engine) weitergegeben wird, der in CPL formulierte Dienste ausführen kann. Die CPL-Engine 6 führt also IP- basierten Telefondienst 7 gemäß dem vom Benutzer erstellten CPL-Skript aus.

Zur Erstellung des CPL-Skripts steht dem Benutzer dabei eine graphische Oberfläche (GUI) 3 zur Verfügung, die auf einfache und intuitive Weise die Erstellung eines Dienstes 7 erlaubt und das dazugehörige Skript 5 generiert.

Ein Screenshot-einer graphischen Oberfläche 3'ist in Figur 3- dargestellt. Die verschiedenen graphischen Elemente 8 (Symbole und schwarze Pfeile) werden durch den Editor in einzelne Bestandteile des CPL-Skripts 5 umgesetzt. Genauer gesagt übersetzt ein Konverter 4 automatisch die grafischen Symbole 8 in ein CPL-Skript 5. Parameter 9 lassen sich auf der graphischen Benutzeroberfläche 3 über kleine Dialoge eingeben und erscheinen dann als Kommentar. Die verschiedenen möglichen Aktionen erscheinen in einem Menü 10 bspw. bei Betätigung der rechten Maustaste und der Benutzer kann aus diesen Aktionen auswählen, um sein gewünschtes CPL-Skript 5 zu erstellen. Der Benutzer kann sich das generierten CPL- Skript 5 in einem Fenster der graphischen Oberfläche 3 anzeigen lassen.

Die derart als Skript erstellten Dienste 7 werden nun auf einem geeignetem Weg installiert und aktiviert. Eine Möglichkeit besteht darin, eine LDAP (Lightweight Directory Access Protocol)-Struktur zu definieren, sodass ein Nutzer mehrere CPL-Skripten 5 auf einem LDAP-Server unter seinem Account hinterlegen und aktivieren kann. Die CPL-Engine 6 lädt dann bei Bedarf das aktivierte Skript von dem LDAP- Server und führt den angewiesenen Telephoniedienst aus.

(LDAP (Lightweight Directory Access Protocol) ist ein standardisierter Directory Service (Verzeichnisdienst) auf der Basis von TCP/IP, der die hierarchische Verwaltung von Modellen verschiedenster Klassen in einer Datenbank und die Suche nach diesen gestattet. Die unterschiedlichen Klassen (z. B. Personen, Dokumente, Rechnernamen) erlauben eine unterschiedliche Zuordnung von Attributen zu jeder Klasse im Directory. Die Abfrage von Objekten aus der Datenbank erfolgt über ein Protokoll oder entsprechende Gateways, die dieses Protokoll beherrschen.) Gemäß der Erfindung erfolgt die Definition der Bedeutung eigentlicher CPL-Sprachelemente nicht mehr aufgrund verbaler Beschreibung ; vielmehr wird die Erweiterbarkeit von XML zur Definition zusätzlicher eigener Elemente ausgenützt, die die Bedeutung der eigentlichen CPL-Sprachelemente beschreiben und dem CPL-Skript 5 hinzugefügt werden.

Ein Beispiel einer solchen Beschreibung ist in Fig. 5 zu sehen. Um bspw. die Aktion"adress-switch"zu definieren, werden nacheinander die Aktion, die graphische Erscheinung (icon), die Beschreibung (description), die Parameter (paramDef) und das Ergebnis festgelegt.

Diese sprachbeschreibenden Elemente bilden eine eigene Sprache, die ihrerseits wieder mittels eines XML-Schema beschrieben wird. In Fig. 6 ist die Vorschrift für die Definition eines sprachbeschreibenden Elementes des Typs "action"dargestellt. Es wird genau festgelegt, welche Elemente wie oft in der Definition erscheinen müssen.

Es liegt also eine CPL-Sprache 11 vor, die XML-basiert ist.

In einer Datei 12 ist die semantische Definition der Sprachelemente der CPL-Sprache vorgegeben, die ebenfalls XML- basiert ist. Schließlich ist noch ein Schema 13 zum beschreiben der Sprache der sprachbeschreibenden Elemente definiert, welches auch XML-basiert ist.

Dies bedeutet, dass eine vollständige Sprachspezifikation, deren Dokumentation, Darstellung und Weiterverarbeitung auf XML-Basis erfolgt.

Die CPL-Beschreibungsdatei 11 wird nach dem Aufruf der graphischen Oberflächen 12 von dieser syntaktisch analysiert.

Wie schon gesagt enthält sie alle Informationen bezüglich der Konfiguration der Programme. Die CPL-Beschreibungsdatei besteht aus zwei Teilen : 1. allgemeine Informationen 14 (zum Beispiel LDAP- Verbindungen), 2. eine Beschreibung aller möglichen Aktionen und ihrer Charakteristiken 15, sodass der CPL-Konverter sie eindeutig interpretiert.

Es wird somit eine automatische Erzeugung von Software ermöglicht, die die semantischen Aspekte der CPL-Sprache berücksichtigt.

Zusätzlich ist es möglich, in das oben genannte Dokument Informationen, die ausschließlich Hilfscharakter besitzen, in verschiedenen menschlichen Sprachen zu integrieren und ein Hilfssystem zu erstellen, das diese Informationen auswertet.

Dadurch, dass das Schema 13 zum Beschreiben der Sprache der sprachbeschreibenden Elemente auch XML-basiert ist, sind Erweiterungen der Sprache einfach umzusetzen. Diese Erweiterungen können einerseits durch Definitionen weiterer Sprachelemente erfolgen und andererseits durch Definition weiterer zur Sprachbeschreibung notwendiger Informationen.