-
STAND DER TECHNIK
-
Die Computer-Telefonie-Integration (CTI) ermöglicht die Anrufsteuerung durch eine dritte Partei. CTI ist weit verbreitet in Unified-Communication-Anwendungen und im Contact-Center-Bereich. Der Vorteil dieser Technologie ist weithin bekannt. CTI erlaubt jeder autorisierten Anwendung die Steuerung eines separates Geräts für die Zwecke der Durchführung von Anrufen oder der Steuerung existierender Anrufe.
-
Eine geläufige Nutzung von CTI ist es, „Click to Call“ von einer Website oder einer anderen Anwendung aus zu ermöglichen, wodurch es einem Benutzer erlaubt wird, ganz einfach jemanden aus seiner Kontaktliste oder aus einem Unternehmensverzeichnis anzuwählen. Oftmals erfolgt ein Nachschlagen auf einem Personal Computer (PC) eines Benutzers, und dann wird der Anruf von einem Tischtelefon eines Benutzers gestartet. Ein weiteres Beispiel ist es, wenn eine CTI-Anwendung verwendet wird, um einen eingehenden Anruf anzunehmen.
-
Ein Problem entsteht jedoch, wenn ein Benutzer über mehrere Geräte/Soft-Clients verfügt, für die eine einzelne eingetragene Adresse (z. B. eine einzige Telefonnummer) registriert ist. Telefonnummern waren traditionell die einzige Kennung, die durch CTI-APIs (Application Programming Interfaces, Anwendungsprogrammierschnittstellen) zum Identifizieren eines Geräts verwendet wurden. Aktuelle CTI-Anwendungen gehen von einer Annahme aus, dass ein einzelnes Gerät mit einer Telefonnummer assoziiert ist. Diese Annahme führt zu Problemen bei aktuellen Kommunikationslösungen. Benutzer verfügen oftmals über ein Tischtelefon, ein Mobiltelefon und Soft-Clients auf mehreren Geräten wie z. B. Laptops und Tablets. Diese Clients sind unter einer einzigen eingetragenen Adresse registriert. Wenn ein Anruf unter Verwendung einer Telefonnummer empfangen wird, die mit mehreren Kommunikationsendpunkten assoziiert ist, empfangen alle die Kommunikationsendpunkte denselben Anruf. Außerdem kann jeder der Clients unter Verwendung derselben Telefonnummer/eingetragenen Adresse einen Anruf aufbauen.
-
Die aktuelle Lösung, dass mehrere Geräte mit einer Telefonnummer/Adresse assoziiert sind, ist inkompatibel mit existierenden CTI-Anwendungen, die nur mit einer einzigen Telefonnummer arbeiten.
-
ZUSAMMENFASSUNG
-
Auf diese und andere Bedürfnisse sind die verschiedenen Ausführungsformen und Konfigurationen der vorliegenden Offenbarung ausgerichtet. Zum Umgang mit mehreren Kommunikationsendpunkten, die eine einzelne eingetragene Adresse (z. B. eine Telefonnummer) verwenden, wird eine Liste von Anzeigenamen für die mehreren Kommunikationsendpunkte ermittelt. Die Anzeigenamen identifizieren individuelle Kommunikationsendpunkte. Ein Anzeigename kann zum Beispiel „Joes Tisch“ sein. Wenn eine CTI-Anwendung (Computer-Telefonie-Integration) mit einer Kommunikationssitzung assoziiert ist, wird einem Benutzer die Liste von Anzeigenamen präsentiert. Der Benutzer wählt einen der Anzeigenamen aus. Das führt dazu, dass eine Nachricht gesendet wird, die einen mit dem ausgewählten Anzeigenamen assoziierten Kommunikationsendpunkt angibt. Die Nachricht mit dem Anzeigenamen bewirkt, dass automatisch eine neue Kommunikationssitzung von dem Kommunikationsendpunkt aufgebaut wird, welcher mit dem ausgewählten Anzeigenamen assoziiert ist, oder dass automatisch eine gegabelte Kommunikationssitzung mit dem Kommunikationsendpunkt angenommen wird, welcher mit dem ausgewählten Anzeigenamen assoziiert ist.
-
Die Formulierungen „mindestens ein/eine“, „ein/eine oder mehrere“, „oder“ und „und/oder“ sind offen zu verstehende Ausdrücke, die sowohl konjunktiv als auch disjunktiv verwendet werden. Zum Beispiel bedeutet jeder der Ausdrücke „mindestens eines von A, B und C“, „mindestens eines von A, B oder C“, „eines oder mehrere von A, B und C“, „eines oder mehrere von A, B oder C“ und „A, B und/oder C“ und „A, B oder C“ A alleine, B alleine, C alleine, A und B zusammen, A und C zusammen, B und C zusammen oder A, B und C zusammen.
-
Der Begriff „eine“ Einheit bezieht sich auf ein oder mehrere dieser Einheiten. Als solches können die Begriffe „ein/eine“, „ein/eine oder mehrere“ und „mindestens ein/eine“ hier austauschbar verwendet werden. Es sei auch darauf hingewiesen, dass die Begriffe „umfassend“, „enthaltend“, „einschließlich“ und „aufweisend“ austauschbar verwendet werden können.
-
Der Begriff „automatisch“ und Variationen davon, wie sie hier verwendet werden, bezieht sich auf einen Prozess oder Vorgang, der in der Regel kontinuierlich oder halbkontinuierlich ist und ohne erhebliches menschliches Zutun erfolgt, wenn der Prozess oder Vorgang durchgeführt wird. Allerdings kann ein Prozess oder Vorgang automatisch sein, obwohl zur Durchführung des Prozesses oder Vorgangs erhebliches oder unerhebliches menschliches Zutun verwendet wird, wenn das Zutun vor der Durchführung des Prozesses oder Vorgangs empfangen wird. Menschliches Zutun wird als erheblich angesehen, wenn ein solches Zutun Einfluss darauf hat, wie der Prozess oder Vorgang durchgeführt wird. Menschliches Zutun, das der Durchführung des Prozesses oder Vorgangs zustimmt, wird nicht als „erheblich“ angesehen.
-
Aspekte der vorliegenden Offenbarung können die Form einer völligen Hardware-Ausführungsform, einer völligen Software-Ausführungsform (einschließlich Firmware, residente Software, Microcode usw.) oder einer Ausführungsform mit einer Kombination von Software- und Hardware-Aspekten haben, die alle hier allgemein als eine „Schaltung“, ein „Modul“ oder ein „System“ bezeichnet werden. Jede Kombination aus einem oder mehreren computerlesbaren Medien kann genutzt werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein.
-
Ein computerlesbares Speichermedium kann zum Beispiel unter anderem sein: ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem bzw. eine solche Vorrichtung oder ein solches Gerät oder eine geeignete Kombination aus den vorstehenden. Konkretere Beispiele (eine nicht erschöpfende Auflistung) des computerlesbaren Speichermediums würden Folgendes beinhalten: eine elektrische Verbindung, die über ein oder mehrere Drähte verfügt, eine tragbare Computer-Diskette, eine Festplatte, einen Direktzugriffsspeicher (Random Access Memory, RAM), einen Festwertspeicher (Read-Only Memory, ROM), einen löschbaren programmierbaren Festwertspeicher (Erasable Programmable Read-Only Memory, EPROM oder Flash-Speicher), eine Glasfaser, einen tragbaren Compact Disc-Festwertspeicher (Compact Disk Read-Only Memory, CD-ROM), ein optisches Speichergerät, ein magnetisches Speichergerät oder jede geeignete Kombination aus den vorstehenden. Im Kontext des vorliegenden Dokuments kann ein computerlesbares Speichermedium jedes materielle Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem Anweisungsausführungssystem bzw. einer solchen Vorrichtung oder eines solchen Geräts enthält oder speichert.
-
Ein computerlesbares Signalmedium kann ein übertragenes Datensignal mit darin verkörpertem computerlesbaren Programmcode sein, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Eine solches übertragenes Signal kann eine beliebige aus einer Vielzahl von Formen haben, einschließlich unter anderem eine elektromagnetische oder optische Form oder eine geeignete Kombination davon. Ein computerlesbares Signalmedium kann jedes computerlesbare Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem Anweisungsausführungssystem bzw. einer solchen Vorrichtung oder einem solchen Gerät kommunizieren, übertragen oder transportieren kann. Der auf einem computerlesbaren Medium verkörperte Programmcode kann mit einem beliebigen geeigneten Medium übertragen werden, einschließlich unter anderem drahtlos, drahtgebunden, über Glasfaserkabel, HF usw. oder mit jeder geeigneten Kombination aus den Vorstehenden.
-
Die Begriffe „ermitteln“, „berechnen“ und „errechnen“ und Variationen davon, wie sie hier verwendet werden, sind gleichbedeutend und schließen eine beliebige Art von Methodik, Prozess, mathematischer Operation oder Technik ein.
-
Der Begriff „Mittel“, wie er hier verwendet wird, soll seine weitestmögliche Bedeutung im Sinne des United States Code (U.S.C.), Abschnitt 35, Paragraf 112(f) und/oder Paragraf 112, Absatz 6 haben. Dementsprechend soll ein Patentanspruch, der den Begriff „Mittel“ enthält, alle Strukturen, Materialien oder Handlungen sowie alle Entsprechungen davon abdecken. Des Weiteren sollen die Strukturen, Materialien oder Handlungen sowie alle Entsprechungen davon alle solchen einschließen, die in der Zusammenfassung, der kurzen Beschreibung der Zeichnungen, der detaillierten Beschreibung, der Zusammenfassung der Offenbarung und der eigentlichen Patentansprüche beschrieben sind.
-
Das Vorstehende ist eine vereinfachte Zusammenfassung, um ein Verständnis für einige Aspekte der vorliegenden Offenbarung zu vermitteln. Diese Zusammenfassung ist weder eine umfassende noch eine vollständige Übersicht der vorliegenden Offenbarung und ihrer verschiedenen Ausführungsformen. Sie beabsichtigt weder, entscheidende oder wichtige Elemente der vorliegenden Offenbarung zu identifizieren, noch den Geltungsbereich der vorliegenden Offenbarung abzugrenzen, sondern soll ausgewählte Konzepte der vorliegenden Offenbarung in einer vereinfachten Form als eine Einführung in die nachstehend präsentierte detaillierte Beschreibung präsentieren. Wie verständlich sein sollte, sind andere Ausführungsformen der vorliegenden Offenbarung möglich, die allein oder in Kombination eines oder mehrere der oben dargelegten oder nachstehend detailliert beschriebenen Merkmale nutzen. Außerdem wird die vorliegende Offenbarung zwar in Form von exemplarischen Ausführungsformen präsentiert, es sollte jedoch verständlich sein, dass einzelne Aspekte der vorliegenden Offenbarung auch separat beansprucht werden können.
-
Figurenliste
-
- 1 ist ein Blockschaltbild eines ersten veranschaulichenden Systems zur CTI-Steuerung (Computer-Telefonie-Integration) von mehreren Kommunikationsendpunkten, die eine einzige eingetragene Adresse verwenden.
- 2 ist eine schematische Darstellung einer Computeranzeige, mit der einem Benutzer eine Liste von Anzeigenamen zur Auswahl präsentiert wird.
- 3 ist ein Ablaufdiagramm der Registrierung eines Anzeigenamens durch Kommunikationsendpunkte.
- 4 ist ein Ablaufdiagramm eines Prozesses zum Einleiten einer Kommunikationssitzung von einem individuellen Kommunikationsendpunkt aus einer Mehrzahl von Kommunikationsendpunkten, die eine einzige eingetragene Adresse verwenden.
- 5 ist ein Ablaufdiagramm eines Prozesses zur Empfangen einer Kommunikation an einem individuellen Kommunikationsendpunkt aus einer Mehrzahl von Kommunikationsendpunkten, die eine einzige eingetragene Adresse verwenden.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist ein Blockschaltbild eines ersten veranschaulichenden Systems 100 zur CTI-Steuerung (Computer-Telefonie-Integration) von mehreren Kommunikationsendpunkten 101, die eine einzige eingetragene Adresse verwenden. Das erste veranschaulichende System 100 umfasst die Kommunikationsendpunkte 101A-101N, ein Netzwerk 110, einen Kommunikationsserver 120 und einen Anwendungsserver 130.
-
Die Kommunikationsendpunkte 101A-101N können ein beliebiges Benutzer-Kommunikationsendpunktgerät sein oder enthalten, das über das Netzwerk 110, wie z. B. einen Personal Computer (PC), ein Telefon, ein Mobiltelefon, einen PDA (Personal Digital Assistant), ein Tablet-Gerät, ein Notebook, ein Smartphone und/oder dergleichen kommunizieren kann. Die Kommunikationsendpunkte 101A-101N sind Geräte, an denen eine Kommunikationssitzung endet. Zum Beispiel können ein oder mehrere der Kommunikationsendpunkte 101A-101N ein Softphone oder ein Mobilgerät umfassen. Die Kommunikationsendpunkte 101A-101N sind keine Netzwerkelemente, die eine Kommunikationssitzung in dem Netzwerk erleichtern und/oder weiterleiten, wie z. B. der Kommunikationsserver 120, ein Router, ein Switch und/oder dergleichen. Wie in 1 dargestellt, kann jede beliebige Anzahl von Kommunikationsgeräten 101A-101N mit dem Netzwerk 110 verbunden sein.
-
Das Netzwerk 110 kann jede beliebige Zusammenstellung von Kommunikationsausrüstung sein bzw. enthalten, mit denen sich elektronische Kommunikation senden und empfangen lässt, wie z. B. das Internet, ein Weitverkehrsnetz (Wide Area Network, WAN), ein lokales Netz (Local Area Network, LAN), ein Voice-over-IP-Netzwerk (VoIP), das öffentliche Fernsprechnetz (Public Switched Telephone Network, PSTN), ein paketvermitteltes Netz, ein leitungsvermitteltes Netz, ein Mobilfunknetz, eine Kombination aus diesen und dergleichen. Das Netzwerk 110 kann eine Vielzahl von elektronischen Protokollen wie z. B. Ethernet, IP (Internet Protocol), SIP (Session Initiation Protocol), ISDN (Integrated Services Digital Network) und dergleichen verwenden. Somit ist das Netzwerk 110 ein elektronisches Kommunikationsnetzwerk, das dazu konfiguriert ist, Nachrichten über Pakete und/oder leitungsvermittelte Kommunikation zu transportieren.
-
Der Kommunikationsserver 120 kann jedes beliebige Hardware-System sein bzw. enthalten, das die Kommunikation über das Netzwerk 110 erleichtern kann, wie z. B. ein Sitzungsmanager, ein Kommunikationsmanager, ein Proxy-Server, eine Nebenstellenanlage (Private Branch Exchange, PBX), eine Hauptvermittlungsstelle, ein Router und/oder dergleichen.
-
Der Anwendungsserver 130 kann jedes beliebige Hardware-System sein bzw. enthalten, das Kommunikationsanwendungen 131 hosten kann, wie z. B. ein Web-Server, ein Medien-Server, ein Kommunikationsserver 120, ein Voice-Mail-System, ein Sprachaufnahme-Server, ein Konferenz-Server und/oder dergleichen. In einer Ausführungsform kann der Anwendungsserver 130 Bestandteil des Kommunikationsservers 120 sein.
-
Die Kommunikationsanwendung(en) 131 kann (bzw. können) jede Anwendung sein, die verwendet wird/werden, um die Kommunikationssitzungen zu verwalten, wie z. B. eine Aufnahmeanwendung, eine Kalenderanwendung, eine Anrufaufbauanwendung, eine Telefonieanwendung, eine Videoanwendung, eine Instant-Messaging-Anwendung, eine E-Mail-Anwendung, eine Anrufüberwachungsanwendung, eine Konferenzanwendung und/oder dergleichen. Die Kommunikationsanwendung(en) 131 kommuniziert (bzw. kommunizieren) mit dem Kommunikationsserver 120 über eine Anwendungsprogrammierschnittstelle (Application Programming Interface, API). Zum Beispiel kann die API eine Telefoniedienst-API (Telephony Services Application Programming Interface, TSAPI), eine XML-Schnittstelle (Extended Markup Language), eine JSAPI-Anwendung (Java Speech API), eine Fernmeldeanwendung und/oder dergleichen sein. Die Kommunikationsanwendung 131 ermöglicht einer Drittpartei-Kommunikationsanwendung 131 die Steuerung einer Kommunikationssitzung auf verschiedenen Wegen.
-
In 1 kann es mehrere Kommunikationsanwendungen 131 auf dem Anwendungsserver 130 geben. Zum Beispiel kann der Kommunikationsserver 130 ein Multithreading-Betriebssystem sein, das verschiedene Arten von Kommunikationsanwendungen 131 unterstützt. Wenn es mehrere Kommunikationsanwendungen 131 gibt, dann kann jeder der hier beschriebenen Prozesse für jede der mehreren Kommunikationsanwendungen 131 verwendet werden.
-
2 ist eine schematische Darstellung einer Computeranzeige, mit der einem Benutzer eine Liste von Anzeigenamen 210 zur Auswahl präsentiert wird. Die Anzeige ist als ein vom Computer erzeugtes Fenster 200 dargestellt, das die Liste von Anzeigenamen 210 enthält. Die Liste von Anzeigenamen 210 besteht aus zwei oder mehr Anzeigenamen. In 2 besteht die Liste von Anzeigenamen 210 aus zwei Gruppen von Anzeigenamen 211, die mit einer eingetragenen Adresse assoziiert sind. Eine eingetragene Adresse ist eine Adresse, die verwendet wird, um einen Kommunikationsendpunkt 101 für eine Kommunikationssitzung mit einem Benutzer bzw. einer Einheit zu verknüpfen, was z. B. eine Telefonnummer, eine SIP-URI (Uniform Resource Identifier) (z. B. bob@firmaxyz.com) oder dergleichen ist. Die beiden Gruppen von Anzeigenamen 211 sind: 1) die Anzeigenamen 211A-211C, die mit der eingetragenen Adresse 123-456-7890 220 assoziiert sind, und 2) der Anzeigename 211N, der mit der eingetragenen Adresse 123-456-9999 assoziiert ist. In 3 kann die Liste von Anzeigenamen 210 nur eine einzige Gruppe 220 von Anzeigenamen 211 sein, die mit einer einzigen eingetragenen Adresse assoziiert sind. Zum Beispiel kann die Liste von Anzeigenamen 210 nur die Anzeigenamen 211A-211C umfassen.
-
Ein Anzeigename 211 ist ein Name, den ein Benutzer mit einem bestimmten Kommunikationsendpunkt 101 assoziiert (z. B. mit einem Softphone im Kommunikationsendpunkt 101N, mit einem mobilen Kommunikationsgerät, mit einem Tischtelefon usw.). Ein Anzeigename 211 kann auf verschiedene Art und Weise mit einem Kommunikationsendpunkt 101 assoziiert sein. Zum Beispiel kann der Benutzer einen Anzeigenamen 211 basierend auf der Eingabe über eine grafische Benutzeroberfläche auf einen Kommunikationsendpunkt 101, über einen Standardnamen, über ein Administrationsendgerät (nicht dargestellt) und/oder dergleichen assoziieren.
-
Die Liste von Anzeigenamen 210 ist der Ort, wo ein Benutzer einen Anzeigenamen 211 mit einem bestimmten Kommunikationsendpunkt 101 assoziiert hat. Zum Beispiel sind in 2 vier Anzeigenamen 211A-211N in der Liste von Anzeigenamen 210 angezeigt: 1) John Mobil, 2) John Tablet, 3) John Tisch und 4) ein Labortelefon. Jeder der Anzeigenamen 211A-211N ist mit einem Kommunikationsendpunkt 101 assoziiert. Zum Beispiel kann der Anzeigename 211A (John Mobil) mit dem Kommunikationsendpunkt 101B assoziiert sein, der Anzeigename 211B (John Tablet) mit dem Kommunikationsendpunkt 101N, der Anzeigename 211C (John Tisch) mit dem Kommunikationsendpunkt 101A, und der Anzeigename 211N (Labortelefon) kann mit einem anderen Kommunikationsendpunkt 101 assoziiert sein.
-
In 2 hat ein Benutzer den Anzeigenamen 211C (John Tisch) ausgewählt. Der Benutzer kann den Anzeigenamen 211C auf unterschiedliche Weise auswählen, z. B. mit Hilfe eines Cursors, über einen Sprachbefehl, über einen Touchscreen und/oder dergleichen. Die Auswahl ist dargestellt, bei der der Anzeigename 211C hervorgehoben ist. Die Auswahl eines Anzeigenamens 211 ermöglicht einem Benutzer das Auswählen eines individuellen Kommunikationsendpunkts 101, der mit dem Anzeigenamen 211 assoziiert ist, für die Steuerung durch die Kommunikationsanwendung 131.
-
In einer Ausführungsform kann die präsentierte Liste von Anzeigenamen 210 eine Teilmenge der Liste von Anzeigenamen 210 sein. Zum Beispiel kann die präsentierte Liste von Anzeigenamen 210 basierend auf einem Typ der Kommunikationssitzung angezeigt werden. Wenn zum Beispiel der Kommunikationstyp eine Videokommunikationssitzung ist, dann werden nur Anzeigenamen 211 angezeigt, die mit Kommunikationsendpunkten 101 assoziiert sind, die Video unterstützen. Wenn der Typ der Kommunikationssitzung eine Instant-Messaging-(IM)-Kommunikationssitzung ist, dann werden nur Kommunikationsendpunkte 101 angezeigt, die IM-Kommunikation unterstützen können.
-
3 ist ein Ablaufdiagramm der Registrierung eines Anzeigenamens 211 durch Kommunikationsendpunkte 101A-101B. Zur Veranschaulichung sind die Kommunikationsendpunkte 101A-101N, der Kommunikationsserver 120, der Anwendungsserver 130 und die Kommunikationsanwendung(en) 131 durch gespeicherte Programme gesteuerte Einheiten, wie z. B. ein Computer oder ein Mikroprozessor, die das Verfahren von 3-5 und die hier beschriebenen Prozesse durchführen, indem Programmanweisungen ausgeführt werden, die in einem computerlesbaren Speichermedium gespeichert sind, z. B. in einem Arbeitsspeicher oder auf einem Datenträger. Obwohl die in 3-5 beschriebenen Verfahren in einer bestimmten Reihenfolge dargestellt sind, sollte dem durchschnittlichen Fachmann auf dem Gebiet der Technik einleuchten, dass die Schritte in 3-5 in verschiedenen Reihenfolgen und/oder in einer Multithreading-Umgebung implementiert werden können. Darüber hinaus können je nach Implementierung verschiedene Schritte ausgelassen oder hinzugefügt werden.
-
Die Beschreibung von 3-5 beschreibt die Kommunikation zwischen den Kommunikationsendpunkten 101A-101N und dem Kommunikationsserver 120 unter Verwendung von SIP-Messaging (Session Initiation Protocol). SIP ist ein Standardprotokoll, das im Bereich der Telekommunikation gut bekannt ist. 3-5 offenbaren die Verwendung verschiedener Standard-SIP-Nachrichten (z. B. einer SIP-INVITE-Nachricht, einer SIP-REGISTER-Nachricht usw.), die in RFC 3261 der Network Working Group „SIP: Session Initiation Protocol“ vom Juni 2002 definiert sind, das hier in seiner Gänze als Verweis einbezogen wird. Allerdings können in anderen Ausführungsformen andere Arten von Protokollen zwischen den Kommunikationsendpunkten 101A-101N und dem Kommunikationsserver 120 verwendet werden, wie z. B. H.323, das WebRTC-Protokoll (Web Real-Time Communication), Videoprotokolle und/oder dergleichen.
-
In 3-5 ist die Kommunikation zwischen dem Kommunikationsserver 120 und dem Anwendungsserver 130 bzw. der Kommunikationsanwendung 131 beschrieben, wobei generische Nachrichten verwendet werden, deren Implementierung durch verschiedene Messaging-Protokolle erfolgen kann, wie z. B. eine TSAPI (Telephony Services Application Programming Interface), ein XML-Kommunikationsprotokoll (Extended Markup Language), ein JTAPI-Protokoll (Java Telephone API), ein HTTP-Protokoll (Hyper Text Transport Protocol), ein REST-Protokoll (Representational State Transfer), ein benutzerdefiniertes Protokoll und/oder dergleichen. Unabhängig von den in 3-5 tatsächlich verwendeten Protokollen wird der durchschnittliche Fachmann auf dem Gebiet der Technik in der Lage sein, die Prozesse aus 3-5 auch mit anderen Protokollen als den hier beschriebenen zu implementieren.
-
Der Prozess von 3 startet mit Schritt 300, wenn ein Benutzer des Kommunikationsendpunkts 101A einen Anzeigenamen 211 auf dem Kommunikationsendpunkt 101A eingibt. Zum Beispiel kann der Benutzer eine Maus, einen Touchscreen, eine Tastatur, eine Sprachschnittstelle und/oder dergleichen verwenden, um auf dem Kommunikationsendpunkt 101A einen Anzeigenamen 211 einzugeben. In einer Ausführungsform gibt der Benutzer den Anzeigenamen 211 ein, nachdem er sich auf dem Kommunikationsendpunkt 101A authentifiziert hat. Als Reaktion auf die Benutzereingabe des Anzeigenamens 211 in Schritt 300 sendet der Kommunikationsendpunkt 101A in Schritt 302 eine SIP-REGISTER-Nachricht, die den Anzeigenamen 211 enthält. In einer Ausführungsform wird der Anzeigename 211, der in der SIP-REGISTER-Nachricht aus Schritt 302 gesendet wird, in einem SIP-Contact-Header gesendet, der ein definierter SIP-Header ist. Alternativ kann der Anzeigename 211 in anderen SIP-Headern oder in einem proprietären Header gesendet werden.
-
Der Kommunikationsserver 120 empfängt die SIP-REGISTER-Nachricht aus Schritt 302. Der Kommunikationsserver 120 hat zuvor definiert, welche Kommunikationsendpunkte 101 mit einer eingetragenen Adresse assoziiert wurden. Zum Beispiel verfügt, wie in 2 dargestellt, die eingetragene Adresse (Telefonnummer) 123-456-7890 über drei Kommunikationsendpunkte 101, die mit der eingetragenen Adresse 123-456-7890 assoziiert sind. Der Kommunikationsserver 120 ordnet in Schritt 303 den in Schritt 302 empfangenen Anzeigenamen 211 dem spezifischen Kommunikationsendpunkt 101 zu, der den Anzeigenamen in Schritt 302 gesendet hat.
-
Der Kommunikationsserver 120 sendet in Schritt 304 eine Registriert-Nachricht an den Anwendungsserver 130 bzw. die Kommunikationsanwendung 131, die den in Schritt 300 eingegebenen Anzeigenamen 211 enthält. Zusätzlich kann die Registriert-Nachricht aus Schritt 304 eine Gerätekennung enthalten, die eindeutig ist (z. B. einen Globally Routable Uniform Resource Identifier). Zum Beispiel kann die Nachricht aus Schritt 304 den Anzeigenamen „John Tisch“ (211C aus 2) umfassen. Zusätzlich kann die Nachricht aus Schritt 304 auch die eingetragene Adresse (123-456-7890) umfassen, sodass die Kommunikationsanwendung 131 ermitteln kann, welche Anzeigenamen 211 mit welchen eingetragenen Adressen in der Liste von Anzeigenamen 210 assoziiert sind.
-
Die Anmeldenamen-Registrieren-Nachricht aus Schritt 304 kann zum Beispiel mithilfe von TSAPI implementiert werden. In Schritt 306 gibt ein Benutzer an dem Kommunikationsendpunkt 101B einen Anzeigenamen 211 an dem Kommunikationsendpunkt 101B ein. Als Reaktion auf die Benutzereingabe des Anzeigenamens 211 in Schritt 306 sendet der Kommunikationsendpunkt 101B in Schritt 308 eine SIP-REGISTER-Nachricht, die den Anzeigenamen 211 enthält. In einer Ausführungsform wird der Anzeigename 211, der in der SIP-REGISTER-Nachricht aus Schritt 308 gesendet wird, in einem SIP-Contact-Header gesendet, der ein definierter SIP-Header ist. Alternativ kann der Anzeigename 211 in anderen SIP-Headern oder in einem proprietären Header gesendet werden.
-
Der Kommunikationsserver 120 empfängt die SIP-REGISTER-Nachricht aus Schritt 308. Der Kommunikationsserver 120 ordnet in Schritt 309 den in Schritt 308 empfangenen Anzeigenamen 211 dem spezifischen Kommunikationsendpunkt 101 zu. Der Kommunikationsserver 120 sendet in Schritt 310 eine Registriert-Nachricht an den Anwendungsserver 130 bzw. die Kommunikationsanwendung 131, die den in Schritt 306 eingegebenen Anzeigenamen 211 enthält. Zusätzlich kann die Registriert-Nachricht aus Schritt 310 eine Gerätekennung enthalten, die eindeutig ist (z. B. einen Globally Routable Uniform Resource Identifier). Die Nachricht aus Schritt 310 kann auch die assoziierte eingetragene Adresse enthalten. An dieser Stelle verfügt die Kommunikationsanwendung 131 über die Liste von Anzeigenamen 210 zusammen mit der eingetragenen Adresse, die mit der Liste von Anzeigenamen 210 assoziiert ist.
-
3 zeigt nur die Registrierung von zwei Kommunikationsendpunkten 101A-101B. Jedoch können zusätzliche Kommunikationsendpunkte 101 ihre Anzeigenamen 211 in einer ähnlichen Art und Weise registrieren. Zum Beispiel kann der Kommunikationsendpunkt 101N seinen Anzeigenamen unter Verwendung eines ähnlichen Prozesses registrieren.
-
In einer Ausführungsform kann ein Kommunikationsendpunkt 101 mehrere SIP-REGISTER-Nachrichten senden, welche zwei Kommunikationsendpunkte 101 mit verschiedenen eingetragenen Adressen assoziieren. Zum Beispiel kann, wie in 2 dargestellt, der Benutzer den Anzeigenamen 211N „Labortelefon“ assoziieren, sodass der Anzeigename 211N „Labortelefon“ in der Liste von Anzeigenamen 210 angezeigt werden kann. Auf diese Weise kann der Benutzer in die Lage versetzt werden, einen anderen Kommunikationsendpunkt 101 als diejenigen auszuwählen, die mit der eingetragenen Adresse des Benutzers für die Verwendung durch die Kommunikationsanwendung 131 assoziiert sind.
-
4 ist ein Ablaufdiagramm eines Prozesses zum Einleiten einer Kommunikationssitzung von einem individuellen Kommunikationsendpunkt 101 aus einer Mehrzahl von Kommunikationsendpunkten 101, die eine einzige eingetragene Adresse verwenden. Der Prozess beginnt in Schritt 400, wo ein erfasstes Ereignis dazu führt, dass es in der Kommunikationsanwendung 131 einen Bedarf zum Aufbau einer Kommunikationssitzung gibt. Das erfasste Ereignis kann durch die Kommunikationsanwendung 131 erkannt werden, oder es kann außerhalb der Kommunikationsanwendung 131 erkannt werden. Das Auftreten des erfassten Ereignisses kann auf verschiedenen Kriterien basieren. Zum Beispiel kann das erfasste Ereignis auftreten, wenn im Kalender eines Benutzers eine Telefonkonferenz geplant ist, das erfasste Ereignis kann auf einem Ereignis in einem Contact Center basieren (z. B. ein geplanter Rückruf), das Ereignis kann ein Anrufumlegungsereignis sein, bei dem ein Anruf unter Verwendung der eingetragenen Adresse des Benutzers umgelegt wird, und/oder dergleichen. Alternativ kann das erfasste Ereignis auftreten, wenn ein Benutzer einen Click-to-Call-Vorgang aus einer Web-Anwendung oder einer anderen Anwendung startet.
-
Der Anwendungsserver 130 bzw. die Kommunikationsanwendung 131 sendet in Schritt 402 eine Anforderung an den Kommunikationsserver 120, um die Liste der Anzeigenamen 210 zu erhalten. Der Kommunikationsserver 120 reagiert in Schritt 404, indem er die Liste der Anzeigenamen 210 sendet. Die Liste der Anzeigenamen 210 kann auch die assoziierte eingetragene Adresse enthalten. In 4 sind die Schritte 402 und 404 durch gestrichelte Linien dargestellt. Dies bedeutet, dass die Schritte 402 und 404 optional sein können. Zum Beispiel kann die Kommunikationsanwendung 131 die Liste von Anzeigenamen 210 bereits empfangen haben, wie in 3, Schritte 304 und 310 beschrieben. Wenn die Kommunikationsanwendung 131 bereits über die Liste von Anzeigenamen 210 verfügt, dann müssen die Schritte 402 und 404 nicht erfolgen.
-
Nachdem sie die Liste von Anzeigenamen 210 erhalten hat (entweder aus Schritt 404 oder aus den Schritten 304/310), präsentiert die Kommunikationsanwendung 131 dem Benutzer in Schritt 406 die Liste von Anzeigenamen 210 (z. B. wie in 2 dargestellt). Zum Beispiel kann die Kommunikationsanwendung 131 ein Web-Server sein, der die Liste von Anzeigenamen 210 für die Präsentation über eine Webseite generiert. Der Benutzer wählt dann in Schritt 407 einen der Anzeigenamen 211 aus. Zum Beispiel kann, wie in 2 dargestellt, der Benutzer den Anzeigenamen 211C (John Tisch) auswählen.
-
Nachdem durch den Benutzer in Schritt 407 der Anzeigename 211 ausgewählt wurde, sendet der Anwendungsserver 130 bzw. die Kommunikationsanwendung 131 in Schritt 408 eine Anruf-Einleiten-Nachricht an den Kommunikationsserver 120. Die Anruf-Einleiten-Nachricht aus Schritt 408 enthält den ausgewählten Anzeigenamen 211. Alternativ kann die Anruf-Einleiten-Nachricht aus Schritt 408 eine eindeutige Gerätekennung enthalten. Die Anruf-Einleiten-Nachricht aus Schritt 408 enthält auch die eingetragene Adresse und/oder eine eindeutige Gerätekennung für den Kommunikationsendpunkt 101, der die Kommunikationssitzung aufbauen soll. Wenn zum Beispiel der Benutzer in Schritt 407 den Anzeigenamen 211C (John Tisch) ausgewählt hat, enthält die Anruf-Einleiten-Nachricht aus Schritt 408 den Anzeigenamen 211C sowie die eingetragene Adresse 123-456-7890 und die SIP-Contact-Adresse für das Gerät. Außerdem enthält die Anruf-Einleiten-Nachricht aus Schritt 408 die eingetragene Adresse des Kommunikationsendpunkts 101, der angerufen werden soll. Zum Beispiel kann die Anruf-Einleiten-Nachricht aus Schritt 408 den Anzeigenamen 211C (John Tisch), die Telefonnummer 123-456-7890 (Anrufer) und die Telefonnummer 123-456-8888 (Angerufener) enthalten.
-
Der Kommunikationsserver 120 empfängt die Anruf-Einleiten-Nachricht aus Schritt 408. In Schritt 409 schlägt der Kommunikationsserver 120, basierend auf dem Anzeigenamen 211 bzw. auf der eingetragenen Adresse, den Kommunikationsendpunkt 101 nach, der mit dem Anzeigenamen 211 bzw. mit der eingetragenen Adresse assoziiert ist (z. B. wie in Schritt 303 beschrieben). In diesem Beispiel ist der Kommunikationsendpunkt 101, der mit dem Anzeigenamen 211C (John Tisch) assoziiert ist, der Kommunikationsendpunkt 101A. Der Kommunikationsserver 120 schlägt in Schritt 409 auch den Kommunikationsendpunkt 101 nach, der mit der eingetragenen Adresse 123-456-8888 (für den Angerufenen) assoziiert ist. In diesem Beispiel ist der Kommunikationsendpunkt 101N mit der eingetragenen Adresse 123-456-8888 assoziiert.
-
In einer Ausführungsform kann die Anruf-Einleiten-Nachricht aus Schritt 408 nur die Anzeigenamen 211 verwenden. In diesem Beispiel schlägt der Kommunikationsserver 120 in Schritt 409 die assoziierten eingetragenen Adressen nach, um den Anruf einzuleiten.
-
In Schritt 410 sendet der Kommunikationsserver 120 eine Out-of-Dialog-SIP-REFER-Nachricht an den Kommunikationsendpunkt 101A. Der Kommunikationsendpunkt 101A ist in der Out-of-Dialog-SIP-REFER-Nachricht aus Schritt 410 im SIP-Request-URI Feld identifiziert. Die Adresse des Kommunikationsendpunkts 101N befindet sich in der Out-of-Dialog-SIP-REFER-Nachricht aus Schritt 410 in einem SIP-REFER-To-Header. Das SIP-Request-URI-Feld und der SIP-REFER-To-Header sind standardmäßig definierte SIP-Header bzw. -Felder.
-
Der Kommunikationsendpunkt 101A empfängt die Out-of-Dialog-SIP-REFER-Nachricht aus Schritt 410. Als Reaktion auf den Empfang der Out-of-Dialog-SIP-REFER-Nachricht aus Schritt 410 geht der Kommunikationsendpunkt 101A in Schritt 412 automatisch in den „Abgehoben“-Zustand über (z. B. wechselt er zu Freisprecheinrichtung) und wählt automatisch den Kommunikationsendpunkt 101N an. Im Ergebnis dessen sendet der Kommunikationsendpunkt 101A in Schritt 414 eine SIP-INVITE-Nachricht an den Kommunikationsserver 120. Das SIP-Request-URI-Feld in der SIP-INVITE-Nachricht aus Schritt 414 enthält die Kommunikationsadresse (z. B. eine IP-Adresse) des Kommunikationsendpunkts 101N. In Schritt 416 sendet der Kommunikationsserver 120 die SIP-INVITE-Nachricht aus Schritt 414 an den Kommunikationsendpunkt 101N.
-
Den Kommunikationsendpunkt 101N sendet in Schritt 418 eine SIP-200-OK-Nachricht an den Kommunikationsserver 120. In Schritt 420 sendet der Kommunikationsserver 120 die SIP-200-OK-Nachricht aus Schritt 418 an den Kommunikationsendpunkt 101A. Der Kommunikationsendpunkt 101A sendet in Schritt 422 eine SIP-ACK-Nachricht an den Kommunikationsserver 120. In Schritt 424 sendet der Kommunikationsserver 120 die SIP-ACK-Nachricht aus Schritt 422 an den Kommunikationsendpunkt 101N.
-
An dieser Stelle kann in Schritt 426 eine Kommunikationssitzung aufgebaut werden. Zum Beispiel kann unter Verwendung des RTP-Protokolls (Real-Time-Protocol) eine Sprachkommunikationssitzung zwischen den Kommunikationsendpunkten 101A und 101N aufgebaut werden. In Schritt 428 sendet der Kommunikationsserver 120 eine Quittierungsnachricht, die der Kommunikationsanwendung 131 angibt, dass die Kommunikationssitzung zwischen den Kommunikationsendpunkten 101A und 101N aufgebaut wurde.
-
Das folgende Beispiel soll diesen Vorgang verdeutlichen. Der Benutzer John ist mit der eingetragenen Adresse 123-456-7890 assoziiert, und im Kalender von John ist für 13.00 Uhr eine Telefonkonferenz geplant. Der Anruf soll an Sally gehen, deren Telefonnummer 123-456-8888 ist. Um 13.00 Uhr öffnet die Kalenderanwendung 131 ein Fenster, in dem John gefragt wird, ob er die Telefonkonferenz mit Sally starten möchte. John stimmt dem Start der Telefonkonferenz zu, zum Beispiel, indem er auf eine Zustimmen-Schaltfläche klickt. Als Reaktion darauf sendet die Kalenderanwendung 131 in Schritt 402 die Anforderung zum Abrufen der Liste von Anzeigenamen 210. Der Kommunikationsserver 120 sendet in Schritt 404 die Liste der Anzeigenamen 210. Die Kalenderanwendung 131 zeigt John in Schritt 406 die Liste von Anzeigenamen 210 an. John wählt in Schritt 407 den Anzeigenamen 211C (John Tisch) aus. Die Kalenderanwendung 131 sendet in Schritt 408 die Anruf-Einleiten-Nachricht, die den Anzeigenamen bzw. die eingetragene Adresse für John und die eingetragene Adresse für Sallys Kommunikationsendpunkt 101N enthält. Der Kommunikationsserver 120 gleicht in Schritt 409 den Anzeigenamen 211C (John Tisch) bzw. die eingetragene Adresse 123-456-7890 mit dem Kommunikationsendpunkt 101A ab. Der Kommunikationsserver 120 gleicht in Schritt 409 auch die eingetragene Adresse 123-456-8888 mit dem Kommunikationsendpunkt 101N (Sallys Kommunikationsendpunkt 101N) ab. In Schritt 410 sendet der Kommunikationsserver 120 die Out-of-Dialog-SIP-REFER-Nachricht an den Kommunikationsendpunkt 101A. Der Kommunikationsendpunkt 101A geht in den „Abgehoben“-Zustand über und wählt automatisch den Kommunikationsendpunkt 101N (Sallys Kommunikationsendpunkt 101N) an, was dazu führt, dass die SIP-INVITE-Nachrichten aus den Schritten 414/416 gesendet werden. Der Kommunikationsendpunkt 101N sendet in Schritt 418 die SIP-200-OK-Nachricht, die in Schritt 420 zu dem Kommunikationsendpunkt 101A weitergeleitet wird. Der Kommunikationsendpunkt 101A sendet die SIP-ACK-Nachricht aus Schritt 422, die in Schritt 424 an den Kommunikationsendpunkt 101N weitergeleitet wird. Dann wird in Schritt 426 unter Verwendung des RTC-Protokolls ein Sprachanruf zwischen John und Sally aufgebaut. Der Kommunikationsserver 120 sendet in Schritt 428 die ACK-Nachricht aus Schritt 428 an die Kalenderanwendung, die angibt, dass der Anruf zwischen John und Sally aufgebaut wurde. Die Kalenderanwendung kann dann eine Aktualisierung in der Kalenderanwendung platzieren, dass der Anruf zwischen John und Sally tatsächlich stattgefunden hat.
-
5 ist ein Ablaufdiagramm eines Prozesses zum Empfangen einer Kommunikation an einem individuellen Kommunikationsendpunkt 101 aus einer Mehrzahl von Kommunikationsendpunkten 101, die eine einzige eingetragene Adresse verwenden. Der Prozess beginnt in Schritt 500, wo der Kommunikationsendpunkt 101N eine SIP-INVITE-Nachricht an den Kommunikationsserver 120 sendet. Die SIP-INVITE-Nachricht aus Schritt 500 ist auf die eingetragene Adresse 123-456-7890 ausgerichtet. Der Kommunikationsserver 120 schlägt die eingetragene Adresse (123-456-7890) nach und ermittelt, dass es zwei Kommunikationsendpunkte 101A und 101B gibt, die mit der eingetragenen Adresse 123-456-7890 assoziiert sind. Im Ergebnis dessen wird die SIP-INVITE-Nachricht aus Schritt 500 in den Schritten 502 und 504 zu den Kommunikationsendpunkten 101A bzw. 101B gegabelt. Obwohl 5 nur die Gabelung der SIP-INVITE-Nachricht aus Schritt 500 zu zwei Kommunikationsendpunkten 101A-101B veranschaulicht, können zusätzliche Kommunikationsendpunkte 101 die SIP-INVITE-Nachricht aus Schritt 500 empfangen, wenn sie mit derselben eingetragenen Adresse assoziiert sind.
-
Die Kommunikationsendpunkte 101A und 101B reagieren durch das Senden von SIP-RINGING-Nachrichten in den Schritten 506 und 508. Der Kommunikationsserver 120 sendet in Schritt 510 eine Klingeln-Nachricht (eine Alarmierungsnachricht) an die Kommunikationsanwendung 131, welche angibt, dass die Kommunikationsendpunkte 101A und 101B klingeln. In einer Ausführungsform können in Schritt 510 zwei Klingeln-Nachrichten (Alarmierungsnachrichten) gesendet werden, die den SIP-RINGING-Nachrichten aus Schritt 506 und 508 entsprechen. Die Klingeln-Nachricht aus Schritt 510 enthält die Liste von Anzeigenamen 210 und/oder eine eindeutige Gerätekennung. Die Liste der Anzeigenamen 210 kann auch die assoziierte eingetragene Adresse enthalten. Im Ergebnis des Empfangens der Klingeln-Nachricht aus Schritt 510 zeigt die Kommunikationsanwendung 131 dem Benutzer in Schritt 512 die Liste von Anzeigenamen 210 an. Die dem Benutzer präsentierte Liste von Anzeigenamen 210 enthält die Anzeigenamen 211, die mit den Kommunikationsendpunkten 101A und 101B assoziiert sind (mit denjenigen, die klingeln). In Schritt 513 wählt der Benutzer den Anzeigenamen 211 für den Kommunikationsendpunkt 101B aus.
-
Der Anwendungsserver 130 bzw. die Kommunikationsanwendung 131 sendet in Schritt 514 den ausgewählten Anzeigenamen 211 an den Kommunikationsserver 120. Im Ergebnis des Empfangens des ausgewählten Anzeigenamens 211 in Schritt 514, ermittelt der Kommunikationsserver 120 in Schritt 515, dass der Kommunikationsendpunkt 101B mit dem Anzeigenamen 211 assoziiert ist. In Schritt 516 sendet der Kommunikationsserver 120 eine Out-of-Dialog-SIP-REFER-Nachricht an den Kommunikationsendpunkt 101B (den ausgewählten Kommunikationsendpunkt 101B), welche den Kommunikationsendpunkt 101B anweist, die Kommunikationssitzung anzunehmen. Im Ergebnis des Empfangens der Out-of-Dialog-SIP-REFER-Nachricht aus Schritt 516 nimmt der Kommunikationsendpunkt 101B in Schritt 518 automatisch die Kommunikationssitzung an (geht in den „Abgehoben“-Zustand auf Freisprechmodus über).
-
In Schritt 520 sendet der Kommunikationsendpunkt 101B eine SIP-200-OK-Nachricht an den Kommunikationsserver 120. In Schritt 522 sendet der Kommunikationsserver 120 die SIP-200-OK-Nachricht aus Schritt 520 an den Kommunikationsendpunkt 101N. In Schritt 524 sendet der Kommunikationsserver 120 eine SIP-CANCEL-Nachricht an den Kommunikationsendpunkt 101A, um die in Schritt 502 gesendete SIP-INVITE-Nachricht abzubrechen. In Schritt 526 sendet der Kommunikationsendpunkt 101N eine SIP-ACK-Nachricht an den Kommunikationsserver 120. Die SIP-ACK-Nachricht aus Schritt 526 wird in Schritt 528 durch den Kommunikationsserver 120 an den Kommunikationsendpunkt 101B gesendet.
-
An dieser Stelle wird in Schritt 530 eine Kommunikationssitzung zwischen dem Kommunikationsendpunkt 101N und dem Kommunikationsendpunkt 101B aufgebaut (z. B. unter Verwendung des RTC-Protokolls). In Schritt 532 sendet der Kommunikationsserver 120 eine „Kommunikation-Aufgebaut“-Nachricht an den Anwendungsserver 130 bzw. die Kommunikationsanwendung 131.
-
Das folgende Beispiel soll diesen Vorgang verdeutlichen. Die Kommunikationsanwendung 131 ist eine Web-Anwendung, die den Aufbau eines Anrufs an den Benutzer aus einem Contact Center ermöglicht. Der Benutzer gibt seine Telefonnummer (eingetragene Adresse) ein und klickt dann auf eine Schaltfläche, um den Anruf aufzubauen. Im Ergebnis dessen wird von einem Kommunikationsendpunkt 101N eines Agenten die SIP-INVITE-Nachricht aus Schritt 500 ausgelöst. Alternativ dazu kann die SIP-INVITE-Nachricht aus Schritt 500 aus der Kommunikationsanwendung 131 stammen (z. B. in einem Contact Center). In einer anderen Ausführungsform kann ein Anruf an ein Contact Center über eine 1-800-Nummer ausgelöst werden, der zu einem Contact-Center-Agenten weitergeleitet wird. Dies führt dazu, dass die SIP-INVITE-Nachricht aus Schritt 500 an die eingetragene Adresse eines Contact-Center-Agenten weitergeleitet wird.
-
Die SIP-INVITE-Nachricht aus Schritt 500 wird dann in den Schritten 502/504 an die zwei Kommunikationsendpunkte 101A-101B gesendet, die mit der Telefonnummer assoziiert sind. Die beiden Kommunikationsendpunkte 101A-101B reagieren auf die SIP-RINGING-Nachrichten aus den Schritten 506/508. Der Kommunikationsserver 120 sendet die Klingeln-Nachricht aus Schritt 510 mit den Anzeigenamen 211 der Kommunikationsendpunkte 101A-101B. Die Web-Anwendung 131 zeigt dem Benutzer in Schritt 512 die Liste von Anzeigenamen 210 an. In Schritt 513 wählt der Benutzer den Anzeigenamen 211 des Kommunikationsendpunkts 101B aus. Die Web-Anwendung 131 sendet in Schritt 514 den ausgewählten Anzeigenamen 211 an den Kommunikationsserver 120.
-
Der Kommunikationsserver 120 ermittelt in Schritt 515, dass der Kommunikationsendpunkt 101B mit dem Anzeigenamen 211 assoziiert ist. In Schritt 516 sendet der Kommunikationsserver 120 die Out-of-Dialog-SIP-REFER-Nachricht an den Kommunikationsendpunkt 101B. Dies führt dazu, dass der Kommunikationsendpunkt 101B in Schritt 518 automatisch in den Abgehoben-Zustand übergeht und die Kommunikationssitzung annimmt. In Schritt 520 sendet der Kommunikationsendpunkt 101B die SIP-200-OK-Nachricht, die dann in Schritt 522 an den Kommunikationsendpunkt 101N gesendet wird. In Schritt 524 sendet der Kommunikationsserver 120 die SIP-CANCEL-Nachricht an den Kommunikationsendpunkt 101A. Der Kommunikationsendpunkt 101N sendet die SIP-ACK-Nachricht aus Schritt 526, die dann in Schritt 528 an den Kommunikationsendpunkt 101B gesendet wird. Das führt dazu, dass in Schritt 530 ein Sprachanruf aufgebaut wird. Die Angabe, dass die Kommunikation aufgebaut wurde, wird in Schritt 532 an die Web-Anwendung 131 gesendet.
-
In einer Ausführungsform kann die Nachricht aus Schritt 510 basierend auf dem Empfang der SIP-INVITE-Nachricht aus Schritt 500 gesendet werden. In diesem Fall würde die SIP-INVITE-Nachricht aus Schritt 504 nach dem Schritt 515 gesendet werden. Die SIP-INVITE-Nachricht (Schritt 502), die SIP-RINGING-Nachricht (Schritt 506) und die SIP-CANCEL-Nachricht (Schritt 524) würden nicht gesendet werden. Die SIP-RINGING-Nachricht aus Schritt 508 würde ebenfalls nach dem Schritt 515 auftreten. Die verbleibenden Schritte würden in derselben Reihenfolge auftreten.
-
Aus 4-5 geht hervor, dass die Liste von Anzeigenamen 210 nur einmal für eine Kommunikationssitzung präsentiert wird. Allerdings kann in anderen Ausführungsformen die Liste von Anzeigenamen 210 basierend auf einem Fluss der Kommunikationssitzung erneut präsentiert werden. Zum Beispiel kann der Benutzer, nachdem in Schritt 426 die Kommunikationssitzung aufgebaut wurde, die Entscheidung treffen, auf der Basis der eingetragenen Adresse des Benutzers die Kommunikationsendpunkte 101 zu wechseln. Dem Benutzer wird die Liste von Anzeigenamen 210 erneut präsentiert. Der Benutzer kann einen anderen Anzeigenamen 211 auswählen, um die Kommunikationssitzung von Schritt 526 zu übertragen. Zum Beispiel befindet sich der Benutzer an seinem Tischtelefon, und der Benutzer entscheidet sich, den Anruf zum Mobilgerät des Benutzers zu übertragen.
-
Alternativ dazu kann sich der Benutzer entscheiden, den Modus der Kommunikationssitzung aus Schritt 426/530 zu ändern. Zum Beispiel kann der Benutzer anfordern, eine Audio-Kommunikationssitzung zu einer Video-Kommunikationssitzung heraufzustufen. Alternativ kann der Anwender eine Video-Kommunikationssitzung zu einer Audio-Kommunikationssitzung herunterstufen, eine Audio-/Video-Kommunikationssitzung zu einer Instant-Messaging-Kommunikationssitzung umschalten, eine Instant-Messaging-Kommunikationssitzung zu einer Sprach- oder Video-Kommunikationssitzung heraufstufen und/oder dergleichen. Der Benutzer kann sich aktuell an einem Nur-Audio-Kommunikationsendpunkt 101 befinden. In diesem Beispiel kann die Liste von Anzeigenamen 210 lediglich die Anzeigenamen von Kommunikationsendpunkten 101 anzeigen, die Video unterstützen.
-
Zu Beispielen für die hier beschriebenen Prozessoren zählen unter anderem mindestens eines von: Qualcomm® Snapdragon® 800 und 801, Qualcomm® Snapdragon® 610 und 615 mit 4G LTE-Integration und 64-Bit-Computing, Apple® A7-Prozessor mit 64-Bit-Architektur, Apple® M7 Motion-Coprozessoren, Samsung® Exynos®-Serie, die Intel® Core™ Prozessorfamilie, die Intel® Xeon® Prozessorfamilie, die Intel® Atom™-Prozessorfamilie, die Intel® Itanium®-Prozessfamilie, Intel® Core™ i5-4670K und i7-4770K 22nm Haswell, Intel® Core® i5-3570K 22nm Ivy Bridge, die AMD® FX™-Prozessorfamilie, AMD® FX-4300, FX-6300 und FX-8350 32nm Vishera, AMD@ Kaveri-Prozessoren, Texas Instruments® Jacinto C6000™-Prozessoren für Automobil-Infotainment, Texas Instruments® OMAP™-Mobilprozessoren für den Automobilbau, ARM® Cortex™-M-Prozessoren, ARM® Cortex-A- und ARM926EJ-S™-Prozessoren, sonstige gleichwertige Industrieprozessoren, und sie können die Rechenfunktionen unter Verwendung beliebiger bekannter oder in Zukunft entwickelter Standards, Anweisungssätzen, Bibliotheken und/oder Architekturen durchführen.
-
Beliebige der hier erläuterten Schritte, Funktionen und Vorgänge können kontinuierlich und automatisch durchgeführt werden.
-
Allerdings wurden, um die vorliegende Offenbarung nicht unnötig zu verunklaren, in der vorstehenden Beschreibung eine Reihe von bekannten Strukturen und Geräten ausgelassen. Diese Auslassung soll nicht als eine Einschränkung des Geltungsbereichs der beanspruchten Offenbarung angesehen werden. Spezifische Details werden erläutert, um ein Verständnis für die vorliegende Offenbarung zu vermitteln. Es sollte jedoch nachvollziehbar sein, dass die vorliegende Offenbarung auf verschiedene Weisen praktisch umgesetzt werden kann, die jenseits der hier erläuterten spezifischen Details liegen.
-
Ferner können, obwohl die hier dargestellten exemplarischen Ausführungsformen die verschiedenen Komponenten des Systems zusammengefasst zeigen, bestimmte Komponenten des Systems in entfernten Abschnitten eines verteilten Netzwerks wie z. B. eines LANs und/oder des Internets angeordnet sein oder in einem dedizierten System. Somit sollte es verständlich sein, dass die Komponenten des Systems zu einem oder mehreren Geräten kombiniert werden können oder auf einem bestimmten Knoten eines verteilten Netzwerks wie z. B. eines analogen und/oder digitalen Telekommunikationsnetzes, eines paketvermittelten Netzes oder eines leitungsvermittelten Netzes zusammengefasst werden können. Aus der vorstehenden Beschreibung und aus Gründen der Recheneffizienz wird es nachvollziehbar sein, dass die Komponenten des Systems an jedem Ort innerhalb eines verteilten Netzwerks aus Komponenten angeordnet sein können, ohne den Betrieb des Systems zu beeinträchtigen. Zum Beispiel können sich die verschiedenen Komponenten in einem Switch wie z. B. einer PBX und einem Medien-Server, einem Gateway, in einem oder mehreren Kommunikationsgeräten, in einer oder mehreren Räumlichkeiten des Benutzers oder in einer Kombination davon befinden. In gleicher Weise könnten ein oder mehrere Funktionsabschnitte des Systems zwischen einem oder mehreren Telekommunikationsgeräten und einem assoziierten Computergerät verteilt sein. Darüber hinaus sollte es verständlich sein, dass die verschiedenen Verbindungen, welche die Elemente miteinander verbinden, kabelgebundene oder drahtlose Verbindungen oder eine beliebige Kombination von diesen sein können, oder es kann jedes andere bekannte oder später entwickelte Element (bzw. Elemente) sein, das in der Lage ist, Daten zu und von den miteinander verbundenen Elementen bereitzustellen oder zu kommunizieren. Diese kabelgebundenen oder drahtlosen Verbindungen können auch sichere Verbindungen sein und können möglicherweise in der Lage sein, verschlüsselte Informationen zu kommunizieren. Zu den Übertragungsmedien, die als Verbindungen verwendet werden, zählt zum Beispiel jeder geeignete Träger für elektrische Signale, einschließlich Koaxialkabel, Kupferdraht und Glasfaser, und sie können die Form von akustischen oder Lichtwellen annehmen, wie z. B. solche, die bei Funkwellen- und Infrarot-Datenkommunikation generiert werden.
-
Außerdem sollte es, obwohl die Ablaufdiagramme in Bezug auf eine bestimmte Abfolge von Ereignissen erläutert und veranschaulicht wurden, verständlich sein, dass Änderungen, Ergänzungen und Auslassungen an dieser Abfolge auftreten können, ohne dass davon der Betrieb der vorliegenden Offenbarung erheblich beeinträchtigt wird.
-
Eine Reihe von Variationen und Modifikationen der vorliegenden Offenbarung kann verwendet werden. Es wäre möglich, einige Merkmale der vorliegenden Offenbarung bereitzustellen, ohne die anderen bereitzustellen.
-
In einer weiteren Ausführungsform kann die Implementierung der Systeme und Verfahren der vorliegenden Offenbarung in Verbindung mit einem Computer mit besonderer Zweckbestimmung, einem programmierten Mikroprozessor oder Mikrocontroller und mit einem oder mehreren peripheren integrierten Schaltungselementen, einem ASIC oder einer anderen integrierten Schaltung, einem digitalen Signalprozessor, einer festverdrahteten Elektronik- oder Logikschaltung wie z. B. einer Schaltung aus separaten Bauelementen, einem programmierbaren Logikelement oder Gate-Array wie z. B. PLD, PLA, FPGA, PAL, einem Computer mit besonderer Zweckbestimmung, mit jeglichen vergleichbaren Mitteln oder dergleichen erfolgen. Im Allgemeinen können beliebige Geräte oder Mittel, die in der Lage sind, die hier dargelegte Methodik zu implementieren, zur Implementierung der verschiedenen Aspekte der vorliegenden Offenbarung verwendet werden. Zu exemplarischer Hardware, die für die vorliegende Offenbarung verwendet werden kann, zählen Computer, Handheld-Geräte, Telefone (z. B. Mobiltelefone, Internet-fähige, digitale, analoge, hybride und andere) und andere auf dem Gebiet der Technik bekannte Hardware. Einige dieser Geräte enthalten Prozessoren (z. B. einen einzelnen oder mehrere Mikroprozessoren), Arbeitsspeicher, nichtflüchtige Speicher, Eingabegeräte und Ausgabegeräte. Darüber hinaus können auch alternative Software-Implementierungen, zu denen unter anderem verteilte Verarbeitung oder verteilte Komponenten-/Objektverarbeitung, parallele Verarbeitung oder Verarbeitung mit virtuellen Maschinen zählen, konstruiert werden, um die hier beschriebenen Verfahren zu implementieren.
-
In einer weiteren Ausführungsform können die offenbarten Verfahren einfach in Verbindung mit Software implementiert werden, wobei objektorientierte Software-Entwicklungsumgebungen genutzt werden, die portablen Quellcode bereitstellen, der auf einer Vielzahl von Computer- oder Workstation-Plattformen verwendet werden kann. Alternativ kann das offenbarte System teilweise oder vollständig als Hardware implementiert werden, bei der standardmäßige Logikschaltungen oder VLSI-Modelle zum Einsatz kommen. Ob zur Implementierung der Systeme entsprechend der vorliegenden Offenbarung Software oder Hardware verwendet wird, ist abhängig von den Geschwindigkeits- und/oder Effizienzanforderungen an das System, von der konkreten Funktion und von den konkreten Software- oder Hardware-Systemen oder Mikroprozessor- oder Microcomputer-Systemen, die eingesetzt werden.
-
In einer weiteren Ausführungsform können die offenbarten Verfahren teilweise als Software implementiert werden, die auf einem Speichermedium gespeichert sein kann und auf einem programmierten Allzweck-Computer in Zusammenarbeit mit einem Controller und einem Speicher, auf einem Computer mit besonderer Zweckbestimmung, auf einem Mikroprozessor oder dergleichen ausgeführt wird. In diesen Fällen können die Systeme und Verfahren der vorliegenden Offenbarung als Programm implementiert werden, das auf einem Personal Computer eingebettet ist, etwa als ein Applet, ein Java® -oder CGI-Skript, als eine Ressource, die sich auf einem Server oder einer Computer-Workstation befindet, als eine in ein dediziertes Messsystem eingebettete Routine, als eine Systemkomponente oder dergleichen. Das System kann auch implementiert werden, indem das System und/oder das Verfahren physisch in ein Software- und/oder Hardware-System integriert wird.
-
Obwohl die vorliegende Offenbarung die in den Ausführungsformen implementierten Komponenten und Funktionen unter Bezug auf konkrete Standards und Protokolle beschreibt, ist die Offenbarung nicht auf derartige Standards und Protokolle beschränkt. Andere ähnliche Standards und Protokolle, die hier keine Erwähnung finden, sind existent und werden als in die vorliegenden Offenbarung einbezogen angesehen. Darüber hinaus werden die hier erwähnten Standards und Protokolle und andere ähnliche Standards und Protokolle, die hier keine Erwähnung finden, von Zeit zu Zeit durch schnellere oder effektivere Entsprechungen ersetzt, die im Wesentlichen die gleichen Funktionen aufweisen. Derartige Ersatzstandards und -protokolle, welche die gleichen Funktionen aufweisen, gelten als Entsprechungen, die in die vorliegende Offenbarung einbezogen sind.
-
Die vorliegende Offenbarung umfasst, in verschiedenen Ausführungsformen, Konfigurationen und Aspekte, Komponenten, Verfahren, Prozesse, Systeme und/oder Vorrichtungen, die im Wesentlichen hier dargestellt und beschrieben wurden, einschließlich verschiedener Ausführungsformen, Teilkombinationen und Teilmengen davon. Dem durchschnittlichen Fachmann auf dem Gebiet der Technik wird nach der Lektüre der vorliegenden Offenbarung verständlich sein, wie die hier offenbarten Systeme und Verfahren hergestellt und verwendet werden können. Die vorliegende Offenbarung umfasst, in verschiedenen Ausführungsformen, Konfigurationen und Aspekten, die Bereitstellung von Geräten und Prozessen bei Abwesenheit von hier nicht dargestellten und/oder beschriebenen Elementen oder in verschiedenen Ausführungsformen, Konfigurationen oder Aspekten davon, einschließlich bei Abwesenheit solcher Elemente, die möglicherweise in früheren Geräten oder Prozessen verwendet wurden, z. B. zur Verbesserung der Leistung, zur Erzielung von Erleichterungen und\oder zur Senkung der Implementierungskosten.
-
Die vorstehende Erörterung der vorliegenden Offenbarung erfolgte lediglich zu Zwecken der Veranschaulichung und Beschreibung. Die vorstehenden Ausführungen sind nicht dazu vorgesehen, die vorliegende Offenbarung auf die hier offenbarte Form bzw. die hier offenbarten Formen einzuschränken. Zum Beispiel wurden in der vorstehenden detaillierten Beschreibung verschiedene Merkmale der vorliegenden Offenbarung in einer oder mehreren Ausführungsformen, Konfigurationen oder Aspekten zu Gruppen zusammengefasst, um die vorliegende Offenbarung zu straffen. Die Merkmale der Ausführungsformen, Konfigurationen oder Aspekte der vorliegenden Offenbarung können auch in anderen als den oben erörterten Ausführungsformen, Konfigurationen oder Aspekten kombiniert sein. Diese Methode der Offenbarung ist nicht so auszulegen, als sei damit die Absicht verbunden, dass die beanspruchte Offenbarung mehr Merkmale verlangt, als sie in jedem Patentanspruch ausdrücklich genannt sind. Vielmehr liegen die erfinderischen Aspekte, wie auch die nachstehenden Patentansprüche widerspiegeln, in weniger als allen Merkmalen einer einzelnen vorstehenden offengelegten Ausführungsform oder Konfiguration bzw. eines einzelnen vorstehenden Aspekts. Somit sind die nachstehenden Patentansprüche hiermit in diese detaillierte Beschreibung einbezogen, wobei jeder einzelne Patentanspruch eigenständig als eine separate bevorzugte Ausführungsform der vorliegenden Offenbarung zu sehen ist.
-
Darüber hinaus liegen, obwohl die Beschreibung der vorliegenden Offenbarung die Beschreibung von einer oder mehreren Ausführungsformen, Konfigurationen oder Aspekten und bestimmter Variationen und Modifikationen enthielt, auch andere Variationen, Kombinationen und Modifikationen im Geltungsbereich der vorliegenden Offenbarung, z. B. solche, die für den durchschnittlichen Fachmann auf dem Gebiet der Technik nach der Lektüre der vorliegenden Offenbarung möglicherweise naheliegend sind. Es ist beabsichtigt, Rechte zu erlangen, die im zulässigen Ausmaß alternative Ausführungsformen, Konfigurationen oder Aspekte einschließen, einschließlich alternative, austauschbare und/oder gleichwertige Strukturen, Funktionen, Bereiche oder Schritte zu den beanspruchten, gleichgültig, ob derartige alternativen, austauschbaren und/oder gleichwertigen Strukturen, Funktionen, Bereichen oder Schritte hier offenbart sind oder nicht, und ohne dass die Absicht der öffentlichen Zueignung irgendeines patentierbaren Gegenstands besteht.