-
Die
vorliegende Erfindung betrifft ein Verfahren für eine Anwendung, die die Echtzeit-Benachrichtigung
eines Clients durch ein Telefonvermittlungssystem beinhaltet.
-
Fortschritte
in der Querverbindungstechnologie haben zum Konvergieren von Daten-
und Sprachnetzwerken geführt.
Insbesondere wurden neue Dienste vorgeschlagen, in denen Telefonie
und Internetworking zusammenfließen. Als Nachteil bringen diese
Dienste einen höheren
Grad an Komplexität
mit sich. Mit Blick auf die Zufriedenheit der Kunden sind Diensteanbieter
bestrebt, diese Komplexität
vor dem Benutzer zu verbergen und ein Maß an Transparenz zu bieten,
das demjenigen von Diensten des öffentlichen
Fernsprechnetzes (PSTN, Public Switched Telephone Network) vergleichbar
ist.
-
In
der Regel ist eine Kombination aus PSTN-Vermittlung und Internetworking
nur um den Preis von herstellerspezifischen Lösungen zu realisieren, was
einen Mangel an Interoperabilität
und Skalierbarkeit zur Folge hat. Die Implementierung von ausreichend
gut eingeführten
Hardware-Komponenten und standardisierten Software-Lösungen wäre wünschenswert,
um diese Situation zu verbessern. Eine Kategorie von Diensten, auf
die diese Beobachtungen zutreffen, sind Dienste, die auf Verbindungen über das öffentliche
Fernsprechnetz PSTN basieren, welche durch ein Internetendgerät gesteuert
oder überwacht
werden, beispielsweise PSTN-Telefonkonferenzen, die durch einen
PC veranlasst und gesteuert werden, oder PSTN-Verbindungen, die durch einen Mausklick
auf einer Webseite (Click-to-Dial, Wählen per Mausklick) veranlasst
werden. Viele dieser Dienste erfordern die Verarbeitung von Steuerungsinformationen,
beispielsweise Signalisierung im öffentlichen Fernsprechnetz
PSTN, ISDN-Diensteparameter oder Signalisierungsnachrichten, in
Echtzeit.
-
Aufgabe
der vorliegenden Erfindung ist es, ein wirkungsvolles Verfahren
für die
Echtzeit-Benachrichtigung eines Clients durch ein Telefonvermittlungssystem
bereitzustellen.
-
Der
erste Schritt des Verfahrens gemäß der Erfindung
beinhaltet das Aufbauen einer Verbindung zwischen dem Client und
einem Server. Der Server kann unter Umständen anwendungsspezifische
Unterstützungsmittel
enthalten, beispielsweise Datenspeichermittel. Die Herstellung der
Verbindung kann über
eine HTTP (Hypertext Transfer Protocol, Hypertext-Übertragungsprotokoll)-Anforderung
erfolgen, die von dem Client an den Server übertragen wird. Im weiteren
Verlauf der Anwendung werden Signalisierungsnachrichten von dem
Telefonvermittlungssystem an den Server gesendet. Möglicherweise
werden die Signalisierungsnachrichten über eine oder mehrere physische
Einheit(en) übertragen,
wie sie typischerweise im Übertragungsweg
von Signalisierungsnachrichten des öffentlichen Fernsprechnetzes PSTN
anzutreffen sind, etwa einen Dienststeuerungspunkt (SCP, Service
Control Point) im Fall eines intelligenten Netzwerks (IN, Intelligent
Network) oder eine Medien-Gateway-Steuerungseinheit im Fall des Netzwerk-Interworkings.
Signalisierungsnachrichten, die von dem Server an den Client gesendet
werden sollen, werden verschlüsselt,
sodass sie in Form eines Codes einer Programmiersprache dargestellt werden,
der von dem Browser des Clients ausgeführt werden kann, beispielsweise
JavaScript, HTTP oder eine Sprache des XML-Typs (XML: eXtended Markup
Language, erweiterte Auszeichnungssprache); vergleiche etwa die
US-amerikanische Patentschrift
US
6.181.631 . Die angepassten Signalisierungsnachrichten werden
mithilfe eines Datenstromübertragungsverfahrens,
beispielsweise HTTP-Streaming,
von dem Server an den Client übertragen
(„gestreamt"). Die Verbindung
zwischen dem Client und dem Server bleibt in der Interventionszeit
zwischen der Übertragung
der einzelnen Signalisierungsnachrichten offen. Die Programmiersprachen-Codes
werden von dem Browser des Clients ausgeführt, wodurch die betreffenden
Signalisierungsnachrichten am Client ausgegeben werden.
-
Die
vorliegende Erfindung erlaubt die Verwendung bewährter standardisierter Protokolle
wie etwa des HTTP für
die Client-Server-Verbindung.
Bei Datenstromübertragungsverfahren,
beispielsweise dem HTTP-Streaming, muss der Protokoll-Kopfteil (Header)
der Server-Antwortnachrichten nur ein einziges Mal übertragen
werden, nämlich
wenn die Verbindungsanforderung durch den Client bestätigt wird. Alle
weiteren Signalisierungsnachrichten werden dann ohne den Antwort-Header
an ihn übertragen. Somit
ist der Protokoll-Überhang
(„Overhead") nur gering. Das
vorliegende Verfahren kommt ohne Aufsätze (Plug-Ins) auf der Client-Seite,
Erweiterungen (Addons) oder Herunterladen von Bibliotheksprogrammen
(Library-Routinen)
aus, wie sie in der CORBA (Common Object Request Broker Architecture, allgemeine
Architektur zur Vermittlung von Objektanforderungen), in RMI (Remote
Method Invocation, Fernaufruf von Methoden) oder in EJB (Enterprise JavaBeans)
gängig
sind. Sicherheitsaspekte können einfach
durch die Authentifizierung und Autorisierung des Clients über seine
Verbindungsanforderung berücksichtigt
werden. Diese Authentifizierung und/oder Autorisierung muss nicht
wiederholt werden, wie in Szenarien, in denen jedes Mal, wenn eine Signalisierungsnachricht übertragen
wird, eine Verbindung aufgebaut wird.
-
Bei
einer Ausführungsform
werden regelmäßig Nachrichten
von dem Server an den Client gesendet, um anzufragen, ob die Verbindung
noch weiter offen gehalten werden muss. Die Verbindung kann geschlossen
werden, wenn keine weiteren Signalisierungsnachrichten übertragen
werden müssen. Das Öffnen der
Verbindung zwischen dem Client und dem Server kann ausgeführt werden,
indem ein serverseitiges Java-Applet aufgerufen wird. Eine auf Java
basierende Laufzeitumgebung sorgt für Flexibilität, da Java
als unabhängig
von der spezifischen Plattform und den Software-Lösungen auf
der Seite des Clients gilt. Die Erfindung wird durch das Verfahren
gemäß Anspruch
1 ausgeführt.
-
Im
Folgenden ist die Erfindung beispielhaft und unter Bezugnahme auf
die Zeichnungen beschrieben.
-
1 enthält ein Beispiel
für das
vorliegende Verfahren, welches auf eine Telefonkonferenz, die über das
Internet gesteuert wird, zur Anwendung kommt.
-
2 zeigt
ein Diagramm der Abfolge von ausgetauschten Nachrichten entsprechend
der Erfindung.
-
1 zeigt
eine Ausführungsform
der Erfindung, die auf ein Szenario angewendet wird, in dem eine
Telefonkonferenz über
ein Internetendgerät PC(CC),
beispielsweise einen an das Internet IPNET angeschlossenen Personal-Computer,
veranlasst und gesteuert wird. Das Steuern der Telefonkonferenz
umfasst die Schritte des Vorbereitens und Veranlassens der Konferenz,
des Hinzuschaltens eines Konferenzteilnehmers zu einer bereits bestehenden Konferenz
und das Beenden der Konferenz durch Auflegen. In diesem Zusammenhang
bezeichnet der Begriff „Konferenzteilnehmer" alle Benutzer, die
an der Konferenz teilnehmen, mit Ausnahme des Konferenzführers (CC,
Conference Controller). Neben der Telefonkonferenz kann unter Umständen eine
synchronisierte Internet-Surf-Sitzung bereitgestellt werden für alle diejenigen
Konferenzteilnehmer, die Zugang zum Internet IPNET haben. Um die
Telefonkonferenz zu veranlassen, stellt der Konferenzführer CC über das
Internet IPNET eine HTTP-Verbindung zu dem Internetkonferenzserver
CtC her. Unter Umständen
werden Authentifizierungsinformationen wie beispielsweise Angaben
zu dem veranlassenden Benutzer, also dem Konferenzführer CC,
und zu den Konferenzteilnehmern Tln1, Tln2 und Tln3 sowie eine persönliche Identifikationsnummer
(PIN, Personal Identification Number) für den Zugang bereitgestellt. Wahlweise
kann der Konferenzführer
CC die Verwendung einer Sprache-über-Internetprotokoll
(VoIP, Voice over IP) -Verbindung spezifizieren, die über das
H.323-Protokoll
oder das SIP (Session Initiation Protocol, Protokoll zum Verbindungsaufbau)
vermittelt wird, an Stelle einer Verbindung über das öffentliche Fernsprechnetz PSTN.
Für das
Abrufen und Speichern der Authentifizierungsinformationen und der
Autorisierungsinformationen wird in der Nähe des Internetkonferenzservers
CtC ein LDAP-Server LDAP angeordnet. Der Internetkonferenzserver
CtC ist über
die CORBA-Architektur (Common Object Request Broker Architecture)
mit einer Offene-Dienste-Plattform
(OSP, Open Service Platform) verbunden, die eine Umgebung für verteilte
Anwendungen oberhalb des TCP/IP (Transmission Control Protocol over
Internet Protocol, Übertragungssteuerungsprotokoll über Internetprotokoll)
-Protokollstapels bereitstellt.
-
Anwendungsprogrammschnittstellen
(API, Application Programming Interface) der Offene-Dienste-Plattform
OSP erlauben die Bereitstellung von Zusatzdiensten sowie die Implementierung von
zusätzlichen
Dienstmerkmalen. Darüber
hinaus empfängt
die Offene-Dienste-Plattform OSP Signalisierungsnachrichten für die Steuerung
der Telefonkonferenzverbindung von einem Telefonvermittlungssystem
(TS, Telephone Switch), die an den Internetkonferenzserver CtC weitergeleitet
werden. Nachrichten zwischen der Offene-Dienste-Plattform OSP und
des Telefonvermittlungssystems TS werden über die Protokolle INAP (Intelligent
Network Application Part, Anwenderteil für intelligente Netzwerke) und TCAP
(Transaction Capability Application Part, Anwenderteil für Transaktionsfunktionen)
ausgetauscht. Diese beiden Protokolle werden allgemein für die Kommunikation
zwischen einem Dienstvermittlungspunkt (SSP, Service Switching Point)
und einem Dienststeuerungspunkt (SCP, Service Control Point) in
einer IN (Intelligent Network, intelligentes Netzwerk) -Netzwerkarchitektur
mit SS7 (Signalling System 7, Signalisierungssystem 7) -Signalisierung
verwendet. Das Telefonvermittlungssystem TS, beispielsweise eine
ISDN-Vermittlung, übernimmt
die Vermittlungsfunktionen für
die PSTN-Verbindungen der Telefonkonferenz. Möglicherweise wird eine PSTN-Verbindung
an ein Medien-Gateway (MGW, Media Gateway) weitergegeben, um die
Zuschaltung der Konferenzteilnehmer oder des Konferenzführers CC
per Spracheüber-Internetprotokoll
VoIP zu ermöglichen.
-
Die
Konferenzteilnehmer können
unter Umständen
neben dem Zugang zum öffentlichen
Fernsprechnetz PSTN auch über
Internetzugang verfügen. 1 zeigt
einen Konferenzteilnehmer Tln1, der über einen Personal-Computer
PC mit Internetzugang sowie über
ein PSTN-Telefon Tel verfügt.
Die übrigen
Konferenzteilnehmer Tln2 und Tln3 sind nur an ein öffentliches
Fernsprechnetz PSTNNET angeschlossen und nehmen über PSTN-Verbindungen teil.
Der Konferenzführer
CC kann sich auf das Vermittlungssystem oder das Telefonvermittlungssystem TS
aufschalten, entweder mittels einer PSTN-Verbindung (Telefon Tel(CC))
oder über
eine VoIP-Verbindung (Personal-Computer
PC(CC)). Im letztgenannten Fall ist ein Medien-Gateway MGW erforderlich, um dem Wechsel
des Trägers
(IP-Netzwerk mit H.323
gegen PSTN mit SS7) Rechnung zu tragen.
-
Verbindungsbezogene
Signalisierungsnachrichten von dem Telefonvermittlungssystem TS,
beispielsweise „No-Answer" (Keine Antwort), „Could-Not-Be-Reached" (Teilnehmer nicht
erreichbar), „Connected" (Verbunden), „Release" (Auslösen) etc.,
werden in Echtzeit auf dem Personal-Computer des Konferenzführers PC(CC)
sowie wahlweise des Konferenzteilnehmers Tln1 mit Internetzugang
angezeigt. Die Echtzeit-Benachrichtigung des Konferenzführers CC
sowie gegebenenfalls des Konferenzteilnehmers Tln1 mit Internetzugang
wird mittels einer Kombination aus serverseitigen Java-Servlets
und dynamischem HTTP realisiert. Die Verwendung von Java-Applets
hat den Vorteil, dass ein (e) CC-seitige(r) Proxy (-Schnittstelle)
serialisiert werden, das heißt,
als Parameterinformation zugelassen werden kann, welche während des
Prozesses der Verbindung zwischen dem Client, in dieser Ausführungsform
also dem Personal-Computer des Konferenzführers PC(CC), und dem Internetkonferenzserver
CtC auszutauschen sind. Auf diese Weise können der CC-seitige Proxy sowie
weitere an der Anwendung beteiligte Proxies an andere Clients weitergeleitet
werden. Beispielsweise kann dem Konferenzteilnehmer Tln1 mit Internetzugang
ein Informationsanfasser (Information Handle), welcher den CC-seitigen Proxy enthält, zur
Verfügung
gestellt werden, sodass auf der Konferenzteilnehmerseite keine neuen
Proxies mehr erzeugt werden müssen.
-
In
der bevorzugten Ausführungsform
basiert der Benachrichtigungsmechanismus auf serverseitigen Java-Servlets
in Kombination mit dynamischer HTML. Um den Benachrichtigungsmechanismus
zu starten, wird durch eine HTML-Anforderung
des Clients PC(CC) ein serverseitiges Servlet aufgerufen. Durch
das Aufrufen des Java-Servlets meldet sich der Client PC(CC) an
für den
Empfang von Signalisierungsnachrichten, die von dem Telefonvermittlungssystem
TS übertragen
werden.
-
Eine
HTTP-Verbindung wird aufgebaut für die
Datenstromübertragung
von Nachrichten von dem Internetkonferenzserver CtC an den Client PC(CC).
Im Gegensatz zu der herkömmlichen
Client-Server-Kommunikation, bei der die Verbindung nach dem Erhalt
einer HTTP-Seite geschlossen wird, bleibt die Verbindung offen,
solange weitere Signalisierungsnachrichten an den Client PC(CC) übertragen
werden. Durch die Anmeldung des Clients wird ein Format für die Signalisierungsnachrichten
spezifiziert, die von dem Internetkonferenzserver CtC an den Client
PC(CC) gesendet werden. Für
dieses Format wird ein Computer-Code gewählt, der von dem Browser des
Clients ausgeführt
werden kann, beispielsweise JavaScript, XML, HTTP oder in Java serialisierte
Objekte. Das letztgenannte Format kann für Browser verwendet werden,
die mit clientseitigen Java-Klassen arbeiten. Über die Anmelde-Anforderung
durch den Client wird auch das Übertragungsprotokoll
für den
Datenstrom festgelegt. Vorzugsweise wird für dieses Protokoll das HTTP
gewählt,
jedoch sind auch andere Optionen wie etwa TCP (Transmission Control
Protocol, Übertragungssteuerungsprotokoll),
UDP (User Datagram Protocol, Anwender-Datagramm-Protokoll), RMI
(Remote Message Invocation) etc. möglich. Die Signalisierungsnachrichten
von dem Telefonvermittlungssystem TS, welche von dem Internetkonferenzserver
CtC empfangen werden, werden für
die Übertragung
an den Client PC(CC) formatiert oder angepasst. Diese Nachrichten
werden mithilfe eines Java-Servlets verschickt, das manchmal auch
als „Pushlet" bezeichnet wird
und die Signalisierungsnachrichten an den Browser des Clients „pusht" oder sendet. Dieses „Push" oder Senden von
Computer-Code, das von dem Browser eines Clients ausgeführt wird,
ist ein ursprünglich
im Rahmen der dynamischen HTML (DHTML) zur Anwendung kommender Mechanismus.
Nach dem herkömmlichen
Verfahren kann eine Seite nur dadurch geändert werden, dass eine neue Seite
vom Server heruntergeladen wird. DHTML dagegen erlaubt die vollständige Kontrolle
eines HTML-Dokuments innerhalb eines Browsers, nachdem die Seite
heruntergeladen wurde. Aus Sicht eines Programmierers wird das gesamte
Dokument im Web-Browser – Rahmen,
Bilder, Absätze,
Tabellen etc. – als
ein hierarchisches Objektmodell dargestellt, das Dokument-Objekt-Modell (DOM, Document
Object Model). Mittels JavaScript-Code oder eines beliebigen anderen
Computer-Codes, der von dem Browser ausgeführt werden kann, können die
Elemente des Dokument-Objekt-Modells DOM dynamisch bearbeitet werden
und damit der Inhalt oder das Erscheinungsbild des Dokuments verändert werden.
Das offizielle Normungsgremium für
Spezifikationen in Bezug auf DHTML ist das World Wide Web Consortium
(W3C). Die grafische Bedienoberfläche (GUI, Graphical User Interface)
des Clients wird dynamisch mit neuen Signalisierungsnachrichten
aktualisiert, die als Datenstrom vom Server kommen.
-
2 enthält ein Diagramm
mit einer Abfolge von ausgetauschten Nachrichten zum Hinzuschalten
eines Konferenzteilnehmers Tln2 zu der Telefonkonferenz. Die Reihenfolge
der ausgetauschten Nachrichten ist:
ReqCl: Eine Anforderung
ReqCl, den Konferenzteilnehmer Tln2 anzurufen, wird von dem Client
PC(CC) an den Internetkonferenzserver CtC übertragen.
MgCl: Eine
Nachricht MgCl, die sich auf die Anforderung zum Anrufen von Konferenzteilnehmer
Tln2 bezieht, wird von dem Internetkonferenzserver CtC an das Telefonvermittlungssystem
TS übertragen.
Cl:
Nach Empfang der Nachricht MgCl wird von dem Telefonvermittlungssystem
TS ein Anruf über
das öffentliche
Fernsprechnetz PSTN bei Konferenzteilnehmer Tln2 veranlasst.
Rg:
Die PSTN-Verbindung wird von dem Telefon des Konferenzteilnehmers
Tln2 bestätigt,
indem ein Signal für
das rufende Endgerät
(Rufton) erzeugt wird.
MgRg: Die Bestätigung durch das Telefon des
Konferenzteilnehmers Tln2 wird von dem Telefonvermittlungssystem
TS mithilfe der Signalisierungsnachricht MgRg an den Internetkonferenzserver
CtC signalisiert.
ResRg: Die Signalisierungsnachricht MgRg
wird angepasst und als eine DHTTP-Antwort ResRg von dem Internetkonferenzserver
CtC an den Client PC(CC) übertragen.
ResKA:
Nach jedem Zeitraum T wird von dem Internetkonferenzserver CtC eine
HTTP-Antwort an den Client PC(CC) gesendet, um den Client darüber zu informieren,
dass die HTTP-Verbindung offen gehalten werden muss (KA: Keep Alive,
am Leben halten). Tatsächlich
handelt es sich bei der Datenstromübertragung (dem Streaming)
um einen Rückruf
des Servers bei dem Client während
einer Client-Server-Verbindung.
Ct: Die Verbindung zwischen
dem Telefonvermittlungssystem TS und dem Telefon des Konferenzführers wird
hergestellt.
MgCt: Der Aufbau der Verbindung zwischen dem Telefonvermittlungssystem
TS und dem Konferenzteilnehmer Tln2 wird von dem Telefonvermittlungssystem
TS in der Signalisierungsnachricht MgCt an den Internetkonferenzserver
CtC signalisiert.
ResCt: Die Signalisierungsnachricht MgCt
wird angepasst und als eine DHTTP-Antwort ResCT von dem Internetkonferenzserver
CtC an den Client PC(CC) übertragen.
-
Auch
wenn die vorstehende bevorzugte Ausführungsform ein Szenario beschreibt,
in dem Signalisierungsnachrichten von einer ISDN-Vermittlung über das
Internet an ein Internetendgerät
(PC(CC)) übertragen
werden, kann das vorliegende Verfahren auch in einem Zusammenhang
zum Einsatz kommen, in dem Signalisierungsnachrichten von einer privaten
Nebenstellenanlage (PBX, Private Branch Exchange) über ein
privates IP-Netzwerk (Intranet) übertragen
werden.