-
Gebiet der
Erfindung und Allgemeiner Stand der Technik
-
Die
vorliegende Erfindung betrifft ein Verfahren und ein System für die Verwaltung
von Kommunikationssitzungen für
die computernetzwerkgestützte Telefonkommunikation
und insbesondere für
die Identifizierung von Paketen, die Audio- und/oder Videodaten
enthalten, für
die Speicherung dieser Pakete und für die Rekonstruktion ausgewählter Kommunikationssitzungen
für die
bedarfsweise Wiedergabe von Audio- und/oder Videosignalen.
-
Die
Integration des Computers in Bürokommunikationssysteme
hat es ermöglicht,
zahlreiche Funktionen, die früher
von separaten Geräten
ausgeführt
wurden, zu einem einzigen Verwaltungssystem, das durch einen Computer
gesteuert wird, zu kombinieren. Beispielsweise ermöglichen
es computergestützte
Sprachprotokollierungssysteme einem Computer, Sprachkommunikation über einen
Hardwareanschluss an das normale Telefonnetz zu empfangen, ein Gespräch, an dem
wenigstens zwei Parteien beteiligt sind, oder eine Mitteilung von
wenigstens einer Partei an eine oder mehrere Parteien aufzuzeichnen
und diese aufgezeichneten Gespräche
oder Mitteilungen bei Bedarf wiederzugeben. Diese Sprachprotokollierungssysteme
können
mechanische Anrufbeantworter ersetzen.
-
Die
computergestützten
Protokollierungssysteme haben im Vergleich zu mechanischen Anrufbeantwortern
zahlreiche Vorteile. Beispielsweise kann die Sprachmitteilung auf
einem computergestützten
Speichermedium wie beispielsweise einer DAT-Kassette gespeichert
werden, die eine größere Speicherkapazität als herkömmliche
Audiokassetten besitzt.
-
Des
Weiteren können
die gespeicherten Sprachmitteilungen in einer Datenbank organisiert werden,
dergestalt, dass die Mitteilungen beispielsweise anhand von Uhrzeit,
Datum, Kanal, gewählter Nummer
oder Anruferidentifikation abgerufen werden kann. Eine solche Organisierung
ist mit einem mechanischen Anrufbeantworter nicht möglich. Darum
haben computergestützte
Protokollierungssysteme im Vergleich zu mechanischen Anrufbeantwortern
zahlreiche Vorteile.
-
Leider
haben derzeit verfügbare
computergestützte
Protokollierungssysteme den Nachteil, dass sie keine Telefonkommunikationssitzungen – seien
es Gespräche
oder Mitteilungen – für Sprachkommunikation
aufzeichnen können,
die über
ein LAN (Local Area Network) oder ein WAN (Wide Area Network) erfolgt.
Obgleich diese Protokollierungssysteme in der Lage sind, beispielsweise
Sprachmitteilungen an einen räumlich
entfernten Benutzer über ein
LAN wiederzugeben, können
sie eine solche Mitteilung nicht aufzeichnen, wenn sie über ein
LAN-gestütztes
Telefon übertragen
wird. Eine solche LAN- und WAN-gestützte Telefonkommunikation ist
in jüngster
Zeit immer beliebter geworden, da sie eine Telefonkommunikation
zwischen verschiedenen Parteien an räumlich voneinander getrennten
Orten ermöglicht,
ohne dass man die ortsüblichen
Telefongebühren
für das
reguläre
Telefonnetz zahlen muss, wodurch man Geld spart.
-
Die
den Stand der Technik darstellende Schrift
US 5,717,879 offenbart ein System
zum Verwalten einer Kommunikationssitzung in Form einer Zusammenarbeit
mit Audioaufzeichnungen und einer Whiteboard-Session. Die Aktivitäten aller
Parteien werden aufgezeichnet und protokolliert, um sie später abrufen
zu können.
Es wird aber nicht näher
auf Netzwerktauglichkeit, Verbindungsmöglichkeiten oder die verwendeten
Protokolle eingegangen. Des Weiteren wird in der den Stand der Technik
darstellenden Schrift
US 5,101,402 das
Filtern von Netzwerkpaketen in Local Area Networks anhand einer Analyse
des Paketzellkopfes besprochen.
-
Außerdem ermöglicht die
LAN- und WAN-gestützte
Telefonkommunikation auch die Übertragung
von Video- und Audioinformationen. Videoinformationen können ganz
sicher nicht von derzeit verfügbaren
computergestützten
Protokollierungssystemen aufgezeichnet werden. Dass computergestützte Protokollierungssysteme
nicht in der Lage sind, Telefonkommunikationssitzungen für Telefonkommunikation,
die über
ein LAN oder WAN erfolgt, aufzuzeichnen, ist somit ein großer Nachteil dieser
Systeme.
-
Es
besteht darum Bedarf an einem System und einem Verfahren zum Aufzeichnen
von Telefonkommunikationssitzungen, die über ein Computernetzwerk wie
beispielsweise LAN oder WAN erfolgen, womit sowohl Audio- als auch
Videoinformationen aufgezeichnet werden können, womit solche Informationen
organisieren werden können
und womit anschließend
solche Informationen auf Verlangen wiedergegeben werden können, und
es wäre überaus vorteilhaft, über ein
solches System und Verfahren zu verfügen.
-
Kurzdarstellung
der Erfindung
-
Es
ist eine Aufgabe der vorliegenden Erfindung, ein System und ein
Verfahren zum Aufzeichnen von Kommunikationssitzungen, die über ein Computernetzwerk
ablaufen, bereitzustellen.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, ein solches
System und Verfahren zum Analysieren von Daten, die über das
Computernetzwerk übertragen
wurden, um Audio- und Videodaten zum Aufzeichnen zu erkennen, bereitzustellen.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, ein solches
System und Verfahren zum bedarfsweisen Wiedergeben aufgezeichneter
Video- und Audiodaten bereitzustellen.
-
Es
ist eine weitere Aufgabe der vorliegenden Erfindung, ein solches
System und Verfahren zum Analysieren, Aufzeichnen und Wiedergeben
von Kommunikationssitzungen, die über ein LAN-gestütztes Telefonsystem
ablaufen, bereitzustellen.
-
Diese
und weitere Aufgaben der vorliegenden Erfindung werden im Folgenden
anhand der Zeichnungen, der Beschreibung und der Ansprüche eingehender
erläutert.
-
Die
vorliegende Erfindung stellt ein System und ein Verfahren zum Analysieren
von Datenpaketen in einem Computernetzwerk, zum selektiven Aufzeichnen
von Audio- und Videodatenpaketen, zum Organisieren dieser gespeicherten
Informationen und zum bedarfsweisen Wiedergeben der gespeicherten
Informationen, dergestalt, dass Kommunikationssitzungen mit computernetzwerkgestützten Telefonsystemen
protokolliert werden können,
bereit.
-
Gemäß den Lehren
der vorliegenden Erfindung wird ein System zum Verwalten einer Kommunikationssitzung über ein
Computernetzwerk bereitgestellt, wobei das System Folgendes umfasst:
(a) einen Netzwerkverbinder zum Einklinken in das Computernetzwerk
und zum Empfangen von Datenpaketen aus dem Computernetzwerk; (b)
eine Filterungseinheit zum Filtern der Datenpakete und zum Entgegennehmen
der Datenpakete im Wesentlichen nur, wenn die Datenpakete Daten
enthalten, bei denen es sich um Audio- und/oder Videodaten handelt,
dergestalt, dass die Datenpakete wenigstens einen Teil der Kommunikationssitzung
bilden, und dergestalt, dass die Datenpakete ausgewählte Datenpakete
sind; (c) eine Verwaltungseinheit zum Empfangen der ausgewählten Datenpakete
und zum Speichern der ausgewählten
Datenpakete, dergestalt, dass die ausgewählten Datenpakete gespeicherte
Datenpakete sind; und (d) ein Speichermedium zum Empfangen und zum
Speichern der gespeicherten Datenpakete von der Verwaltungseinheit,
dergestalt, dass der wenigstens eine Teil der Kommunikationssitzung
gespeichert wird.
-
Das
System umfasst vorzugsweise des Weiteren (e) eine Datenwiederherstellungseinheit
zum Abrufen und Wiedergeben des wenigstens einen Teils der Kommunikationssitzung,
wobei die Datenwiederherstellungseinheit die Datenpakete über die Verwaltungseinheit
vom Speichermedium anfordert und wobei die Datenwiederherstellungseinheit
die Datenpakete zum Wiedergeben des wenigstens einen Teils der Kommunikationssitzung
rekonstruiert.
-
Besonders
bevorzugt umfasst die Datenwiederherstellungseinheit des Weiteren
eine Kommunikationssitzungswiedergabeeinheit zum Wiedergeben des
wenigstens einen Teils der Kommunikationssitzung. Ganz besonders
bevorzugt handelt es sich bei der Kommunikationssitzungswiedergabeeinheit
um ein Video- und/oder Audiogerät.
-
Gemäß bevorzugten
Ausführungsformen
der vorliegenden Erfindung umfasst das System des Weiteren (f) eine
mit der Filterungseinheit verbundene Datenbank zum Speichern von
Filterungsinformationen, wobei diese Filterungsinformationen wenigstens
eine IP-Adresse der Partei enthalten, deren Kommunikationssitzungen überwacht
werden; wobei die Filterungseinheit die Datenpakete entsprechend den
Filterungsinformationen entgegennimmt, dergestalt, dass die Filterungseinheit
die Datenpakete im Wesentlichen nur entgegennimmt, wenn die Datenpakete
den Filterungsinformationen entsprechen.
-
Vorzugsweise
umfasst das System des Weiteren (g) einen Benutzercomputer zum Empfangen wenigstens
eines Befehls eines Benutzers und zum Anzeigen von Informationen
an den Benutzer, dergestalt, dass der Benutzer die Filterungsin formationen entsprechend
dem wenigstens einen Befehl des Benutzers festlegt.
-
Besonders
bevorzugt handelt es sich bei dem Computernetzwerk um ein LAN (Local
Area Network) oder ein WAN (Wide Area Network). Ganz besonders bevorzugt
handelt es sich bei dem Computernetzwerk um ein LAN (Local Area
Network).
-
Gemäß weiteren
bevorzugten Ausführungsformen
der vorliegenden Erfindung ist das LAN in wenigstens zwei Segmente
unterteilt, wobei das System des Weiteren Folgendes umfasst: (h)
eine lokale Verwaltungseinheit für
jedes Segment, wobei die lokale Verwaltungseinheit die Filterungseinheit
und die Verwaltungseinheit enthält;
und (i) eine zentrale Verwaltungseinheit zum Steuern der lokalen
Verwaltungseinheiten, wobei die zentrale Verwaltungseinheit die Speicherung
auf dem Speichermedium steuert.
-
Bei
dem Netzwerkverbinder handelt es sich vorzugsweise um eine Netzwerkschnittstellenkarte.
-
Gemäß einer
weiteren Ausführungsform
der vorliegenden Erfindung wird ein Verfahren zum Speichern wenigstens
eines Teils einer in einem Computernetzwerk stattfindenden Kommunikationssitzung bereitgestellt,
wobei die Kommunikationssitzung zwischen einem Paketquellenort und
einem Paketzielort stattfindet, wobei die Schritte des Verfahrens
durch einen Datenprozessor ausgeführt werden, wobei das Verfahren
folgende Schritte umfasst: (a) Empfangen eines Datenpaketes von
dem Paketquellenort in einem Computernetzwerk; (b) Analysieren des
Datenpaketes, um festzustellen, ob das Datenpaket ein IP-Paket ist;
(c) wenn das Datenpaket das IP-Paket ist, Filtern des IP-Paketes,
um einen Typ des IP-Paketes
festzustellen; und (d) Speichern des IP-Paketes dergestalt, dass
ein gespeichertes Datenpaket entsprechend dem Typ entsteht, dergestalt,
dass das gespeicherte Daten paket wenigstens einen Teil der Kommunikationssitzung
bildet.
-
Vorzugsweise
erfolgt der Schritt des Analysierens des Datenpaketes durch Überprüfen eines Zellkopfes
des Datenpaketes.
-
Gemäß einer
bevorzugten Ausführungsform der
vorliegenden Erfindung erfolgt der Schritt des Filterns des IP-Paketes
durch Überprüfen des
Zellkopfes des IP-Paketes.
-
Vorzugsweise
umfasst der Schritt des Filterns des IP-Paketes des Weiteren folgende
Schritte: (i) Überprüfen des
Zellkopfes des IP-Paketes, um eine IP-Adresse des Paketquellenortes
festzustellen; (ii) Feststellen, ob die IP-Adresse eine aufgezeichnete IP-Adresse
ist; (iii) Weiterleiten des IP-Paketes dergestalt, dass ein weitergeleitetes
IP-Paket gebildet wird, im Wesentlichen nur, wenn die IP-Adresse die aufgezeichnete
IP-Adresse ist; und (iv) alternativ Umspeichern des IP-Paketes.
-
Besonders
bevorzugt wird der Schritt des Feststellens, ob die IP-Adresse die
aufgezeichnete IP-Adresse ist, durch Vergleichen der IP-Adresse
mit einer Liste von IP-Adressen von Paketquellenorten durchgeführt, dergestalt,
dass, wenn die IP-Adresse in der Liste aufgeführt ist, die IP-Adresse die
aufgezeichnete IP-Adresse ist.
-
Vorzugsweise
umfasst der Schritt des Filterns des IP-Paketes des Weiteren folgende
Schritte: (v) Feststellen, ob das weitergeleitete IP-Paket ein H.225-Paket,
ein H.245-Paket, ein RTP-Paket oder ein RTCP-Paket ist; (vi) wenn
der Typ des weitergeleiteten IP-Paketes das H.225-Paket ist, Feststellen, ob
das H.225-Paket ein Aufbau-Paket oder ein Verbindungs-Paket ist;
(vii) wenn das H.225-Paket das Aufbau-Paket ist, Setzen einer Statusmarkierung
auf "Sitzungsbeginnanforderung"; (viii) alternativ,
wenn das H.225- Paket
das Verbindungs-Paket ist und die Statusmarkierung auf "Sitzungsbeginnanforderung" gesetzt ist, Speichern
wenigstens eines Details der Kommunikationssitzung; und (ix) Setzen
der Statusmarkierung auf "Warten
auf logischen Kanal".
-
Besonders
bevorzugt umfasst der Schritt des Filterns des IP-Paketes des Weiteren
folgende Schritte: (x) alternativ, wenn der Typ des weitergeleiteten
IP-Paketes das H.245-Paket
ist, Feststellen, ob das H.245-Paket ein Paket mit der Anforderung
zum Eröffnen
eines logischen Kanals, ein Paket mit der Bestätigung der Eröffnung eines
logischen Kanals oder ein Paket mit der Bestätigung der Terminalbereitschaft
ist; (xi) wenn das H.245-Paket das Paket mit der Anforderung zum
Eröffnen
eines logischen Kanals ist und die Statusmarkierung auf "Warten auf logischen
Kanal" steht, Setzen
der Statusmarkierung auf "Warten
auf Bestätigung"; (xii) alternativ,
wenn das H.245-Paket das Paket mit der Bestätigung der Eröffnung eines
logischen Kanals ist und die Statusmarkierung auf "Warten auf Bestätigung" steht, Ausführen folgender
Schritte: (A) Setzen der Statusmarkierung auf "Warten auf Terminalbereitschaft"; und (B) Speichern
einer Transportadresse des Zielortes der Kommunikationssitzung;
und (xiii) ebenfalls alternativ, wenn das H.245-Paket das Paket
mit der Bestätigung
der Terminalbereitschaft ist, Ausführen folgender Schritte: (A)
Speichern einer Bereitschaft des Paketzielortes aus dem Paket mit
der Bestätigung der
Terminalbereitschaft; und (B) Setzen der Statusmarkierung auf "in der Gesprächsabwicklung".
-
Ganz
besonders bevorzugt wird, wenn die Statusmarkierung auf "in der Gesprächsabwicklung" steht und der Typ
des weitergeleiteten IP-Paketes das RTP-Paket ist, das RTP-Paket gespeichert.
Des Weiteren wird ganz besonders bevorzugt, wenn die Statusmarkierung
auf "in der Gesprächsab wicklung" steht und der Typ
des weitergeleiteten IP-Paketes das RTCP-Paket ist, das RTCP-Paket
gespeichert.
-
Gemäß einer
weiteren bevorzugten Ausführungsform
der vorliegenden Erfindung umfasst das Verfahren des Weiteren folgende
Schritte: (e) Abrufen des gespeicherten Datenpaketes dergestalt, dass
ein abgerufenes Datenpaket gebildet wird; und (f) Rekonstruieren
wenigstens eines Teils der Kommunikationssitzung entsprechend dem
abgerufenen Datenpaket.
-
Vorzugsweise
enthält
der Schritt des Abrufens des Datenpaketes folgende Schritte: (i)
Empfangen einer Quellen-IP-Adresse
des Paketquellenortes, einer Startzeit der Kommunikationssitzung
und einer Endzeit der Kommunikationssitzung; und (ii) Auswählen wenigstens
einer Kommunikationssitzung entsprechend der Quellen-IP-Adresse,
der Startzeit und der Endzeit.
-
Des
Weiteren enthält
der Schritt des Rekonstruierens wenigstens eines Teils der Kommunikationssitzung
bevorzugt die Wiedergabe von Audiodaten.
-
Alternativ
und ebenfalls bevorzugt enthält der
Schritt des Rekonstruierens wenigstens eines Teils der Kommunikationssitzung
die Wiedergabe von Videodaten.
-
Besonders
bevorzugt umfasst der Schritt des Rekonstruierens wenigstens eines
Teils der Kommunikationssitzung des Weiteren folgende Schritte (i) Abrufen
von im Wesentlichen nur RTP-Paketen; (ii) Überprüfen des Zellkopfes der RTP-Pakete,
um einen Zeitstempel für
jedes RTP-Paket zu ermitteln; und (iii) Wiedergeben der RTP-Pakete
in einer Reihenfolge entsprechend dem Zeitstempel.
-
Im
weiteren Verlauf des vorliegenden Textes meint der Begriff "Kommunikationssitzung" sowohl ein Gespräch, bei
dem wenigstens zwei Parteien über
den Austausch von Audio- und/oder
Videoinformationen in Echtzeit miteinander kommunizieren, als auch
eine Mitteilung, bei der wenigstens eine Partei derartige Audio-
und/oder Videoinformationen aufzeichnet, damit wenigstens eine andere
Partei sie zu einer späteren
Zeit empfängt.
-
Im
weiteren Verlauf des vorliegenden Textes meint der Begriff "Internet" allgemein das globale
verlinkte Netz Tausender Netzwerke, das dazu dient, Computer auf
der ganzen Welt miteinander zu verbinden. Im Sinne des vorliegenden
Textes meint der Begriff "Intranet" andere Arten von
Computernetzwerken, wie beispielsweise LAN (Local Area Network)
oder WAN (Wide Area Network). Der Begriff "Computernetzwerk" meint jedwede Verbindung zwischen wenigstens
zwei Computern, wodurch die Übertragung
von Daten ermöglicht
wird, einschließlich
sowohl des Internet als auch des Intranet. Der Begriff "reguläres Telefonnetz" meint das einfache alte
Fernsprechsystem und im wesentlichen jede sonstige Art von Telefonnetz,
das Dienste über
einen regulären
Telefondiensteanbieter erbringt, wobei aber ausdrücklich Audio-
und/oder Videokommunikation ausgeschlossen sind, die über irgend
eine Art von Computernetzwerk erfolgt.
-
Im
weiteren Verlauf des vorliegenden Textes meint der Begriff "Computer" einschließlich beispielsweise
Personalcomputer (PC) mit einem Betriebssystem wie beispielsweise
DOS, WindowsTM, OS/2TM oder
Linux; MackintoshTM-Computer, Computer mit JAVATM-OS als Betriebssystem; grafische Workstations
wie beispielsweise die Computer von Sun MicrosystemsTM und
Silicon GraphicsTM und weitere Computer
mit einer Version des Betriebssystems UNIX, wie beispielsweise AIX
oder SOLARISTM von Sun MicrosystemsTM, oder jegliche sonstigen bekannten und
verfügbaren
Betriebssysteme. Im weiteren Verlauf des vorliegenden Textes meint
der Begriff "WindowsTM" einschließlich beispielsweise
Windows 95TM, Windows 3.xTM,
wobei "x" eine ganze Zahl
wie beispielsweise "1" ist, Windows NTTM, Windows 98TM, Windows
CETM und alle modernisierten Versionen dieser
Betriebssysteme von Microsoft, Inc. (Seattle, Washington, USA).
-
Im
weiteren Verlauf des vorliegenden Textes meint der Begriff "Protokollieren" den Prozess des Analysierens
von Datenpaketen in einem Netzwerk zum Lokalisieren von Audio- und/oder Videodaten und
des Aufzeichnens solcher Daten in einem organisierten System. Im
weiteren Verlauf des vorliegenden Textes meint der Begriff "Wiedergeben" sowohl das visuelle
Wiedergeben von Videodaten als auch die Tonproduktion für Audiodaten.
-
Kurze Beschreibung
der Zeichnungen
-
Die
Erfindung wird im vorliegenden Text lediglich beispielhaft anhand
der begleitenden Zeichnungen beschrieben.
-
1 ist
ein schematisches Blockdiagramm eines beispielhaften Kommunikationssitzungsüberwachungssystems
gemäß der vorliegenden
Erfindung.
-
2 ist
ein schematisches Blockdiagramm der Softwaremodule, die für den Betrieb
des Systems von 1 erforderlich sind.
-
3A–3D sind
Ablaufdiagramme beispielhafter Filterungs- und Aufzeichnungsverfahren gemäß der vorliegenden
Erfindung.
-
4A–4D sind
schematische Blockdiagramme der Zellköpfe von H.225-, H.245-, RTP- und
RTCP-Paketen (4A, 4B, 4C bzw. 4D)
im Zusammenhang mit der vorliegenden Erfindung.
-
5 ist
ein Ablaufdiagramm eines beispielhaften Kommunikationssitzungswiedergabeverfahrens
gemäß der vorliegenden
Erfindung.
-
6 ist
ein schematisches Blockdiagramm einer beispielhaften ersten Ausführungsform
eines Basissystems, welches das Kommunikationssitzungsüberwachungssystem
der 1 und 2 gemäß der vorliegenden Erfindung
verwendet.
-
7 ist
ein schematisches Blockdiagramm einer beispielhaften zweiten Ausführungsform
eines Zonensystems gemäß der vorliegenden
Erfindung.
-
Beschreibung
des Standes der Technik
-
Das
folgende Kapitel beschreibt bestimmte Verfahren und Technologien,
die den Stand der Technik repräsentieren
und die optional bei dem Verfahren und System der vorliegenden Erfindung
Verwendung finden. Die vorliegende Erfindung betrifft ausdrücklich nicht
diese Verfahren und Technologien allein, sondern diese dienen vielmehr
als Hilfsmittel zur Erreichung der Aufgabe der vorliegenden Erfindung, bei
der es sich um ein System und ein Verfahren zum Analysieren von
Datenpaketen in einem Computernetzwerk, zum selektiven Aufzeichnen
von Audio- und Videodatenpaketen, zum Organisieren dieser gespeicherten
Informationen und zum bedarfsweisen Wiedergeben der gespeicherten
Informationen, dergestalt, dass Kommunikationssitzungen mit computernetzwerkgestützten Telefonsystemen
protokolliert werden können,
handelt.
-
Das
System und Verfahren der vorliegenden Erfindung ist insbesondere
für den
Betrieb mit Computernetzwerken vorgesehen, die gemäß der ITU-T-Empfehlung
H.323 für
Videotelefonsysteme und -ausrüstung
für lokale
Netze (Local Area Networks), die eine nicht-garantierte Servicequalität bieten,
konstruiert sind. Die Empfehlung H.323 wird durch Bezugnahme in
den vorliegenden Text aufgenommen, um die Hardware-Voraussetzungen
und Betriebsprotokolle für
solche Computernetzwerke näher
zu beschrieben, und wird im Weiteren als "H.323" bezeichnet.
-
H.323
beschreibt Endgeräte,
Ausrüstung und
Dienste für
die Multimedia-Kommunikation über Local
Area Networks (LAN), die keine garantierte Servicequalität bieten.
Computer-Terminals
und -Ausrüstung,
die H.323 erfüllen,
können
Sprache, Daten und Video einzeln oder in Kombination, einschließlich Videotelefonie,
in Echtzeit übermitteln.
-
Das
LAN, über
das solche Terminals kommunizieren, kann ein einzelnes Segment oder
ein Ring sein oder kann optional mehrere Segmente mit komplexen
Topologien beinhalten. Diese Terminals sind optional in Computer
integriert oder sind alternativ in selbstständigen Vorrichtungen wie beispielsweise
Videotelefonen implementiert. Unterstützung für Sprachdaten ist notwendig,
während
Unterstützung für allgemeine
Daten und Videodaten optional ist, doch wenn allgemeine Daten und
Videodaten unterstützt
werden, so ist die Fähigkeit
zur Verwendung eines bestimmten gemeinsamen Betriebsmodus' erforderlich, damit
alle Terminals, die diesen bestimmten Medientyp unterstützen, miteinander
kommunizieren können.
Die Empfehlung H.323 ermöglicht
es, mehr als einen Kanal jedes Typs belegt zu haben. Zu weiteren
Empfehlungen in der Serie H.323, die ebenfalls durch Bezugnahme
aufgenommen werden, gehören H.225.0
Paket und Synchronisation, H.245 Steuerung, H.261 und H.263 Video-Codecs, G.711, G.722, G.728,
G.729 und G.723 Audio-Codecs und die Serie T.120 aus Multimediakommunikationsprotokollen.
-
Die
ITU-T-Empfehlung H.245.0 betrifft die Definition der Medienstrompacketisierung
und -synchronisierung für
Videotelefonsysteme. Die ITU-T-Empfehlung H.245.0 definiert das
Steuerungsprotokoll für
Multimediakommunikationen und wird im weiteren Verlauf des vorliegenden
Textes als "H.245" bezeichnet. H.245
wird durch Bezugnahme aufgenommen, wie im vorliegenden Text vollständig dargelegt
ist.
-
Die
Prozeduren für
die Zeichengabe auf logischen Kanälen der Empfehlung H.245 beschreiben den
Inhalt jedes logischen Kanals, wenn der Kanal eröffnet wird. Es sind Prozeduren
für die Übermittlung
der funktionalen Parameter von Empfängern und Sendern vorgesehen,
so dass Übertragungen auf
Informationen beschränkt
sind, die von den Empfängern
decodiert werden können,
und dass Empfänger
einen bestimmten gewünschten
Modus von den Sendern anfordern können.
-
Eine
H.245-Zeichengabe wird zwischen zwei Endpunkten aufgebaut: einem
Endpunkt und einer Mehrpunktsteuerung oder einem Endpunkt und einem
Gatekeeper. Der Endpunkt baut exakt einen H.245-Steuerungskanal
für jedes
Telefonat auf, an dem der Endpunkt beteiligt ist. Der Kanal muss
dann gemäß H.245
arbeiten. Eine Unterstützung
für mehrere
Telefonate und somit für
mehrere H.245-Steuerungskanäle
ist möglich.
-
Die
RAS-Zeichengabefunktion verwendet H.225.0-Meldungen, um Registrierungs-,
Zulassungs-, Bandbreitenänderungs-,
Status- und Trennungsprozeduren zwischen Endpunkten und Gatekeepern
auszuführen.
In LAN-Umgebungen, die keinen Gatekeeper haben, wird der RAS-Zeichengabekanal
nicht verwendet.
-
In
LAN-Umgebungen, die einen Gatekeeper haben, dergestalt, dass das
LAN wenigstens eine Zone beinhaltet, wird der RAS-Zeichengabekanal zwischen
dem Endpunkt und dem Gatekeeper eröffnet. Der RAS-Zeichengabekanal
wird vor dem Aufbau anderer Kanäle
zwischen H.323-Endpunkten eröffnet.
-
Die
Anrufsignalisierungsfunktion verwendet H.225.0-Anrufsignalisierung
zum Aufbau einer Verbindung zwischen H.323-Endpunkten. Der Anrufsignalisierungskanal
ist vom RAS-Kanal und vom H.245-Steuerungskanal unabhängig. Der
Anrufsignalisierungskanal wird eröffnet, bevor der H.245-Kanal
und sonstige logische Kanäle
zwischen H.323-Endpunkten aufgebaut werden. Bei Systemen, die keinen
Gatekeeper haben, wird der Anrufsignalisierungskanal zwischen den
beiden Endpunkten eröffnet,
die an dem Telefonat beteiligt sind. Bei Systemen, die einen Gatekeeper
haben, wird der Anrufsignalisierungskanal zwischen dem Endpunkt
und dem Gatekeeper oder zwischen den Endpunkten selbst – je nach
Entscheidung des Gatekeepers – eröffnet.
-
Beschreibung
der bevorzugten Ausführungsformen
-
Die
vorliegende Erfindung stellt ein System und ein Verfahren zum Analysieren
von Datenpaketen in einem Computernetzwerk, zum selektiven Aufzeichnen
von Audio- und Videodatenpaketen, zum Organisieren dieser gespeicherten
Informationen und zum bedarfsweisen Wiedergeben der gespeicherten
Informationen, dergestalt, dass Kommunikationssitzungen mit computernetzwerkgestützten Telefonsystemen
protokolliert werden können,
bereit.
-
Die
Prinzipien und die Funktionsweise eines Verfahrens und Systems gemäß der vorliegenden
Erfindung lassen sich anhand der Zeichnungen und der begleitenden
Beschreibung besser verstehen.
-
Wenden
wir uns den Zeichnungen zu. 1 ist ein
Blockdiagramm eines beispielhaften Systems zum Protokollieren und
Wiedergeben von Audio- und/oder Videodaten von Kommunikationssitzungen, die über ein
Computernetzwerk stattfinden. Ein computergestütztes Protokollierungssystem 10 enthält einen
Benutzercomputer 12, der mit einer Kommunikationssitzungsverwaltungseinheit 13 verbunden
ist. Die Kommunikationssitzungsverwaltungseinheit 13 ist
ihrerseits über
eine Netzwerkschnittstellenkarte (NSK) 16 mit einem Intranet 14 verbunden.
-
Der
Benutzercomputer 12 enthält eine Benutzerschnittstelle 18,
bei der es sich vorzugsweise um eine GBS (grafische Benutzerschnittstelle)
handelt, die auf einer Anzeigeeinheit 20 angezeigt wird. Die
Benutzerschnittstelle 18 ermöglicht es vorzugsweise einem
Benutzer, Informationen wie beispielsweise die Definition der Parteien
einzugeben, deren Telefonate überwacht
und/oder protokolliert werden sollen, und ermöglicht es vorzugsweise des
Weiteren einem Benutzer, wenigstens einen Befehl zum Abrufen und
Wiedergeben einer Kommunikationssitzung einzugeben.
-
Bei
der Anzeigeeinheit 20 handelt es sich vorzugsweise um einen
Computermonitor. Der Benutzer kann mit dem Benutzercomputer 12 interagieren,
indem er Daten und Befehle über
eine Dateneingabevorrichtung 22 eingibt. Die Dateneingabevorrichtung 22 enthält vorzugsweise
wenigstens eine Tastatur oder ein Zeigegerät wie beispielsweise eine Maus
und enthält
besonders bevorzugt sowohl eine Tastatur als auch ein Zeigegerät. Gemäß einer
bevorzugten Ausführungsform
der vorliegenden Erfindung handelt es sich bei dem Benutzercomputer 12 um
einen PC (Personalcomputer). Alternativ und vorzugsweise handelt
es sich bei dem Benutzercomputer 12 um einen "thin client" wie beispielsweise
einen Netzwerkcomputer, d. h. einen Computer, der in einem IP-gestützten Netzwerk
kommunizieren kann. Ein Beispiel für einen solchen Netzwerkcomputer
ist die JavaStationTM (Sun Microsystems).
-
Diese
Netzwerkcomputer haben den Vorteil, dass sie es dem Benutzer gestatten,
mit komplexen, technisch hochentwickelten Softwareprogrammen zu interagieren,
wobei sie aber im Allgemeinen nicht über die gesamte leistungsstarke
Rechenkapazität von
derzeit verfügbaren
PC-Rechnern verfügen.
-
Das
Intranet 14 könnte
beispielsweise ein LAN oder ein WAN sein. Die Verbindung zwischen der
Kommunikationssitzungsverwaltungseinheit 13 und dem Intranet 14 erfolgt über die NSK 16.
Bei der NSK 16 handelt es sich vorzugsweise um ein standardmäßiges, massenproduziertes
handelsübliches Produkt,
das es ermöglicht,
dass die Kommunikationssitzungsverwaltungseinheit 13 mit
jedem geeigneten Computernetzwerk verbunden werden kann (beispielsweise
ein Etherlink-II-ISA/PCMCIA-Adapter,
ein Etherlink-III-PCI-Bus-Master-Adapter (3c590) von 3ComTM, ein NE2000-Adapter von NovellTM oder ein anderes geeignetes derartiges
Produkt). Als solche geeigneten Computernetzwerke kommen unter anderem
jedes standardmäßige LAN
wie beispielsweise Ethernet (IEEE-Standard 802.3), Fast Ethernet (IEEE-Standard
802.10), Token Ring (IEEE-Standard 802.5) und FDDI in Frage.
-
Der
gesamte Datenpaketverkehr im Intranet 14 wird über die
NSK 16 zu einem Filterungsmodul 24 geleitet. Wie
in 3 deutlicher gezeigt, durchsucht
das Filterungsmodul 24 die Datenpakete, um festzustellen,
welche Datenpakete die folgenden Kriterien erfüllen. Kurz gesagt, sollten
die Datenpakete IP-Pakete mit Zellköpfen gemäß den Standards H.225 und H.245
sein, die einen Sprach- und/oder Videoverkehr anzeigen. Wie bereits
angesprochen, definieren diese Standards Medienstrompaketaufbau und
-synchronisation für
Videotelefonsysteme und das Steuerungsprotokoll für Multimediakommunikationen.
-
Das
Filterungsmodul 24 leitet anschließend vorzugsweise nur diejenigen
Datenpakete, die diese Kriterien erfüllen, an ein Verwaltungsmodul 28 weiter. In
der Zonenkonfiguration des Systems der vorliegenden Erfindung, wie
in 7 gezeigt, überträgt das Filterungsmodul 24 vorzugsweise
auch Mitteilungen von anderen Kommunikationssitzungsverwaltungseinheiten.
-
Das
Verwaltungsmodul 28 empfängt die Datenpakete, die vom
Filterungsmodul 24 weitergeleitet wurden, und analysiert
die empfangenen Datenpakete. Optional und vorzugsweise speichert
eine Datenbank 26 beispielsweise solche Informa tionen wie
die IP-Adressen von Parteien, deren Kommunikationssitzungen protokolliert
werden sollen, sowie die Konvertierungstabelle, die jede Partei
wenigstens einer IP-Adresse
zuordnet. Die gespeicherte Liste mit den IP-Adressen, die für jene Parteien stehen, deren
Telefonate protokolliert werden sollen, ist vorzugsweise benutzerdefiniert.
Im Sinne des vorliegenden Textes meint "Partei" eine oder mehrere Personen, die über ein
computernetzwerkgestütztes
Telefonsystem kommunizieren. Die letztgenannte bevorzugte Anforderung
verringert deutlich die gespeicherte Datenmenge, indem nur diejenigen
Daten aufgenommen werden, die für
den Benutzer von Interesse sind. Das Verwaltungsmodul 28 analysiert
und verwaltet Daten gemäß den geltenden
Spezifikationen H.225 und H.245, einschließlich der H.245-Steuerungsfunktion, der
RAS-Zeichengabefunktion und der Anrufsignalisierungsfunktion im
Wesentlichen wie oben im Kapitel (Beschreibung des Standes der Technik" beschrieben.
-
Das
Verwaltungsmodul 28 analysiert die Pakete, um die jeweilige
Kommunikationssitzung, zu der die Datenpakete gehören, und
den Typ einer (eventuell) verwendeten Datenkomprimierung zu ermitteln
und um festzustellen, ob die Datenpakete von einer IP-Adresse gesendet
wurden, die zu überwachen
ist. Das Verwaltungsmodul 28 muss diese Analyse vornehmen,
da das Filterungsmodul 24 einfach sämtliche Datenpakete weiterleitet,
welche die oben kurz beschriebenen Kriterien erfüllen (weitere Details sind
den 3A–3D zu
entnehmen). Da diese Pakete ungeachtet der in der Datenbank 26 gespeicherten
Informationen weitergeleitet werden, muss das Verwaltungsmodul 28 die
Regeln der Datenbank 26 mit den Informationen vergleichen,
die in dem Paketzellkopf jedes Paketes vorliegen, um zu ermitteln, ob
das empfangene Paket zu speichern ist.
-
Diejenigen
empfangenen Pakete, welche die Regeln der Datenbank 26 erfüllen, werden
dann auf einem Speichermedium 30 gespeichert, bei dem es sich – je nach
den betrieblichen Anforderungen bestimmter Anwendungen – vorzugsweise
um eine digitale Datenspeichervorrichtung mit hoher Kapazität, wie beispielsweise
eine Festplattenmagnetspeichervorrichtung, eine optische Disk, eine
CD-ROM, ein ZIP- oder DVD-Laufwerk oder eine DAT-Kassette oder um
Kombinationen solcher Vorrichtungen oder um andere geeignete Speichermedien
handelt.
-
Vorzugsweise
wird die jeweilige Kommunikationssitzung oder das jeweilige Telefonat,
der bzw. dem jedes Datenpaket zugeordnet ist, ebenfalls gespeichert,
damit diese Sitzung später
rekonstruiert und wiedergegeben werden kann.
-
Wenn
vom Benutzer gewünscht,
kann das Verwaltungsmodul 28 dann ein oder mehrere Datenpakete,
die einer oder mehreren Kommunikationssitzungen zugeordnet sind,
vom Speichermedium 30 abrufen. Das oder die abgerufenen
Pakete werden dann zu einem Datenwiederherstellungsmodul 32 übertragen.
Das Datenwiederherstellungsmodul 32 ist vorzugsweise in
der Lage, diese abgerufenen Pakete so zu verarbeiten, dass eine
bestimmte Kommunikationssitzung mittels RTP (Real Time Protocol) wiederhergestellt
werden kann. Wie weiter unten in Bezug auf die 4C und 5 noch
näher beschrieben
wird, werden bei den Systemen, die gemäß dem RTP arbeiten, die Datenpakete
mit einem Zeitstempel im Zellkopf anstatt nur mit einer laufenden
Nummer versandt. Ein solcher Zeitstempel ist für Audio- und Videostromdaten
erforderlich, damit die Datenpakete so reassembliert werden können, dass das
Gesamt-Timing des Datenstroms gewahrt bleibt. Ohne einen solchen
Zeitstempel würde
das korrekte Timing nicht gewahrt bleiben, und die Audio- oder Videoströme könnten nicht
richtig rekonstruiert werden.
-
Die
Kommunikationssitzungen werden aus den rekonstruierten Datenpaketströmen mittels
der entsprechenden Audio- und/oder
Video-Codecs wiederhergestellt. Ein Codec ist ein nicht-lineares
Verfahren zur Konvertierung von Analog- und Digitaldaten. Ein Audio-Codec
ermöglicht
es somit, die digitalisierten Audiodaten in den relevanten Datenpaketen zu
analogen Audiodaten zu konvertieren, um sie beispielsweise dem Benutzer
als hörbare
Töne wiederzugeben.
Geeignete Codecs werden weiter unten in Bezug auf 5 eingehender
beschrieben.
-
Damit
der Benutzer die Wiedergabe der rekonstruierten Kommunikationssitzung
empfangen kann, enthält
das System 10 vorzugsweise ein Audiogerät 34 und ein Videogerät 36,
die zusammen als eine "Kommunikationssitzungswiedergabeeinheit" bezeichnet werden.
Besonders bevorzugt sind das Audiogerät 34 und das Videogerät 36 in
der Lage, sowohl Audio- bzw. Videoeingangsdaten zu empfangen als
auch Audio- bzw. Videoausgangsdaten wiederzugeben. Als absolutes
Minimum sollten das Audiogerät 34 und
das Videogerät 36 in
der Lage sein, Audio- bzw. Videoaungangsdaten wiederzugeben. Beispielsweise
könnte
das Audiogerät 34 optional
ein Mikrofon zur Dateneingabe und einen Lautsprecher oder einen
Ohrhörer
zur Datenausgabe enthalten. Das Videogerät 36 könnte optional
beispielsweise einen Videomonitor oder einen Anzeigeschirm zur Datenausgabe
und eine Videokamera zur Dateneingabe enthalten.
-
2 ist
ein schematisches Blockdiagramm des Systems 10 von 1,
welches das Gesamtsystem der Softwaremodule des Systems 10 in
größerem Detail
zeigt. Es wird außerdem,
sofern zutreffend, auf Ablaufdiagramme, die den Betrieb dieser Softwaremodule
in größerem Detail
zeigen (3A–3D und 5),
und auf Beschreibungen der Zellköpfe
der verschiedenen Arten von Datenpaketen (4A–4D)
verwiesen.
-
Wie
gezeigt, enthält
das System 10 auch hier eine Verbindung zum Intranet 14 über die
NSK 16. Wenn die Pakete durch das Intranet 14 übertragen werden,
fängt die
NSK 16 diese Datenpakete ab und leitet sie an das Filterungsmodul 24 weiter.
-
Das
Filterungsmodul 24 hat zwei Komponenten. Eine erste Filterungskomponente 38 überprüft den Zellkopf
des Datenpakets, bei dem es sich um ein Paket vom IP-Typ mit dem
richtigen Zellkopf handeln muss, wie in 4A gezeigt.
-
Danach
leitet die erste Filterungskomponente 38 das Datenpaket
an die zweite Filterungskomponente 40 weiter. Die zweite
Filterungskomponente 40 ermittelt nun den Typ des IP-Datenpaketes,
das gemäß den Standards
H.225, H.245, RTP oder RTCP aufgebaut sein kann.
-
Wie
in 3A gezeigt, haben die erste Filterungskomponente 38 und
die zweite Filterungskomponente 40 folgende Funktionsweise.
In Schritt 1 empfängt
das Filterungsmodul 24 ein Paket. Das Paket wird der ersten
Filterungskomponente 38 übergeben, die nun in Schritt
2 feststellt, ob das Paket ein Paket vom IP-Typ ist. Eine solche
Feststellung erfolgt entsprechend der Struktur des Zellkopfes des
Datenpaketes, wovon in 4A ein Beispiel gezeigt ist.
Ein Zellkopf 42 ist als eine Mehrzahl von Kästchen dargestellt,
von denen jedes einen Abschnitt oder ein "Feld" des
Zellkopfes repräsentiert.
Die Anzahl der Bytes, die von jedem Abschnitt in Anspruch genommen
werden, ist ebenfalls gezeigt, wobei es sich versteht, dass jede
Schicht aus 32 Bits besteht. Der erste Abschnitt des Zellkopfes,
ein "Vers"-Abschnitt 44, ist
die Protokollversionsnummer. Es folgt ein "H.Län"-Abschnitt 46,
der die Anzahl der 32-Bit-Mengen
im Zellkopf anzeigt. Ein "Servicetyp"-Abschnitt 48 zeigt
an, ob der Absender wünscht,
dass das Datagramm über
eine Route mit minimaler Verzögerung oder über eine
Route mit maximalem Durchsatz transportiert wird. Ein "Gesamtlänge"-Abschnitt 50 zeigt
die Gesamtzahl an Acht-Bit-Bytes im Zellkopf und in den Daten an.
-
In
der nächsten
Schicht identifiziert ein "Identifikations"-Abschnitt das Paket
selbst. Ein "Markierungs"-Ab schnitt 54 zeigt
an, ob das Datagramm ein Fragment oder ein vollständiges Datagramm
ist. Ein "Fragmentversatz"-Abschnitt 56 kennzeichnet
die Position dieses Fragments im Original-Datagramm, falls das Datagramm
fragmentiert ist.
-
In
der nächsten
Schicht enthält
ein "Lebensdauer"-Abschnitt 58 eine
positive ganze Zahl zwischen 1 und 255, die auf jeder absolvierten
Route schrittweise um 1 verringert wird.
-
Wenn
der Wert zu 0 wird, so wird das Paket nicht mehr weitergeleitet
und wird zum Absender zurückgeschickt.
Ein "Typ"-Abschnitt 60 zeigt
den Typ der weitergeleiteten Daten an. Ein "Zellkopfprüfsummen"-Abschnitt 62 ermöglicht die Überprüfung der
Integrität
des Paketes durch Vergleichen der tatsächlichen Prüfsumme mit dem in Abschnitt 62 aufgezeichneten
Wert.
-
Die
nächste
Schicht des Zellkopfes 42 enthält die Quellen-IP-Adresse 64,
woraufhin die nächste
Schicht die Ziel-IP-Adresse 66 enthält. Dann
folgen ein optionaler "IP-Options"-Abschnitt 68 und
ein Stopfabschnitt (sofern notwendig), und dann beginnt ein Datenabschnitt 70 des
Paketes mit den Daten.
-
Die
Struktur des Zellkopfes des Datenpaketes wird durch die erste Filterungskomponente 38 überprüft, um zu
ermitteln, ob dieser Zellkopf die notwendigen Datenfelder in der
richtigen Reihenfolge enthält,
damit der Zellkopf des Datenpaketes eine Struktur gemäß dem Zellkopf 42 aufweist.
-
Die
erste Filterungskomponente 38 gestattet nur den Paketen
mit der korrekten Zellkopfstruktur den Weitertransport, wie in Schritt
3A gezeigt. Andernfalls werden die Pakete umgespeichert, wie in Schritt
3B gezeigt.
-
Die
Pakete mit dem richtigen Zellkopf – oder die "IP-Pakete" werden nun an die zweite Filterungskomponente 40 weitergeleitet.
Die zweite Filterungskomponente 40 übernimmt dann die übrigen Filterungsschritte.
In Schritt 3A überprüft die zweite
Filterungskomponente 40 die IP-Pakete, um anhand des Datenabschnitts
des Paketes ihren Typ zu bestimmen, wie in 4A gezeigt.
Die Pakete müssen
in eine von vier Kategorien fallen: H.225, H.245, RTP und RTCP.
Die Schritte des Verfahrens für
H.225-Pakete sind in 3A gezeigt, während die
Prozeduren für
die übrigen
Pakettypen in den jeweiligen 3B–3D gezeigt
sind.
-
Sobald
der Typ des Paketes festgestellt wurde, werden sowohl das Paket
selbst als auch die Informationen bezüglich des Pakettyps an das
Verwaltungsmodul 28 weitergeleitet, wie in 2 gezeigt. Das
Paket wird nun an die relevante Komponente innerhalb des Verwaltungsmoduls 28 weitergegeben, wie
ebenfalls in 2 gezeigt, damit der Aufzeichnungsprozess
durchgeführt
werden kann. Die aufgezeichneten Pakete werden im Speichermodul 30 gespeichert,
wie weiter unten unter Bezug auf 3C und 3D eingehender
beschrieben.
-
Wenn
das Paket anhand seines Zellkopfes als H.225-Paket identifiziert
wurde (siehe 4B), so wird das Paket an ein
H.225-Anrufsteuerungsmodul 78 innerhalb des Verwaltungsmoduls 28 weitergegeben,
wie in 2 gezeigt. Die Schritte des Verwaltungsverfahrens
sind folgende (siehe 3A). In Schritt 4A von 3A wird
das H.225-Paket daraufhin überprüft, ob es
sich um ein Aufbau-Paket handelt, was anhand der Struktur der Daten
in dem Paket festgestellt wird. Diese Struktur ist in der Empfehlung H.225.0
spezifiziert und enthält
wenigstens die folgenden Arten von Informationen:
- • Protokollidentifikator
(die Version von H.225.0, die unterstützt wird);
- • h245-Adresse
(spezifische Transportadresse, an der eine H.245-Zeichengabe durch
den anrufenden Endpunkt oder Gatekeeper aufgebaut werden soll);
- • Quellenadresse
(die H.323-IDs für
die Quelle);
- • Quelleninfo
(enthält
einen Endpunkttyp, um es der angerufenen Partei zu ermöglichen
festzustellen, ob das Telefonat einen Gateway enthält oder nicht);
und
- • Zieladresse
(das ist die Adresse, mit der der Endpunkt verbunden werden will).
-
Es
werden noch weitere Arten von Daten benötigt, wie in der Empfehlung
H.225.0 spezifiziert. Anhand dieser Datenstruktur kann das H.225-Anrufsteuerungsmodul 78 feststellen,
ob es sich bei dem Paket um ein Aufbau-Paket handelt.
-
Wenn
es sich bei diesem Paket um ein Aufbau-Paket handelt, so wird dem
ersten Zweig des Verfahrens gefolgt. Der Quellenport wird einem
Quellenportfeld 74 eines H.225-Zellkopfes 72 entnommen, und
der Zielport wird einem Zielportfeld 76 entnommen (siehe 4B).
In Schritt 5A wird nun die Datenbank 26 von 1 daraufhin überprüft, ob einer
der entsprechenden Terminals als aufzeichnender Terminal definiert
ist, d. h. ob Kommunikationssitzungen, die durch die IP-Adresse
dieses Terminals eingeleitet wurden, überwacht werden sollen. Wenn ja,
so wird in Schritt 6A der Terminalstatus auf "Sitzungsbeginnanforderung" von dem Terminal,
der dem Quellenport entspricht, gesetzt.
-
Alternativ
wird das Paket in Schritt 4B daraufhin überprüft, ob es sich um ein Verbindungs-Paket handelt,
was anhand der Struktur der Daten in dem Paket festgestellt wird.
Diese Struktur ist in der Empfehlung H.225.0 spezifiziert und enthält wenigstens die
folgenden Arten von Informationen:
- • Protokollidentifikator
(die Version von H.225.0, die unterstützt wird);
- • h245-Adresse
(spezifische Transportadresse, an der eine H.245-Zeichengabe durch
den anrufenden Endpunkt oder Gatekeeper aufgebaut werden soll);
- • Zielinfo
(enthält
einen Endpunkttyp, um es dem Anrufer zu ermöglichen festzustellen, ob das
Telefonat einen Gateway enthält
oder nicht); und
- • Konferenz-ID
(enthält
eine eindeutige Identifizierungsnummer zum Identifizieren der jeweiligen Konferenz).
-
Wenn
es sich bei dem Paket um ein Verbindungs-Paket handelt, so wird
dem zweiten Zweig des Verfahrens gefolgt. In Schritt 5B wird die
Markierung, die den Terminalstatus anzeigt, daraufhin überprüft, ob der
Terminalstatus auf "Sitzungsbeginnanforderung" gesetzt ist. In
Schritt 6B werden die Details des Anrufsignals in einer Gesprächsverlaufsdatenbank 78 des
Speichermediums 30 gespeichert (siehe 2).
Diese Details beinhalten vorzugsweise die Quellen- und die Ziel-IP-Adresse,
den Quellen- und den Ziel-Port, die Zeit, zu der die Kommunikationssitzung
eingeleitet wurde, und alle sonstigen relevanten Informationen.
In Schritt 7B wird der Status des Terminals auf "Warten auf den logischen Kanal" gesetzt.
-
Wenn
die zweite Filterungskomponente 40 das Paket als ein H.245-Paket
identifiziert hat, so wird das Paket an ein H.245-Anrufsteuerungsmodul 82 innerhalb
des Verwaltungsmoduls 28 weitergegeben, wie in 2 gezeigt.
Solche H.245-Pakete sind für
die H.245-Zeichengabe notwendig. Eine H.245-Zeichengabe wird zwischen
zwei Endpunkten aufgebaut: einem Endpunkt und einer Mehrpunktsteuerung
oder einem Endpunkt und einem Gatekeeper (für Beispiele und eine Beschreibung
solcher Endpunkte siehe 6 und 7).
-
Jeder
Endpunkt kann im Rahmen einer Kommunikationssitzung anrufen und
angerufen werden. Das System der vorliegenden Erfindung überwacht aber
solche Kommunikationssitzungen nur und leitet sie nicht ein. Somit
verwendet das System der vorliegenden Erfindung die H.245-Zeichengabe,
um festzustellen, wann die Kommunikationssitzung begonnen hat, um die
notwendigen Datenpakete effektiv aufzuzeichnen, um die Sitzung zu
speichern und später
zu rekonstruieren.
-
Die
Schritte des Verwaltungsverfahrens für H.245-Pakete sind folgende
(siehe 3B). In Schritt 1A von 3B wird
das H.245-Paket daraufhin überprüft, ob es
sich um ein Paket mit der Anforderung zum Eröffnen eines logischen Kanals
handelt. Wenn ja, so wird in Schritt 2A der Terminalstatus daraufhin überprüft, ob der
Status auf "Warten
auf den logischen Kanal" steht.
Wenn das der Fall ist, so wird in Schritt 3A der Terminalstatus
auf "Warten auf
Bestätigung" gesetzt.
-
Alternativ
wird das H.245-Paket daraufhin überprüft, ob es
sich um ein Paket mit der Bestätigung
der Eröffnung
eines logischen Kanals handelt, wie in Schritt 1B gezeigt. Wenn
ja, so wird in Schritt 2B der Terminalstatus daraufhin überprüft, ob der Status
auf "Warten auf
Bestätigung" gesetzt ist. Ist das
der Fall, so wird in Schritt 3B der Terminalstatus auf "Warten auf Terminalbereitschaft" gesetzt. In Schritt
4B wird die Transportadresse des angerufenen oder Zielterminals
gespeichert. Dieses Transportadresse wird dem Zielportfeld 76 des
Zellkopfes 82 entnommen (siehe 4B). Es
ist zu beachten, dass H.225- und H.245-Pakete identische Zellkopfstrukturen
haben.
-
Des
Weiteren wird alternativ das H.245-Paket daraufhin überprüft, ob es
ein Paket mit der Bestätigung
der Terminalbereitschaft ist, wie in schritt IC gezeigt. Wenn ja,
so wird in Schritt 2C die Terminalbereitschaft in einer Gesprächsverlaufsdatenbank 80 gespeichert
(siehe 2).
-
In
Schritt 3C wird der Terminalstatus auf "in der Gesprächsabwicklung" gesetzt, dergestalt,
dass die Kommunikationssitzung als eröffnet festgestellt wurde, und
dergestalt, dass das Verwaltungsmodul 28 nun RTP-Datenpakete
empfangen kann.
-
Wenn
die zweite Filterungskomponente 40 das Paket als ein RTP-Paket
identifiziert hat, so wird das Paket an ein RAS-Steuerungsmodul 84 (RAS = Registration,
Admission and Status) innerhalb des Verwaltungsmoduls 28 weitergegeben,
wie in 2 gezeigt. Die Schritte des Verwaltungsverfahrens
für RTP-Pakete
sind folgende (siehe 3C). In Schritt 1 von 3C wird
der Terminalstatus daraufhin überprüft, ob er
auf "in der Gesprächsabwicklung" gesetzt ist. Wenn
ja, so werden in Schritt 2 die RTP-Pakete in einer RTP-Datenbank 86 auf
dem Speichermedium 30 gespeichert (siehe 2). 4C zeigt
die Struktur des RTP-Paketzellkopfes,
der dazu verwendet werden kann, die Kommunikationssitzung zu identifizieren,
der das Paket entnommen wurde.
-
Und
wenn die zweite Filterungskomponente 40 das Paket als ein
RTCP-Paket identifiziert hat, so wird das Paket an ein RTCP-Steuerungsmodul 88 innerhalb
des Verwaltungsmoduls 28 weitergegeben, wie in 2 gezeigt.
Die Schritte des Verwaltungsverfahrens für RTCP-Pakete sind folgende
(siehe 3D). In Schritt 1 von 3D wird
der Terminalstatus daraufhin überprüft, ob ex
auf "in der Gesprächsabwicklung" gesetzt ist. Wenn
ja, so werden in Schritt 2 die RTCP-Pakete in der Gesprächsverlaufsdatenbank 80 auf
dem Speichermedium 30 gespeichert (siehe 2). 4D zeigt
die Struktur des RTCP-Paketzellkopfes, der dazu verwendet werden
kann, die Kommunikationssitzung zu identifizieren, der das Paket
entnommen wurde.
-
In
den 3A–3D wird
somit das Verfahren der vorliegenden Erfindung bezüglich der
Filterung und Speicherung von Datenpaketen veranschaulicht, welche
die aufgezeichnete Kommunikationssitzung, wie sie mit dem erfindungsgemäßen System
aufgezeichnet wurde (wie in 1 und 2 gezeigt),
bilden. Neben dem Aufzeichnen solcher Kommunikationssitzungen kann
das erfindungsgemäße System
natürlich auch
diese Kommunikationssitzungen abrufen und für den Benutzer wiedergeben.
Die aus gespeicherten Datenpaketen bestehende gespeicherte Kommunikationssitzung
kann durch die Datenwiederherstellungseinheit 32 von 2 in Verbindung
mit dem Audiogerät 34 und
dem Videogerät 36 abgerufen
und wiedergegeben werden. Das Verfahren des Abrufens und Wiedergebens
von interessierenden Sitzungen ist in 5 dargestellt,
während
bestimmte andere relevante Abschnitte des erfindungsgemäßen Systems
in 2 gezeigt sind.
-
In
Schritt 1 von 5 gibt der Benutzer die Informationen
bezüglich
der Kommunikationssitzung ein, die abgerufen und wiedergegeben werden
soll. Diese Informationen beinhalten vorzugsweise die Terminalnummer
oder sonstige Bezeichnungsinformationen bezüglich wenigstens einer der
Parteien der interessierenden Kommunikationssitzung, die Uhrzeit,
zu der die Sitzung begann, und die Uhrzeit, zu der die Sitzung endete.
Anstelle dieser Informationen können
jedoch auch andere Informationen aufgenommen werden, solange genügend Informationen
zur Verfügung
stehen, mit denen die interessierende Kommunikationssitzung identifiziert
werden kann.
-
In
Schritt 2 von 5 durchsucht die Datenwiederherstellungseinheit 32 die
Gesprächsverlaufsdatenbank 80 (siehe 2)
nach den Details der Kommunikationssitzungen) innerhalb des angegebenen
Zeitbereichs. Diese Details werden dann mit den vom Benutzer eingegebenen
Informationen verglichen, um wenigstens eine interessierende Kommunikationssitzung
innerhalb des Anrufbereichs zu finden.
-
In
Schritt 3 durchsucht die Datenwiederherstellungseinheit 32 die
RTP-Datenbank 86 des Speichermediums 30 (siehe 2),
um im Wesentlichen alle Datenpakete von der wenigstens einen Kommunikationssitzung
innerhalb des angegebenen Anrufbereichs zu finden. Optional und
vorzugsweise werden in Schritt 4, wenn der Audioabschnitt der Kommunikationssitzung
in Stereo aufgezeichnet wurde, die Datenpakete in verschiedene Audiokanäle aufgeteilt.
-
In
Schritt 5 werden die Datenpakete durch die Datenwiederherstellungseinheit 32 mittels
eines RTP-Softwaremoduls 91 (RTP = Real Time Protocol) innerhalb
der Datenwiederherstellungseinheit 32 wiederhergestellt.
Das RTP-Softwaremodul 91 ordnet die Datenpakete innerhalb
jedes Kanals entsprechend dem Zeitstempel jedes Paketes. Wie in 4C gezeigt,
enthält
ein RTP-Paketzellkopf 92 verschiedene wichtige Felder:
ein Zeitstempelfeld 94, ein Synchronisationsquellenidentifikatorenfeld 96 (Synchronisation
Source – SSRC)
und ein Teilnahmequellenidentifikatorenfeld 98 (Contributing
Source – CSRC).
Das SSRC-Feld 96 dient dem Bestimmen der Quelle der RTP-Pakete
(des Absenders), die eine eindeutige Identifizierungsadresse besitzt
(der SSRC-Identifikator). Der CSRC-Identifikator im CSRC-Feld 98 wird
in einer Konferenz mit mehreren Parteien verwendet und zeigt den
SSRC-Identifikator aller Parteien an. Das Zeitstempelfeld 94 wird
vom RTP-Softwaremodul 91 zum
Bestimmen der relativen Zeit verwendet, zu der die Daten in jedem
Paket wiederzugeben sind.
-
Beispielsweise
werden vorzugsweise die Audiostromdaten der Sprache einer Person
mit den im Videostrom zu sehenden Lippenbewegungen dieser Person
synchronisiert – ein
Prozess, den man "Lippensynchronisation" nennt. Eine solche
Synchronisation erfordert mehr als das einfache Wiedergeben von
Audio- und Videodaten an bestimmten relativen Zeitpunkten, da die
Audio- und Videodatenpakete möglicherweise
nicht zur selben Zeit eintreffen und darum geringfügig unterschiedliche
Zeitstempel haben können.
-
Nachdem
das Datenpaket richtig synchronisiert wurde, wird die Steuerung
der Wiedergabe der Audiodaten von einer Audiokomponente 102 der
Datenwiederherstellungseinheit 32 entsprechend einem oder
mehreren Audio-Codecs übernommen
(siehe 2). Die Steuerung der Wiedergabe der Videodaten
wird von einer Videokomponente 104 der Datenwiederherstellungseinheit 32 entsprechend
einem oder mehreren Video-Codecs übernommen
(siehe 2).
-
Als
geeignete Codecs kommen beispielsweise in Frage: ein Audio-Codec,
der die CCITT-Empfehlung G.711 (1988), Pulscodemodulation von Sprachfrequenzen,
verwendet; ein Audio-Codec,
der die CCITT-Empfehlung G.722 (1988), 7 kHz-Audio-Codierung innerhalb
von 64 kbit/s, verwendet; ein Audio-Codec, der die ITU-T-Empfehlung
G.723.1 (1996), Sprachcodierer: Doppelratensprachcodierer für Multimediakommunikationen
mit Übertragungsraten
von 5,3 und 6,3 Kbps, verwendet; ein Audio-Codec, der die CCITT-Empfehlung
G.728 (1992), Sprachcodierung mit 16 Kbps unter Verwendung von gering-verzögerter code-erregter
linearer Vorhersage, verwendet; ein Audio-Codec, der die ITU-T-Empfehlung
G.729 (1996), Sprachcodierung mit 8 Kbps unter Verwendung von algebraischer
code-erregter linearer Vorhersage mit konjugierter Struktur (CS-ACELP),
verwendet; ein Video-Codec, der die ITU-T-Empfehlung H.261 (1993),
Video-Codec für audiovisuelle
Dienste mit p × 64
kbit/s, verwendet; ein Video-Codec, der die ITU-T-Empfehlung H.263 (1996),
Video-Codec für Kommunikation
mit geringer Bitrate, verwendet; und im Wesentlichen alle sonstigen ähnlichen
Codierungsstandards.
-
Wie
in 2 gezeigt, werden die Audiodaten durch das Audiogerät 34 wiedergegeben,
das beispielsweise einen Lautsprecher enthalten könnte. Die
Videodaten werden durch das Videogerät 36 wiedergegeben,
das beispielsweise einen Anzeigemonitorschirm enthalten könnte. Schritt
5 von 5 wird dann vorzugsweise wiederholt, dergestalt,
dass im Wesentlichen die gesamte Kommunikationssitzung wiedergegeben
wird. Wie in Schritt 6 gezeigt, wird jedes Datenpaket der Kommunikationssitzung
daraufhin überprüft, ob die
Anrufzeit vorbei ist. Wenn die einzelne Sitzung noch nicht beendet
ist, so wird vorzugsweise Schritt 5 wiederholt.
-
Alternativ
und vorzugsweise wird, wenn die Anrufzeit vorbei ist, die Gesprächsverlaufsdatenbank 80 durchsucht,
um festzustellen, ob noch weitere Kommunikationssitzungen innerhalb
des vorgegebenen Zeitraums aufgezeichnet wurden, wie in Schritt
7 gezeigt. Wenn wenigstens eine weitere derartige Kommunikationssitzung
vorliegt, so wird vorzugsweise das Verfahren von 5 ab
Schritt 2 wiederholt.
-
Gemäß bevorzugten
Ausführungsformen
der vorliegenden Erfindung sind verschiedene Konfigurationen des
computergestützten
Protokollierungssystems möglich.
Beispiele dafür
sind in den 6 und 7 gezeigt.
-
Gemäß einer
ersten Ausführungsform
des Systems der vorliegenden Erfindung, die in 6 gezeigt
ist, enthält
ein typisches System 104 in der Basiskonfiguration eine
einzelne erfindungsgemäße Kommunikationssitzungsverwaltungseinheit 13 im Wesentlichen
in der in den 1 und 2 gezeigten
Form. Die Kommunikationssitzungsverwaltungseinheit 13 verwaltet
die Kommunikation in einem selbstständigen Intranet wie beispielsweise
einem LAN 106. Das LAN 106 ist sowohl mit der Kommunikationssitzungsverwaltungseinheit 13 als auch
mit einer Mehrzahl von Terminals 108 verbunden, die als "T1", "T2" usw. bezeichnet
sind und nach dem H.323-Protokoll
arbeiten. Jeder Terminal 108 ist ein Endpunkt des LAN 106,
der eine Zweiwegekommunikation in Echtzeit mit einem anderen Terminal 108,
einem Gateway 110 oder einer Mehrpunktsteuerungseinheit 112 ermöglicht.
Diese Kommunikation besteht aus Steuerung, Anzeigen, Audioströmen, Videoströmen und/oder
Daten. Der Terminal 108 ist optional lediglich in der Lage,
eine solche Kommunikation nur für
Audio, Audio und Daten, Audio und Video oder für Audio, Daten und Video durchzuführen. Wie oben
im Kapitel "Be schreibung
des Standes der Technik" angesprochen,
könnte
die H.323-Entität
ein Terminal sein, der Audio- und/oder Videokommunikation als ein "LAN-Telefon" durchführen kann,
aber die H.323-Entität
könnte
ebenso ein selbstständiges
Audio- oder Videotelefon sein.
-
Der
Gateway 110 (GW) ist gemäß H.323 konstruiert und ist
ein Endpunkt im LAN 106, der eine Zweiwegekommunikation
in Echtzeit zwischen Terminals 108 im LAN 106 und
(nicht gezeigten) anderen geeigneten Terminals in einem WAN oder
mit einem anderen derartigen (nicht gezeigten) Gateway ermöglicht.
Zu weiteren geeigneten Terminals gehören jene, die den Empfehlungen
H.310 (H.320 im B-ISDN), H.320 (ISDN), H.321 (ATM), H.322 (GQOS-LAN),
H.324 (GSTN), H.324M (Mobil) und V.70 (DSVD) entsprechen.
-
Die
Mehrpunktsteuerungseinheit (MPSE) 112 ist ein Endpunkt
im LAN 106, der es ermöglicht, dass
drei oder mehr Terminals 108 und Gateways 110 an
einer Mehrpunktkonferenz teilnehmen.
-
Vorzugsweise
enthält
das System 104 auch einen Gatekeeper (GK) 114,
der eine H.323-Entität im
LAN 106 ist, die Adressen umwandelt und den Zugang zum
LAN 106 für
die Terminals 108, die Gateways 110 und MPSEs 112 steuert.
Der Gatekeeper 114 kann für die Terminals 108,
die Gateways 110 und MPSEs 112 auch andere Dienste
erbringen, wie beispielsweise Bandbreitenverwaltung und Auffinden von
Gateways 110.
-
Der
Gatekeeper 114 ermöglicht
vorzugsweise die Bestimmung der IP-Adresse von Terminals 108 im
LAN 106, dergestalt, dass die richtige IP-Adresse "on the fly" (direkt) bestimmt
werden kann.
-
Des
Weiteren kann das LAN 106 auch Nicht-Audio/Video-Geräte für reguläre T.120-Datenanwendungen
unterstützen,
wie beispielsweise elektronische Whiteboards, Standbildübertragung,
Dateiaustausch, Datenbankzugriff usw.
-
Bei
dem Basissystem 104 wird eine einzelne selbstständige Kommunikationssitzungsverwaltungseinheit 13 zum Überwachen,
Protokollieren und Abrufen sämtlicher
Audio- und/oder Videotelefonate entweder zwischen zwei oder mehr
Terminals 108, die an das LAN 106 angeschlossen
sind, oder zwischen jeglichen Telefonaten, an denen einer oder mehrere
dieser Terminals 108 teilnehmen, verwendet. Bei der bevorzugten
Ausführungsform
des Systems von 6, die einen Gatekeeper 114 enthält, sowie
bei dem System von 7 führt jedoch das RAS-Steuerungsmodul 84 nach
Eröffnung
der Kommunikationssitzung vorzugsweise ebenfalls eine RAS-Zeichengabe zwischen
dem Verwaltungssteuerungsmoduls und der NSK 16 durch, wenn
es die Konfiguration des Systems verlangt. Eine solche Zeichengabe
verwendet H.225.0-Meldungen, um Registrierungs-, Zulassungs-, Bandbreitenänderungs-Status- und Trennungsprozeduren
zwischen Endpunkten und Gatekeepern durchzuführen. Diese Meldungen werden
auf einem RAS-Zeichengabekanal weitergeleitet, der von dem Anrufsignalisierungskanal und
dem H.245-Steuerungskanal unabhängig
ist. Prozeduren für
einen offenen logischen Kanal gemäß H.245 werden zum Aufbau des
RAS-Zeichengabekanals nicht verwendet. In LAN-Umgebungen, die einen
Gatekeeper (Zone) haben, wird der RAS-Zeichengabekanal zwischen
dem Endpunkt und dem Gatekeeper eröffnet. Der RAS-Zeichengabekanal wird
vor dem Aufbau anderer Kanäle
zwischen H.323-Endpunkten eröffnet.
-
7 zeigt
eine zweite Ausführungsform des
Systems der vorliegenden Erfindung als ein Zonenkonfigurationssystem 116.
Eine Zone 118 ist die Gesamtheit aller Terminals (Tx) 108,
Gateways (GW) 110 und Mehrpunktsteuerungseinheiten (MPSEs) 112,
die von einem einzelnen Gatekeeper (GK) 114 verwaltet werden.
Die Zone 118 enthält
wenigstens einen Terminal 108, aber nicht unbedingt einen
oder mehrere Gateways 110 oder MPSEs 112. Die
Zone 118 hat nur einen einzigen Gatekeeper 114,
wie gezeigt. In der gezeigten bevorzugten Ausführungsform jedoch ist die Zone 118 vorzugsweise
von der LAN-Topologie unabhängig
und enthält
vorzugsweise mehrere LAN-Segmente 120, die mittels Routern (R) 122,
wie gezeigt, oder mittels anderer ähnlicher Vorrichtungen angeschlossen
sind.
-
Jedes überwachte
LAN-Segment 120 hat eine erfindungsgemäße lokale Kommunikationsverwaltungseinheit 124,
von denen zwei gezeigt sind. Eine erfindungsgemäße zentrale Verwaltungseinheit 126 steuert
alle lokalen Kommunikationsverwaltungseinheiten 124. Neben
zentralisierten Datenbank- und Steuerungsdiensten kann die zentrale
Verwaltungseinheit 126 auch für die Echtzeitüberwachung
und offline-Wiederherstellung von Audio- und/oder Videokommunikationssitzungen
von einem einzigen Punkt aus verwendet werden. Die zentrale Verwaltungseinheit 126 ist
optional und vorzugsweise entweder eine dedizierte Einheit, die
in ihrer Struktur den lokalen Kommunikationsverwaltungseinheiten 124 ähnelt, nur
ohne deren Speicherfähigkeit, oder
die zentrale Verwaltungseinheit 126 ist alternativ und
vorzugsweise in die lokalen Kommunikationsverwaltungseinheiten 124 integriert,
dergestalt, dass sie die Funktionen sowohl der lokalen Kommunikationsverwaltungseinheit 124 als
auch der zentralen Verwaltungseinheit 126 in einer einzelnen
Station bietet.
-
Die
lokalen Kommunikationsverwaltungseinheiten 124 sind vorzugsweise
entweder Kommunikationsverwaltungseinheiten 13, im wesentlichen
so, wie sie in 1 und 2 beschrieben
sind, oder sie sind alternativ und vorzugsweise einfachere Einheiten,
die nicht die Fähigkeit
haben, eine Kommunikationssitzung lokal abzurufen und wiederzugeben.
-
Bei
einer weiteren (nicht gezeigten) bevorzugten Ausführungsform
der vorliegenden Erfindung wird vorzugsweise ein Mehrbenutzerbetrieb
auf der Basis einer Client/Server- Architektur für das Basissystem 104 und
das Zonensystem 116 unterstützt. Es kann eine unbegrenzte
Anzahl von Client-Stationen
an beliebigen Stellen des LAN angeschlossen werden, wodurch die
Benutzer die Möglichkeit
der Verwaltung, der Überwachung
und des Abrufens erhalten, so wie es durch die Befugnisebene jedes
einzelnen Benutzers festgelegt ist.
-
Es
versteht sich, dass die obigen Beschreibungen nur als Beispiele
dienen sollen und dass innerhalb des Geltungsbereichs der vorliegenden
Erfindung zahlreiche andere Ausführungsformen
möglich
sind.