DE10345051B4 - Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk - Google Patents

Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk Download PDF

Info

Publication number
DE10345051B4
DE10345051B4 DE10345051A DE10345051A DE10345051B4 DE 10345051 B4 DE10345051 B4 DE 10345051B4 DE 10345051 A DE10345051 A DE 10345051A DE 10345051 A DE10345051 A DE 10345051A DE 10345051 B4 DE10345051 B4 DE 10345051B4
Authority
DE
Germany
Prior art keywords
client
clients
communication
call
communication connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE10345051A
Other languages
English (en)
Other versions
DE10345051A1 (de
Inventor
Ralf Neuhaus
Rainer Uecker
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Unify GmbH and Co KG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE10345051A priority Critical patent/DE10345051B4/de
Priority to PCT/EP2004/009108 priority patent/WO2005041535A1/de
Priority to US10/573,676 priority patent/US7609663B2/en
Publication of DE10345051A1 publication Critical patent/DE10345051A1/de
Application granted granted Critical
Publication of DE10345051B4 publication Critical patent/DE10345051B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4535Network directories; Name-to-address mapping using an address exchange platform which sets up a session between two nodes, e.g. rendezvous servers, session initiation protocols [SIP] registrars or H.323 gatekeepers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1106Call signalling protocols; H.323 and related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/54Arrangements for diverting calls for one subscriber to another predetermined subscriber
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/006Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer
    • H04M7/0063Networks other than PSTN/ISDN providing telephone service, e.g. Voice over Internet Protocol (VoIP), including next generation networks with a packet-switched transport layer where the network is a peer-to-peer network

Abstract

Verfahren zum Aufbau einer Kommunikationsverbindung zwischen zwei Clients einer Mehrzahl Clients in einem direktkommunizierenden Kommunikationsnetzwerk,
wobei
zum Aufbau der Kommunikationsverbindung Client-Adressinformationen umfassende Signalisierungsinformationen zwischen an der Kommunikationsverbindung zu beteiligenden Clients ausgetauscht werden,
die Kommunikationsverbindung anhand der Client-Adressinformationen direkt zwischen den an der Kommunikationsverbindung zu beteiligenden Clients aufgebaut wird, wobei nacheinander folgende Verfahrensschritte durchgeführt werden:
a) in der Mehrzahl Clients werden verteilt für den Aufbau von paarweisen Kommunikationsverbindungen zwischen den Clients erforderliche Client-Adressinformationen gespeichert,
b) von einem suchenden Client wird eine auf den Aufbau wenigstens einer Kommunikationsverbindung zwischen einem rufenden Client und wenigstens einem gesuchten Client gerichtete Rundruf-Anforderungsnachricht ausgesendet,
c) jeder die Rundruf-Anforderungsnachricht empfangende Client sendet, sofern ihr gemäß seiner jeweiligen Funktionalität das Aussenden einer Antwortnachricht zugeordnet ist, welche eine für die wenigstens eine Kommunikationsverbindung erforderliche Client-Adressinformation umfasst, diese Antwortnachricht aus, und
d) diese Client-Adressinformation wird zum Aufbau der Kommunikationsverbindung zwischen dem rufenden Client...

Description

  • Die Erfindung betrifft ein Verfahren zum Aufbau einer Kommunikationsverbindung zwischen zwei Clients einer Mehrzahl Clients in einem direktkommunizierenden Kommunikationsnetzwerk gemäß des Oberbegriffs des Patentanspruchs 1.
  • Kommunikationsnetzwerke, deren Komponenten paketvermittelt miteinander kommunizieren, treten in verstärktem Maße an die Stelle leitungsvermittelter Kommunikationsnetzwerke. Solche direktkommunizierenden Netzwerke werden häufig auch als Voice-Over-IP(VoIP)-Netzwerke bezeichnet, wenn zum Austausch der in Form von Daten vorliegenden akustischen Informationen (Sprachdaten) das Internet-Protokoll (IP-Protocol) verwendet wird. Dabei können die Netzwerke entweder ausschließlich zur Übertragung von Sprachdaten dienen, oder aber gemischt sowohl Sprachdaten als auch andere Informationen (z. B. Daten, Video) übertragen.
  • In den leitungsvermittelten Kommunikationsnetzwerken sind Endgeräte (z. B. Telefone, Faxgeräte) stets mit einem Kommunikationsknoten (z. B. einer Telefonanlage) verbunden. Jeglicher Informationsfluss zu und von den Endgeräten findet dabei unter Beteiligung des jeweiligen Kommunikationsknotens statt, wobei Steuerungsinformationen, beispielsweise für den Verbindungsaufbau, zwischen dem Endgerät und dem Kommunikationsknoten ausgetauscht werden, während die Nutzinformationen (das analoge Sprachsignal oder das modulierte Telefax-Signal) zwar zwischen den an der Kommunikationsverbindung beteiligten Endgeräten ausgetauscht werden, aber von zumindest einem an der Kommunikationsverbindung beteiligten Kommunikationsknoten weitergeleitet (übertragen) werden.
  • In den Sprachdatennetzen werden die Endgeräte häufig als "Clients" bezeichnet, weil die Endgeräte in diesen Kommunikationsnetzwerken ähnlich wie ein Computer in einem Datennetz betrieben werden und nicht nur als Telefon oder Telefaxgerät, sondern auch beispielsweise als Multimedia-PC ausgeführt sein können. Bei den letztgenannten handelt es sich um Computer, die über eine geeignete Hardware zur Informationseingabe (z. B. Mikrofon, Kamera, Tastatur, Scanner etc.) und Informationsausgabe (z. B. Bildschirm/Display, Lautsprecher, LED's etc.) verfügen. Clients können auch als Miniatur-PC (sog. PDA – Personal Digital Assistant) oder als erweitertes Mobiltelefon ("Smart-Phone") ausgestaltet sein. Die genannten Geräte sind oft mit einer schnurlosen Daten-Verbindung ausgestattet und werden dann im Falle der Mobiltelefone auch als "WLAN-Handy's" bezeichnet (WLAN = Wireless Local Area Network).
  • Die Clients in den Sprachdatennetzen tauschen die Nutzinformationen in der Regel direkt miteinander aus. Dazu sind nach dem Aufbau einer Kommunikationsverbindung zwei miteinander kommunizierende Clients jeweils in Kenntnis der Netzwerkadresse ihres Kommunikationspartners, und anhand dieser Netzwerkadressen tauschen sie die Datenpakete mit den Nutzinformationen miteinander aus. Zum Verbindungsaufbau hingegen werden auch in den meisten bekannten Sprachdatennetzen zentrale Netzknoten (Kommunikationsknoten) verwendet. Solche Netzknoten sind den Sprachdatennetzen, die das H.323-Protokoll (ITU-T-H.323) verwenden, als "Gatekeeper" bekannt und in den Sprachdatennetzen, die das SIP-Protokoll (IETF-SIP; SIP = Session Initiation Protocol) verwenden, als SIP-Proxyserver bekannt.
  • In weit verzweigten Datennetzen, insbesondere im Internet, werden zunehmend Kommunikationsstrukturen verwendet, die als "Peer-To-Peer"-Netzwerke oder auch "End-To-End"-Netzwerke bezeichnet werden. Ein primäres Anwendungsgebiet solcher Kommunikationsstrukturen besteht im Austausch von Dateien, dem so genannten "File sharing". Dabei fragt ein Teilnehmer (Client) einer solchen Kommunikationsstruktur eine Anzahl anderer Clients (typischerweise Computer) auf der Suche nach einer bestimmten Ressource (das kann eine Musikdatei oder ein Computerprogramm sein) ab und startet nach dem Auffinden dieser Ressource die Verwendung dieser Ressource, was zumeist mit dem Übertragen ("download") einer Datei oder mehrerer Dateien einhergeht. Dabei kann zum Auffinden entsprechender Kommunikationspartner (Clients) entweder eine Datenbank verwendet werden, oder aber die Clients können durch entsprechende Kommunikationsverfahren selbsttätig, d. h. ohne eine zentrale Instanz, aufgefunden werden.
  • Einige der bekannten "Peer-To-Peer"-Netzwerke werden für die Zwecke einer direkten Kommunikation verwendet. Die dabei ausgetauschten "Mediadaten", also die Nutzdaten, sind nicht auf Sprache (Sprachdaten) oder modulierte Informationen (z. B. Telefaxübermittlungen) beschränkt, sondern schließen auch Bewegtbildinformationen (Videoübertragung, Video-Konferenzen, "Multimedia-Messaging") und andere Formen der elektronischen Kommunikation mit ein. In solchen Kommunikationsnetzwerken, die man auch als "direktkommunizierende Kommunikationsnetzwerke" bezeichnet, sind also einerseits Kommunikationsverbindungen nach Art der klassischen "Telefonate" durchführbar, und andererseits sind auch erweiterte Inhalte ("Multimedia") übertragbar. Der Verzicht auf zentrale Netzknoten (Kommunikationsknoten) birgt dabei den Vorteil einer erhöhten Ausfallsicherheit, was mit dem Nachteil verbunden ist, dass die (Vermittlungs-)Funktionalität der aus der leitungsvermittelten Telephonie bekannten Netzknoten von den an der Kommunikationsverbindung beteiligten Clients selbst bereit gestellt werden muss.
  • Bei den bekannten direktkommunizierenden Kommunikationsnetzwerken hat sich insbesondere als nachteilig herausgestellt, dass ein Client zum Aufbau einer Kommunikationsverbindung zu einem zweiten Client im Besitz der Adressinforma tion (z. B. die Netzwerkadresse) des zweiten Clients sein muss. Das ist ein Problem, weil in der Regel kein dem Client direkt zugeordneter Netzknoten (z. B. Kommunikations-Server) existiert, von dem eine solche Adresse abfragbar ist. Selbst wenn die Adressinformation eines gewünschten Kommunikationspartners bekannt ist, kann es in den direktkommunizierenden Kommunikationsnetzwerken vorkommen, dass dieser gewünschte Kommunikationspartner nicht erreicht werden kann (z. B. im "Besetzt"-Fall oder bei Ausfall des Clients), so dass z. B. die Verbindung zu einem alternativen Rufziel ("Ausweichziel") gewünscht wird. Da in den direktkommunizierenden Kommunikationsnetzwerken keine zentralen Netzknoten zur Speicherung einer solchen Adressinformation verwendet werden, besteht auch beim Verbindungsaufbau zu einem solchen alternativen Rufziel das Problem der Adressierung.
  • Verfahren zur Adressierung in direktkommunizierenden Kommunikationsnetzwerken sind bereits in den Druckschriften „ITU-T Recommendation H.450.3, SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Supplementary service for multimedia – Call diversion supplemantary service for H.323" und „ITU-T Recommendation H.323, SERIES H: Audiovisual and multimedia systems, Packetbased multimedia communications systems" bekannt. In der Druckschrift EP 1 014 660 A2 Klaghofer et al. „Verfahren zum Realiseren einer Sammelanschlussfunktion in einem Kommunikationsnetz nach ITU-T H. 323" wird eine Lösung zur Adressierung eines Sammelanschlusses in einem VoIP-Kommunikationsnetzerwerk aufgezeigt. Auch die Druckschrift KORPI, M. u. a.: Supplementary Services in the H.323 IP Telephony Network
    (http://www.comsoc.org/~ci/private/1999/jul/pdf/Korpi.pdf) befasst sich mit der Adressierung in VoIP-Kommunikationsnetzwerken. Die Benutzung von sogenannten „servents" für Kommunikationsstrukturen ist in der Druckschrift I and C World: The Magazine for Information and Communications (http://www.siemens.ie/i&cworld/pdf/march03.pdf) bekannt.
  • Aus der Druckschrift US 6,487,180 B1 Borgstahl et al. "Personal information system using proximity-based short-range wireless links" ist eine Anordnung mit direktkommunizierenden Komponenten bekannt, wobei eine erste Komponente zur Suche einer geeigneten zweiten Komponente eine Rundruf-Anforderungsnachricht („Broadcast-Meldung") versendet, wobei diese Rundruf-Anforderungsnachricht zumindest ein Suchkriterium umfasst. Sofern eine die Rundruf-Anforderungsnachricht empfangende zweite Komponente diese Nachricht empfängt und das zumindest eine Kriterium erfüllt, antwortet diese zweite Komponente entsprechend und ermöglicht somit ihre direkte Adressierung durch die erste Komponente.
  • Auch die Druckschrift US 2002/0143944 A1 Traversat et al. „Advertisements for peer-to-peer computing resources" zeigt die Suche nach Ressourcen in einem direktkommunizierenden Kommunikationsnetzwerk. Auch hier werden Rundruf-Anforderungsnachrichten versendet, die ein Anforderungsprofil enthalten und die von einem geeigneten Kommunikationspartner beantwortet werden, wodurch eine direkte Adressierung des geeigneten Kommunikationspartners durch die suchende Komponente ermöglicht wird.
  • Aufgabe der Erfindung ist es, ein Verfahren vorzuschlagen, mit dem für Kommunikationsverbindungen in direktkommunizierenden Kommunikationsnetzwerken notwendige Adressinformationen ermittelt werden können.
  • Die Lösung der Aufgabe sieht ausgehend vom Oberbegriff des Patentanspruchs 1 vor, dass nacheinander folgende Verfahrensschritte durchgeführt werden: Zunächst werden in der Mehrzahl Clients verteilt für den Aufbau von paarweisen Kommunikationsverbindungen zwischen den Clients erforderliche Clients-Adressinformationen gespeichert. Dann wird von einem suchenden Client eine auf den Aufbau wenigstens einer Kommunikationsverbindung zwischen einem rufenden Client und wenigstens einem gesuchten Client gerichtete Rundruf- Anforderungsnachricht ausgesendet. In der Folge sendet jeder die Rundruf-Anforderungsnachricht empfangende Client, sofern der Rundruf-Anforderungsnachricht gemäß seiner jeweiligen Funktionalität das Aussenden einer Antwortnachricht zugeordnet ist, welche eine für die wenigstens eine Kommunikationsverbindung erforderliche Client-Adressinformation umfasst, diese Antwortnachricht aus. Schließlich wird diese Client-Adressinformation zum Aufbau der Kommunikationsverbindung zwischen dem rufenden Client und dem wenigstens einem gesuchten Client verwendet. Zur Ausführung einer Anrufumleitung in den Fällen, in denen die vom dem rufenden Client zu einem gerufenen Client zum Aufbau einer ersten Kommunikationsverbindung versendeten Signalisierungsinformationen von dem gerufenen Client abgewiesen oder nicht rechtzeitig beantwortet werden, betrifft in Schritt a) eine der gespeicherten Client-Adressinformationen einen Rufumleitungsziel-Client für den gerufenen Client, umfasst in Schritt b) die Rundruf-Anforderungsnachricht ein Kennzeichen für den gerufenen Client, und in Schritt c) beschreibt die in der Antwortnachricht enthaltene Client-Adressinformation den Rufumleitungsziel-Client. Damit kann für einen Client in dem Kommunikationsnetzwerk ein Anrufumleitungs-Ziel hinterlegt werden, ohne dafür eine zentrale Speicher-Instanz vorhalten zu müssen. Dabei ist es von Vorteil, wenn der suchende Client von dem rufenden Client gebildet wird, weil in solchen Fällen der rufende Client ohne weitere Zwischeninstanz direkt die Antwortnachricht mit den Client-Adressinformationen empfängt und ohne weitere Verzögerung die Kommunikationsverbindung zu dem Rufumleitungsziel aufbauen kann.
  • Durch die zuvor beschriebenen Verfahrensschritte werden die zum Aufbau einer Kommunikationsverbindung benötigten Client-Adressinformationen in einem oder mehreren Clients des Kommunikationsnetzwerkes gespeichert. Durch das Versenden einer Mehrzahl von Abfragenachrichten wird zumindest einer dieser weiteren Clients dazu veranlasst, die zuvor gespeicherte Client-Adressinformation zu den suchenden Clients zurück zu übermitteln. Dadurch ist der Aufbau der Kommunikationsverbindung nicht von einem einzigen Client abhängig, auf dem eventuell eine Client-Adressinformation gespeichert ist, sondern der Aufbau einer Kommunikationsverbindung kann auch dann vorgenommen werden, wenn einzelne Clients nicht verfügbar sind.
  • Das Verfahren ist durch die kennzeichnenden Merkmale der abhängigen Patentansprüche 2–5 vorteilhaft ausgestaltet. Dabei können auch Merkmale der abhängigen Patentansprüche vorteilhaft miteinander kombiniert werden.
  • Die Anzahl der zurückgesendeten Antwortnachrichten wird minimiert, indem zur Funktionalität eines empfangenden Clients gehört, die Rundruf-Anforderungsnachricht an dem Client zu signalisieren und bei Entgegennahme des Rundrufs die Antwortnachricht auszusenden. Dadurch wird zum einen nur bei solchen Clients eine Signalisierung vorgenommen, die die Rundruf-Anforderungsnachricht empfangen und bei der Auswertung dieser Rundruf-Anforderungsnachricht zu einem positiven Ergebnis gelangen, und zum anderen erfolgt das Aussenden einer Antwortnachricht nur dann, wenn der Ruf an dem jeweiligen Client angenommen werden soll.
  • Ein Rufumleitungsziel lässt sich besonders einfach konfigurieren, indem bei einem Client die Information hinterlegt wird, dass dieser das Rufumleitungsziel für einen anderen Client bildet. In der Folge wird die Antwortnachricht von dem gesuchten Client gesendet, der den Rufumleitungsziel-Client bildet, wodurch ein besonders schneller und sicherer Aufbau der Kommunikationsverbindung gewährleistet ist.
  • Ein an einem Client anstehender Ruf kann auf besonders einfache Weise an einem anderen Client entgegengenommen werden, indem zur Anrufübernahme eines Rufes, der von dem rufenden Client zu dem zu einer Anrufübernahmegruppe gehörenden suchenden Client erfolgt, in Schritt a) die Client- Adressinformationen jeweils die der Anrufübernahmegruppe zugeordneten Clients beschreiben.
  • Wenn in Schritt b) die Rundruf-Anforderungsnachricht gezielt an die in den Client-Adressinformationen beschriebenen weiteren Clients der Anrufübernahmegruppe ausgesendet wird, wird die Anzahl der in der Rundruf-Anforderungsnachricht adressierten Clients vorteilhaft verringert.
  • Wenn in Schritt b) die Kommunikationsverbindung bei mehreren die Antwortnachricht aussendenden gesuchten Clients zu demjenigen gesuchten Client aufgebaut wird, welcher als erstes die Antwortnachricht ausgesendet hat, kommt ein sehr schneller Verbindungsaufbau zustande. Vorteilhafterweise wird im Zuge des Aufbaus der Kommunikationsverbindung eine Meldung an die anderen diesen Ruf signalisierenden Clients der Anrufübernahmegruppe versendet, so dass in diesen Ruf nicht mehr weiter signalisiert wird, wobei "verspätet" eintreffende Antwortnachrichten verworfen werden.
  • Eine Blockierung der den Ruf signalisierenden, nicht direkt gerufenen Clients der Anrufübernahmegruppe wird vermieden, indem die Rufsignalisierung in Schritt c) derart erfolgt, dass die Clients sich während der Rufsignalisierung in einem freien Betriebszustand befinden. Vorteilhafter Weise unterscheidet sich diese Rufsignalisierung von einer Rufsignalisierung bei einem direkten Ruf, bei dem der Client bereits während der Rufsignalisierung den "Besetzt"-Zustand hat.
  • Ein Ruf kann an mehreren Clients gleichzeitig signalisiert werden, indem zur Durchführung eines Gruppenrufes in Schritt a) die Clientadressinformationen jeweils die der Gruppe zugeordneten Clients beschreiben, und in Schritt d) die Kommunikationsverbindung zu demjenigen die Antwortnachricht aussendenden gesuchten Client aufgebaut wird, welcher als erstes die Antwortnachricht ausgesendet hat. Dabei haben vorteilhafter Weise alle gerufenen Clients der Gruppe während der Rufsignalisierung den "Besetzt"-Zustand.
  • Wenn in Schritt c) der rufende Client den suchenden Client bildet, können in dem rufenden Client direkt die zu rufenden Gruppenmitglieder bestimmt werden.
  • Wenn in Schritt c) zwischen den zur Aussendung einer Antwortnachricht zugeordneten Clients eine Reihenfolge festgelegt wird, in der an diesen Clients nacheinander die Rufsignalisierung erfolgt, kann das bekannte Leistungsmerkmal des "zyklischen Sammelanschlusses" realisiert werden. Dabei kann entweder eine Reihenfolge derart festgelegt werden, dass sich die einzelnen Clients der Gruppe miteinander zur Festlegung der Reihenfolge synchronisieren, alternativ kann eine Reihenfolge fest vorgegeben werden, oder schließlich kann diese Reihenfolge auch mit jedem neuen Ruf neu festgelegt werden.
  • Dem gegenüber ist es zum besonders schnellen Aufbau einer Kommunikationsverbindung vorteilhaft, wenn in Schritt c) an den zur Aussendung einer Antwortnachricht zugeordneten Clients die Rufsignalisierung gleichzeitig erfolgt. Dann kann an jedem betroffenen Endgerät der Ruf sofort angenommen werden, wobei bei einer Rufannahme an mehreren Clients in vorteilhafter Weise die Kommunikationsverbindung zu demjenigen Client aufgebaut wird, an dem die Rufannahme als erstes erfolgt, oder zu demjenigen Client, welcher die höchste zugeordnete Priorität aufweist.
  • In einem Client kann ein Telefonbuch ("Directory") in besonders einfacher Weise erstellt werden, wenn nach Schritt c) die in der Antwortnachricht enthaltenen Client-Adressinformationen von dem suchenden Client in einer diesem suchenden Client zugeordneten Adressendatenbank gespeichert werden, und in Schritt d) zum Aufbau der Kommunikationsverbindung auf die Adressendatenbank zugegriffen wird. Verzeichnisse mit einer eingeschränkten Teilnehmeranzahl können generiert werden, in dem in Schritt b) die Rundruf-Anforderungsnachricht zumindest ein Filterkriterium umfasst, welches der Auswahl bestimmter Clients dient, und in Schritt c) das Aussenden der Antwortnachricht nur dann erfolgt, sofern in dem jeweiligen Client dem zumindest einen Filterkriterium entsprechende Informationen vorliegen und/oder der jeweilige Client dem zumindest einen Filterkriterium entsprechende Eigenschaften aufweist.
  • Eine Kommunikationsverbindung, welche bei einem der Clients in dem Kommunikationsnetzwerk geparkt ist, kann auf einfache Weise von einem anderen Client in dem Kommunikationsnetzwerk übernommen werden, in dem zum Aufbau einer Kommunikationsverbindung zu dem gesuchten Client, der mit einem als Warteziel mit einer Warteziel-Bezeichnung verwendeten Client verbunden ist, vor Schritt b) dem suchenden Client die Warteziel-Bezeichnung übermittelt wird, in Schritt b) die Rundruf-Anforderungsnachricht die Warteziel-Bezeichnung umfasst, in Schritt c) von dem als Warteziel verwendeten Client das Aussenden der Antwortnachricht erfolgt, und in Schritt d) die Verbindung zwischen dem gesuchten Client und dem als Warteziel verwendeten Client gelöst wird. Dadurch kann ein beliebiger von mehreren in dem Kommunikationsnetzwerk verfügbaren, als Warteziel verwendbaren Clients verwendet werden, um eine Kommunikationsverbindung zu parken. Durch die beschriebenen Verfahrensschritte wird der als Warteziel verwendete Client und damit die geparkte Kommunikationsverbindung auf einfache und sichere Weise aufgefunden, ohne eine bestimmte Instanz oder einen bestimmten Client in dem Kommunikationsnetzwerk fest als Warteziel definieren zu müssen.
  • Ausführungsbeispiele des erfindungsgemäßen Verfahrens sind nachfolgend anhand der Zeichnungen erläutert.
  • Dabei zeigen:
  • 1a den Austausch von Nachrichten zwischen Clients eines direktkommunizierenden Kommunikationsnetzwerkes zum Zwecke einer Anrufumleitung in einer ersten Variante,
  • 1b den Austausch von Nachrichten zwischen Clients zum Zwecke einer Anrufumleitung in einer zweiten Variante,
  • 2a den Austausch von Nachrichten zwischen Clients, um eine Gruppe zu bilden,
  • 2b den Austausch von Nachrichten zwischen Clients bei einem Ruf auf eine Anrufübernahmegruppe,
  • 3a den Austausch von Nachrichten zwischen Clients bei einem Gruppenruf,
  • 3b den Austausch von Nachrichten zwischen Clients bei einem Gruppenruf in der Variante eines zyklischen Sammelanschlusses,
  • 4 Eine Anordnung aus Clients in einem direktkommunizierenden Kommunikationsnetzwerk, wobei in einem der Clients ein Teilnehmerverzeichnis angelegt wird, und
  • 5 den Austausch von Nachrichten zwischen Clients zum Aufnehmen einer "geparkten" Kommunikationsverbindung.
  • In der 1a sind die Clients A, B, C gezeigt, die Teil eines (hier nicht dargestellten) direktkommunizierenden Kommunikationsnetzwerkes sind. Bei den Clients A, B, C handelt es sich um sogenannte Multimedia-PCs, also um Computer, die an einem Netzwerk angeschlossen sind und die zur Wiedergabe und zur Aufnahme von audiovisuellen Nutzdaten eingerichtet sind. Anstelle der Multimedia-PCs können an dieser Stelle auch andere als Kommunikationsendgerät einsetzbare Netzwerkkomponenten verwendet werden, beispielsweise IP-Telefone. Die Clients A, B, C können untereinander Steuerdaten (Signalisierungsinformationen) und Nutzdaten über das direktkommunizierende Kommunikationsnetzwerk austauschen, welches als Sprachdatennetz (VoIP-Kommunikationsnetzwerk) ausgebildet ist und die Daten (Sprachdaten, Nutzdaten) gemäß des Internet-Protokolls (IP-Protocol; TCP-IP; UDP-IP) austauscht.
  • Die in der 1a und in den anderen Figuren gezeigten Pfeile visualisieren das Aussenden bzw. den Austausch von Nachrichten zwischen den Clients, die zum Aufbau einer Kommunikationsverbindung verwendet werden. Die Pfeile sind dabei mit Bezugszeichen versehen, die sich in den einzelnen Figuren wiederholen können, sofern es sich bei der jeweiligen Nachricht bzw. Steuerungsinformation jeweils um eine Nachricht mit der gleichen Funktion handelt. Analog dazu werden in den Figuren die Clients A, B, C und weitere Clients wiederholt gezeigt, sofern sich ihre Funktionalität zwischen den einzelnen Figuren nicht geändert hat. Sowohl die gleichbezeichneten Pfeile als auch die gleichbezeichneten Clients werden bei ihrer wiederholten Verwendung nicht neu beschrieben.
  • In der in 1a gezeigten Kommunikationsanordnung soll der Client C das Anrufumleitungsziel für den Client B darstellen. Zur Einrichtung der Anrufumleitung nimmt der Benutzer des Clients B eine Eingabe vor, in der Client C als Anrufumleitungsziel definiert wird. Aufgrund dieser Eingabe versendet Client B eine Steuernachricht 11 an Client C, wobei aufgrund dieser Steuermeldung Client C als Rufumleitungsziel-Client für Client B konfiguriert wird (Schritt a). Die Steuernachricht 11 umfasst dabei als Adressinformation die Bezeichnung und die Netzwerkadresse des Clients B. Damit ist die Konfiguration der Anrufumleitung abgeschlossen.
  • Der Client B geht jetzt in den "offline"-Betriebszustand; d. h., dass der Multimedia-PC, der den Client B bildet, fortan nicht mehr indem Kommunikationsnetzwerk erreichbar ist.
  • Zum Aufbau einer Kommunikationsverbindung zu dem Client B versendet der Client A eine Steuermeldung 13, die an den Client B adressiert ist und die eine Anrufsignalisierung bei dem Client B bewirken soll. Da der Client B jedoch nicht mehr in dem Kommunikationsnetzwerk erreichbar ist, erfolgt keine Antwortnachricht, was von dem Client A nach Ablauf einer Wartezeit ("Timeout") registriert wird.
  • Alternativ kann auch der Fall eintreten, dass der Client B zwar nicht "offline" ist, aber aus anderen Gründen nicht zum Aufbau der Kommunikationsverbindung zur Verfügung steht. In solchen Fällen kann der Client B die Steuernachricht 13 empfangen und durch eine andere Steuernachricht 14 zum Abweisen des Rufes beantworten, wodurch der Client A ebenfalls darüber informiert ist, dass ein Verbindungsaufbau zum Client B nicht möglich ist.
  • Um ein alternatives Rufziel für den nichterreichbaren Client B zu ermitteln, sendet der Client A eine Rundruf-Anforderungsnachricht an alle anderen erreichbaren Clients des Kommunikationsnetzwerkes aus (Schritt b). Eine solche, an alle erreichbaren Clients gerichtete Rundruf-Anforderungsnachricht wird auch als "Broadcast-Meldung" bezeichnet. Alternativ kann eine solche Rundruf-Anforderungsnachricht auch an eine eingeschränkte Anzahl der erreichbaren Clients gesendet werden, dann spricht man von einer "Multicast-Nachricht".
  • Die als Rundruf-Anforderungsnachricht in Form einer "Broadcast-Meldung" versendete Suchnachricht 15, wird von allen jenen Clients des Kommunikationsnetzwerkes empfangen, die erreichbar sind, wobei in der 1a der Client C exemplarisch gezeigt ist. In dem Client C wurden mit Empfang der Steuernachricht 11 die Adressinformationen des Anrufumleitungszieles für den Client B hinterlegt, wobei es die Netzwerkadresse des Clients C selbst ist, die das Anrufumleitungsziel für Client B definiert. Mit Empfang der Suchnachricht 15, die als Absender die Adressinformation des Clients A umfasst, wird in Client C festgestellt, dass diese Suchnachricht 15 den Client C selbst betrifft, und infolge dessen wird von Client C eine Antwortnachricht 16 zum Client A ver sendet, die die Adressinformation des Clients C als Angabe für das Anrufumleitungsziel umfasst (Schritt c). Analog zu der Steuernachricht 13 zum Aufbau der Kommunikationsverbindung zu dem Client B versendet nun Client A eine neue Steuernachricht 17 mit Signalisierungsinformationen zu dem Client C, in deren Folge die Kommunikationsverbindung zwischen Client A und Client C aufgebaut wird (Schritt d).
  • In der 1b ist ein weiteres Ausführungsbeispiel für eine Anrufumleitung in einem direktkommunizierenden Kommunikationsnetzwerk gezeigt, wobei zu dem Client A, B, C aus dem vorangegangenen Ausführungsbeispiel ein weiterer Client D gezeigt ist. Auch der Client D ist wie die Clients A, B, C als Multimedia-PC in technisch analoger Weise ausgeführt. Auch in diesem Beispiel soll der Client C das Anrufumleitungsziel für den Client B bilden, wobei jedoch zum Zeitpunkt der Konfiguration der Anrufumleitung der Client B keine direkte Verbindung zu dem Client C aufbauen kann. Aus diesem Grunde versendet der Client B eine Steuernachricht 12 (Konfigurationsnachricht) zu dem Client D, wobei in dieser Steuernachricht als Adressinformation für das Anrufumleitungsziel die Netzwerkadresse des Clients C und natürlich als Information über das umgeleitete Rufziel die Adressinformation und die Bezeichnung des Clients B zum Client D übermittelt wird (Schritt a). Nach dieser erfolgten Konfiguration wird der Client B abgeschaltet.
  • Zum Aufbau einer Kommunikationsverbindung zwischen dem Client A und dem Client B versendet der Client A eine Steuernachricht 13 zum Client B, in der der Aufbau der Kommunikationsverbindung angefordert wird. Da innerhalb der definierten Wartezeit keine Antwort von dem Client B erfolgt (auch hier ist alternativ eine abschlägige Antwort 14 möglich), versendet der Client A wiederum eine Suchnachricht 15 an mehrere Clients (Schritt b), diesmal als sogenannte "Multicast-Nachricht" an die in dem Kommunikationsnetzwerk angeordneten Clients C und D. In dieser Suchnachricht 15 ist definiert, dass der Client A ein Ersatz-Rufziel für den Client B sucht. Selbstverständlich ist auch eine Adressinformation, die den Client A beschreibt, Bestandteil der Suchmeldung 15. Die Suchnachricht 15 wird von den Clients C und D empfangen, wobei in Client D ein Datenbankeintrag vorliegt, auf den die Suchanfrage 15 passt. Hier wird nämlich die Übereinstimmung zwischen dem in der Suchnachricht 15 definierten Client B und den im Zuge des Empfangs der Steuernachricht 12 konfigurierten Anrufumleitungszieles festgestellt. Daher versendet der Client B nun eine Antwortnachricht 18 zu dem Client A, mit der dem Client A die Information übermittelt wird, dass das Rufumleitungsziel für den Client B aus der dem Client C zugeordneten Adressinformation besteht (Schritt c). Der Client A sendet nun eine Steuernachricht 19 zu dem Client C (Schritt d), wobei diese Steuernachricht 19 mit in den Signalisierungsinformationen enthaltenen Zusatzinformationen zum Ausdruck bringt, dass es sich bei dieser angefragten Kommunikationsverbindung um eine für den Client B umgeleitete Kommunikationsverbindung handelt. An dem Client C wird nun ein eingehender Ruf signalisiert, wobei in einer Anzeige der Benutzeroberfläche kenntlich gemacht wird, dass es sich bei diesem eingehenden Ruf um einen ursprünglich an den Client B adressierten Ruf handelt.
  • Im Folgenden wird anhand der 2a und 2b die Realisierung des bekannten Leistungsmerkmales "Anrufübernahme" bzw. "Anrufübernahme-Gruppe" in einem direktkommunizierenden Kommunikationsnetzwerk gezeigt, wobei in der 2a die Konfigurierung einer Kommunikationsanordnung zur Durchführung dieser Leistungsmerkmale gezeigt wird, während in der 2b der Verbindungsaufbau zu einem Mitglied einer Anrufübernahme-Gruppe gezeigt wird.
  • In der 2a sind die Clients B, C, D gezeigt, die bereits in den vorhergehenden Figurenbeschreibungen beschrieben sind. Generell bestehen verschiedene Möglichkeiten, wie Clients in einem Kommunikationsnetzwerk zu einer Gruppe zusammengefasst werden können. Beispielsweise ist es möglich, durch einen (manuellen) Administrationsvorgang die Gruppenmitglieder zu bestimmen und jedem der Clients, die Mitglied dieser Gruppe sein sollen, diese Gruppenmitgliedschaft und die Informationen über die anderen Mitglieder der Gruppe mitzuteilen. Ein anderer Weg ist derjenige, dass jedem Client eines Kommunikationsnetzwerkes durch eine Definition mitgeteilt wird, welche Eigenschaften ein Client haben muss, um zu einer bestimmten Gruppe zu gehören. Dann entscheidet jeder Client selber, ob er zu dieser derart definierten Gruppe gehört, und teilt allen anderen Clients des Kommunikationsnetzwerkes, beispielsweise durch eine "Broadcast-Meldung", mit, dass er zu der Gruppe gehört. Im vorliegenden Ausführungsbeispiel sind die Clients B und D bereits zu einer Anrufübernahmegruppe zusammengefasst. Im Folgenden wird beschrieben, wie diese Anrufübernahmegruppe um den Client C erweitert wird (Schritt a).
  • Die Clients B, C, D umfassen jeweils eine Datenbank DB, DC, DD, die der Speicherung von Gruppeninformationen dienen. Die Anrufübernahmegruppe soll in diesem Beispiel vom Arbeitsplatz des Clients B aus administriert werden. Deswegen wird von Client B zu Client C eine Konfigurationsnachricht 21 versendet, in der eine Gruppenidentifikation (Gruppenname) und eine Liste mit den Bezeichnungen und den Adressinformationen der bisherigen Gruppenmitglieder enthalten ist. Im Client C wird nun entschieden, dass eine Zugehörigkeit zu der Anrufübernahmegruppe erfolgen soll. Deswegen wird in der Datenbank DC ein entsprechender Datensatz angelegt, im dem die Bezeichnungen und die Adressinformationen der zu der Gruppe gehörenden Clients B, C, D verzeichnet sind. Dann versendet der Client C eine Bestätigungsnachricht 22 zu dem Client B, der die ihm zugeordnete Datenbank DB entsprechend der Gruppenerweiterung ändert. Der Client B versendet nun eine Information 23 an jeden anderen Client der Anrufübernahmegruppe (in diesem Fall Client D), der noch nicht über die Erweiterung der Anrufübernahmegruppe informiert ist. Nach Empfang dieser Nachricht 22 erweitert nun auch Client D die Einträge für die Anrufüber nahmegruppe in seiner Datenbank DD und versendet danach eine Quittierungsnachricht 24 an den Client B.
  • Alternativ können die Clients auch so programmiert werden, dass ein neu der Gruppe hinzugefügter Client C die Information über seine Gruppenzugehörigkeit selbst an die noch nicht informierten Gruppenmitglieder (Client B, D) versendet.
  • Im Folgenden wird anhand der 2b beschrieben, wie ein Ruf auf ein Mitglied der im Ausführungsbeispiel gemäß 2a gebildeten Anrufübernahmegruppe erfolgt. Im Unterschied zu der 2a ist in 2b weiterhin der Client A gezeigt, der bereits im Rahmen der Figurenbeschreibung zu 1a eingeführt wurde. Der Client A versendet eine Steuernachricht 13 zum Aufbau einer Kommunikationsverbindung zu Client B. Der Ruf wird an Client B sofort signalisiert (Client B "klingelt"); gleichzeitig stellt Client B aufgrund der Informationen in seiner Datenbank DB fest, dass der Ruf bei den anderen Mitgliedern der Anrufübernahmegruppe, nämlich Client C und Client D, signalisiert werden muss. Deswegen versendet Client B an die Clients C und D jeweils einen Signalisierungsruf ("Multicast-Meldung") 25, 26, der zum einen als "Absenderangabe" die Bezeichnung und die Adressinformation von Client B enthält, und zum anderen die Informationen darüber, dass ein an Client B anstehender Ruf von Client A übernommen werden kann (Schritt b). Während der direkt gerufene Client B mit Beginn der Rufsignalisierung den Status (Rufzustand) "besetzt" hat, signalisieren nun die Clients C und D den an Client B anstehenden Ruf derart, dass sie weiterhin den Rufzustand "frei" haben.
  • Im vorliegenden Ausführungsbeispiel ist es nun der Client C, der den an Client B anstehenden Ruf übernehmen möchte. Dazu übersendet Client C eine Rufübernahme-Nachricht 27 an Client B (Schritt c). An Client B wird nun die Rufsignalisierung gestoppt, und weiterhin versendet Client B eine Nachricht 28 zu Client D, um die Signalisierung des Rufes an Client D zu stoppen. Außerdem versendet der Client B nun eine Rufumlenkungs-Nachricht 29, in der dem Client A nunmehr die Bezeichnung und die Adressinformation des Clients C mitgeteilt wird. In der Folge wird nunmehr die Kommunikationsverbindung K2 durch den Client A zu dem Client C aufgebaut (Schritt d).
  • Wie bereits beschrieben, versendet der Client B, sobald er von dem Client A gerufen wird, die Nachrichten 25 und 26 gezielt an die anderen Mitglieder der Anrufübernahmegruppe, nämlich an Client C und Client D. Alternativ ist es jedoch auch möglich, dass der gerufene Client B eine "Broadcast-Meldung", die die Informationen über den anstehenden Ruf und die Bezeichnung der Anrufübernahmegruppe enthält, an alle anderen (auch die hier nicht gezeigten) Clients des Kommunikationsnetzwerkes versendet. Dann entscheidet jeder Client, der diese "Broadcast-Meldung" empfängt, anhand der in der Meldung enthaltenen Informationen darüber, ob er zu dieser Anrufübernahmegruppe gehört und diesen an Client B anstehenden Ruf zur Übernahme signalisieren soll, oder nicht.
  • In dem beschriebenen Ausführungsbeispiel ist es möglich, dass mehr als einer der den Ruf signalisierenden Clients den Ruf entgegen nehmen möchte (Schritt c). Dann treffen mehrere Rufübernahme-Nachrichten 27 ("Rufübernahmewunsch") bei dem gerufenen Client B ein. In diesem Fall wird nur der erste eingehende Rufübernahmewunsch berücksichtigt, während die anderen, nachfolgend ("verspätet") eintreffenden Meldungen verworfen oder mit einer negativen Quittierungsantwort beantwortet werden.
  • Im Folgenden wird anhand der 3a die Realisierung des Leistungsmerkmals "Gruppenruf" in einem direktkommunizierenden Kommunikationsnetzwerk gezeigt. Die Konfiguration der Gruppe für den Gruppenruf erfolgt in analoger Weise zu der anhand der 2a beschrieben Konfigurierung der Anrufübernahmegruppe und wird daher an dieser Stelle nicht weiter erläutert (Schritt a).
  • Im vorliegenden Beispiel wird davon ausgegangen, dass ein Client A einen beliebigen der anderen Clients B, C erreichen möchte. Dazu versendet der Client A in Form einer Broadcast-Meldung eine Rufnachricht 31 (Schritt b), welche die Bezeichnung der gewünschten Gruppe enthält, an alle erreichbaren Clients des Kommunikationsnetzwerkes. Diese Rufnachricht 31 wird von den Clients B und C empfangen, so dass beide Clients B, C in den gerufenen Zustand übergehen (also den Rufzustand "besetzt" aufweisen) und jeweils den anstehenden Ruf von Client A signalisieren. Der Ruf wird nun von einem der Clients B, C (in diesem Fall von Client B) angenommen, wobei der Client B eine Rufannahme-Nachricht 32 an Client A versendet (Schritt c), und wobei diese Rufannahme-Nachricht 32 selbstverständlich die Adressinformation des Clients B umfasst. Nun wird die Kommunikationsverbindung K3 zwischen dem Client A und dem Client B aufgebaut (Schritt d), und weiterhin versendet der Client A in Form einer "Broadcast-Meldung" eine Stornierungsmeldung 33, in der unter Bezugnahme auf die zuvor versendete Rufsignalisierungsnachricht 31 die Komplettierung des zu treffenden Rufes bestätigt wird, wonach die Rufsignalisierung in Client C beendet wird.
  • Alternativ zu der zuvor beschriebene Vorgehensweise kann der Client A eine gespeicherte Tabelle aufweisen, in der alle Gruppenmitglieder aufgelistet sind. In diesem Fall wird die Rufsignalisierungs-Nachricht 31 nicht in Form einer "Broadcast-Meldung" an alle Clients in dem Kommunikationsnetzwerk versendet, sondern in Form einer "Multicast-Nachricht" nur an die Mitglieder der Gruppe, also an Client B und Client C (Schritt b).
  • Eine weitere Variante des Gruppenrufes stellt eine Kombination des zuvor beschriebenen Verfahrens mit dem anhand der 2b erläuterten Verfahrens dar, indem der Client A nur eine Rufsignalisierungs-Nachricht an einen der Clients der Gruppe richtet, und dieser gerufene Client ähnlich wie bei der Anrufübernahmegruppe die Weitersignalisierung des Rufes an die anderen Mitglieder der Gruppe gewährleistet (Schritt b). Im Unterschied zu der Anrufübernahmegruppe wird dieser Ruf jedoch bei allen Gruppenmitglieder nicht als zu übernehmender Ruf, sondern als "vollwertiger" Ruf signalisiert, wobei jeder derart gerufene Client in den Betriebszustand "besetzt" wechselt.
  • Eine weitere Variante des Leistungsmerkmals "Gruppenruf" stellt der sogenannte "Sammelanschluss" dar, bei dem die Mitglieder der Gruppe (des Sammelanschlusses) einen anstehenden Ruf nicht gleichzeitig signalisieren, sondern nacheinander in einer festgelegten Reihenfolge. Dieser Fall ist in der 3b dargestellt.
  • Analog zu dem Verfahren nach 3a versendet der Client A eine Rufsignalisierungsnachricht 31 in Form einer "Broadcast-Meldung" an alle Clients B, C des Kommunikationsnetzwerkes (Schritt b). In den Clients B und C liegen jeweils in den Datenbanken DB und DC alle Gruppeninformationen vor, wobei jedes Gruppenmitglied mit einem eigenen Index in dieser Tabelle geführt ist und jedem Gruppenmitglied eine Zeitdauer zugeordnet ist, die angibt, wie lange ein Ruf an diesem jeweiligen Client signalisiert werden ("anstehen") soll.
  • Die Rufsignalisierungs-Nachricht 31 wird nun von einem der Gruppenmitglieder empfangen, beispielsweise von Client B. Client B versendet nun eine Synchronisierungsnachricht 35 zu Client C und informiert damit Client C über den anstehenden Ruf. Client C quittiert den Eingang dieser Nachricht 35 mit einer Quittierungsnachricht 36 bei Client B und versendet seinerseits eine Synchronisierungsnachricht 37 zu Client D, der wiederum eine Quittierungsnachricht 38 an Client C versendet. Dann versendet Client D als letztes Gruppenmitglied eine abschließende Synchronisierungsnachricht zu Client B, die wiederum von Client B mit Hilfe einer Quittierungsnachricht 39 bei Client D quittiert wird. In jeder versendeten Synchronisierungsnachricht ist eine komplette "Historie" der zuvor informierten Clients enthalten. Weiterhin wird jede empfangene Quittierungsmeldung von dem Client, der diese Quittierungsmeldung erhalten hat, zu seinem "vorhergehenden" Client weitergeleitet. Die Clients sind weiterhin so programmiert, dass in dem Fall, dass ein Client, beispielsweise Client C, nicht verfügbar ist, dies nach Ablauf einer Wartezeit von dem vorhergehenden Client (Client B) registriert wird und Client B dann eine neue Synchronisierungsnachricht an den Client mit der nächsthöheren Indexbezeichnung, hier Client D, versendet. Dadurch ist gewährleistet, dass auch bei fehlenden, ausgefallenen Clients der Synchronisierungszyklus vollendet wird und somit nach Ende der Synchronisierungszyklus' in allen Clients der Gruppe die Informationen über die verfügbaren Clients der Gruppe vorliegen und somit feststeht, welcher der verfügbaren Clients die niedrigste Indexnummer hat und somit den Ruf als erstes signalisiert. Wenn dieser an dem Client mit der niedrigsten Indexnummer (in diesem Ausführungsbeispiel Client B) signalisierte Ruf nicht angenommen wird, versendet der zuerst gerufene Client B eine entsprechende Nachricht an seinen Nachfolger Client C (oder im Falle einer der beschriebenen Störung an Client D), und stellt selbst die Signalisierung des Rufes ein. Wird der Ruf nun an einem der Clients, beispielsweise an Client D, angenommen, so versendet Client D wie in dem Ausführungsbeispiel nach 2b eine entsprechende Meldung zur Rufübernahme an Client B (Schritt c), was zum Aufbau der Kommunikationsverbindung K4 führt (Schritt d).
  • Mit Annahme des Rufes kann eine Meldung des Clients D, der den Ruf angenommen hat, an die anderen Mitglieder der Gruppe erfolgen, damit die Indexnummern der Gruppenmitglieder in den Datenbanken DB, DC, DD geändert werden. Damit ist gewährleistet, dass bei dem nächsten eingehenden Ruf bei einem anderen der Clients der Ruf als erstes signalisiert wird. Das ist z. B. in Call-Centern wichtig, um eine gleichmäßige Auslastung bzw. Belastung der Call-Center-Agenten zu erreichen.
  • In der 4 sind in einer alternativen Darstellung die Clients A, B, C gezeigt, wobei als direktkommunizierendes Kommunikationsnetzwerk IP-N ein nach dem Internet-Protokoll die Daten austauschendes Kommunikationsnetzwerk (IP-Netz) verwendet wird. In den Clients A, B, C sind jeweils Angaben über die eigene Identität gespeichert, also die eigene Bezeichnung, Benutzername, Netzwerkadresse etc., sowie Angaben über die eigene Funktionalität (z. B. benutzbare Sprach-Codecs, Video-Funktionalität, maximale Bandbreite etc.) (Schritt a). Die Clients A, B, C weisen weiterhin jeweils eine Adressendatenbank DBA, DBB, DBC auf, in denen die Namen und Adressinformationen jeweils anderer Clients und weitere, diesen Clients zugeordnete Informationen gespeichert werden können. Diese Adressendatenbanken werden bevorzugt für den Aufbau von Kommunikationsverbindungen als "elektronisches Telefonbuch" verwendet. Um seine Adressdatenbank DBA mit Informationen, insbesondere den Adressinformationen anderer Clients, zu füllen, versendet der Client A als Anforderungsnachricht eine "Broadcast-Meldung" an alle erreichbaren Clients des Kommunikationsnetzwerkes (Schritt b). Die Anforderungsnachricht enthält die Information darüber, dass der Client A die Adressinformationen anderer Clients abrufen möchte. Die Anforderungsnachricht umfasst als Filterkriterium auch die Information darüber, dass nur Informationen über solche Clients gewünscht sind, die als Multimedia-PC ausgeführt sind, die also eine dem entsprechende Funktionalität aufweisen. Die Nachricht wird jeweils von dem Client B und dem Client C empfangen, welche beide als Multimedia-PC ausgeführt sind, so dass diese jeweils eine Antwortnachricht an den Client A versenden (Schritt c). Die Antwortnachricht enthält jeweils die eigene Bezeichnung und die eigene Adressinformation sowie weiterführende Informationen (Name des Benutzers, Standort etc.). Diese Antwortnachrichten werden von Client A empfangen und ausgewertet, wobei die in den Antwortnachrichten enthaltenen Informationen jeweils der Datenbank DBA hinzugefügt werden. Zu einem späteren Zeitpunkt können diese Informationen aus der Datenbank BDA abgerufen werden, wobei der Client A die jeweilige Adressinformation dazu benutzt, um eine Kommunikationsverbindung zu den Client B oder dem Client C aufzubauen (Schritt d).
  • Im Folgenden wird anhand der 5 das "Parken" und die Wiederaufnahme einer "geparkten" Kommunikationsverbindung gezeigt. Die 5 zeigt ein direktkommunizierendes Kommunikationsnetzwerk mit den Clients A, B, C, die den Clients A, B, C aus den vorangegangenen Ausführungsbeispielen entsprechen und die deswegen nicht. erneut beschrieben werden. Weiter ist ein spezieller Client W Teil der Kommunikationsanordnung, der als Warteziel dient und an den Kommunikationsverbindungen übergeben werden können, damit diese Kommunikationsverbindungen eines Anrufers nicht unterbrochen werden muss, während beispielsweise ein neuer Ansprechpartner gesucht wird.
  • Der Client A baut eine Kommunikationsverbindung K5a zu einem Client B auf, wobei der Client A beispielsweise ein Kunde ist, der als Client B die Telefonzentrale eines Unternehmens oder eines Kaufhauses anruft. Nachdem der Benutzer des Clients B von dem Anrufer (Client A) Informationen über den gewünschten Ansprechpartner aufgenommen hat, leitet der Client B eine Anforderungsnachricht (51) zu dem als Warteziel genutzten Client W und fragt dabei die Indexnummer einer freien Parkposition ab. Der Client W übermittelt dem Client B die gewünschte Parkspositions-Nummer (z. B. "22") (Schritt a); diese Parkpositions-Nummer "22" wird auf dem Display des Clients B angezeigt. Der Client B versendet nun an den Client A mit einer Meldung (52) die Adressinformation des Clients W und fordert den Client A auf, fortan die Kommunikationsverbindung K5a nicht mit Client B, sondern als Kommunikationsverbindung K5b mit Client W fortzuführen. In der Folge ist also die Kommunikationsverbindung K5b zwischen Client A und Client W etabliert, wobei der Client W dem Client A Wartemusik oder – im Falle von Multimedia-Clients – beliebige Multimedia-Inhalte für Informations- und Unterhaltungszwecke über mittelt. Der Benutzer des Clients B ruft mit einer Meldung (53) jetzt den Anschluss einer sogenannten Paginganlage P, um in dem Gebäude (Unternehmen; Kaufhaus) eine Durchsage zu machen, die die gewünschte Person betrifft und die die Parkpositons-Nummer umfasst, also beispielsweise "Herr Müller, bitte die 22". Die so gerufene Person begibt sich nun zu den nächsten verfügbaren Client, dem Client C, und aktiviert an diesem Client C eine Funktion zur Übernahme geparkter Kommunikationsverbindungen.
  • Da in einem größeren Kommunikationsnetzwerk eine Vielzahl Clients mit Positionsspeichern für Wartezwecke versehen sein können, sendet der Client C nun in Form einer Broadcast-Meldung eine Suchmeldung (55) (Schritt b), welche die von der gesuchten Person zuvor eingegebene Parkpositions-Nummer 22 enthält, an alle Clients in dem Kommunikationsnetzwerk. Während die Clients A und B keine Parkpositions-Nummer "22" zuordnen können, beantwortet der Client W die Suchanfrage (55) mit einer Antwortnachricht (56), die neben der Bestätigung auch die Adressinformation des Client W umfasst (Schritt c). Weiterhin teilt der Client W dem Client A in einer Umleitungsnachricht (57) mit, dass die bestehende Kommunikationsverbindung nunmehr mit dem Client C als Kommunikationspartner fortgeführt werden soll, wodurch das Gespräch (die Kommunikationsverbindung K5b) derart weitergeleitet wird, dass die Kommunikationsverbindung K5c (die Nutzdatenkanäle) fortan zwischen Client A und Client C geschaltet sind (Schritt d).
  • Anstelle der beschriebenen Multimedia-PC's können in den Beispielen auch weniger leistungsfähige Endgeräte verwendet werden, die nicht zur Ausführung der beschriebenen Schritte, beispielsweise dem Versenden von "Broadcast-Meldungen", eingerichtet sind. Solche Endgeräte können diese Schritte von anderen Clients ausführen lassen, die als sog. "Proxys" stellvertretend die Schritte ausführen. Dabei können auch zur Ausführung bestimmter Verfahren und Funktionen spezialisierte Proxys in einem Netzwerk angeordnet sein, die von den Clients zur Nutzung beispielsweise durch Suchmeldungen aufgefunden werden können.

Claims (5)

  1. Verfahren zum Aufbau einer Kommunikationsverbindung zwischen zwei Clients einer Mehrzahl Clients in einem direktkommunizierenden Kommunikationsnetzwerk, wobei zum Aufbau der Kommunikationsverbindung Client-Adressinformationen umfassende Signalisierungsinformationen zwischen an der Kommunikationsverbindung zu beteiligenden Clients ausgetauscht werden, die Kommunikationsverbindung anhand der Client-Adressinformationen direkt zwischen den an der Kommunikationsverbindung zu beteiligenden Clients aufgebaut wird, wobei nacheinander folgende Verfahrensschritte durchgeführt werden: a) in der Mehrzahl Clients werden verteilt für den Aufbau von paarweisen Kommunikationsverbindungen zwischen den Clients erforderliche Client-Adressinformationen gespeichert, b) von einem suchenden Client wird eine auf den Aufbau wenigstens einer Kommunikationsverbindung zwischen einem rufenden Client und wenigstens einem gesuchten Client gerichtete Rundruf-Anforderungsnachricht ausgesendet, c) jeder die Rundruf-Anforderungsnachricht empfangende Client sendet, sofern ihr gemäß seiner jeweiligen Funktionalität das Aussenden einer Antwortnachricht zugeordnet ist, welche eine für die wenigstens eine Kommunikationsverbindung erforderliche Client-Adressinformation umfasst, diese Antwortnachricht aus, und d) diese Client-Adressinformation wird zum Aufbau der Kommunikationsverbindung zwischen dem rufenden Client und dem wenigstens einen gesuchten Client verwendet, dadurch gekennzeichnet, dass zur Ausführung einer Anrufumleitung in den Fällen, in denen die von dem rufenden Client zu einem gerufenen Client zum Aufbau einer ersten Kommunikationsverbindung versendeten Signalisierungsinformationen von dem gerufenen Client abgewiesen oder nicht rechtzeitig beantwortet werden, in Schritt a) eine der gespeicherten Client-Adressinformationen einen Rufumleitungsziel-Client für den gerufenen Client betrifft, in Schritt b) die Rundruf-Anforderungsnachricht ein Kennzeichen für den gerufenen Client umfasst, und in Schritt c) die in der Antwortnachricht enthaltene Client-Adressinformation der Rufumleitungsziel-Client ist.
  2. Verfahren nach Patentanspruch 1, dadurch gekennzeichnet, dass in Schritt c) zur Funktionalität eines empfangenden Clients gehört, die Rundruf-Anforderungsnachricht an dem Client zu signalisieren und bei Entgegennahme des Rundrufs die Antwortnachricht auszusenden.
  3. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet, dass in Schritt b) der suchende Client von dem rufenden Client gebildet wird.
  4. Verfahren nach einem der vorhergehenden Patentansprüche, dadurch gekennzeichnet, dass nach Schritt c) die in der Antwortnachricht enthaltene Client-Adressinformation von dem suchenden Client in einer diesem suchenden Client zugeordneten Adressendatenbank gespeichert wird, und in Schritt d) zum Aufbau der Kommunikationsverbindung auf die Adressendatenbank zugegriffen wird.
  5. Verfahren nach Patentanspruch 4, dadurch gekennzeichnet, dass in Schritt b) die Rundruf-Anforderungsnachricht zumindest ein Filterkriterium umfasst, welches der Auswahl bestimmter Clients dient, und in Schritt c) das Aussenden der Antwortnachricht erfolgt, sofern in dem jeweiligen Client dem zumindest einen Filterkriterium entsprechende Informationen vorliegen und/oder der jeweilige Client dem zumindest einen Filterkriterium entsprechende Eigenschaften aufweist.
DE10345051A 2003-09-26 2003-09-26 Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk Expired - Fee Related DE10345051B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10345051A DE10345051B4 (de) 2003-09-26 2003-09-26 Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
PCT/EP2004/009108 WO2005041535A1 (de) 2003-09-26 2004-08-13 Verfahren zum aufbau einer kommunikationsverbindung in einem direkt kommunizierenden kommunikationsnetzwerk
US10/573,676 US7609663B2 (en) 2003-09-26 2004-08-13 Method for establishing a communication connection in a direct communication network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10345051A DE10345051B4 (de) 2003-09-26 2003-09-26 Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk

Publications (2)

Publication Number Publication Date
DE10345051A1 DE10345051A1 (de) 2005-05-04
DE10345051B4 true DE10345051B4 (de) 2009-04-09

Family

ID=34399012

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10345051A Expired - Fee Related DE10345051B4 (de) 2003-09-26 2003-09-26 Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk

Country Status (3)

Country Link
US (1) US7609663B2 (de)
DE (1) DE10345051B4 (de)
WO (1) WO2005041535A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003216297A1 (en) 2002-02-14 2003-09-04 Avaya Technology Corp. Presence tracking and name space interconnection techniques
US7023980B2 (en) 2002-12-04 2006-04-04 Avaya Technology Corp. Outbound dialing decision criteria based
US7474741B2 (en) 2003-01-20 2009-01-06 Avaya Inc. Messaging advise in presence-aware networks
US9398152B2 (en) 2004-02-25 2016-07-19 Avaya Inc. Using business rules for determining presence
US8576846B2 (en) 2005-10-05 2013-11-05 Qualcomm Incorporated Peer-to-peer communication in ad hoc wireless network
JP4449931B2 (ja) * 2006-03-30 2010-04-14 ブラザー工業株式会社 管理装置、および管理システム
DE102006039170B4 (de) * 2006-08-21 2009-01-15 Nokia Siemens Networks Gmbh & Co.Kg Verfahren zum Anbieten eines Call Center-Dienstes in einem Peer-to-Peer-Netzwerk
US8130917B2 (en) 2006-12-21 2012-03-06 Verizon Data Services Llc Method and apparatus for group messaging
CN101217600A (zh) * 2007-01-05 2008-07-09 中兴通讯股份有限公司 询问转接业务方法和装置
US8150003B1 (en) * 2007-01-23 2012-04-03 Avaya Inc. Caller initiated undivert from voicemail
CN101534230B (zh) * 2009-04-15 2012-02-01 中控科技集团有限公司 基于以太网的发送数据的方法、以太网节点及控制系统
US8301581B2 (en) 2009-09-24 2012-10-30 Avaya Inc. Group compositing algorithms for presence
US9002970B2 (en) * 2012-07-12 2015-04-07 International Business Machines Corporation Remote direct memory access socket aggregation
WO2015195926A1 (en) * 2014-06-21 2015-12-23 Google Inc. Dynamically integrating offline and online suggestions in a geographic application

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1014660A2 (de) * 1998-12-21 2000-06-28 Siemens Aktiengesellschaft Verfahren zum Realisieren einer Sammelanschlussfunktion in einem Kommunikationsnetz nach ITU-T H.323
US20020143944A1 (en) * 2001-01-22 2002-10-03 Traversat Bernard A. Advertisements for peer-to-peer computing resources
US6487180B1 (en) * 1996-10-15 2002-11-26 Motorola, Inc. Personal information system using proximity-based short-range wireless links

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5093827A (en) * 1989-09-21 1992-03-03 At&T Bell Laboratories Control architecture of a multi-node circuit- and packet-switching system
US5530744A (en) * 1994-09-20 1996-06-25 At&T Corp. Method and system for dynamic customized call routing
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
GB9613951D0 (en) * 1996-07-03 1996-09-04 British Telecomm Telecommunications network
US6144671A (en) * 1997-03-04 2000-11-07 Nortel Networks Corporation Call redirection methods in a packet based communications network
US6269099B1 (en) * 1998-07-01 2001-07-31 3Com Corporation Protocol and method for peer network device discovery
US6721577B2 (en) * 1998-12-29 2004-04-13 Samsung Electronics Co., Ltd. Linked list calling feature within a telecommunications device
US6141413A (en) * 1999-03-15 2000-10-31 American Tel-A-System, Inc. Telephone number/Web page look-up apparatus and method
DE10059175A1 (de) * 2000-11-29 2002-06-20 Siemens Ag Verfahren und Vorrichtung zur Anrufumleitung mittels eines Stellvertreters in einem Kommunikationssystem
US20020116464A1 (en) * 2001-02-20 2002-08-22 Mak Joon Mun Electronic communications system and method
US7065587B2 (en) * 2001-04-02 2006-06-20 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith
JP3857572B2 (ja) * 2001-11-20 2006-12-13 沖電気工業株式会社 Ip電話装置およびip電話装置検索方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487180B1 (en) * 1996-10-15 2002-11-26 Motorola, Inc. Personal information system using proximity-based short-range wireless links
EP1014660A2 (de) * 1998-12-21 2000-06-28 Siemens Aktiengesellschaft Verfahren zum Realisieren einer Sammelanschlussfunktion in einem Kommunikationsnetz nach ITU-T H.323
US20020143944A1 (en) * 2001-01-22 2002-10-03 Traversat Bernard A. Advertisements for peer-to-peer computing resources

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
I and C WORLD: Inventors recognised in award ceremony (online), Issue 1, March 2003, S. 9 (recherchiert am 17.05.04). Im Internet <URL:http ://www.siemens.ie/i&cworld/pdf/march03 *
ITU-T Recommendation H.323 (11/2000), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Packet-based multimedia communications systems, International Telecommunication Union, (c) ITU 2002, S. 1-242 *
ITU-T Recommendation H.450.3, SERIES H: AUDIOVISU- AL AND MULTIMEDIA SYSTEMS, Supplementary service f or multimedia-Call diversion supplementary service for H.323. International Telecommunication Union, February 1998, S. 1-60; ITU-T Recommendation H.32 3 (11/2000), SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Packet-based multimedia communications sy stems, International Telecommunication Union, (c) ITU 2002, S. 1-242; I and C WORLD: Inventors recog nised in award ceremony (online), Issue 1, March 2 003, S. 9 (recherchiert am 17.05.04). Im Internet <URL:http ://www.siemens.ie/i&cworld/pdf/march03
ITU-T Recommendation H.450.3, SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS, Supplementary service for multimedia-Call diversion supplementary service for H.323. International Telecommunication Union, February 1998, S. 1-60 *
KORPI, M. u.a.: Supplementary Services in the H.32 3 IP Telephony Network (online), July 1999, S. 118 -125 (recherchiert am 04.05. 04). Im Internet: <UR L http://www.comsoc.org/-ci/private/1999/j ul/pdf/ Korpi.pdf>
KORPI, M. u.a.: Supplementary Services in the H.323 IP Telephony Network (online), July 1999, S. 118 -125 (recherchiert am 04.05. 04). Im Internet: <URL http://www.comsoc.org/-ci/private/1999/jul/pdf/Korpi.pdf> *

Also Published As

Publication number Publication date
DE10345051A1 (de) 2005-05-04
US20070005720A1 (en) 2007-01-04
US7609663B2 (en) 2009-10-27
WO2005041535A1 (de) 2005-05-06

Similar Documents

Publication Publication Date Title
DE102006039170B4 (de) Verfahren zum Anbieten eines Call Center-Dienstes in einem Peer-to-Peer-Netzwerk
DE69909555T2 (de) Verteiltes Anrufsystem
DE10345051B4 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
EP1851944B1 (de) Verfahren zum aufnehmen einer voip-kommunikation mittels einer peer-to-peer-datenbank
EP1813091B1 (de) Anrufverteilung in einem direktkommunizierenden netzwerk
EP1207670A2 (de) Dienst zur automatischen Übermittlung von Paketdaten
EP1853046B1 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
EP2469885B1 (de) Verfahren zur Integration von Funktionen eines Telekommunikationsnetzes in ein Datennetz
DE112004003043B4 (de) System und Verfahren zur Bekanntgabe und Lokalisierung von Diensten in einem verteilten Peer-to-Peer-Netzwerk
EP1929748B1 (de) Abwesenheitsassistenzsystem für multimediafähige kommunikationssysteme
EP1520391B1 (de) Kommunikationsnetz mit kommunikationskomponenten mit client- und server-funktionalitäten und mit suchfunktionen
EP1520389B1 (de) Netzwerk mit in kommunikationskomponenten integrierten suchfunktionen
EP3959850B1 (de) Verfahren zum bereitstellen von verbindungsherstellungsdaten sowie anordnung mit einer mehrzahl von kommunikationsservern und einem vermittler
DE102007009135B4 (de) Verteilte Konferenz über Verbindung zwischen PBX und Konferenzbrücke
WO2007025863A1 (de) Verfahren zur einrichtung einer faxverbindung über ein dezentrales netzwerk
EP1853020B1 (de) Dezentraler Abwesenheitsassistent
EP1744529A1 (de) Verfahren zur Steigerung der Verfügbarkeit von Diensten in einem Peer-to-Peer-Kommunikationsnetz

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8120 Willingness to grant licences paragraph 23
8364 No opposition during term of opposition
R081 Change of applicant/patentee

Owner name: UNIFY GMBH & CO. KG, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

Effective date: 20130314

Owner name: SIEMENS ENTERPRISE COMMUNICATIONS GMBH & CO. K, DE

Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE

Effective date: 20130314

R082 Change of representative

Representative=s name: FRITZSCHE PATENTANWAELTE, DE

Effective date: 20130314

Representative=s name: FRITZSCHE PATENT, DE

Effective date: 20130314

R082 Change of representative

Representative=s name: FRITZSCHE PATENT, DE

R081 Change of applicant/patentee

Owner name: UNIFY GMBH & CO. KG, DE

Free format text: FORMER OWNER: SIEMENS ENTERPRISE COMMUNICATIONS GMBH & CO. KG, 81379 MUENCHEN, DE

Effective date: 20131112

R082 Change of representative

Representative=s name: FRITZSCHE PATENT, DE

Effective date: 20131112

Representative=s name: FRITZSCHE PATENTANWAELTE, DE

Effective date: 20131112

R081 Change of applicant/patentee

Owner name: UNIFY GMBH & CO. KG, DE

Free format text: FORMER OWNER: UNIFY GMBH & CO. KG, 81379 MUENCHEN, DE

R082 Change of representative

Representative=s name: FRITZSCHE PATENTANWAELTE, DE

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee