DE102011101961A1 - SIP-Überwachungs-und Steuerungsankerpunkte - Google Patents

SIP-Überwachungs-und Steuerungsankerpunkte Download PDF

Info

Publication number
DE102011101961A1
DE102011101961A1 DE102011101961A DE102011101961A DE102011101961A1 DE 102011101961 A1 DE102011101961 A1 DE 102011101961A1 DE 102011101961 A DE102011101961 A DE 102011101961A DE 102011101961 A DE102011101961 A DE 102011101961A DE 102011101961 A1 DE102011101961 A1 DE 102011101961A1
Authority
DE
Germany
Prior art keywords
application
anchor point
communication
communication session
user
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.)
Granted
Application number
DE102011101961A
Other languages
English (en)
Other versions
DE102011101961B4 (de
Inventor
Robert E. Braudes
Gordon Brunson
Joel M. Ezell
Harsh V. Mendiratta
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.)
Avaya Inc
Original Assignee
Avaya Inc
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 Avaya Inc filed Critical Avaya Inc
Publication of DE102011101961A1 publication Critical patent/DE102011101961A1/de
Application granted granted Critical
Publication of DE102011101961B4 publication Critical patent/DE102011101961B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • 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/1069Session establishment or de-establishment
    • 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
    • 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/1083In-session procedures
    • H04L65/1086In-session procedures session scope modification
    • 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/1104Session initiation protocol [SIP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Es wird das Konzept von Ankerpunkten eingeführt. Ankerpunkte, und insbesondere Session-Initiation-Protocol-(SIP-)Ankerpunkte dienen als ein Medien- und Verbindungssteuerungspunkt, der per Anwender hergestellt wird, der dann durch eine beliebige Anwendung gemeinsam verwendet werden kann. Die Verwendung eines Ankerpunktes ermöglicht es Anwendungen, einer Kommunikationsverbindung spät gewahr zu werden und zu steuern oder das Überwachen und Steuern einer Kommunikationssitzung früh einzustellen, ohne die Sitzung zu unterbrechen oder ein bedeutsames Maß an Steuerungs- oder Medienverzögerung einzuführen.

Description

  • GEBIET DER OFFENBARUNG
  • Die vorliegende Erfindung betrifft die Kommunikation im Allgemeinen und im Besonderen Kommunikationsverbindungen nach dem Session Initiation Protocol.
  • ALLGEMEINER STAND DER TECHNIK
  • Das Session Initiation Protocol (SIP) ist ein offenes Signalisierungsprotokoll zum Aufbauen vieler Arten von Echtzeit-Kommunikationssitzungen. Beispiele der Typen von Kommunikationssitzungen, die unter Verwendung von SIP aufgebaut werden können, schließen Sprache, Video und/oder Nachrichten-Sofortversand ein. Diese Kommunikationssitzungen können auf einem beliebigen Typ von Kommunikationsgerät, wie beispielsweise einem Arbeitsplatzrechner, einem Laptoprechner, einem Persönlichen Digitalen Assistenten, einem Telefon, einem Mobiltelefon, einem Funktelefon oder dergleichen, ausgeführt werden. Ein Schlüsselmerkmal von SIP ist seine Fähigkeit, die Address of Record (AOR) eines Endanwenders als eine einzige vereinheitlichende öffentliche Adresse für alle Kommunikationen zu verwenden. Folglich wird in einer Welt der SIP-erweiterten Kommunikation die AOR eines Anwenders dessen einzige Adresse, die den Anwender mit allen dem Anwender zugeordneten Kommunikationsgeräten verknüpft. Unter Verwendung dieser AOR kann ein Anrufer ein beliebiges der Kommunikationsgeräte des Anwenders, die ebenfalls als Anwenderagenten (User Agents – UAs) bezeichnet werden, erreichen, ohne jede der eindeutigen Geräteadressen oder Telefonnummern kennen zu müssen.
  • Viele SIP-Kommunikationen sind auf Grund der Tatsache erweitert, dass in die Kommunikationssitzung eine Anwendung während des Aufbauens dieser Sitzung eingefügt oder eingeschlossen wird. Das Einbauen von Anwendungen in eine Kommunikationssitzung wird typischerweise als Anwendungssequentialisieren bezeichnet, weil die Anwendungen während des Aufbauens der Kommunikationssitzung sequentiell aufgerufen werden. In einigen Fällen werden die Anwendungen durch ein Unternehmen besessen und betrieben, welches das SIP-Netz verwaltet. In einigen Fällen können die Anwendungen durch dritte Verkäufer bereitgestellt werden. In jedem Fall war der herkömmliche Weg, auf dem Anwendungen in die Kommunikationssitzung eingeschlossen wurden, während der Aufbauphase der Kommunikationssitzung, so dass sich diese Anwendungen selbst in den Signalisierungs- und Medienweg der Kommunikationssitzung einfügen können.
  • Beispielhafte Typen von Anwendungen, die für eine Kommunikationssitzung benutzt werden können, schließen, ohne Begrenzung, Verbindungsaufzeichnungsanwendungen, Kommunikationsprotokolldienste, Konferenzschaltungsanwendungen, Sicherheitsanwendungen, Verschlüsselungsanwendungen, Zusammenarbeitsanwendungen, Weißwandtafelanwendungen, Mobilitätsanwendungen, Anwesenheitsanwendungen, Medienanwendungen, Nachrichtenversandanwendungen, Überbrückungsanwendungen und jeglichen anderen Typ von Anwendung ein, der Kommunikationen ergänzen oder erweitern kann.
  • Es gibt gegenwärtig keinen guten Weg, um in einem verteilten Netz sicherzustellen, dass Anwendungen Mediendienste per Teilnehmer ungeachtet von Verbindungstopologie und Zwischenanwendungen bereitstellen können. Es gibt ebenfalls keine gute Lösung, die es ermöglicht, dass eine Anwendung eine Kommunikationssitzung bemerkt und steuert, nachdem diese Sitzung aufgebaut worden ist. Es gibt ebenfalls keinen guten Weg, um Medienressourcen über mehrere Anwendungen gemeinsam zu nutzen.
  • Zusätzlich zu den weiter oben beschriebenen Nachteilen gibt es ebenfalls keine guten Lösungen, um einen zentralisierten Echtzeit-Kommunikationsprotokolldienst bereitzustellen. Gegenwärtig verfügbare Kommunikationsprotokolle werden auch nicht anzeigen, wenn eine Verbindung an ein Individuum adressiert, aber durch eine sequentialisierte Anwendung umgeleitet wurde. Zusätzlich zu diesen Nachteilen gibt es gegenwärtig keinen Weg, um Kommunikationsprotokoll-Informationen in Echtzeit an nicht beteiligte Teilnehmer zu verteilen, was bedeutet, dass Endpunkte keine „Live”-Aktualisierungen von im Gang befindlichen Verbindungen bekommen und daher nicht die Möglichkeit haben, diese Verbindungen zu bemerken und zu steuern.
  • KURZDARSTELLUNG
  • Es ist daher ein Aspekt der vorliegenden Offenbarung, das Konzept eines Ankerpunktes bereitzustellen, um die zuvor erwähnten Nachteile zu überwinden. Ein Ankerpunkt, wie beispielsweise ein SIP-Ankerpunkt ist ein Überwachungs- und Steuerungsankerpunkt, der an einer Position innerhalb der Kommunikationssequenz eines Anwenders bereitgestellt und auf den durch eine oder mehrere Anwendungen zugegriffen wird. Solche Ankerpunkte werden üblicherweise per Partei bereitgestellt, aber sie können, falls gewünscht, ebenfalls für eine Menge von definierten Anwendern bereitgestellt werden. Solche Ankerpunkte können durch einen Ankerpunktserver oder eine ähnliche Menge von Verarbeitungsressourcen bereitgestellt und verwaltet werden. Der SIP-Ankerpunkt kann wirksam eingesetzt werden, um verschiedene Merkmale zu verwirklichen, die zuvor nicht verfügbar waren.
  • Ein Aspekt der vorliegenden Offenbarung ermöglicht es einer Anwendung, einer vorhandenen Kommunikationssitzung gewahr zu werden und dieselbe zu steuern, durch das wirksame Einsetzen des Vorhandenseins des Ankerpunktes in der Kommunikationssequenz, selbst wenn die Anwendung nicht anfangs in die Kommunikationssitzung sequentialisiert wurde. Umgekehrt kann eine Anwendung über einen Ankerpunkt in eine Kommunikationssitzung einbezogen werden und die Kommunikationssitzung früh verlassen, ohne die mit der Kommunikationssitzung verknüpfte Steuerungssignalisierung zu verzögern.
  • Bei einigen Ausführungsformen wird ein gesonderter Ankerpunkt für jeden an einer Kommunikationssitzung teilnehmenden Anwender bereitgestellt. In Abhängigkeit von den Kommunikationspräferenzen des Anwenders und anderen Systemanforderungen können ebenfalls zwei oder mehr Ankerpunkte für jeden Anwender bereitgestellt werden. Falls die Kommunikationssitzung drei oder mehr Teilnehmer einschließt (die Kommunikationssitzung z. B. eine Konferenz ist), dann kann jeder Teilnehmer oder Anwender seine eigenen Ankerpunkte haben, die in die Kommunikationssitzung einsequentialisiert werden. Bei anderen Ausführungsformen verwendet eine Menge von Anwendern einen Ankerpunkt gemeinsam. Die Position dieser Ankerpunkte kann sich ebenfalls in Abhängigkeit von den Kommunikationspräferenzen jedes Anwenders und anderen Systemanforderungen verändern.
  • Es ist ein anderer Aspekt der vorliegenden Erfindung, mehrere an einer gemeinsamen Kommunikationssitzung beteiligte Ankerpunkte intelligent zu verwalten. Im Einzelnen werden Verwaltungsprotokolle bereitgestellt, die es ermöglichen, dass ein Ankerpunkt Medienressourcen wirksam einsetzt, die durch einen anderen Ankerpunkt in die Kommunikationssitzung eingeschlossen sind, falls diese Medienressourcen bestimmte Anforderungen erfüllen. Dies trägt dazu bei, sicherzustellen, dass Medienressourcen nur dann verwendet werden, wenn es notwendig ist. Darüber hinaus gibt es nun einen Weg, um Medienressourcen auf eine leichte und effiziente Weise über mehrere Anwendungen gemeinsam zu verwenden.
  • Es ist ein Aspekt der vorliegenden Erfindung, zu ermöglichen, dass ein Ankerpunkt eine Medienoperation auf eine einzige Partei richtet, selbst wenn andere dazwischenliegende Anwendungen hinzugefügt worden sind oder ein Konferenzfokus Parteien zu einer Verbindung hinzugefügt hat.
  • Nach wenigstens einigen Ausführungsformen der vorliegenden Offenbarung wird ein Verfahren bereitgestellt, das im Allgemeinen Folgendes umfasst:
    das Empfangen einer Anforderung zum Herstellen einer Kommunikationssitzung zwischen wenigstens einem ersten Kommunikationsgerät, das mit einem ersten Anwender verknüpft ist, und einem zweiten Kommunikationsgerät, das mit einem zweiten Anwender verknüpft ist, das Sequentialisieren wenigstens eines Ankerpunktes in die Kommunikationssitzung während des Aufbaus der Kommunikationssitzung und
    das Herstellen der Kommunikationssitzung und das Einschließen des Ankerpunktes in einen Signalisierungsweg der Kommunikationssitzung.
  • Der Begriff „rechnerlesbares Medium”, wie er hierin verwendet wird, bezieht sich auf jegliches dingliche Speicher- und/oder Übertragungsmedium, das daran beteiligt ist, für einen Prozessor Anweisungen zu speichern und/oder zur Ausführung bereitzustellen. Ein solches Medium kann viele Formen annehmen, einschließlich von nicht flüchtigen Medien, flüchtigen Medien und Übertragungsmedien, aber ohne darauf begrenzt zu sein. Flüchtige Medien schließen dynamischen Speicher, wie beispielsweise Hauptspeicher, ein. Nicht flüchtige Medien schließen zum Beispiel NVRAM oder magnetische oder optische Platten ein. Flüchtige Medien schließen dynamischen Speicher, wie beispielsweise Hauptspeicher, ein. Verbreitete Formen von rechnerlesbaren Medien schließen zum Beispiel eine Floppy-Disk, eine flexible Platte, eine Festplatte, ein Magnetband oder ein beliebiges anderes magnetisches Medium, magneto-optisches Medium, eine CD-ROM, ein beliebiges anderes optisches Medium, Lochkarten, Papierband, ein beliebiges anderes physisches Medium mit Lochmustern, RAM, PROM, EPROM, FLASH-EPROM, ein Festkärger-Medium wie eine Speicherkarte, eine(n) beliebige(n) andere(n) Speicherchip oder -kassette, eine Trägerwelle, wie im Folgenden beschrieben, oder ein beliebiges anderes Medium, von dem ein Rechner lesen kann, ein. Ein digitaler Dateianhang an eine E-Mail oder ein anderes in sich geschlossenes Informationsarchiv oder eine Menge von Archiven wird als ein Verteilungsmedium betrachtet, das einem dinglichen Speichermedium gleichwertig ist. Wenn die rechnerlesbaren Medien als eine Datenbank konfiguriert sind, versteht es sich, dass die Datenbank eine beliebige Form von Datenbank, wie beispielsweise relational, hierarchisch, objektorientiert und/oder dergleichen, sein kann. Dementsprechend wird davon ausgegangen, dass die Erfindung ein dingliches Speichermedium oder Verteilungsmedium und nach dem Stand der Technik anerkannte Äquivalente und Nachfolgemedien, in denen die Software-Umsetzungen der vorliegenden Offenbarung gespeichert sind, einschließt.
  • Die Begriffe „bestimmen”, „berechnen” und „ausrechnen” und Variationen derselben, wie sie hierin verwendet werden, werden untereinander austauschbar verwendet und schließen jegliche Art von Methodologie, Verfahren, mathematischer Operation oder Technik ein. Der Begriff „Modul”, „Agent” oder „Werkzeug”, wie er hierin verwendet wird, bezieht sich auf jegliche bekannte oder später entwickelte Hardware, Software, Firmware, künstliche Intelligenz, Fuzzy-Logik oder Kombination von Hardware und Software, die dazu in der Lage ist, die mit diesem Element verbundene Funktionalität auszuführen. Es sollte ebenfalls zu erkennen sein, dass, während die Offenbarung in Bezug auf Ausführungsbeispiele beschrieben wird, einzelne Aspekte der Offenbarung gesondert beansprucht werden können.
  • Das Vorstehende ist eine vereinfachte Zusammenfassung der Offenbarung, um ein Verständnis einiger Aspekte der Offenbarung zu gewährleisten. Diese Zusammenfassung ist weder eine umfassende noch eine vollständige Übersicht der Offenbarung und ihrer verschiedenen Ausführungsformen. Sie ist weder dafür vorgesehen, entscheidende oder wesentliche Elemente der Offenbarung zu identifizieren, noch dafür, den Rahmen der Offenbarung zu umreißen, sondern dafür, ausgewählte Konzepte der Offenbarung in einer vereinfachten Form als eine Einführung zu der weiter unten dargestellten ausführlicheren Beschreibung zu geben. Wie zu erkennen sein wird, sind unter Benutzung eines oder mehrerer der weiter oben dargelegten oder weiter unten ausführlich beschriebenen Merkmale, allein oder in Kombination, andere Ausführungsformen der Offenbarung möglich.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1A ist ein Blockdiagramm, das ein Kommunikationssystem nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 1B ist ein Blockdiagramm, das ein physisches Verbindungsmodell nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 1C ist ein Blockdiagramm, das ein Verbindungsmodell nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 2A ist ein Schema, das eine erste mögliche Anwendungssequenz nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 2B ist ein Schema, das eine zweite mögliche Anwendungssequenz nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 2C ist ein Schema, das eine dritte mögliche Anwendungssequenz nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 2D ist ein Schema, das eine vierte mögliche Anwendungssequenz nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 3 ist ein Ablaufdiagramm, das ein Verfahren zum Aufbau einer Kommunikationssitzung nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 4 ist ein Ablaufdiagramm, das ein Verfahren zum wirksamen Einsetzen eines SIP-Ankerpunktes nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 5 ist ein Ablaufdiagramm, das ein Verfahren zum Handhaben mehrerer SIP-Ankerpunkte nach Ausführungsformen der vorliegenden Offenbarung abbildet,
  • 6 ist ein Ablaufdiagramm, das ein Verfahren zum wirksamen Einsetzen eines SIP-Ankerpunktes zum Belegen eines zentralisierten Kommunikationsprotokolls nach Ausführungsformen der vorliegenden Offenbarung abbildet, und
  • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Bereitstellen von Informationen von einem Kommunikationsprotokoll für eine oder mehrere Instanzen nach Ausführungsformen der vorliegenden Offenbarung abbildet.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die Offenbarung wird weiter unten in Verbindung mit einem beispielhaften Kommunikationssystem illustriert. Obwohl sie gut für eine Verwendung z. B. mit einem System geeignet ist, das (einen) Server und/oder (eine) Datenbank(en) verwendet, ist die Offenbarung nicht auf eine Verwendung mit irgendeiner bestimmten Art von Kommunikationssystem oder Konfiguration von Systemelementen begrenzt. Die Fachleute auf dem Gebiet werden erkennen, dass die offenbarten Techniken in einer beliebigen Kommunikationsanwendung verwendet werden können, bei der es wünschenswert ist, Ankerpunkte zu benutzen.
  • Die beispielhaften Systeme und Verfahren dieser Offenbarung werden ebenfalls in Bezug auf Analysesoftware, -module und zugeordnete Analysehardware beschrieben. Um jedoch zu vermeiden, die vorliegende Offenbarung unnötig zu verunklaren, lässt die folgende Beschreibung gut bekannte Strukturen, Komponenten und Geräte weg, die in Blockdiagrammform gezeigt werden können, gut bekannt sind oder auf andere Weise zusammengefasst werden.
  • Zu Zwecken der Erläuterung werden zahlreiche Einzelheiten dargelegt, um ein gründliches Verständnis der vorliegenden Offenbarung zu gewährleisten. Es sollte jedoch zu erkennen sein, dass die vorliegende Offenbarung jenseits der hierin dargelegten spezifischen Einzelheiten auf eine Vielzahl von Weisen umgesetzt werden kann.
  • 1A bildet ein Kommunikationssystem nach einer Ausführungsform der vorliegenden Offenbarung ab. Das Kommunikationssystem 100 kann ein Unternehmensnetz 104 einschließen, das, über ein (typischerweise nicht vertrauenswürdiges oder unsicheres oder öffentliches) Kommunikationsnetz 108, in Verbindung mit einem oder mehreren externen Kommunikationsgeräten 112 steht. Die externen Kommunikationsgeräte 112 werden im Allgemeinen als „extern” bezeichnet, da sie entweder nicht unter der unmittelbaren Kontrolle des Unternehmens stehen, welches das Unternehmensnetz 104 verwaltet, oder ein vermindertes Vertrauensniveau mit dem Unternehmensnetz 104 haben, verglichen mit Kommunikationsgeräten 136, die sich innerhalb des Unternehmensnetzes 104 befinden. Beispielhafte Typen von externen Kommunikationsgeräten 112 schließen, ohne Begrenzung, Funktelefone, Laptops, Arbeitsplatzrechner (PCs), Persönliche Digitale Assistenten (PDAs), digitale Telefone, analoge Telefone und dergleichen ein. Das Kommunikationsnetz 108 kann paketvermittelt und/oder leitungsvermittelt sein. Ein beispielhaftes Kommunikationsnetz 108 schließt, ohne Begrenzung, ein landesweites Netz (Wide Area Network – WAN), wie beispielsweise das Internet, ein öffentliches Fernsprechwählnetz (Public Switched Telephone Network – PSTN), ein Netz eines traditionellen Fernsprechdienstes (Plain Old Telephone System – POTS), ein zellulares Kommunikationsnetz oder Kombinationen derselben ein. Bei einer Konfiguration ist das Kommunikationsnetz 108 ein öffentliches Netz, das die Folge von TCP/IP-Protokollen unterstützt.
  • Das Unternehmensnetz 104 kann ein Grenzgerät 116, das eine Servertabelle 120 einschließt, einen Kommunikationsserver 124, der einen Verbindungsmerkmal-Sequenzer 128 und eine Anwendertabelle 132 einschließt, ein oder mehrere interne Kommunikationsgeräte 136, einen Ankerpunktserver 140, einen oder mehrere Anwendungsserver 144, die dazu fähig sein können, eine Anwendung 148 oder eine Menge von unterschiedlichen Anwendungen 152 bereitzustellen, eine Anzahl von anderen Servern 156 und eine Unternehmensdatenbank 160 einschließen, die alle durch ein (vertrauenswürdiges oder sicheres oder privates) lokales Netz (Local Area Network – LAN) 164 miteinander verbunden sind. Einige oder alle der in 1 abgebildeten Funktionen können gemeinsam auf einem einzigen Server gehostet und/oder resident sein. Die Abbildung von Komponenten in 1 ist im Allgemeinen als eine logische Abbildung der Komponenten des Systems 100 beabsichtigt.
  • Das LAN 164 kann durch ein Gateway und/oder eine Firewall, die zwischen dem LAN 164 und dem Kommunikationsnetz 108 angeordnet sind, gegen ein Eindringen durch nicht vertrauenswürdige Teilnehmer gesichert sein. Bei einigen Ausführungsformen kann das Grenzgerät 116 die Funktionalität des Gateways und/oder der Firewall einschließen. Bei einigen Ausführungsformen kann ein Gateway oder eine Firewall gesondert zwischen dem Grenzgerät 116 und dem Kommunikationsnetz 108 bereitgestellt werden.
  • Der Kommunikationsserver 124 kann eine Nebenstellenanlage (Private Branch eXchange – PBX), einen Unternehmensswitch, einen Unternehmensserver, Kombinationen derselben oder eine andere Art von Telekommunikationssystem-Switch oder -Server einschließen. Der Kommunikationsserver 124 ist vorzugsweise dafür konfiguriert, Telekommunikationsfunktionen, wie beispielsweise die Folge von Avaya AuraTM-Anwendungen der Avaya, Inc., einschließlich von Communication ManagerTM, Avaya Aura Communication ManagerTM, Avaya IP OfficeTM, Communication Manager BranchTM, Session ManagerTM, System ManagerTM, MultiVantage ExpressTM und Kombinationen derselben, auszuführen.
  • Obwohl in 1 nur ein einziger Kommunikationsserver 124 abgebildet wird, können zwei oder mehr Kommunikationsserver 124 in einem einzigen Unternehmensnetz 104 oder über mehrere gesonderte LANs 164, die durch ein einziges Unternehmen besessen und betrieben werden, aber durch ein Kommunikationsnetz 108 getrennt sind, bereitgestellt werden. Bei Konfigurationen, wobei ein Unternehmen oder ein Unternehmensnetz 104 zwei oder mehr Kommunikationsserver 124 einschließt, kann jeder Server 124 eine ähnliche Funktionalität umfassen, kann aber dafür ausgestattet sein, seine Merkmale nur für eine Untermenge aller Unternehmensanwender bereitzustellen. Im Einzelnen kann ein erster Kommunikationsserver 124 für eine erste Untermenge von Unternehmensanwendern maßgebend sein und dieselbe verwalten, wohingegen ein zweiter Kommunikationsserver 124 für eine zweite Untermenge von Unternehmensanwendern maßgebend sein und dieselbe verwalten kann, wobei die erste und die zweite Untermenge von Anwendern im Allgemeinen keinen gemeinsamen Anwender teilen. Dies ist ein Grund, weshalb das Grenzgerät 116 mit einer Servertabelle 120 versehen sein kann.
  • Zusätzlich können mehrere Server 124 eine gemeinsame Anwendergemeinschaft unterstützen. Zum Beispiel kann es bei georedundanten und anderen Anwendungen, bei denen die Anwender nicht notwendigerweise an einen einzigen Anwendungsserver gebunden sind, einen Cluster von äquivalenten Servern geben, wobei ein Anwender durch einen beliebigen Server in dem Cluster verwaltet werden kann.
  • Nach wenigstens einigen Ausführungsformen der vorliegenden Erfindung muss die Abbildung von Anwenderidentitäten innerhalb einer Kommunikationsanforderung nicht notwendigerweise an dem Netzgrenzgerät 116 erfolgen. Zum Beispiel kann die Abbildung zwischen einem maßgebenden Server und einem Anwender „hinter” dem Netzgrenzgerät 116 innerhalb des Unternehmensnetzes 104 erfolgen.
  • Bei einigen Ausführungsformen ist das Netzgrenzgerat 116 dafür verantwortlich, anfangs die Kommunikationen innerhalb des Unternehmensnetzes 104 zu dem Kommunikationsserver 124 zu leiten, der dafür verantwortlich ist, einen bestimmten an der Kommunikation beteiligten Anwender zu verwalten. Falls zum Beispiel ein erster Unternehmensanwender durch ein externes Kommunikationsgerät 112 angerufen wird, dann kann das Netzgrenzgerät 116 anfangs die kommende Verbindung empfangen, feststellen, dass die Verbindung an den ersten Unternehmensanwender gerichtet ist, die Servertabelle 120 konsultieren, um den maßgebenden Kommunikationsserver 124 für den ersten Unternehmensanwender zu identifizieren, und die kommende Verbindung zu dem maßgebenden Kommunikationsserver 124 weiterleiten. Auf die gleiche Weise können Kommunikationsverbindungen zwischen internen Unternehmensanwendern (z. B. internen Kommunikationsgeräten 136) während der Ursprungsphase des Kommunikationsaufbaus zuerst durch den maßgebenden Kommunikationsserver 124 des Ursprungsanwenders verwaltet werden. Nachdem die Ursprungsphase abgeschlossen ist, kann der maßgebende Kommunikationsserver 124 des End- (oder angerufenen) Anwenders aufgerufen werden, um die Abschlussphase des Kommunikationsaufbaus abzuschließen. Bei einigen Ausführungsformen kann der Kommunikationsserver 124 für den Ursprungs- und den Endanwender der gleiche sein, aber dies ist nicht notwendigerweise erforderlich. In Situationen, in denen mehr als zwei Unternehmensanwender an einer Kommunikationssitzung beteiligt sind, können maßgebende Kommunikationsserver 124 für jeden der beteiligen Anwender eingesetzt werden, ohne vom Rahmen der vorliegenden Erfindung abzuweichen. Zusätzlich kann sich der maßgebende Kommunikationsserver 124 für jeden Anwender in dem gleichen Unternehmensnetz 104 oder in unterschiedlichen Unternehmensnetzen 104, die durch ein gemeinsames Unternehmen besessen werden, aber durch das Kommunikationsnetz 108 getrennt sind.
  • Jeder Kommunikationsserver 124 schließt einen Merkmalsequenzer 128 und eine Anwendertabelle 132 ein. Die Anwendertabelle 132 für einen Kommunikationsserver 124 enthält die Kommunikationspräferenzen für jeden Anwender, für den er maßgebend ist. Im Einzelnen kann die Anwendertabelle 132 durch Anwender und/oder durch Verwaltungspersonal bereitgestellt werden. Die Kommunikationspräferenzen für einen bestimmten Anwender werden durch den Merkmalsequenzer 128 konsultiert, um zu bestimmen, welche Merkmale, falls überhaupt, in eine Kommunikationssitzung für den Anwender integriert werden sollten. Der Merkmalsequenzer 128 kann in der Tat Kommunikationsmerkmale unmittelbar in die Kommunikationssitzung liefern, oder der Merkmalsequenzer 128 kann eine Anwendungssequenz bestimmen, die während des Aufbaus aufgerufen und während der Kommunikationssitzung verwendet werden wird. Nach wenigstens einigen Ausführungsformen kann der Merkmalsequenzer 128 eine Anwendungssequenz bestimmen und bewirken, dass eine oder mehrere Anwendungen 148, 152 in eine Kommunikationssitzung sequentialisiert werden. Im Einzelnen ist der Merkmalsequenzer 128 dafür konfiguriert, die Kommunikatianspräferenzen eines bestimmten Anwenders zu analysieren und die notwendigen Anwendungen aufzurufen, um solche Präferenzen zu erfüllen. Sobald eine Anwendungssequenz durch den Merkmalsequenzer 128 bestimmt ist, leitet der Kommunikationsserver 124 die Kommunikationsherstellungsmeldung an eine erste Anwendung in der Anwendungssequenz weiter, wodurch ermöglicht wird, dass die erste Anwendung die Parameter der Kommunikationssitzung bestimmt, sich selbst in den Steuerungs- und/oder Medienstrom der Kommunikationssitzung einfügt und sich dadurch an die Kommunikationssitzung bindet. Sobald die erste Anwendung sich selbst in die Kommunikationssitzung eingefügt hat, leitet die erste Anwendung entweder die Kommunikationsherstellungsmeldung zurück an den Merkmalsequenzer 128 weiter, um die nächste Anwendung in der Anwendungssequenz zu identifizieren, oder leitet die Kommunikationsherstellungsmeldung unmittelbar an eine zweite Anwendung in der Anwendungssequenz weiter. Alternativ oder zusätzlich dazu kann die Meldung umgeleitet, abgewiesen oder dergleichen werden. Darüber hinaus können Teilnehmer und/oder Medienserver durch eine Anwendung zu der Verbindung hinzugefügt werden. Wie zu erkennen ist, setzt sich dieser Vorgang fort, bis alle Anwendungen in die Kommunikationssitzung eingeschlossen worden sind, und der Vorgang kann für jeden der an der Kommunikationssitzung beteiligten Anwender reproduziert werden.
  • Obwohl nur zwei Anwendungsserver 144 abgebildet werden, wird ein Fachmann auf dem Gebiet erkennen, dass ein, zwei, drei oder mehr Anwendungsserver 144 bereitgestellt werden können und jeder Server dafür konfiguriert sein kann, eine oder mehrere Anwendungen bereitzustellen. Die durch einen bestimmten Anwendungsserver 144 bereitgestellten Anwendungen können in Abhängigkeit von den Fähigkeiten des Servers 144 variieren, und in dem Fall, dass ein bestimmter Anwendungsserver 144 eine Menge von Anwendungen 152 umfasst, können eine, einige oder alle der Anwendungen in dieser Menge von Anwendungen 152 in eine bestimmte Anwendungssequenz eingeschlossen werden. Es gibt jedoch kein Erfordernis, dass alle Anwendungen in einer Menge von Anwendungen 152 in eine Anwendungssequenz eingeschlossen werden, und es gibt kein Erfordernis bezüglich der Reihenfolge, in der Anwendungen in die Anwendungssequenz eingeschlossen werden. Stattdessen wird die Anwendungssequenz üblicherweise auf der Grundlage der Kommunikationspräferenzen eines Anwenders, die in der Anwendertabelle 132 zu finden sind, festgelegt. Alternativ oder zusätzlich dazu können die Anwendungen, die in dem Sequenzvektor eines Anwenders erscheinen, und ihre Reihenfolge innerhalb dieses Vektors durch einen Systemadministrator bestimmt werden, so dass sie Geschäftsanforderungen erfüllen.
  • Darüber hinaus kann die Anwendungssequenz auf der Grundlage des Medientyps/der Medientypen, die in der Kommunikationssitzung verwendet werden, variieren. Zum Beispiel kann ein Anwender eine erste Menge von Präferenzen für sprachbasierte Kommunikation, eine zweite Menge von Präferenzen für videobasierte Kommunikation und eine dritte Menge von Präferenzen für textbasierte Kommunikation haben. Zusätzlich kann ein Anwender Präferenzen haben, die bevorzugte Medientypen und Regeln zum Umwandeln von Kommunikationssitzungen von einem Medientyp zu einem anderen abweichenden Medientyp definieren. Noch fernerhin kann ein Anwender Präferenzen haben, welche die Weise definieren, in der Multimedia-Kommunikationen hergestellt und durchgeführt werden. Die in einer bestimmten Anwendungssequenz eingeschlossenen Anwendungen sind im Allgemeinen eingeschlossen, um sich den Präferenzen des Anwenders anzupassen. Die Anwendungen können entsprechend dem Medientyp, der Funktion und dergleichen variieren. Beispielhafte Typen von Anwendungen schließen, ohne Begrenzung, eine EC-500-(Zellularerweiterungs-)Anwendung, eine Verbindungsaufbau-Anwendung, eine Voicemail-Anwendung, eine E-Mail-Anwendung, eine Sprachanwendung, eine Videoanwendung, eine Textanwendung, eine Konferenzschaltungsanwendung, eine Verbindungsaufzeichnungsanwendung, einen Kommunikationsprotokolldienst, eine Sicherheitsanwendung, eine Verschlüsselungsanwendung, eine Zusammenarbeitsanwendung, eine Weißwandtafel-Anwendung, Mobilitätsanwendungen, Anwesenheitsanwendungen, Medienanwendungen, Nachrichtenversand-Anwendungen, Überbrückungsanwendungen und einen beliebigen anderen Typ von Anwendung, der Kommunikationsverbindungen ergänzen oder erweitern kann, ein. Zusätzlich können eine, zwei, drei oder mehr Anwendungen eines gegebenen Typs in eine einzige Anwendungssequenz eingeschlossen werden, ohne vom Rahmen der vorliegenden Erfindung abzuweichen.
  • Nach wenigstens einigen Ausführungsformen der vorliegenden Offenbarung wird der Ankerpunktserver 140 als ein Mechanismus zum Erzeugen von Ankerpunkten in der Kommunikationssequenz eines Anwenders bereitgestellt, wodurch ermöglicht wird, dass bestimmte Anwendungen 148, 152 eine Kommunikationssitzung bemerken und steuern, nachdem die Sitzung hergestellt worden ist, oder ermöglicht wird, dass bestimmte Anwendungen 148, 152 eine Kommunikationssitzung verlassen, bevor die Sitzung geendet hat. Im Einzelnen kann der Ankerpunktserver 140 einen Ankerpunkt oder mehrere Ankerpunkte während des Aufbaus an eine Kommunikationssitzung binden, muss aber nicht notwendigerweise jegliche Medienressource an die Kommunikationssitzung binden, bis eine Anwendung eine Notwendigkeit für diese Medienressource identifiziert. Dementsprechend kann der Ankerpunktserver 140 einen oder mehrere Ankerpunkte in die logische Kommunikationssequenz integrieren, bevor und/oder nachdem andere sequentialisierte Anwendungen an die Kommunikationssitzung gebunden werden.
  • Vor der Einführung von Ankerpunkten musste, falls eine Anwendung 148, 152 die Möglichkeit haben wollte, eine Mediensteuerung über eine gegebene Kommunikation auszuüben, sie ausdrücklich als eine sequentialisierte Anwendung bereitgestellt worden sein. Manche Anwendungen kümmern sich jedoch nicht um die Kommunikationsaufbauphase: Sie sind zufrieden damit, die Kommunikation an den ursprünglich adressierten Teilnehmer fortschreiten zu lassen und danach mitten in der Sitzung eine Medien- und Verbindungssteuerung auszuüben. Das Bereitstellen solcher Anwendungen als sequentialisierte Anwendungen kann häufig zu einer unnötigen Verschwendung von Medienressourcen führen.
  • Bei einigen Ausführungsformen sind Ankerpunkte nicht spezifisch für eine Anwendung. Stattdessen sind sie Steuerungspunkte, die jede Anwendung wirksam einsetzen kann. Es kann sein, dass sie nicht einmal bereitgestellt werden, sondern stattdessen automatisch durch den Merkmalsequenzer 128 einsequentialisiert werden, der wissen würde, welcher Ankerpunktserver 140 für einen gegebenen Anwender maßgebend ist, da diese Informationen ebenfalls in der Anwendertabelle 132 zu finden sind. Der durch einen Ankerpunktserver 140 bereitgestellte Ankerpunkt würde immer in wenigstens einen Punkt der Anwendungssequenz sequentialisiert werden. Die Position, an welcher der Ankerpunkt platziert wird, kann in Abhängigkeit von dem Typen von Merkmalen, die gewünscht werden, variieren. Darüber hinaus können mehrere Ankerpunkte in eine Kommunikationssitzung eingefügt werden, ohne vom Rahmen der vorliegenden Erfindung abzuweichen. Die Anwendungen, die Ankerpunkte wirksam einsetzen, würden mit einem logischen Verbindungsmodell, ähnlich demjenigen versehen werden, das durch eine rechnergestützte Fernsprechanwendung (computer supported telephony application – CSTA), Parlay-X oder ein beliebiges andres Paradigma bereitgestellt wird, das zum Kommunizieren von Verbindungsstatus und -operationen zwischen einer Anwendung und einem Ankerpunkt verwendet wird. Solche Anwendungen, die möglicherweise einen Ankerpunkt wirksam einsetzen wollen würden, würden sich zu Verbindungsereignissen für Endpunkte von Interesse anmelden und würden benachrichtigt werden, wenn sich der Anruf-/Verbindungsstatus für eine Kommunikationssitzung ändert. Bei einigen Ausführungsformen wären die Ankerpunkte für die Anwendungen nicht sichtbar. Stattdessen würden sie Medienoperationen an Anrufen oder Verbindungen aufrufen, und die Ankerpunkte würden transparent wirksam eingesetzt werden.
  • In den meisten Fällen würde ein Ankerpunkt nicht anfangs eine Medienressource oder eine Anwendung 148, 152 in den Medienweg (z. B. einen Real-Time-Transport-Protocol-(RTP-)Weg) integrieren. Stattdessen fügt sich der Ankerpunkt selbst als einen Back-to-Back-User-Agent (B2BUA) in den Signalisierungsweg ein. Nur wenn eine Anwendung eine Medienaktion anfordert, würde der Ankerpunkt eine Media-Server-Markup-Language(MSML-)Sitzung mit dem Anwendungsserver 144 starten, danach RE-INVITE an jede Seite, um den Anwendungsserver 144 in den RTP-Weg einzufügen. Bei Ausführungsformen, bei denen der Ankerpunkt dem Endpunkt „benachbart” angeordnet ist, ist es immer garantiert, dass er dazu in der Lage ist, ausschließlich für diesen gegebenen Endpunkt/Anwender zu spielen oder auszuzeichnen. Da es möglich ist, Ankerpunkte für jeden Anwender in einer Unternehmensverbindung hinzuzufügen, wären Medienoperationen per Teilnehmer im Allgemeinen möglich, ungeachtet jeglicher dazwischenliegender Konferenzfokusse oder Anwendungen. Da die erforderlichen Medienressourcen, um eine bestimmte Anwendung 148, 152 umzusetzen, nicht in den Weg eingefügt werden, bis sie benötigt wird, werden Medienressourcen nicht verschwendet, und eine zusätzliche RTP-Verzögerung wird vermieden.
  • Falls jeder Ankerpunkt immer seine eigenen Medienressourcen mitbringen würde, würde dies möglicherweise zu verschwendeten Ressourcen und zusätzlicher RTP-Verzögerung führen. Dies ist der Punkt, an dem Medientokens benutzt werden können. Der erste Ankerpunkt wird, um eine erste Medienressource (z. B. einen Medienserver) einzufügen, ein Medientoken in den Kopf des INVITE oder RE-INVITE einschließen, das schließlich durch einen zweiten, an der gleichen Kommunikationssitzung beteiligten, Ankerpunkt empfangen wird. Dieser andere Ankerpunkt wird in den meisten Fällen dann die Information des Medientokens dazu verwenden, um, falls möglich, den durch den ersten Ankerpunkt eingefügten Medienserver wirksam einzusetzen. Falls jedoch eine dazwischenliegende Anwendung oder ein Konferenzfokus seine eigenen Medienressourcen eingefügt hat, könnte die erneute Verwendung dieser Medienressource durch den anderen Ankerpunkt zu dem gleichen Problem wie zuvor führen, wobei eine Anwendung denkt, dass sie für einen Teilnehmer spielt oder aufzeichnet, aber tatsächlich mehrere Teilnehmer erreicht. Um dieses Problem zu umgehen, wird der zweite Ankerpunkt die Session-Description-Protocol-(SDP-)Informationen in dem Medientoken mit den SDP-Informationen vergleichen, die es in dem RE-INVITE empfangen hat. Falls die SDP-Attribute zusammenpassen, gibt es keinen dazwischenliegenden Medienserver, und die erste Medienressource kann wieder verwendet werden. Falls sie nicht zusammenpassen, dann wird eine neue Medienressource für die zweite Anwendung eingeführt. Zusätzliche Beschreibungen von Medientokens und den Vorteilen der Verwendung derselben werden in der US-Patentanmeldung Nr. 121574,604, an Braudes et al., eingereicht am 6. Oktober 2009, bereitgestellt, deren gesamter Inhalt hiermit als Verweis einbezogen wird.
  • Ein Merkmal, das unterstützt wird, ist, dass eine Anwendung dem Ankerpunkt sagen kann, dass er für alle Verbindungen für einen gegebenen Anwender (d. h., auf der Grundlage von Anwenderpräferenzen in der Anwendertabelle 132) immer eine bestimmte Medienressource einschließen sollte. Ein Beispiel wäre, wenn die Anwendung weiß, dass sie immer alle Verbindungen für einen gegebenen Anwender aufzeichnen will. In diesem Fall würde die Anwendung dies dem Ankerpunkt anzeigen (vielleicht mit einem Parameter, wenn ein Überwachungsprogramm für diesen Anwender eingerichtet wird), und daher würde die Möglichkeit eines „Abschneidens”, die anderenfalls durch das Einfügen einer neuen Medienressource mitten in der Verbindung eingeführt werden würde, beseitigt.
  • Bei einigen Ausführungsformen könnten diese Ankerpunkte ebenfalls möglicherweise zu Verbindungssteuerungszwecken verwendet werden, da sie ein B2BUA sind. Sie würden Übertragungs-, Konferenz-, Abzweigoperationen im Auftrag einer anderen Steuerungsinstanz ermöglichen.
  • Die anderen Server 156 können E-Mail-Server, Voicemail-Server, Kalender-Server, Konferenzschaltungsserver und andere Typen von Servern sein, von denen bekannt ist, dass sie bestimmte Dienste für Klientengeräte bereitstellen. Bei einigen Ausführungsformen können die anderen Server 156 ebenfalls als Anwendungsserver 144 betrachtet werden, die eine oder mehrere Anwendungen für eine Verwendung in einer Kommunikationssitzung bereitstellen.
  • Die internen Kommunikationsgeräte 136 können den externen Kommunikationsgeräten 112 ähnlich oder identisch sein, mit der Ausnahme, dass sie durch das Unternehmen bereitgestellt und häufig besessen werden. Beispielhafte Typen von Kommunikationsgeräten 112 schließen, ohne Begrenzung, jegliches geeignete Telefon, Hardphone, Softphone und/oder digitales Telefon ein. Beispiele geeigneter Telefone schließen die Telefone 1600TM 2400TM, 4600TM, 5400TM, 5600TM, 9600TM, 9620TM, 9630TM, 9640TM, 9640GTM, 9650TM und Quick EditionTM, drahtlose IP-Telefone (wie beispielsweise die IP-DECTTM-Telefone der Avaya, Inc.), Videotelefone (wie beispielsweise das VideophoneTM der Avaya, Inc.) und Softphones der Avaya, Inc., ein.
  • Die Unternehmensdatenbank 160 schließt Unternehmensteilnehmer-Informationen, wie beispielsweise Name, Stellenbezeichnung, elektronische Adressinformationen (z. B. Telefonnummer, E-Mail-Adresse, Nachrichtensofortversand-Zugriffsnummer, Durchwahl-Nebenanschluss und dergleichen), Teilnehmer-Kontaktlisten (z. B. Kontaktname und elektronische Adressinformationen), andere Beschäftigtenaufzeichnungen und dergleichen, ein.
  • Das System 100 kann ferner ein Kommunikationsprotokoll 158 und eine Kommunikationsprotokoll-Datenbank 162 einschließen. Das Kommunikationsprotokoll 158 und die Kommunikationsprotokoll-Datenbank 162 können innerhalb des Unternehmensnetzes 104 oder außerhalb des Unternehmensnetzes 104 durch einen Drittpartei-Diensteanbieter bereitgestellt werden.
  • Das Kommunikationsprotokoll 158 kann aktiviert werden, um Echtzeit- und Nicht-Echtzeit-Datenaktualisierungen von Kommunikationsprotokolldiensten (einer beispielhaften Umsetzung einer Anwendung 148 und/oder 152), die im Auftrag eines Anwenders oder einer Gruppe von Anwendern innerhalb des Unternehmensnetzes 104 arbeiten, zu empfangen. Das Kommunikationsprotokoll 158 empfängt die Datenaktualisierungen und speichert die Informationen innerhalb der Kommunikationsprotokoll-Datenbank 162.
  • Das Kommunikationsprotokoll 158 dient ebenfalls als ein Zugriffspunkt für Kommunikationsprotokoll-Informationen. Im Einzelnen können Instanzen, wie beispielsweise die Anwender-Kommunikationsgeräte 112, 136, Datenanfragen an das Kommunikationsprotokoll 158 senden und nach Kommunikationsprotokoll-Informationen für einen bestimmten Anwender oder eine Menge von Anwendern zu fragen. Das Kommunikationsprotokoll 158 kann die angeforderten Informationen aus der Kommunikationsprotokoll-Datenbank 162 abrufen und die angeforderten Informationen zurück an die anfordernde Instanz liefern. Bei einigen Ausführungsformen sind die zurück an die anfordernde Instanz gesendeten Informationen Echtzeit-Kommunikationsprotokoll-Informationen, die den aktuellen Kommunikationsprotokoll-Status, abzüglich der Verarbeitungsverzögerung des Empfangens der Anforderung, des Abrufens der Daten und des Lieferns der Daten zurück an den Anfordernden, darstellen. Solche Echtzeit-Kommunikationsprotokoll-Informationen können durch den Anfragenden dazu verwendet werden, den Zustand des Kommunikationsprotokolls eines Anwenders zu bewerten und diese Informationen dazu zu benutzen, zu bestimmen, ob der Anwender einer im Gang befindlichen Kommunikationssitzung beitreten, eine Verbindung von der Abdeckung (z. B. einer Voicemail- oder Sekretariatsabdeckung) abrufen oder Überwachungs- und/oder Steuerungsoperationen über eine im Gang befindliche Kommunikationssitzung ausüben will. Bei einigen Ausführungsformen kann die Umsetzung des Kommunikationsprotokolls 158 und/oder der Kommunikationsprotokoll-Datenbank 162 nach Anwendergemeinschaft und/oder Anwender aufgeteilt werden, um Skalierbarkeit und Verfügbarkeit zu gewährleisten. Folglich können hierin vorgenommene Bezugnahmen auf ein zentralisiertes Kommunikationsprotokoll genauer als ein per Anwender zentralisiertes Kommunikationsprotokoll betrachtet werden insofern, als ein einziges Kommunikationsprotokoll 158 für die Kommunikationsprotokoll-Informationen für einen bestimmten Anwender oder eine Untermenge von Anwendern innerhalb der Unternehmensgemeinschaft maßgebend sein kann, ganz wie der Kommunikationsserver 124. Folglich wird, obwohl innerhalb des Unternehmensnetzes 104 nur ein einziges Kommunikationsprotokoll 158 abgebildet ist, ein Fachmann auf dem Gebiet erkennen, dass, in Abhängigkeit von der Größe der Unternehmensanwendergemeinschaft, mehrere Kommunikationsprotokolle 158 und/oder Kommunikationsprotokoll-Datenbanken 162 innerhalb eines Unternehmensnetzes 104 bereitgestellt werden können. Das Aufteilen der Kommunikationsprotokolle 158 nach Anwender gewährleistet die Möglichkeit, per Anwender zentralisierte Kommunikationsprotokolle über eine große Anwenderbelegung zu skalieren, und gewährleistet ebenfalls eine hohe Verfügbarkeit.
  • Da die Ankerpunkte ebenfalls per Anwender bereitgestellt werden können, kann ein Kommunikationsprotokolldienst für einen bestimmten Anwender einen bestimmten Ankerpunkt dazu benutzen, jegliche Kommunikationsprotokoll-Informationen für diesen Anwender innerhalb einer Kommunikationssitzung abzurufen und jegliche solche Informationen an das Kommunikationsprotokoll 158 zur Speicherung in Verbindung mit der Datenstruktur dieses Anwenders in der Kommunikationsprotokoll-Datenbank 162 zu liefern. Folglich kann ein Ankerpunkt als ein Mechanismus verwendet werden, damit ein Kommunikationsprotokolldienst eines Anwenders mit Schlüsselereignissen verbundene Informationen sammelt und diese Informationen zurück zu einem Einzelprotokoll beiträgt, das ebenfalls Anmeldungen von anderen Anwendungen (z. B. Verbindungsaufzeichnungsanwendungen oder dergleichen) enthält, die an der Kommunikationsaktivität des Anwenders interessiert sind.
  • Die verschiedenen in 1A abgebildeten Server und Komponenten können gesondert (d. h., auf unterschiedlichen Servern) oder zusammen (d. h., auf einem einzigen Server) umgesetzt werden. Im Einzelnen könne zwei oder mehr abgebildete Komponenten (z. B. der Kommunikationsserver 124 und das Kommunikationsprotokoll 158/die Kommunikationsprotokoll-Datenbank 162) auf einem einzigen Server umgesetzt werden, ohne von Rahmen der vorliegenden Erfindung abzuweichen. Folglich kann ein einziges Gerät die Funktionalität mehrerer in 1A gesondert abgebildeter Komponenten gewährleisten. Als ein anderes Beispiel können das Grenzgerät 116 und der Kommunikationsserver 124 auf einem einzigen Gerät umgesetzt werden. Als noch ein anderes Beispiel können der Ankerpunktserver 140, das Kommunikationsprotokoll 158, die Kommunikationsprotokoll-Datenbank 162 und/oder der Anwendungsserver 144 auf einem einzigen Server umgesetzt werden.
  • 1B bildet ein beispielhaftes physisches Verbindungsmodell (oder Kommunikationsmodell nach Ausführungsformen der vorliegenden Offenbarung ab. Das physische Verbindungsmodell zwischen zwei oder mehr Parteien schließt einen oder mehrere Server 164a, 164b, 164c als ein Konferenzfokus oder Medienmischer in die Verbindung ein. Bei einigen Ausführungsformen schließen die in das physische Verbindungsmodell eingeschlossenen Server einen oder mehrere von einem Anwendungsserver 144, einem Kommunikationsserver 124 und dergleichen ein. Bei einigen Ausführungsformen dient jeder Server 164a, 164b, 164c als ein Konferenzfokus und/oder Medienmischer für eine oder mehrere Anwendungen. Dies ermöglicht, dass eine Verbindung mehrere mit derselben verbundene Anwendungen hat, wobei jede Anwendung einen oder mehrere an der Verbindung beteiligte Endpunkte A-H verwalten kann. Ein Ankerpunktserver 172 kann ebenfalls in das physische Verbindungsmodell eingeschlossen werden. Der Ankerpunktserver 172 ist dazu in der Lage, einen Ankerpunkt bereitzustellen, der als ein möglicher Steuerungspunkt für (eine) andere Anwendung(en) 174 dient, die anfangs während des Verbindungsaufbaus in die Anwendungssequenz eingeschlossen worden sind oder nicht.
  • Es ist im Allgemeinen innerhalb eines Unternehmensnetzes der Fall, dass jeder Teilnehmer an einer Kommunikationssitzung wenigstens einen mit diesem Anwender verbundenen Ankerpunkt hat, der mit der Kommunikationssitzung verbunden ist. Folglich würde eine Kommunikationssitzung zwischen zwei Teilnehmern wahrscheinlich zwei Ankerpunkte, einen für jeden Anwender oder Endpunkt A-H, haben. Folglich können, obwohl 1B nur einen einzigen an dem physischen Verbindungsmodell beteiligten Ankerpunktserver 172 abbildet, ein, zwei, drei, vier oder mehr Ankerpunktserver 172 und/oder Ankerpunkte an einer einzigen Kommunikationssitzung beteiligt sein und daher an dem gleichen physischen Verbindungsmodell beteiligt sein. Darüber hinaus kann ein einziger Ankerpunktserver 172 dazu in der Lage sein, mehrere Ankerpunkte für einen einzigen Anwender und/oder mehrere Ankerpunkte für mehrere unterschiedliche Anwender bereitzustellen. Es ist ebenfalls möglich, dass ein einziger Anwender oder Endpunkt mehrere mit demselben verknüpfte Ankerpunkte hat, ohne vom Rahmen der vorliegenden Erfindung abzuweichen. Es sollte ebenfalls zu bemerken sein, dass, obwohl in 1B nur drei Server 164a, 164b, 164c abgebildet sind, der/die Ankerpunkt(e) dafür konfiguriert ist/sind, sicherzustellen, dass eine gegebene Anwendung noch Zugriff auf Medien per Partei hat.
  • Die Server 164a, 164b, 164c sind dazu in der Lage, die Endpunkte A-H in einer kaskadierten Konferenz in Konferenzschaltung miteinander zu verbinden. Folglich kann eine sequentialisierte Anwendung diese Konferenz eingeleitet haben, und ohne die Ankerpunktserver 172 nahe dem Endpunkt A-H würde die Ankerpunktanwendung (d. h., die Anwendung die den Ankerpunkt wirksam einsetzt, um die Kommunikationssitzung zu überwachen und/oder zu steuern) keinen Zugriff auf Medien per Partei haben, obwohl andere Vorzüge des logischen Verbindungsmodells verbleiben könnten.
  • 1C bildet ein beispielhaftes logisches Verbindungsmodell (oder Kommunikationsmodell nach Ausführungsformen der vorliegenden Offenbarung ab. Das logische Verbindungsmodell umfasst eine Sitzung, wobei mehrere Teilnehmer 176 an derselben teilnehmen. Das logische Verbindungsmodell wird begleitet von einer Menge von Verbindungssteuerungs- und Mediensteuerungsoperationen für die Endpunkte 176 und von einer Menge von Verbindungs-/Medienfortschrittsereignissen, die unter den verschiedenen Operationen und Anwendungen gemeinsam genutzt werden können. Einer der Vorteile des logischen Verbindungsmodells ist, dass die physische Topologie und das Vorhandensein der Ankerpunkte für die Anwendung verborgen sind. Die Anwendung ruft einfach Medienoperationen für einen der Anwender auf, und hinter den Kulissen setzt der Ankerpunkt die Operation tatsächlich um.
  • Unter Bezugnahme auf 2A2D werden beispielhafte Konfigurationen von Anwendungssequenzen nach Ausführungsformen der vorliegenden Offenbarung erörtert. 2A bildet eine erste mögliche Konfiguration einer Anwendungssequenz 204 ab. Wie zu sehen ist, schließt der erste Schritt in dem Kommunikationsaufbau-Vorgang das Verarbeiten der Aufforderung des Ursprungs-UA ein. Während dieses Vorgangs wird eine Kommunikationssitzungsherstellungsmeldung von einem Ursprungsanwender (z. B. einem Anrufer) und insbesondere einem mit dem Ursprungsanwender verknüpften UA empfangen. Der UA kann entweder ein internes Kommunikationsgerät 136 oder in dem Fall, dass der UA ein externes Kommunikationsgerät 112 ist, ein SIP-Trunk sein. nach dem Empfangen der Anfangsaufforderung kann die Meldung an den Merkmalsequenzer 128 weitergeleitet werden, der entscheidet, den Ankerpunktserver 140 aufzurufen, der einen Ankerpunkt 208 in die Kommunikationssitzung einfügt, bevor jegliche andere Anwendungen spezifisch in die Kommunikationssitzung sequentialisiert werden. Dies kann dadurch ausgeführt werden, dass die Anfangsmeldung an den Ankerpunktserver 140 gesendet wird, der sich selbst in die Kommunikationssitzung einfügt und die Parameter der Kommunikationssitzung bestimmt, wodurch dem Ankerpunktserver 140 ermöglicht wird, anschließende Anwendungen an die Kommunikationssitzung zu binden, nachdem hergestellt worden ist. Alternativ dazu kann, falls der Ankerpunktserver 140 vor dem Herstellen der Sitzung eine Aufforderung von einer Anwendung empfangen hat, der Sitzung beizutreten, der Ankerpunktserver 140 dann diese Anwendung über den neu geschaffenen Ankerpunkt 208 an die Kommunikationssitzung anhängen.
  • Danach wird die ursprungsseitige Anwendungssequenz ausgeführt. Bei einigen Ausführungsformen kann die ursprungsseitige Anwendungssequenz auf der Grundlage der Identität des Ursprungsanwenders und der Präferenzen dieses Anwenders, wie sie in der Anwendertabelle 132 definiert sind, bestimmt werden. Bei einigen Ausführungsformen wird einer generischen ursprungsseitigen Anwendungssequenz gefolgt, falls der Ursprungsanwender keinerlei Präferenzen hat oder falls der Ursprungsanwender kein Unternehmensanwender ist.
  • Sobald die ursprungsseitige Anwendungssequenz abgeschlossen worden ist, wird die Aufforderung zu dem maßgebenden Kommunikationsserver 124 des Zielanwenders (d. h., des Angerufenen) geleitet, ausgehend von der Annahme, dass der Zielanwender ein interner Anwender ist. Der maßgebende Kommunikationssenner 124 des Zielanwenders kann der gleiche wie der des Ursprungsanwenders sein, obwohl dies nicht unbedingt erforderlich ist. Danach bestimmt der Merkmalsequenzer 128 eine anschlussseitige Anwendungssequenz. Diese Anwendungssequenz wird dadurch umgesetzt, dass die Aufforderung an jede der Anwendungen 148, 152, die in der Anwendungssequenz eingeschlossen sind, weitergeleitet wird. Alternativ dazu wird, falls der Zielanwender ein externer Anwender (d. h., ein Nicht-Unternehmensanwender) ist, dann entweder eine Standard-Anwendungssequenz umgesetzt, oder es wird keine Anwendungssequenz umgesetzt.
  • Ungeachtet dessen, ob eine tatsächliche Anwendungssequenz umgesetzt wird oder nicht, kann ein Ankerpunkt 208 in die Sequenz 204 eingefügt werden. Nachdem der Ankerpunkt 208 eingefügt worden ist, erfolgt die Kontaktauflösung Die Kontaktauflösungsphase des Aufbauvorgangs schließt im Allgemeinen das Identifizieren eines Geräts oder eine Menge von Geräten, mit dem Zielanwender verknüpft, die zu benachrichtigen sind, ein. Eine weitere Beschreibung der Kontaktauflösung wird in der US-Patentanmeldung Nr. 12/488,277, an Brunson et al., bereitgestellt, deren gesamter Inhalt hiermit als Verweis einbezogen wird.
  • Auf der Grundlage der Kontaktauflösungsphase werden ein oder mehrere mit dem Zielanwender verknüpfte Geräte benachrichtigt und der Zielanwender beantwortet die Aufforderung (z. B. durch das Abheben eines Telefons, das Aushängen des Telefons, das Annehmen einer Kommunikationssitzungseinladung usw.). Sobald geantwortet ist, wird eine OK-Meldung zurück an den Ursprungsanwender gesendet, und die Kommunikationssitzung ist hergestellt.
  • Wie in 2B zu sehen ist, kann ein Ankerpunkt 208 auf der Anschlussseite der Sequenz 212 eingefügt werden, nachdem die Kontaktauflösungsphase ausgeführt worden ist. Dies kann als eine Alternative oder zusätzlich dazu getan werden, dass der Ankerpunkt zwischen der anschlussseitigen Anwendungssequenz und der Kontaktauflösung eingefügt wird. Wie in 2C zu sehen ist, kann ein Ankerpunkt 208 auf der Anschlussseite der Sequenz 216 vor der anschlussseitigen Anwendungssequenz eingefügt werden. Dies ist besonders nützlich für Situationen, in denen ein Kommunikationsprotokolldienst den Ankerpunkt 208 wirksam einsetzt, um ein zentralisiertes Kommunikationsprotokoll zu verwirklichen. Dies kann als eine Alternative oder zusätzlich dazu getan werden, dass Ankerpunkte 208 an den in 2A und 2B abgebildeten Positionen platziert werden.
  • Wie in 2D zu sehen ist, kann eine implizite Anwendungssequentialisierung 220 ebenfalls umgesetzt werden derart, dass der Leitschritt nach der ursprungsseitigen und der anschlussseitigen Anwendungssequenz erfolgt. Dies kann als eine Alternative oder zusätzlich dazu getan werden, dass Ankerpunkte 208 an den in 2A, 2B und 2C abgebildeten Positionen platziert werden.
  • Obwohl dies nicht abgebildet wird, kann der Ankerpunkt 208 auf der Ursprungsseite der Sequenz ebenfalls nach der ursprungsseitigen Anwendungssequenz positioniert werden. Wieder kann diese zusätzliche mögliche Position als eine Alternative oder zusätzlich dazu ausgewählt werden, dass der Ankerpunkt 208 vor der ursprungsseitigen Anwendungssequenz positioniert wird.
  • Andere Positionen eines Ankerpunktes 208 sind ebenfalls möglich, obwohl sie nicht abgebildet werden. Zum Beispiel kann ein Ankerpunkt 208 an einer beliebigen Position, einschließlich zwischen sequentialisierten Anwendungen, eingefügt werden. Es gibt keine Begrenzung bezüglich der Positionen) der Platzierung von Ankerpunkten 208 innerhalb einer Sequenz.
  • Ein einziger Ankerpunktserver 140 kann für das Einfügen aller Ankerpunkte 208 in eine Sequenz verantwortlich sein. Alternativ dazu können unterschiedliche Ankerpunktserver 140 verwendet werden, um jeden Ankerpunkt 208 in die Sequenz einzufügen. Zum Beispiel kann, falls ein erster Ankerpunktserver 140 für den anrufenden Teilnehmer maßgebend ist und ein zweiter Ankerpunktserver 140 für den angerufenen Teilnehmer maßgebend ist, der erste Ankerpunktserver 140 Ankerpunkte für den anrufenden Teilnehmer einfügen, wohingegen der zweite Ankerpunktserver 140 Ankerpunkte für den angerufenen Teilnehmer einfügen kann.
  • Die „Position” eines Ankerpunktes 208 erbringt üblicherweise zwei Ergebnisse. Erstens wird ein Ankerpunkt 208, der eine spezifische Position hat, mit einer Kommunikationsaufforderung versehen, nachdem eine Anwendung, die eine Position vor derjenigen dieses Ankerpunktes 208 hat, mit der Kommunikationsaufforderung versehen worden ist. Auf die gleiche Weise wird eine Anwendung, die eine Position hinter diesem Ankerpunkt 208 hat, die Kommunikationsaufforderung empfangen, nachdem der Ankerpunkt 208 die Kommunikationsaufforderung empfangen hat. Zweitens bestimmt die Position des Ankerpunktes 208 den relativen Zeitpunkt, verglichen mit anderen in der Verbindungssequenz eingeschlossenen Anwendungen und Medienressourcen, zu dem der Ankerpunkt 208 die mit der hergestellten Kommunikationssitzung verknüpfte Steuerungs- und Mediensignalisierung empfängt. Dementsprechend wird die Position eines Ankerpunktes 208 die Weise beeinflussen, auf die der Ankerpunkt 208 und die den Ankerpunkt 208 wirksam einsetzenden Anwendungen eine Kommunikationssitzung betrachten. Vorteilhafterweise ist, falls der Ankerpunkt 208 in der Sequenz zuerst kommt, ihm ein Medienzugriff per Teilnehmer auf die Kommunikationssitzung garantiert. Falls der Ankerpunkt nach einer anderen Anwendung auf der Ursprungsseite kommt, dann kann er sehen, ob die Meldung umgeleitet oder auf andere Weise ausgestaltet worden ist. Unter Bezugnahme auf 3 wird nun ein beispielhaftes Verfahren zum Binden von Ankerpunkten 208 an eine Kommunikationssitzung während des Kommunikationsaufbaus nach Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Verfahren wird eingeleitet, wenn eine Kommunikationssitzungsherstellungsanforderung an einem Unternehmensnetz 104 empfangen wird (Schritt 304) das Unternehmensnetz 104 kann einen Merkmalsequenzer 128 einschließen, der feststellt, ob ein Ankerpunkt 208 als ein erstes Merkmal in der Kommunikationssitzung gewünscht wird (Schritt 308). Falls die Antwort auf diese Anfrage bestätigend ist, dann ruft der Merkmalsequenzer 128 einen Ankerpunktserver 140 auf, um einen Ankerpunkt 208 an erster Stelle auf der Ursprungsseite der Sequenz einzufügen (Schritt 312). Danach oder falls die Anfrage von Schritt 308 negativ beantwortet wird, schreitet das Verfahren fort mit dem Sequentialisieren der ursprungsseitigen Anwendung(en) (Schritt 316).
  • Anschließend an den Abschluss der ursprungsseitigen Anwendungssequentialisierung setzt sich das Verfahren damit fort, dass der Merkmalsequenzer 128 feststellt, ob ein Ankerpunkt 208 an letzter Stelle auf der Ursprungsseite einzufügen ist (Schritt 320). Diese Feststellung kann vorgenommen werden, nachdem die ursprungsseitigen Anwendungen sequentialisiert worden sind, oder die Feststellung kann vorgenommen worden sein, bevor der Merkmalsequenzer 128 den Anwendungssequentialisierungsvorgang startet. Falls die Antwort auf diese Anfrage bestätigend ist, dann ruft der Merkmalsequenzer 128 einen Ankerpunktserver 140 auf, um einen Ankerpunkt 208 an letzter Stelle auf der Ursprungsseite der Sequenz einzufügen (Schritt 324). Danach oder falls die Anfrage von Schritt 320 negativ beantwortet wird, schreitet das Verfahren fort mit der Weiterleitung der Anfrage zu einem Kommunikationsserver 124, der für den Zielanwender maßgebend ist (Schritt 328). Nach der in 2D abgebildeten Ausführungsform kann der Weiterleitungsschritt jedoch nicht nach der anschlussseitigen Anwendungssequentialisierung (d. h., nach Schritt 340) erfolgen.
  • Sobald die Anfrage an den passenden Kommunikationsserver 124 weitergeleitet worden ist, bestimmt der Merkmalsequenzer 128 dieses Servers, ob ein Ankerpunkt 208 an erste Stelle auf der Anschlussseite der Verbindung einzufügen ist (Schritt 332). Falls die Antwort auf diese Anfrage bestätigend ist, dann ruft der Merkmalsequenzer 128 einen Ankerpunktserver 140 auf, um einen Ankerpunkt 208 an erster Stelle auf der Anschlussseite der Sequenz einzufügen (Schritt 336). Danach oder falls die Anfrage von Schritt 332 negativ beantwortet wird, schreitet das Verfahren fort mit dem Sequentialisieren der anschlussseitigen Anwendung(en) (Schritt 340).
  • Anschließend an den Abschluss der anschlussseitigen Anwendungssequentialisierung setzt sich das Verfahren damit fort, dass der Merkmalsequenzer 128 feststellt, ob ein Ankerpunkt 208 an letzter Stelle auf der Ursprungsseite einzufügen ist (Schritt 344). Wie weiter oben bemerkt, kann ein Ankerpunkt 208 an letzter Stelle auf der Ursprungsseite eingefügt werden, bevor und/oder nachdem die Kontaktauflösung erfolgt ist. Falls die Antwort auf die Anfrage von Schritt 344 bestätigend beantwortet wird, dann ruft der Merkmalsequenzer 128 einen Ankerpunktserver 140 auf, um einen Ankerpunkt 208 einzufügen (Schritt 348) entweder bevor oder nachdem die Kontaktauflösung ausgeführt wird oder beides (Schritt 352). Danach wird die Kommunikationssitzung zwischen dem Ursprungsanwender und dem Endanwender hergestellt, und es wird den Teilnehmern ermöglicht, zu kommunizieren, während sie ebenfalls jegliche in die Kommunikationssitzung sequentialisierten Anwendungen verwenden (Schritt 356). Obwohl die sin 3 nicht abgebildet wird, können ein oder mehrere Ankerpunkte 208 ebenfalls zwischen Anwendungen entweder auf der ursprungsseitigen Anwendungssequenz oder auf der anschlussseitigen Anwendungssequenz eingefügt werden.
  • Unter Bezugnahme auf 4 wird nun ein Verfahren zum wirksamen Einsetzen eines Ankerpunktes 208 nach wenigstens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Verfahren wird eingeleitet mit der Überwachung einer Kommunikationssitzung, die zwischen zwei oder mehr Anwendern hegestellt worden ist (Schritt (404). And die in der Prüfung befindliche Kommunikationssitzung waren während der Herstellung der Kommunikationssitzung ein oder mehrere Ankerpunkte 208 gebunden worden. Bestimmte Medienressourcen und Anwendungen können mit ausreichenden Informationen bezüglich der Kommunikationssitzung versehen sein, um zu ermöglichen, dass die Ressourcen und Anwendungen die Kommunikationssitzung unmittelbar (z. B. durch das Empfangen von Statusaktualisierungen bezüglich der Kommunikationssitzung oder durch das Einsetzen der Paketreplikationstechnologie). Alternativ dazu können die nicht anfangs an die Kommunikationssitzung gebundenen Medienressourcen und Anwendungen die Kommunikationssitzung überwachen durch das Anmelden für Ereignisbenachrichtigungen von dem Ankerpunkt 208 oder durch das Anmelden für Ereignisbenachrichtigungen von bestimmten Anwendungen (z. B. Kommunikationsprotokolldiensten), die den Ankerpunkt 208 benutzen. Nach dem Herstellen der Kommunikationssitzung können eine oder mehrere parallele Entscheidungen getroffen werden. Im Einzelnen kann die Bestimmung vorgenommen werden, ob eine Anwendung einer Sitzung beitreten will oder nicht (Schritt 408), ob eine Anwendung die Sitzung verlassen will oder nicht (Schritt 412) und ob die Sitzung geendet hat (Schritt 428).
  • An irgendeinem Punkt kann eine Anwendung, die ursprünglich nicht an die Kommunikationssitzung gebunden war, feststellen, dass sie wünscht, einen Teil der Kommunikationssitzung aus dem einen oder dem anderen Grund zu steuern (d. h., der Kommunikationssitzung „beizutreten”). Eine solche Feststellung kann getroffen werden auf der Grundlage einer vordefinierten Anwenderpräferenz (d. h., von durch einen Anwender vor der Herstellung der Kommunikationssitzung definierten Präferenzen) oder auf der Grundlage des Empfangens eines Echtzeitkommandos von einem Anwender, das einen Wunsch anzeigt, eine bestimmte Funktion auf die Kommunikationssitzung auszuüben (Schritt 408). Falls die passende Anwendung oder Medienressourcen, die zum Erfüllen der Anwenderanforderung oder zum Befriedigen der vordefinierten Anwenderpräferenzen benötigt werden, aktuell nicht in der Kommunikationssitzung eingeschlossen sind, dann kann die notwendige Medienressource oder Anwendung versuchen, denjenigen Ankerpunkt 208 wirksam einzusetzen, der eine bevorzugte Position für diese Ressource oder Anwendung hat. Bei einigen Ausführungsformen wird der Ankerpunktserver 140, der den gewünschten Ankerpunkt 208 verwaltet, durch die Ressource oder Anwendung benachrichtigt, die wünschte, der Kommunikationssitzung beizutreten. Bei anderen Ausführungsformen kann der Ankerpunktserver 140 dazu in der Lage sein, einseitig die Feststellung zu treffen, dass für die Kommunikationssitzung eine neue Ressource notwendig ist, und der Ankerpunktserver 140 kann die passende Ressource oder Anwendung benachrichtigen und dies anzeigen.
  • Nachdem festgestellt worden ist, dass eine neue Anwendung der bestehenden Kommunikationssitzung beitreten soll, setzt sich das Verfahren fort mit der Herstellung einer Sitzung zwischen der Anwendung und dem Ankerpunktserver 140, der den gewünschten Ankerpunkt 208 verwaltet (Schritt (412). Dieser Vorgang schließt üblicherweise ein, dass der Ankerpunktserver 140 über ein Protokoll, welches das logische Modell und damit verbundene Operationen und/oder Ereignisse befördert, mit der neuen Anwendung kommuniziert. Danach wird, falls die Anwendung eine Medienaktion aufruft und es nicht bereits einen für den Ankerpunkt 208 verfügbaren Medienserver gibt, der Ankerpunktserver 140 Verbindungsteilnehmer neu-EINLADEN derart, dass ein Medienserver in den RTP-Strom im Auftrag der Anwendung eingefügt wird (Schritt 416). Danach kehrt das Verfahren zu Schritt 404 zurück, wo sich die Überwachung der Kommunikationssitzung fortsetzt. Unter Bezugnahme zurück auf Schritt 404 kann das Verfahren parallel damit fortschreiten, eine Feststellung zu treffen, ob eine beliebige gegenwärtig in der Kommunikationssitzung eingeschlossene Anwendung wünscht, mit dem Überwachen und Steuern Kommunikationssitzung aufzuhören (d. h., die Sitzung „zu verlassen”) (Schritt 420). Diese Entscheidung, die Kommunikationssitzung zu verlassen, kann entweder durch die Anwendung, die wünscht die Sitzung zu verlassen, oder durch den Ankerpunktserver 140, der die Anwendung gegenwärtig verwaltet, welche die Kommunikationssitzung verlassen wird, getroffen werden. Im Einzelnen ist es Anwendung im Allgemeinen nicht erlaubt, eine Kommunikationssitzung früh zu verlassen, außer, wenn sie über einen Ankerpunkt 208 an die Kommunikationssitzung gebunden wurden.
  • Falls eine Anwendung als eine identifiziert wird, welche die Kommunikationssitzung verlassen will oder muss, dann schreitet das Verfahren damit fort, dass der Ankerpunktserver 140 und die identifizierte Anwendung ihre zuvor hergestellte Sitzung beenden (Schritt 424) Im Einzelnen können die Anwendung und der Ankerpunktserver 140 ihre logische Verbindungsmodell-Signalisierungssitzung unterbrechen und der Ankerpunktserver 140 kann die Verbindungsteilnehmer erneut EINLADEN, um den Medienserver aus dem RTP-Weg zu entfernen.
  • Falls keine Anwendung als eine identifiziert wird, welche die Kommunikationssitzung verlassen will oder muss, oder nachdem die gewünschte Anwendung oder Medienressource aus der Sitzung entfernt worden ist, schreitet das Verfahren fort durch die Rückkehr zu Schritt 404.
  • Unter Bezugnahme zurück auf die nach Schritt 404 getroffene parallele Entscheidung kann eine andere Entscheidung bezüglich dessen getroffen werden, ob die Sitzung geendet hat oder nicht (Schritt 428). Falls dies der Fall ist, wird die Überwachung der Kommunikationssitzung unterbrochen und die Ankerpunktserver 140 geben jegliche zuvor an die Kommunikationssitzung gebundene Ankerpunkte 208 frei (Schritt 432). Falls nicht, kehrt das Verfahren zu Schritt 404 zurück.
  • Unter Bezugnahme auf 5 wird nun ein Verfahren zum Handhaben mehrerer Ankerpunkte 208 nach wenigstens einigen Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Verfahren beginnt damit, dass ein erster Ankerpunktserver 140 eine erste Medienressource (z. B. über einen ersten Ankerpunkt 208) in eine bestehende Kommunikationssitzung einfügt (Schritt 504). Danach erzeugt der erste Ankerpunktserver 140 eine Nachricht zur Übermittlung an andere Ankerpunktserver 140, die an der gleichen Kommunikationssitzung beteiligte Ankerpunkte 208 verwalten. Innerhalb dieser Nachricht schlieft der erste Ankerpunktserver 140 ein Medientoken innerhalb des Kopfes ein, das die erste Medienressource beschreibt, die den ersten Ankerpunkt 208 benutzt (Schritt 508). Bei einigen Ausführungsformen ist die Nachricht, die das Medientoken einschließt, die INVITE- oder RE-INVITE-Nachricht, die an die Teilnehmer der Kommunikationssitzung übermittelt wurde, wodurch ermöglicht wird, dass die erste Medienressource der Kommunikationssitzung beitritt. Da die an diese Teilnehmer übermittelte Nachricht alle anderen in der logischen Verbindungssequenz eingeschlossenen Anwendungen kreuzt, werden jegliche anderen Ankerpunktserver 140, die an der Kommunikationssitzung beteiligt sind, das durch den ersten Ankerpunktserver 140 übermittelte Medientoken empfangen (Schritt 512).
  • An einem bestimmten späteren Punkt und während die ersten Medienressourcen noch an der Kommunikationssitzung beteiligt sind, stellt ein zweiter Ankerpunktserver 140 fest, dass für die Kommunikationssitzung Medienressourcen (z. B. für eine zweite Anwendung) erforderlich sind (Schritt 516). Nach dem Treffen dieser Feststellung vergleicht der zweite Ankerpunktserver 140 die innerhalb des Medientokens enthaltenden SDP-Informationen mit den von der zweiten Medienressource empfangenen SDP-Informationen (Schritt 520). Beim Durchführen dieses Vergleichs stellt der zweite Ankerpunktserver 140 fest, ob die ersten Medienressourcen wirksam eingesetzt werden können, um die Bedürfnisse der Anwendung zu befriedigen, die versucht, der Kommunikationssitzung beizutreten' oder nicht. Falls die verglichenen SDP-Informationen zusammenpassen (Schritt 524), dass stellt der zweite Ankerpunktserver 140 fest, dass die ersten Medienressourcen wiederverwendet werden können, um die Bedürfnisse der Anwendung zu befriedigen, die der Kommunikationssitzung beizutreten sucht (Schritt 532). Falls die SDP-Informationen jedoch nicht zusammenpassen, dann ist es wahrscheinlich, dass ein dazwischenliegender Medienserver eingeführt worden ist oder ein Konferenzfokus seine eigenen Medienressourcen eingefügt hat, wodurch die Verwendung der zweiten Ressourcen notwendig ist (Schritt 528).
  • Unter Bezugnahme auf 6 wird nun ein Verfahren zum Benutzen von Ankerpunkten zum Belegen von Informationen innerhalb eines per Anwender zentralisierten Kommunikationsprotokolls nach Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Verfahren wird eingeleitet, wenn sich ein Kommunikationsprotokolldienst durch einen Ankerpunkt 208 mit einer Kommunikationssitzung verbindet (Schritt 604). Der Kommunikationsprotokolldienst kann dafür verantwortlich sein, alle Kommunikationsverbindungen für einen bestimmten Anwender zu überwachen. Daher kann sich das Kommunikationsprotokoll bei einem Ankerpunktserver 140 oder einem Kommunikationsserver 128 anmelden, der für seinen Anwender maßgebend ist, um Aktualisierungen zu empfangen, wenn der Anwender neue Kommunikationsverbindungen hat. Nach dem Empfangen einer solchen Aktualisierung kann der Kommunikationsprotokolldienst Informationen über diese besondere Kommunikationssitzung bestimmen durch das Kontaktieren des Ankerpunktservers 140, der bereits einen Ankerpunkt 208 in die Kommunikationssequenz eingefügt haben kann.
  • Bei einigen Ausführungsformen können sich mehrere Kommunikationsprotokolldienste mit mehreren Ankerpunkten 208 verbinden, um so viele Kommunikationsprotokoll-Informationen wie möglich über eine Kommunikationssitzung abzurufen. Diese Situation kann auftreten, wenn jeder Teilnehmer an der Kommunikationssitzung seinen eigenen Kommunikationsprotokolldienst hat, der die Informationen über die Kommunikationsgeschichte dieses Anwenders überwacht.
  • Bei einigen Ausführungsformen informiert der Kommunikationsprotokolldienst den Ankerpunktserver 140, dass er in Eigeninitiative und ohne weitere Beteiligung durch den Kommunikationsprotokolldienst alle Kommunikationsverbindungen für einen gegebenen Anwender überwachen will. Wenn der Ankerpunktserver 140 eine solche Kommunikationsverbindung erkennt, kann der Ankerpunktserver 140 alle relevanten Informationen bezüglich dieser Kommunikationsverbindungen an den Kommunikationsprotokolldienst weitergeben.
  • Bei einigen Ausführungsformen würden die Ankerpunkte 208, die durch den/die Kommunikationsprotokolldienst(e) wirksam eingesetzt werden, an erster Stelle auf der Ursprungsseite (d. h., vor jeglichen sequentialisierten Anwendungen) und an erster Stelle auf der Anschlussseite (d. h., nach dem Weiterleiten und vor jeglichen sequentialisierten Anwendungen) einsequentialisiert werden. Im Einzelnen kann die in 2C abgebildete Sequenz 216 besonders nützlich sein, um Kommunikationsprotokolldienste wirksam einzusetzen, die Kommunikationsprotokoll-Informationen in einem zentralisierten Kommunikationsprotokoll belegen.
  • Sobald er/sie verbunden ist/sind, ist der/sind die Kommunikationsprotokolldienst(e) dazu in der Lage die Kommunikationsteilnehmer an der Kommunikationssitzung zu überwachen (Schritt 608). Auf Grund der Tatsache, dass die Ankerpunkte 208 sowohl auf der Ursprungsals auch auf der Anschlussseite an erste Stelle einsequentialisiert sind, ist praktisch garantiert, dass sie alle Kommunikationsverbindungen sehen, die ein Anwender herstellt/empfängt, ungeachtet dessen, ob anschließende sequentialisierte Anwendungen die Kommunikationsverbindung umleiten. Zum Beispiel kann eine Such-Anwendung entscheiden, dass ein Anruf an das häusliche Telefon eines Anwenders statt an dessen eingetragene Geschäftskontakte gerichtet werden sollte. Der Ankerpunkt 208 würde es dennoch ermöglichen, dass der Kommunikationsprotokolldienst des Anwenders dazu in der Lage ist, diesen Anruf als an den angerufenen Teilnehmer zu protokollieren, selbst wenn keiner der Unternehmensendpunkte des Anwenders Alarm schlagen würde. Dies erstreckt sich über das Fernsprechen hinaus; zum Beispiel wird die Kommunikation für sitzungsbasierten Nachrichten-Sofortversand durch einen Anhang an den Ankerpunkt 208 dennoch überwacht.
  • Ein per Anwender zentralisiertes Kommunikationsprotokoll kann danach durch die Kommunikationsprotokolldienste belegt werden, welche die Kommunikationssitzung überwachen (Schritt 612). Im Einzelnen kann eine per Anwender zentralisierte Datenbank dazu verwendet werden, die Kommunikationsprotokoll-Informationen für einen bestimmten Anwender zu speichern. Es kann möglich sein, dass einige oder alle Teilnehmer an einer Kommunikationssitzung ein einziges Kommunikationsprotokoll 158 als ihr maßgebendes Protokoll gemeinsam nutzen, aber dies ist keine Bedingung.
  • Wenn die Kommunikationsprotokoll-Informationen durch einen Kommunikationsprotokolldienst abgerufen sind, leitet diese Anwendung die Informationen, in Echtzeit, an das maßgebende Kommunikationsprotokoll 158 des Anwender weiter, das anschließend solche Informationen zusammen mit anderen historischen Kommunikationsprotokoll-Informationen des Anwenders in der Kommunikationsprotokoll-Datenbank 162 speichert (Schritt 616). Diese Informationen können danach verfügbar gemacht werden für andere Instanzen, wie beispielsweise den Anwender, andere Anwender, falls sie Erlaubnisse haben, auf solche Informationen zuzugreifen, Anwendungen und so weiter. Dementsprechend empfängt das Kommunikationsprotokoll 158 Echtzeit-Kommunikationsprotokoll-Informationen für einen Anwender von dem Kommunikationsprotokolldienst dieses Anwenders und macht die Echtzeit-Kommunikationsprotokoll-Informationen anschließend für andere interessierte Instanzen, die den Anwender einschließen können, verfügbar.
  • Es wäre zu bevorzugen, eine per Anwender zentralisierte Datenbank bereitzustellen, die hochverfügbar und horizontal skaliert ist derart, dass eine Datenbank-Instanz für eine gewisse Untermenge der Anwender-Grundgesamtheit maßgebend sein würde. Dieser Vorgang kann für jede für einen Ankerpunkt 208 verfügbare Kommunikationssitzung vervielfältigt werden, und Kommunikationsdaten für mehrere Anwender können über einen Ankerpunkt 208 durch unterschiedliche Kommunikationsanwendungen gesammelt und zurück an die zentralisierte Datenbank geliefert werden. Die Informationen innerhalb der Datenbank können nach einer beliebigen Anzahl von Organisationsschemata organisiert und gespeichert werden. Der in 6 abgebildete Vorgang kann fortlaufend oder periodisch für jede Kommunikation für einen bestimmten Anwender ausgeführt werden.
  • Unter Bezugnahme auf 7 wird nun ein Verfahren zum Bereitstellen von Kommunikationsprotokoll-Informationen für eine oder mehrere Instanzen (z. B. Endpunkte und/oder Anwendungen) nach Ausführungsformen der vorliegenden Offenbarung beschrieben. Das Kommunikationsprotokoll 158 kann als eine Dienstschnittstelle zwischen der Kommunikationsprotokoll-Datenbank 162, Endpunkten und Anwendungen wirken (Schritt 704). Endpunkte und Anwendungen werden dazu in die Lage versetzt, Kommunikationsprotokolle von diesem „Anwenderspeicher” abzurufen, anstatt sie lokal zu speichern (Schritt 708). Zusätzlich wären diese Instanzen ebenfalls dazu in der Lage, sich zu Veränderungsereignissen anzumelden, so dass sie immer ein genaues und aktuelles Kommunikationsprotokoll für einen beliebigen bestimmten Anwender anzeigen können (Schritt 712). Es ist wichtig, zu bemerken, dass es mehrere gleichzeitige Kommunikationsverbindungen geben kann, die zu einer beliebigen gegebenen Zeit für einen Anwender im Gang sind (z. B. ein Telefonanruf und eine IM-Sitzung oder eine Konferenzschaltung und eine Web-Zusammenarbeit). Die Anmeldung eines gegebenen Endpunktes für einen bestimmten Anwender kann für eine oder mehrere aktive Kommunikationssitzungen sowie für eine Benachrichtigung darüber, dass neue Sitzungen eingeleitet werden, gelten, ungeachtet des Medientyps.
  • Die über das Kommunikationsprotokoll 158 aus der Kommunikationsprotokoll-Datenbank 162 erlangten Informationen können danach durch die Instanzen, welche die Kommunikationsprotokoll-Informationen empfangen, dazu benutzt werden, entweder im Gang befindlichen Kommunikationssitzungen beizutreten, eine Verbindung von der Abdeckung (z. B. einer Voicemail- oder Sekretariatsabdeckung) abzurufen oder Überwachungs- und/oder Steuerungsoperationen über eine im Gang befindliche Kommunikationssitzung auszuüben (Schritt 716). Im Einzelnen kann der Kommunikationsprotokolldienst eines Anwenders einen Ankerpunkt 208 dazu benutzen Schlüsselereignisinformationen für diesen Anwender zu sammeln und die Kommunikationsprotokoll-Datenbank 162 dementsprechend zu aktualisieren. Diese Schlüsselereignisinformationen können danach für andere interessierte Teilnehmer bereitgestellt werden. Die Daten können durch das Kommunikationsprotokoll 158 in einem Datenpush-Modell oder einem Datenpult-Model bereitgestellt werden. In einem Datenpush-Modell kann das Kommunikationsprotokoll 158 eine Menge von Regeln haben, die Instanzen identifizieren, die sich für Ereignisaktualisierungen für einen Anwender angemeldet haben, wobei das Kommunikationsprotokoll 158 in diesem Fall in einem Push-Verfahren die aktualisierten Daten zu den Instanzen sendet. Alternativ oder zusätzlich dazu kann das Datenpuff-Modell benutzt werden, wodurch eine Instanz das Kommunikationsprotokoll 158 zu einem bestimmten Zeitraum für einen bestimmten Anwender oder eine Menge von Anwendern auf Kommunikationsprotokoll-Informationen abfragen kann. Das Kommunikationsprotokoll 158 kann die gegenwärtig verfügbaren Daten für den Anwender oder die Menge von Anwendern abrufen und die abgefragten Informationen für die abfragende Instanz bereitstellen.
  • Diese Lösung skaliert horizontal und ist dafür gestaltet, dass bei Laufzeit für viele Verbraucher darauf zugegriffen wird. Darüber hinaus sind, auf Grund ihrer zentralisierten Beschaffenheit, historische Kommunikationsinformationen für einen Anwender oder eine Gruppe von Anwendern leichter für Kontext-Suchmaschinen und dergleichen zugänglich. Ein anderer nützlicher Aspekt der vorliegenden Offenbarung ist, dass die Kommunikationsprotokoll-Informationen, die ein Endpunkt einem Anwender anzeigt, nicht streng auf Kommunikationssitzungen begrenzt wären, die in der Vergangenheit stattgefunden haben. Stattdessen können die Kommunikationsprotokoll-Informationen in Echtzeit verwaltet und aktualisiert werden. Mit anderen Worten, der Kommunikationsprotokolldienst für einen bestimmten Anwender könnte dazu in die Lage versetzt werden, Verbindungen zu zeigen, die im Gang sind. Dies kann als ein Mechanismus benutzt werden, der es dem Endpunkt ermöglicht, der Verbindung beizutreten oder nach mehr Informationen (z. B. Teilnehmer) anzufragen.
  • Bei einigen Ausführungsformen kann der Endpunkt die von dem Kommunikationsprotokoll 158 erlangten Echtzeit-Kommunikationsprotokoll-Informationen dazu benutzen, eine Maßnahme zu ergreifen oder sich mit einer im Gang befindlichen Kommunikationssitzung zu verbinden. Diese Maßnahmen können ausgeführt werden durch das Benutzen der engen Beziehung zwischen dem Kommunikationsprotokoll 158 und den Zugangspunktserver 140. Im Einzelnen können die von dem Kommunikationsprotokoll 158 abgerufenen Kommunikationsprotokoll-Informationen den Zugangspunktserver 140 identifizieren, der durch den Kommunikationsprotokolldienst des Anwenders dazu verwendet wurde die Kommunikationsprotokoll-Informationen abzurufen. Diese Informationen können dann dazu benutzt werden, über den Zugangspunktserver 140 in Echtzeit auf die Kommunikationssitzung zuzugreifen.
  • Darüber hinaus würde dies einen alternativen Mechanismus zum Überbrücken bereitstellen, um es einem Anwender zu ermöglichen, bei der gleichen Kommunikationssitzung von dem einen Gerät zu einem anderen überzugehen. Der in 7 abgebildete Vorgang kann fortlaufend oder periodisch ausgeführt werden.
  • Während die weiter oben beschriebenen Ablaufdiagramme in Bezug auf eine bestimmte Abfolge von Ereignissen beschrieben worden sind, sollte s zu erkennen sein, dass Veränderungen an dieser Abfolge auftreten können, ohne die Funktionsweise der Offenbarung wesentlich zu beeinflussen. Zusätzlich muss die genaue Abfolge der Ereignisse nicht so auftreten, wie sie in den Ausführungsbeispielen dargelegt wird. Die hierin illustrierten beispielhaften Techniken sind nicht auf die spezifisch illustrierten Ausführungsformen begrenzt, sondern können ebenfalls mit den anderen Ausführungsbeispielen verwendet werden, und jedes beschriebene Merkmal ist einzeln und gesondert zu beanspruchen.
  • Die Systeme, Verfahren und Protokolle dieser Offenbarung können zusätzlich oder an Stelle der beschriebenen Kommunikationsausrüstung auf einem Spezialrechner, einem programmierten Mikroprozessor oder Mikrokontroller und (einem) peripheren integrierten Schaltkreiselement(en), einem ASIC oder einem anderen integrierten Schaltkreis, einem digitalen Signalprozessor, einem festverdrahteten elektronischen oder logischen Schaltkreis, wie beispielsweise einem Discrete-Element-Schaltkreis, einem programmierbaren Logikbaustein oder einer Gatteranordnung, wie beispielsweise PLD, PLA, FPGA, PAL, einem Kommunikationsgerät, wie beispielsweise einem Server, einem Arbeitsrechner, einem beliebigen vergleichbaren Mittel oder dergleichen, umgesetzt werden. Im Allgemeinen kann jegliches Gerät, das dazu in der Lage ist, eine Zustandsmaschine umzusetzen, die wiederum dazu in der Lage ist, die hierin illustrierte Methodologie umzusetzen, dazu verwendet werden, die verschiedenen Kommunikationsverfahren, -protokolle und -techniken nach dieser Offenbarung umzusetzen.
  • Ferner können die offenbarten Verfahren leicht in Verbindung mit Software umgesetzt werden, die Objekt- oder objektorientierte Software-Entwicklungsumgebungen verwendet, die portierbaren Quellencode bereitstellen, der auf einer Vielzahl von Rechner- oder Arbeitsstation-Plattformen verwendet werden kann. Alternativ dazu kann das offenbarte System teilweise oder vollständig in Hardware umgesetzt werden, die standardmäßige Logikschaltkreise oder VLSI-Design verwendet. Ob Software oder Hardware verwendet wird, um die Systeme nach dieser Erfindung umzusetzen, ist abhängig von den Geschwindigkeits- und/oder Effizienzanforderungen des Systems, der besonderen Funktion und den besonderen Software- oder Hardwaresystemen oder Mikroprozessor- oder Mikrorechnersystemen, die benutzt werden. Die hierin illustrierten Analysesysteme, -verfahren und -techniken können durch die Durchschnittsfachleute auf dem entsprechenden Gebiet aus der hierin bereitgestellten funktionellen Beschreibung und mit einer allgemeinen grundlegenden Kenntnis der Kommunikations- und Rechnerwissenschaften leicht in Hardware und/oder Software umgesetzt werden, unter Verwendung jeglicher bekannter oder später entwickelter Systeme oder Strukturen, Geräte und/oder Software.
  • Darüber hinaus können die offenbarten Verfahren leicht in Software umgesetzt werden, die auf einem Speichermedium gespeichert, auf einem programmierten Allzweckrechner mit der Mitwirkung eines Steuergeräts und Speichers, einem Spezialrechner, einem Mikroprozessor oder dergleichen ausgeführt werden kann. In diesen Fällen können die Systeme und Verfahren dieser Offenbarung als auf einem Arbeitsplatzrechner eingebettetes Programm umgesetzt werden, wie beispielsweise als ein Applet, ein JAVA®- oder CGI-Script, als eine Ressource, die auf einer Server- oder Rechner-Arbeitsstation steht, als eine Routine, die in ein dediziertes Kommunikationssystem oder eine Systemkomponente oder dergleichen eingebettet ist. Das System kann ebenfalls durch das physische Einbinden des Systems und/oder des Verfahrens in ein Software- und/oder Hardwaresystem, wie beispielsweise die Hardware- und Softwaresysteme eines Kommunikationsgerätes oder -systems, umgesetzt werden.
  • Es ist daher offensichtlich, dass, nach der vorliegenden Offenbarung, Systeme, Vorrichtungen und Verfahren zum Erzeugen und Benutzen von Ankerpunkten in Verbindung mit einer Kommunikationssitzung bereitgestellt worden sind. Während diese Offenbarung in Verbindung mit einer Anzahl von Ausführungsformen beschrieben worden ist, ist es offensichtlich, dass viele Alternativen, Modifikationen und Variationen für die Durchschnittsfachleute auf den entsprechenden Gebieten offensichtlich sein würden oder sind. Dementsprechend ist beabsichtigt, alle solchen Alternativen, Modifikationen und Variationen, die innerhalb des Geistes und des Rahmens dieser Offenbarung liegen, einzuschließen.

Claims (10)

  1. Verfahren, das Folgendes umfasst: das Empfangen einer Anforderung zum Herstellen einer Kommunikationssitzung zwischen wenigstens einem ersten Kommunikationsgerät, das mit einem ersten Anwender verknüpft ist, und einem zweiten Kommunikationsgerät, das mit einem zweiten Anwender verknüpft ist, das Sequentialisieren wenigstens eines Ankerpunktes in die Kommunikationssitzung während des Aufbaus der Kommunikationssitzung, wobei der wenigstens eine Ankerpunkt ein möglicher Überwachungs- und Steuerungspunkt gegenüber der Kommunikationssitzung für eine Anwendung ist, und das Herstellen der Kommunikationssitzung und das Einschließen des Ankerpunktes in einen Signalisierungsweg der Kommunikationssitzung.
  2. Verfahren nach Anspruch 1, wobei der wenigstens eine Ankerpunkt nicht eindeutig zu einer Anwendung gehört.
  3. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: das Feststellen, nachdem die Kommunikationssitzung hergestellt worden ist, dass eine erste Anwendung, die anfangs nicht Teil der Kommunikationssitzung war, wenigstens einen Teil der Kommunikationssitzung steuern soll, und auf der Grundlage des Feststellungsschritts das Ermöglichen, dass der wenigstens eine Ankerpunkt als ein Kommunikationssitzung-Steuerungspunkt für die erste Anwendung dient.
  4. Verfahren nach Anspruch 3, das ferner Folgendes umfasst: das Feststellen, ob eine mit der ersten Anwendung verknüpfte Medienressource benötigt wird, und das wahlweise Einbeziehen einer mit der ersten Anwendung verknüpften Medienressource in einen Medienweg der Kommunikationssitzung.
  5. Verfahren nach Anspruch 3, wobei die erste Anwendung eine oder mehrere der folgenden Komponenten umfasst: eine Erweiterung zu einer zellularen Anwendung, eine Verbindungsaufbau-Anwendung, eine Sprachanwendung, eine Videoanwendung, eine Textanwendung, eine Verbindungsaufzeichnungsanwendung, einen Kommunikationsprotokolldienst, eine Sicherheitsanwendung, eine Verschlüsselungsanwendung, eine Mobilitätsanwendung, eine Medienanwendung und eine Überbrückungsanwendung.
  6. Verfahren nach Anspruch 1, wobei eine erste Anwendung über den wenigstens einen Ankerpunkt an die Kommunikationssitzung gebunden wird, wobei das Verfahren ferner Folgendes umfasst: das Feststellen, dass die erste Anwendung das Steuern und Überwachen der Kommunikationssitzung vor der Beendigung der Kommunikationssitzung einstellen soll, das Unterbrechen einer Kommunikationssitzung zwischen der ersten Anwendung und dem wenigstens einen Ankerpunkt.
  7. Verfahren nach Anspruch 1, wobei der erste Anwender ein Ursprungsanwender ist und wobei der zweite Anwender ein Zielanwender ist und wobei der wenigstens eine Ankerpunkt einen ersten Ankerpunkt, der mit dem ersten Anwender verknüpft ist, und einen zweiten Ankerpunkt, der mit dem zweiten Anwender verknüpft ist, umfasst, wobei der erste Ankerpunkt an erster Stelle auf einer Ursprungsseite des Kommunikationssitzungsaufbaus sequentialisiert wird und wobei der zweite Ankerpunkt wenigstens an erster und/oder letzter Stelle auf der Anschlussseite des Kommunikationssitzungsaufbaus sequentialisiert wird, wobei das Verfahren ferner Folgendes umfasst: das Einschließen einer ersten Medienressource in die Kommunikationssitzung, durch einen ersten Ankerpunktserver, der den ersten Ankerpunkt unterhält, das Übertragen eines Medientokens, das mit der ersten Medienressource verknüpfte Sitzungsparameter beschreibt, von dem ersten Ankerpunktserver zu einem zweiten Ankerpunktserver, der den zweiten Ankerpunkt unterhält, das Feststellen, dass eine Medienressource für die Kommunikationssitzung gewünscht wird, durch den zweiten Ankerpunktserver, das Vergleichen der mit der ersten Medienressource verknüpften Sitzungsparameter mit den mit der Medienressource verknüpften Sitzungsparametern, durch den zweiten Ankerpunktserver, und das wirksame Einsetzen der ersten Medienressource an Stelle der Medienressource, wenn die mit der ersten Medienressource verknüpften Sitzungsparameter zu den mit der Medienressource verknüpften Sitzungsparametern passen, durch den zweiten Ankerpunktserver.
  8. Rechnerlesbares Medium, das mit prozessorausführbaren Anweisungen codiert ist, die funktionsfähig sind, um, wenn sie ausgeführt werden, das Verfahren von Anspruch 1 durchzuführen.
  9. System, das Folgendes umfasst: einen ersten Ankerpunktserver und einen Kommunikationsserver, der einen Merkmalsequenzer einschließt, der dafür konfiguriert ist, auf der Grundlage von einem oder mehreren der Parameter Kommunikationspräferenzen des ersten Anwenders und Standard-Kommunikationspräferenzen eine Merkmalsequenz für einen ersten Anwender zu bestimmen, wobei der Merkmalsequenzer ferner dafür konfiguriert ist, eine Kommunikationssitzung zwischen einem ersten Kommunikationsgerät, das mit einem ersten Anwender verknüpft ist, und einem zweiten Kommunikationsgerät, das mit einem zweiten Anwender verknüpft ist, herzustellen und danach zu veranlassen, dass der erste Ankerpunktserver als ein Teil der Merkmalsequenz während des Aufbaus der Kommunikationssitzung in die Kommunikationssitzung sequentialisiert wird, wobei das Sequentialisieren des ersten Ankerpunktservers bewirkt, dass der erste Ankerpunktserver in einen Signalisierungsweg der Kommunikationssitzung eingeschlossen wird, und wobei der erste Ankerpunktserver ein möglicher Überwachungs- und Steuerungspunkt gegenüber der Kommunikationssitzung für eine Anwendung ist.
  10. System nach Anspruch 9, wobei ein erster Ankerpunkt, der durch den ersten Ankerpunktserver unterhalten wird, nicht eindeutig zu einer Anwendung gehört und wobei der erste Ankerpunktserver ferner dafür konfiguriert ist, festzustellen, nachdem die Kommunikationssitzung hergestellt worden ist, dass eine erste Anwendung, die anfangs nicht Teil der Kommunikationssitzung war, wenigstens einen Teil der Kommunikationssitzung steuern soll, und wenigstens einen Teil der Kommunikationssitzung auf der Grundlage der von der ersten Anwendung empfangenen Steuerkommandos zu steuern, und wobei die erste Anwendung eine oder mehrere der folgenden Komponenten umfasst: eine Erweiterung zu einer zellularen Anwendung, eine Verbindungsaufbau-Anwendung, eine Sprachanwendung, eine Videoanwendung, eine Textanwendung, eine Verbindungsaufzeichnungsanwendung, einen Kommunikationsprotokolldienst, eine Sicherheitsanwendung, eine Verschlüsselungsanwendung, eine Mobilitätsanwendung, eine Medienanwendung und eine Überbrückungsanwendung.
DE102011101961.1A 2010-05-19 2011-05-18 SIP-Überwachungs-und Steuerungsankerpunkte Active DE102011101961B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/783,224 US8886789B2 (en) 2010-05-19 2010-05-19 SIP monitoring and control anchor points
USUS12/783,224 2010-05-19

Publications (2)

Publication Number Publication Date
DE102011101961A1 true DE102011101961A1 (de) 2012-02-02
DE102011101961B4 DE102011101961B4 (de) 2020-09-24

Family

ID=44260751

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102011101961.1A Active DE102011101961B4 (de) 2010-05-19 2011-05-18 SIP-Überwachungs-und Steuerungsankerpunkte

Country Status (4)

Country Link
US (1) US8886789B2 (de)
CN (1) CN102255889B (de)
DE (1) DE102011101961B4 (de)
GB (1) GB2480551B (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9450989B2 (en) * 2010-05-19 2016-09-20 Avaya Inc. SIP anchor points to populate common communication logs
US8886789B2 (en) * 2010-05-19 2014-11-11 Avaya Inc. SIP monitoring and control anchor points
US8576996B2 (en) 2010-12-13 2013-11-05 Avaya Inc. This call
US8510435B2 (en) * 2010-12-27 2013-08-13 Avaya Inc. Highly scalable and distributed call/media modeling and control framework
US20120233334A1 (en) * 2011-03-07 2012-09-13 Avaya Inc. Shared media access for real time first and third party control
US8839364B2 (en) 2011-04-05 2014-09-16 Blackberry Limited System and method for applying authentication and security policies in a SIP environment
US8644817B1 (en) 2012-09-26 2014-02-04 Avaya Inc. System and method for presenting a single persistent view of a multi-module communication device to a network
CN103067382B (zh) * 2012-12-26 2015-08-05 北京乾元利恒科技有限公司 富媒体文件加解密方法及系统
US10348778B2 (en) 2013-02-08 2019-07-09 Avaya Inc. Dynamic device pairing with media server audio substitution
US8867717B2 (en) 2013-03-11 2014-10-21 Avaya Inc. Dynamic device pairing with control session establishment
US9544340B2 (en) 2013-03-15 2017-01-10 Avaya Inc. Application programming interface enabling communication features for different communication protocols
US9282489B2 (en) 2013-05-17 2016-03-08 Avaya Inc. Media escalation with use of endpoint adapter
US9699124B2 (en) 2014-05-08 2017-07-04 Avaya Inc. On-demand robot acquisition of communication features
KR102340796B1 (ko) 2015-05-11 2021-12-17 삼성전자주식회사 단말기들의 통신 방법 및 그 단말기
CN110049227B (zh) * 2018-01-16 2021-04-27 视联动力信息技术股份有限公司 一种摄像头的操作方法和装置
JP7381574B2 (ja) * 2018-10-09 2023-11-15 オッポ広東移動通信有限公司 グループ通信の実行装置及び方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687735B1 (en) * 2000-05-30 2004-02-03 Tranceive Technologies, Inc. Method and apparatus for balancing distributed applications
ES2329442T3 (es) * 2001-07-10 2009-11-26 NOKIA SIEMENS NETWORKS GMBH & CO. KG Procedimiento para realizar una transferencia (handoff) orientada a la qos entre una primera y una segunda ruta de comunicacion basada en ip, en particular movil y basada en ipv6, entre un nodo movil (mn) y un nodo corresponsal (cn).
DE10297190B4 (de) 2001-09-12 2011-12-08 Telefonaktiebolaget Lm Ericsson (Publ) Anordnungen und Verfahren in mobilen Internetkommunikationssystemen
US20030212809A1 (en) 2002-05-09 2003-11-13 Innomedia Pte Ltd. Real time streaming media communication system with improved session detail collection systems and methods
KR101009846B1 (ko) 2003-11-28 2011-01-19 주식회사 케이티 Sip 단말장치에서 서비스 이용 요금을 실시간으로제공하는 방법 및 그 sip 단말장치
US7467210B1 (en) 2004-04-02 2008-12-16 Cisco Technology, Inc. Method and system for automatically collecting information relating to calls to one or more associated endpoint devices
US7535838B1 (en) * 2004-12-21 2009-05-19 Nortel Networks Limited Method for determining resource use in a network
US7920519B2 (en) * 2005-04-13 2011-04-05 Cisco Technology, Inc. Transferring context information to facilitate node mobility
FI20050500A0 (fi) * 2005-05-11 2005-05-11 Nokia Corp Menetelmä järjestelmien välisten kanavanvaihtojen toteuttamiseksi matkaviestinjärjestelmässä
JP4639257B2 (ja) * 2005-05-18 2011-02-23 テルコーディア ライセンシング カンパニー, リミテッド ライアビリティ カンパニー サービス制御ポイントのハンドオフコントローラを使用する異機種アクセスネットワーク間のシームレスハンドオフ
US8135022B2 (en) * 2005-05-26 2012-03-13 Xconnect Global Networks Ltd. Detection of SPIT on VoIP calls
WO2006138736A2 (en) * 2005-06-15 2006-12-28 Azaire Networks Inc. Voice call continuity application server between ip-can and cs networks
US7574212B2 (en) * 2005-06-22 2009-08-11 Sprint Spectrum L.P. Method and system for managing communication sessions during multi-mode mobile station handoff
US20070111752A1 (en) * 2005-11-15 2007-05-17 Pazhyannur Rajesh S Mobile station, anchor call server, and method for conducting a call
US8104081B2 (en) * 2005-11-15 2012-01-24 Avaya Inc. IP security with seamless roaming and load balancing
US7903635B2 (en) * 2006-03-02 2011-03-08 Tango Networks, Inc. System and method for enabling DTMF detection in a VoIP network
CN101496387B (zh) * 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的系统和方法
US8180338B1 (en) * 2006-06-14 2012-05-15 Genband Us Llc Selective call anchoring in a multimedia subsystem
US8600006B2 (en) * 2006-12-27 2013-12-03 Genband Us Llc Voice continuity among user terminals
JP2008219461A (ja) 2007-03-05 2008-09-18 Oki Electric Ind Co Ltd 通信履歴情報管理システム、sipクライアント端末、履歴サーバおよび通信履歴情報管理方法
KR101392099B1 (ko) * 2007-05-21 2014-05-08 삼성전자주식회사 패킷 네트워크 시스템과 회선 네트워크 시스템간의 호를 핸드오버하는 장치 및 방법
US20090003359A1 (en) * 2007-06-29 2009-01-01 Cisco Technology, Inc. Selecting a Visited Bearer Manager (VBM)
WO2009037735A1 (ja) * 2007-09-18 2009-03-26 Fujitsu Limited セッション管理の移行に係る通信方法、通信システム、サーバ、およびプログラム
US8385248B2 (en) * 2007-12-13 2013-02-26 Posco ICT Co., Ltd. System and method for multicast and broadcast service
US8516256B2 (en) * 2008-01-18 2013-08-20 Telefonaktiebolaget L M Ericsson (Publ) Route optimization in mobile IP networks
US8539240B2 (en) * 2008-01-28 2013-09-17 Seagate Technology Llc Rights object authentication in anchor point-based digital rights management
EP2109285A1 (de) * 2008-04-11 2009-10-14 Hewlett-Packard Development Company, L.P. Konferenzsystem und -verfahren
WO2010022082A1 (en) * 2008-08-18 2010-02-25 Starent Networks, Corp Combined gateway for network communications
US20100106748A1 (en) * 2008-10-23 2010-04-29 Verizon Business Network Services Inc. Method and system for logging and storing heterogeneous communication sessions
CN101420432B (zh) 2008-12-01 2012-10-17 华为技术有限公司 一种ims监听的实现方法、系统及装置
US8032624B2 (en) 2009-06-19 2011-10-04 Avaya Inc. Pluggable contact resolution
US9843650B2 (en) 2009-09-03 2017-12-12 Avaya Inc. Intelligent module sequencing
US8804936B2 (en) 2009-10-06 2014-08-12 Avaya Inc. Shared media access for real time first and third party media control
US8600386B2 (en) * 2009-10-15 2013-12-03 Ubeeairwalk, Inc. System and method for providing extending femtocell coverage
EP2496014B1 (de) * 2009-10-30 2018-12-05 Alcatel Lucent Verfahren, netzwerkeinheiten und system zur reduzierung der signalisierungsverzögerung bei isc-sitzungsübertragung
US20110153809A1 (en) 2009-12-23 2011-06-23 Microsoft Corporation Legal Intercept
US9450989B2 (en) * 2010-05-19 2016-09-20 Avaya Inc. SIP anchor points to populate common communication logs
US8886789B2 (en) * 2010-05-19 2014-11-11 Avaya Inc. SIP monitoring and control anchor points

Also Published As

Publication number Publication date
CN102255889B (zh) 2015-05-20
GB201108366D0 (en) 2011-06-29
US20110289203A1 (en) 2011-11-24
US8886789B2 (en) 2014-11-11
DE102011101961B4 (de) 2020-09-24
GB2480551B (en) 2012-08-15
CN102255889A (zh) 2011-11-23
GB2480551A (en) 2011-11-23

Similar Documents

Publication Publication Date Title
DE102011101961B4 (de) SIP-Überwachungs-und Steuerungsankerpunkte
DE102011101963B4 (de) SIP-Ankerpunkte zum Belegen von gemeinsamen Kommunikationsprotokollen
DE102010010689B4 (de) Join-US-Anruferprotokoll- und Anruferbeantwortungsnachrichten
DE60013227T2 (de) Kommunikationsdienstenanbieten
DE602004007864T2 (de) Architektur für ein ausdehnbares Echtzeitzusammenarbeitssystem
DE112010004319B4 (de) Vermittlung von Kommunikationen zwischen verschiedenen Netzwerken basierend auf Gerätefähigkeiten
DE60218906T2 (de) Dienstzugang und Fernsprechkonferenzsystem und -verfahren in einem Telekommunikationsnetzwerk
DE60104532T2 (de) Proxy-vorrichtung und -verfahren
DE69736930T2 (de) Audiokonferenzsystem auf Netzwerkbasis
DE602005001607T2 (de) Verfahren und Vorrichtung zur Bereitstellung von Multimedia-Rückruf-Diensten zu Benutzergeräten in IMS-Netzen.
DE102006039170B4 (de) Verfahren zum Anbieten eines Call Center-Dienstes in einem Peer-to-Peer-Netzwerk
DE102011122179A1 (de) Hochgradig skalierbarer und verteilter Anruf-/Medienmodellierungs- und -Steuerungsrahmen
DE60008483T2 (de) Telefondiensten in einem Kommunikationsnetzwerk
DE112010004620T5 (de) Anzeige von Identitäteninformationen für Peer-to-Peer-Sitzungen
DE102012001394A1 (de) Gemeinsamer Medienzugang für Echtzeit-Erst- und Drittparteisteuerung
DE102011120635A1 (de) Dieser Anruf
DE10345051B4 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizierenden Kommunikationsnetzwerk
DE102008062982A1 (de) Abrechnungsstelle zum Publizieren/Abonnieren der von verteilten Telekommunikationssystemen ausgehenden Zustandsdaten
DE60020879T2 (de) Verteilung von ortsinformationen in ip-netzen durch intelligente endpunkte
DE102009043292A1 (de) Kurze Impromptu-Kommunikationen in anwesenheitsbasierten Systemen
EP2875626B1 (de) Verfahren und anordnung zum aufbau einer telekommunikationsverbindung
DE102016000870B4 (de) Verfahren zum Ausführen einer Anrufsteuerung eines Clients auf einem einer Benutzer repräsentierenden Telefonie-Endpunkt sowie einen hierfür ausgebildeten Porthandler
DE102018208059B4 (de) Computer-Telefonie-Integration-(CTI)-Steuerung mehrerer Geräte mit einer einzigen eingetragenen Adresse
DE10345072B4 (de) Verfahren zum Aufbau einer Kommunikationsverbindung in einem direkt kommunizerenden Kommunikationsnetzwerk
DE102007009135B4 (de) Verteilte Konferenz über Verbindung zwischen PBX und Konferenzbrücke

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000