Beschreibung KOMMUNIKATIONSSERVER, SYSTEM UND VERFAHREN ZUR STEUERUNG UND ÜBERWACHUNG VON ENDGERÄTEN MITTELS CTI
Die Erfindung betrifft einen Kommunikationsserver zur Steue- rung und Überwachung von Endgeräten gemäß des Oberbegriffs des Patentanspruchs 1, ein Verfahren zur Steuerung und Überwachung von Endgeräten gemäß Patentanspruch 6 sowie eine Kombination aus einem Kommunikationsserver, einer Mehrzahl von Kommunikationsknoten und Engeräten gemäß des Oberbegriffs des Patentanspruchs 7.
Endgeräte in Kommunikationsanordnungen werden häufig durch Datenverarbeitungsgeräte (Computer) gesteuert und/oder überwacht. Dabei kann beispielsweise zum einen durch den Computer ein Rufaufbau für das Endgerät (z.B. Telefon)- initiiert werden ("Wahlhilfe"), oder zum anderen die Rufnummer eines Anrufers nicht nur auf einer Anzeigevorrichtung des Endgerätes angezeigt, sondern auch zu dem Computer übertragen und dort angezeigt oder gespeichert werden. Eine solche Kombination aus Datenverarbeitungsgerät und Endgerät wird auch als CTI- Lösung (CTI = Computer-Telephony-Integration) bezeichnet. Wenn dabei das Datenverarbeitungsgerät direkt mit dem Endgerät über eine (eigene) Datenleitung verbunden ist, spricht man auch von einer "First-Party-CTI-Lösung" .
In Kommunikationsanordnungen mit einer Vielzahl von Endgeräten und einer Vielzahl von CTI-Lösungen ist der Einsatz der First-Party-CTI-Lösungen wirtschaftlich nicht sinnvoll, weil für jede Kombination aus Datenverarbeitungsgerät und Endgerät (Computer und Telefon) eine Datenleitung mit den entsprechenden Schnittstellen zwischen diesen jeweiligen Geräten vorgesehen werden muss. Hier bietet sich der Einsatz der sogenann-
ten "Third-Party-CTI-Lösungen" an, wobei an einem Kommunikationsknoten (Telefonanlage) , an dem die Endgeräte angeschlossen sind, über eine einzige Datenverbindung ein zentraler Kommunikationsserver, der sogenannte CTI-Server, angeschlos- sen ist. Dabei macht man sich zu nutze, dass die Computer in solchen Kommunikationsanordnungen (häufig Firmen-Kommunikationsnetzwerke) in der Regel an einem Datennetzwerk angeschlossen sind und somit für die Third-Party-CTI-Lösung der Kommunikationsknoten lediglich eine Schnittstelle zu dem Da- tennetzwerk aufweisen müssen. Dabei kann der CTI-Server sogar durch eine entsprechende (zusätzliche) Software auf einer ohnehin vorhandenen Computer-Hardware (beispielsweise Netzwerkserver, Datenserver o.a.) des Datenne zwerkes gebildet werden.
Bei den Third-Party-CTI-Lösungen ist auf dem Computer eines jeden Benutzers ein Anwendungsprogramm ("CTI-Anwendung") vorhanden, welches zur Steuerung und/oder Überwachung des Endgerätes des Benutzers mit dem CTI-Server kommuniziert und dabei zu dem CTI-Server jeweils die Rufnummer des Endgerätes zusammen mit dem jeweiligen Befehl übermittelt. Diese Rufnummer wird von dem CTI-Server dann in die entsprechenden Befehle übernommen, die von diesem zu dem Kommunikationsknoten versendet werden.
In Kommunikationsanordnungen mit einer sehr großen Anzahl von Endgeräten werden häufig mehrere Kommunikationsknoten (Telefonanlagen etc.) zugleich eingesetzt. Gründe dafür sind beispielsweise die Verteilung der Netzlast auf verschiedene Kom- munikationsknoten, die Schaffung von Redundanzen für den Störungsfall oder aber auch geographische Besonderheiten, wenn nämlich die Kommunikationsanordnung (das Firmennetzwerk) mehrere voneinander getrennte Standorte umfasst . In solchen . "verteilten" Kommunikationsanordnungen müssen nicht zwangs- läufig eine der Anzahl der Kommunikationsknoten entsprechende Anzahl von CTI-Servern angeordnet sein, sondern die Kommunikationsknoten können auch an nur wenige oder auch nur an ei-
nen einzigen Kommunikationsserver (CTI-Server) angeschlossen sein. Dieser "zentrale" KommunikationsServer weist dann jeweils eine Datenverbindung bzw. einen Kommunikationskanal (Datenkanal) zu jedem der Kommunikationsknoten auf.
Bei den zuletzt erwähnten Kommunikationsanordnungen mit mehreren Kommunikationsknoten und wenigen oder einem zentralen Kommunikationsserver (n) hat sich als nachteilig erwiesen, dass in dem zentralen Kommunikationsserver anhand der über- mittelten Rufnummer entschieden werden muss, zu welchen der angeschlossenen Kommunikationsknoten ein dem zu steuernden bzw. zu überwachenden Endgerät zugeordneter Befehl bzw. Anwendung versendet werden muss. Dabei wird in dem zentralen Kommunikationsserver ein Verzeichnis (Datei, Liste) geführt, anhand dessen jeweils die Rufnummern der zu steuernden bzw. zu überwachenden Endgeräte den Kommunikationsknoten gegenübergestellt sind, an denen die entsprechenden Endgeräte mit den Rufnummern angeschlossen bzw. angemeldet sind. Von "Anmeldung" statt "Anschluss" spricht man dabei im Zusammenhang mit den Sprachdatennetzwerken (VoIP-Netze; VoIP = Voice-over- Internet-Protocol) .
Die Listen müssen regelmäßig manuell gepflegt werden, wobei bei einem Umzug eines Endgerätes innerhalb der Kommunikati- onsanordnung (z.B. des Firmennetzwerks) immer dann diese Liste manuell geändert/gepflegt werden muss, wenn bei dem Umzug das Endgerät unter Beibehaltung der bisherigen (Durchwahl- ) Rufnummer an einem anderen der Kommunikationsknoten angeschlossen bzw. angemeldet wird. Ebenso fällt ein solcher ma- nueller Administrationsvorgang auch dann an, wenn Endgeräte oder Rufnummern der Kommunikationsanordnung neu hinzugefügt bzw. aus dieser entfernt werden. Ein Nachteil der manuellen Administration liegt zum einen in dem Zeitverzug zwischen der Änderung der Netztopologie und der Pflege der Listen ("CTI- Datenbanken") und zum anderen in der Fehleranfälligkeit, die in Folge von Irrtum oder sonstigen Daten-Inkonsistenten auftreten können.
Es ist daher eine Aufgabe der vorliegenden Erfindung, die Administration von Kommunikationsanordnungen mit Kommunikationsservern zu vereinfachen und die Betriebssicherheit solcher Anordnungen zu erhöhen.
Die Aufgabe wird für den KommunikationsServer durch die Merkmale des Patentanspruchs 1, für das Verfahren durch die Merkmale des Patentanspruchs 6 und für die Kombination durch die Merkmale des Patentanspruchs 7 gelöst.
Die Lösung sieht einen Kommunikationsserver zur Steuerung und Überwachung von Endgeräten anhand von den Endgeräten zugeordneten Rufnummern vor, wobei jedes der Endgeräte an einem ei- ner Mehrzahl von Kommunikationsknoten angeschlossen ist, mit zumindest einer Datenschnittstelle zum Anschluss der zumindest zwei Kommunikationsknoten, und mit einer Datenbank, wobei in der Datenbank Zuordnungen darüber speicherbar sind, welches der den Rufnummern zugeordneten Endgeräte an welchem der zumindest zwei Kommunikationsknoten angeschlossen ist, wobei der Kommunikationsserver zur Steuerung und Überwachung der Endgeräte anhand der in der Datenbank gespeicherten Informationen zum Zugriff auf jeweils denjenigen Kommunikationsknoten eingerichtet ist, an dem das jeweilige Endgerät an- geschlossen ist. Dabei ist der Kommunikationsserver mit einer Abfrageeinrichtung ausgestattet, welche zum Versenden jeweils einer eine Rufnummer umfassenden Anfrage zu mehreren der Kommunikationsknoten eingerichtet ist, wobei die Abfrageeinrichtung zum Empfang von Antwortnachrichten eingerichtet ist, wo- bei die Antwortnachrichten jeweils eine Information darüber umfassen, ob an den antwortenden Kommunikationsknoten jeweils ein Endgerät mit dieser Rufnummer angeschlossen ist, wobei die Abfrageeinrichtung anhand der empfangenen Informationen aus den Antwortnachrichten zur Speicherung einer Zuordnung dieser Rufnummer zu demjenigen der Kommunikationsknoten, an dem das der Rufnummer zugeordnete Endgerät angeschlossen ist, in der Datenbank eingerichtet ist.
Die Lösung sieht weiter ein Verfahren zur Steuerung und Überwachung von Endgeräten anhand von den Endgeräten zugeordneten Rufnummern durch einen Kommunikationsserver vor, wobei jedes der Endgeräte an einem einer Mehrzahl von Kommunikationsknoten angeschlossen ist, wobei in einem ersten Schritt zu dem Kommunikationsserver eine erste Steuerungsanweisung für eines der Endgeräte übermittelt wird, wobei die erste Steuerungsanweisung eine dem zu steuernden Endgerät zugeordnete Rufnummer umfasst, in einem zweiten Schritt von dem Kommunikationsserver auf eine Datenbank zugegriffen wird, wobei der Kommunikationsserver anhand der Rufnummer des zu steuernden Endgerätes aus der Datenbank eine eindeutige Bezeichnung und / oder eine Adressangabe über denjenigen der Kommunikationsknoten abruft, an dem das betreffende Endgerät angeschlossen ist, in einem dritten Schritt in den Fällen, in denen durch den Abruf im zweiten Schritt keine eindeutige Bezeichnung und / oder Adressangabe ermittelt werden konnte, von einer Abfrageeinrichtung dem KommunikationsServer jeweils eine Anfrage zu mehre- ren oder allen der Kommunikationsknoten versendet wird, wobei diese Anfrage die Rufnummer des zu steuerndes Endgerätes umfasst, wobei die Anfrage von demjenigen der Kommunikations- knoten mit einer Antwortnachricht positiv beantwortet wird, an dem das zu steuernde Endgerät angeschlossen ist, und wobei durch den Kommunikationsserver anhand der Antwortnachricht die Zuordnung der Rufnummer des zu steuernden Endgerätes zu einer eindeutigen Bezeichnung und / oder einer Adressangabe des positiv antwortenden Kommunikationsknotens in die Datenbank eingespeichert wird, und in einem vierten Schritt von dem KommunikationsServer anhand der im zweiten oder im dritten Schritt ermittelten Bezeichnung und / oder Adressangabe und anhand der ersten Steuerungsanweisung eine zweite Steuerungsanweisung mit der Rufnummer des zu steuernden Endgerätes zu dem der ermittelten Bezeichnung und / oder Adressangabe entsprechenden Kommunikationsknoten versendet wird.
Die Lösung sieht weiter eine Kombination aus einem Kommunikationsserver gemäß einem der Patentansprüche 1 bis 5, der Mehrzahl von Kommunikationsknoten und den an den Kommunikationsknoten angeschlossenen Endgeräten vor, bei der zwischen dem Kommunikationsserver und den Kommunikationsknoten CTI-
Verbindungen geschaltet sind, an den Kommunikationsserver zumindest ein Datenverarbeitungsgerät mit einer installierten CTI-Anwendung angeschlossen ist, wobei die CTI-Anwendung zur Steuerung und / oder Überwachung der Endgeräte ausgebildet ist und derart eingerichtet ist, dass dieser zur Auswahl des zu steuernden und / oder zu überwachenden Endgerätes zusammen mit einem Befehl zur Steuerung und / oder Überwachung auch eine Rufnummer des betreffenden Endgerätes zu dem Kommunikationsserver übermittelt, der zum Empfang und Auswertung des Befehls eingerichtet ist, wobei der Kommunikationsserver zur Umsetzung des Befehls in eine über eine der CTI-Verbindungen zu versendende Anfrage eingerichtet ist, wobei der Kommunikationsserver zur Versendung der Anfrage über diejenige der CTI-Verbindungen eingerichtet ist, welche den Kommunikations- server mit demjenigen der Kommunikationsknoten verbindet, an welchem das zu steuernde und / oder zu überwachende Endgerät angeschlossen ist.
Der Kommunikationsserver ist durch die Merkmale der anhängi- gen Patentansprüche 3 - 5 vorteilhaft weiter ausgestaltet.
Die dabei beschriebenen Merkmale und Vorteile gelten sinngemäß auch für das erfindungsgemäße Verfahren und für die erfindungsgemäße Kombination.
Wenn die Anfrage einen Befehl umfasst, der den jeweiligen Kommunikationsknoten zur Wiedergabe des Betriebszustandes desjenigen Endgerätes auffordert, welches in dem jeweiligen Kommunikationsknoten der mit der Anfrage versendeten Rufnummer zugeordnet ist, kann durch den Kommunikationsserver das Vorhandensein des betreffenden Endgerätes an dem entsprechenden Kommunikationsknoten festgestellt werden, ohne eine direkte Steuerungsanweisung für das entsprechende Endgerät zu
übermitteln. Eine solche Anfrage ist beispielsweise durch das sogenannte "Snapshot-Monitoring" möglich, welches durch eine Vielzahl Kommunikationsknoten (CTI-Schnittstellen) verschiedener Hersteller unterstützt wird. Dadurch ist ein Einsatz des erfindungsgemäßen Kommunikationsservers auch in heterogenen Kommunikationsanordnungen, die durch Kommunikationsknoten verschiedener Hersteller gebildet werden, möglich.
Das Versenden einer Reihe von Anfragen zu allen angeschlosse- nen Kommunikationsknoten kann vermieden werden, wenn die Datenbank ein Verzeichnis mit allen an den Kommunikationsserver angeschlossenen Kommunikationsknoten und deren Amtskopfnummern ("Vorwahlnummern") aufweist. Dann kann in vielen Fällen allein durch das Auswerten der zur Steuerung und/oder Überwa- chung zu den Kommunikationsservern gesendeten vollständigen ("kanonischen") Rufnummern der für das betroffene Endgerät "zuständige" Kommunikationsknoten ausgewählt werden, selbst wenn die ("nicht-vollständige" bzw. nicht dem kanonischen Format entsprechende) Durchwahlnummer mehrfach in dem Kommu- nikationsnetzwerk vergeben ist. Das ist besonders vorteilhaft möglich, wenn die verschiedenen Kommunikationsknoten jeweils in Bereichen mit unterschiedlichen Amtskopfnummern ("Vorwahlnummern") angeordnet sind, weil sich dann die Amtskopfnummern zwingend voneinander unterscheiden. Dabei ist von Vorteil, wenn der Kommunikationsserver derart eingerichtet ist, dass die Anfrage nur an solche der Kommunikationsknoten versendet wird, bei denen die Rufnummer mit der Amtskopfnummer korre- liert. In solchen Fällen werden unnötige Anfragen verringert und somit die Netzlast in der gesamten Kommunikationsanord- nung und dem damit verbundenen Datennetzwerk wirkungsvoll verringert .
Ausführungsbeispiele des erfindungsgemäßen Kommunikationsservers werden nachfolgend anhand der Zeichnungen erläutert. Sie dienen gleichzeitig der Erläuterung von Ausführungsbeispielen erfindungsgemäßer Verfahren und Kombinationen.
Dabei zeigt die einzige Figur eine Anordnung (Kombination) aus einem KommunikationsServer, einem Computer, drei Kommunikationsknoten und drei Endgeräten. In der Figur 1 ist ein Kommunikationsserver KS ("CTI-Server") gezeigt, an dem als Datenverarbeitungsgeräte die Computer PCI, PC2 mit je einem CTI-Anwendungsprogramm AI, A2 über ein Datennetzwerk LAN angeschlossen sind. Anstelle der Computer können selbstverständlich auch andere Datenverarbeitungsgerä- te, Z.B. WLAN-Geräte, PDAs o.a. verwendet werden. Der Kommunikationsserver KS ist über Datenschnittstellen und die daran anknüpfenden Datenleitungen CLI, CL2, CL3 ( "CTI-Links" ) mit den Kommunikationsknoten Kl, K2, K3 verbunden. Während es sich bei den Datenleitungen CLI, CL2, CL3 im vorliegenden Ausführungsbeispiel jeweils um eine serielle Datenverbindung handelt, können der Kommunikationsserver KS und die Kommunikationsknoten Kl, K2, K3 ebenso an das Datennetzwerk LAN (o- der ein weiteres Datennetzwerk) angeschlossen sein; dann handelt es sich bei den Datenleitungen CLI, CL2, CL3 um Verbin- dungskanäle, die in dem Datennetzwerk LAN bestehen bzw. "geroutet" werden. In diesem Fall ist die Datenschnittstelle des Kommunikationsservers KS zu den Kommunikationsknoten Kl, K2, K3 eine sog. LAN-Schnittstelle.
Bei den Kommunikationsknoten Kl, K2, K3 handelt es sich um leitungsvermittelte Kommunikationsanlagen (Telefonanlagen, Vermittlungssysteme, "TK-Anlagen") , an denen jeweils leitungsvermittelte Endgeräte (Telefone) angeschlossen sind. Hierbei sind in der Figur 1 exemplarisch die Endgeräte EGl, EG2, EG3 gezeigt, wobei das Endgerät EGl an dem Kommunikationsknoten Kl, das Endgerät EG2 am Kommunikationsknoten K2 und das Endgerät EG3 am Kommunikationsknoten K3 angeschlossen ist. Alternativ zu den hier gezeigten leistungsvermittelten Kommunikationsknoten Kl, K2 , K3 und den daran angeschlossen Endgeräten EGl, EG2 , EG3 können jedoch einzelne oder alle gezeigten Kommunikationsknoten Kl, K2 , K3 als paketvermittelnde Kommunikationsknoten (z.B. H.323-Gatekeeper, SIP-Proxyserver
o.a.) eines Sprachdatennetzwerks (VoIP-Netzwerk; VoIP = Voi- ce-over-Internet-Protocol) ausgebildet sein. In diesem Fall sind dann auch einige oder alle der Endgeräte EGl, EG2, EG3 als "VoIP-Clients" , also als Sprachdatenendgeräte ausgebil- det. Solche Clients können entweder als sog. "IP-Telephone" , als Multimedia-PCs oder als PC-emulierte Telefone ("Softpho- nes") aufgebaut sein und neben dem Dienst "Sprache" auch andere Dienste, z.B. Video, Chat, SMS, E-Mail etc., bieten.
Der Kommunikationsserver KS besteht im vorliegenden Fall aus einer Computer-Hardware (Server) , der durch eine auf dieser installierten und betriebenen Software die Funktion eines zentralen CTI-Servers in der Kommunikationsanordnung übernimmt. Zusätzlich ist der Kommunikationsserver KS mit der Da- tenbank DB und einer Zusatzsoftware ausgestattet, der sogenannten "CTI-Learner" Instanz CLI.
Der Kommunikationsserver KS kann zur Steuerung und/oder Überwachung aller an den Kommunikationsknoten Kl, K2, K3 ange- schlossenen Endgeräte EGl, EG2, EG3 eingesetzt werden.
Selbstverständlich können in der Anordnung, beispielsweise zur Lastverteilung oder Skalierung, auch mehrere Kommunikationsserver KS betrieben werden.
Die Kommunikationsknoten Kl, K2, K3 gehören zu dem privaten Kommunikationsnetzwerk einer Firma, die die Kommunikations- knoten Kl, K2 mit der Amtskopfnummer "089xxx" an einem ersten Standort betreibt, während der Kommunikationsknoten K3 an einem zweiten Standort mit der Amtskopfnummer "069yyy" betrie- ben wird. Die Amtsköpfnummer ist dabei aus der Vorwahlnummer des jeweiligen Ortsnetzes (089 bzw. 069) und der Anlagenrufnummer ( "xxx" bzw. "yyy") des jeweiligen Standortes gebildet. Dabei können die Durchwahlnummern der Endgeräte EGl, EG2 , EG3 in dem privaten Kommunikationsnetzwerk frei verteilt werden; im vorliegenden Ausführungsbeispiel ist die Durchwahlnummer "3501" dem Endgerät EGl, die "3502" dem Endgerät EG2 und die "3503" dem Endgerät EG3 zugeordnet. Es ist dabei auch mög-
lieh, dass ein- und dieselbe Durchwahlnummer an mehreren Standorten vergeben ist; in diesen Fällen sind die entsprechenden Endgeräte nur anhand der vollständigen ("kanonischen") Rufnummer unterscheidbar. Die an dem gemeinsamen Standort betriebenen Kommunikationsknoten Kl, K2 haben identische Anlagenrufnummern ("xxx").
Die Datenbank DB des Kommunikationsservers KS ist zur Speicherung von Zuordnungen eingerichtet, aus denen hervorgeht, welches Endgerät, also welche Durchwahlnummer, an welchen der Kommunikationsknoten Kl, K2, K3 angeschlossen bzw. angemeldet ist. Im hier betrachteten Ausführungsbeispiel wird nun davon ausgegangen, dass in der Datenbank DB die Zuordnung des Endgerätes EG2 mit der Rufnummer "089xxx3502" zu dem Kommunika- tionsknoten K2, der über die Datenverbindung CL2 an dem Kommunikationsserver KS angeschlossen ist, bereits verzeichnet ist. Weiterhin sind in der Datenbank DB die Kommunikations- knoten Kl, K2, K3 mit den diesen zugeordneten Amtskopfnummern "089xxx" bzw. "069yyy" eingetragen. Weitere Zuordnungen sind bislang in der Datenbank DB nicht verzeichnet .
Wenn wie im vorliegenden Fall in der Datenbank DB zu der jeweiligen Durchwahlnummer die zugeordnete Datenverbindung gespeichert ist, ist dabei als oder mit der Bezeichnung der Da- tenverbindung eine Angabe über die Schnittstelle des Kommunikationsservers KS gespeichert, an der diese Datenverbindung angeschlossen ist . Alternativ kann, insbesondere bei einem Anschluss der Kommunikationsknoten über ein lokales Datennetz, anstelle der Bezeichnung die Netzwerkadresse (IP- Adresse, IP-Portnummer) des jeweiligen Kommunikationsknotens zugeordnet und gespeichert werden.
Das Endgerät EGl und der Computer PCI sind einem ersten Benutzer zugeordnet, während das Endgerät EG2 und der Computer PC2 einem zweiten Benutzer zur Verfügung stehen. Damit ist mittels der vorliegenden Konfiguration für jeden Benutzer eine "Third-Party" CTI-Lösung gegeben.
Nachfolgend wird anhand der Figur 1 erläutert, wie der zweite Benutzer des Computers PC2 und des Endgerätes EG2 durch Eingabe eines Befehls in seinen Computer PC2 bzw. an das auf diesem ablaufende CTI-Anwendungsprogramm A2 das ihm zugeordnete Endgerät EG2 veranlasst, eine Kommunikationsverbindung zu dem Endgerät EG3 aufzubauen.
Dazu gibt der zweite Benutzer in ein Eingabefeld des CTI- Anwendungsprogramms A2 die Rufnummer "069yyy3503" ein und betätigt eine Schaltfläche ("Button") mit dem Befehl "wählen". Gesteuert durch das CTI-Anwendungsprogramm A2 wird nun von dem Computer PC2 als Steuerungsanweisung eine Befehlsfolge an den Kommunikationsserver KS versendet, wobei die Befehlsfolge die Information enthält, dass für das Endgerät mit der Rufnummer "089xxx3502" eine Kommunikationsverbindung zu der Rufnummer "069yyy3503" aufgebaut werden soll. Der Kommunikationsserver KS greift auf die Datenbank DB zu und ermittelt anhand der Rufnummer "089xxx3502" den Kommunikationsknoten K2, der über die Datenverbindung CL2 an dem Kommunikationsserver KS angeschlossen ist, als den der Rufnummer "089xxx3502" und damit dem Endgerät EG2 zugeordneten Kommunikationsknoten. Demzufolge versendet der Kommunikationsserver KS eine Befehlsfolge über die Datenverbindung CL2 zu dem Kommunikati- onsknoten K2 , welche die Information umfasst, dass für das
Endgerät mit der Rufnummer "3502", also das Endgerät EG2, ein Ruf aufgebaut werden soll, und zwar zu der "externen" Rufnummer "069YYY3503" . Nach Empfang der Befehlsfolge wird durch den Kommunikationsknoten K2 das Endgerät EG2 in einen aktiven Betriebszustand versetzt (beispielsweise durch Einschalten des Gerätelautsprechers und Aktivierung der Freisprechfunktion) , und die Wahl der Rufnummer des Endgerätes EG3 wird eingeleitet .
Wegen der im vorliegenden Ausführungsbeispiel zugelassenen mehrfachen Vergabe von Durchwahlnummern (beispielsweise könnte auch an dem Kommunikationsknoten Kl ein Endgerät die
Durchwahlnummer "3502" benutzen) wird von den CTI- Anwendungsprogrammen AI, A2 stets die vollständige ("kanonische") Rufnummer zur Identifizierung des zu steuernden Endgerätes versendet. In verteilten Kommunikationsanordnungen, in denen jede Durchwahlnummer nur einmal vorkommt, könnte alternativ nur die Durchwahlnummer (z.B. "3502") versendet werden, weil dann diese "verkürzte" Rufnummer zu einer eindeutigen Zuordnung genügt .
Im Folgenden wird anhand der Figur 1 der Aufbau einer Kommunikationsverbindung von dem Endgerät EGl zu dem Endgerät EG3 erläutert. Dabei ist der Computer PCI mit dem CTI- Anwendungsprogramm AI dem ersten Benutzer des Endgerätes EG 1 zugeordnet, d.h., dass der erste Benutzer den Aufbau der Ko - munikationsverbindung durch eine Eingabe an seinem Computer PCI bzw. durch Bedienung des CTI-Anwendungsprogramm AI als Wahlhilfeprogramm initiiert.
Der ("erste") Benutzer des Computers PCI gibt dazu in ein Eingabefeld der Benutzeroberfläche des CTI-Anwendungsprogramms AI die Rufnummer "069YYY3503" ein und betätigt danach eine Dialog-Schaltfläche ( "Wähl-Button" ) , um den Wählbefehl auszuführen. Dadurch wird von dem Computer PCI zu dem Kommunikationsserver KS als Steuerungsanweisung eine Befehls- folge übermittelt, die zum einen beschreibt, dass das Endgerät (Endgerät EGl) mit der Rufnummer "089xxx3501" gesteuert werden soll, und dass zum anderen dieses Endgerät eine Kommunikationsverbindung zu der Rufnummer "069yyy3503" aufbauen soll. Der Kommunikationsserver KS greift nun auf die Daten- bank DB zu, um zu ermitteln, über welche der Datenverbindungen CLI, CL2, CL3 eine entsprechende Befehlsfolge zur Einleitung des Rufes (Start der Kommunikationsverbindung) abgesetzt werden kann. Da in der Datenbank DB kein entsprechender Eintrag vorhanden ist, startet der Kommunikationsserver KS zur Ermittlung des passenden "CTI-Links" für die übermittelte
Durchwahlrufnummer "3501" die als Abfrageeinrichtung verwendete Instanz CLI . Die Instanz CLI versendet nun nacheinander
über alle die in der Datenbank DB verzeichneten "CTI-Links", also über die Datenverbindungen CLI, CL2, CL3 , jeweils als Anfrage einen Befehl zum "Snapshot-Monitoring" , wobei dieser Befehl als Befehlsparameter die Ruf ummerinformation "089xxx3501" umfasst . Im vorliegenden Beispiel wird dabei die Rufnummer im vollständigen Format übermittelt; eine Verkürzung auf die reine Durchwahlnummer "3501" ist aber alternativ möglich, wenn in ein- und demselben Kommunikationsknoten jede Durchwahlnummer nur einmal vergeben wird.
Die Bedeutung dieses Befehls "Snapshot-Monitoring" ist, dass damit der den Befehl empfangende Kommunikationsknoten Kl, K2, K3 dazu aufgefordert wird, den Betriebszustand (z.B. "frei", "besetzt", "umgeleitet zu ...", etc.) des Endgerätes, der Komponente oder des Anschlusses (man spricht allgemein von "Device") mit der zugeordneten Rufnummer (hie : "089xxx3501" ) durch eine Antwortnachricht zu dem anfordernden Kommunikationsserver zu melden. Eine Besonderheit dieses Befehls ist, dass in den Fällen, in denen die als Parameter übergebene Durchwahlrufnummer in dem abgefragten Kommunikationssystem nicht vergeben ist, als Antwortnachricht eine entsprechende Fehlermeldung erzeugt und diese zu dem anfragenden Kommunikationsserver übermittelt wird.
Nachdem alle drei Kommunikationsknoten Kl, K2, K3 den beschriebenen Befehl "Snapshot-Monitoring 089xxx3501" empfangen und verarbeitet haben, empfängt die Instanz CLI des Kommunikationsservers KS von den Kommunikationsknoten K2 , K3 als Antwortnachricht eine entsprechende Fehlermeldung, während der Kommunikationsknoten Kl mit der Zustandsinformation, z.B. "3501:frei", als Antwortnachricht antwortet. Aufgrund dieser empfangenen Informationen wird in der Datenbank DB ein neuer Eintrag erzeugt, der die Zuordnung der Rufnummer "089xxx3501" mit der Datenverbindung CLI und damit mit dem Kommunikations- knoten Kl beschreibt.
Selbstverständlich kann anstelle des beschriebenen Befehls "Snapshot-Monitoring" auch ein anderer, die Rufnummer "3501" bzw "089xxx3901" betreffender, Befehl jeweils an die Kommunikationsknoten Kl, K2, K3 versendet werden, der dazu geeignet ist, im Falle des Nicht-Vorhandenseins der entsprechenden ü- bermittelten Rufnummer als Antwortnachricht eine Fehlermeldung zu erzeugen, bzw. im Erfolgsfall als Antwortnachricht eine positive Rückmeldung zu geben.
Aufgrund der Antwortnachricht (positive Rückmeldung) des Kommunikationsknotens Kl versendet nun der Kommunikationsserver KS eine neue Befehlsfolge über die Datenverbindung CLI zu dem Kommunikationsknoten Kl, wobei diese Befehlsfolge den "Wählbefehl" umfasst und dabei als Befehlsargumente sowohl die Rufnummer "089xxx3501" des zu steuernden Endgerätes bzw.
Teilnehmeranschlusses, als auch - als weiteres Befehlsargument - die Rufnummer "069yyy3503" als Rufziel umfasst. Nach Empfang dieses Befehls wird die Kommunikationsverbindung durch den Kommunikationsknoten Kl wie gewünscht aufgebaut.
Die hier beschriebene CTI-Funktion "Wahlhilfe" stellt ein Beispiel für eine Steuerung eines Endgerätes bzw. eines Kommunikationsknotens dar. In analoger Weise können auch Überwa- chungs-Funktionen realisiert werden (man spricht dabei vom "Monitoring"); dann werden z.B. durch den Kommunikationsserver KS als Steuerungsanweisungen Überwachungsaufträge an die Kommunikationsknoten Kl, K2 , K3 gesendet (sog. "Setzen von Monitor-Punkten") , was in der Folge zur Meldung von Zustandsinformationen bzw. Zustandsänderungen von den Kommunikations- knoten zu den Computern führt. Auch hierbei wird der jeweils zuständige Kommunikationsknoten durch Zugriff auf die Datenbank DB bzw. durch eine auf Anfragen gestützte Suche der Instanz CLI ermittelt. Weiter beschränken sich die geschilderten Steuerungs- und Überwachungsvorgänge nicht auf Endgeräte, sondern es können vielmehr alle in Kommunikationsknoten verwalteten Einrichtungen ("Devices"), also auch Amtsleitungen, Dienste, Gruppenfunktionen etc. anhand von Rufnummern oder
anderen Zugriffsadressen erreicht werden. Insbesondere in Sprachdatennetzen findet die Adressierung darüber hinaus (zumindest nicht nur) anhand von Rufnummer statt, sondern auch anhand anderer Identifizierungsmerkmale, beispielsweis IP- Adressen und IP-Portnummern. Auch solche Adressen sind in der Datenbank DB abbildbar und zur Auswahl der Datenverbindung bzw. des "Datenkanals" ("CTI-Links") nutzbar.
Falls nach Zugriff auf die Datenbank DB der Zugriff auf den dabei ermittelten Kommunikationsknoten nicht erfolgreich ist - beispielsweise nach einem erfolgten "Umzug" eines Endgerätes innerhalb des Kommunikationsnetzwerkes - , wird der dabei als falsch identifizierte Datenbank-Eintrag (also die gespeicherte Zuordnung) verworfen und durch erneuten Einsatz der Instanz CLI neu bestimmt.
In einer besonderen Ausführungsform können die Zugriffe des Kommunikationsservers KS auf die Datenbank DB immer über die Instanz CLI erfolgen. Dann hat die (nicht dargestellte) Steu- erungstechnik des KommunikationsServers KS nur eine Schnittstelle zur Bestimmung des "richtigen" CTI-Links. Außerdem lässt sich dann die Instanz CLI derart einstellen, dass bei der Ausführung eines CTI-Zugriffs eine aus der Datenbank DB abgerufene Zuordnung vor jeder Verwendung zuerst überprüft wird (beispielsweise durch ein "Snapshot-Monitoring"), um damit Fehlzugriffe bei dem eigentlichen CTI-Vorgang zu verhindern. Bei einer vollständigen Entfernung eines "angefragten" Endgerätes aus der gesamten Kommunikationsanordnung wird dabei eine entsprechende Fehlermeldung zu der anfragenden An- wendung versendet und dort für den Benutzer dargestellt. Außerdem erfolgt dann eine Korrektur der Datenbank DB bzw. eine Löschung der in der Datenbank DB verzeichneten und nicht mehr gültigen Zuordnung.
In der Datenbank DB sind in einer besonderen Ausführungsform wie bereits geschildert auch Zuordnungen der CTI-Links, also der Datenleitungen CLI, CL2 , CL3 , zu den Amtsköpfnummern der
Kommunikationsknoten Kl, K2, K3 gespeichert. Damit können für die "Lernphase", also für das anhand der obigen Beispiele geschilderte Ermitteln des "richtigen" CTI-Links, solche Kommunikationsknoten ausgespart werden, deren Amtsköpfnummern nicht in das Rufnummernformat der übermittelten Durchwahlnummer passen. Das gilt insbesondere dann, wenn von den Anwendungen AI, A2 die Rufnummern der zu steuernden Endgeräte im sog. "internationalen" Format, also vollständig mit Landes-, Ortsnetz-, Anlagen- und Durchwahlnummer (z.B. "+49 89 xxx 3901") übermittelt werden.