-
Diese
Erfindung bezieht sich allgemein auf die kontextbasierte Anrufbehandlung
in Telefonsystemen und insbesondere auf ein Verfahren und ein Gerät zum Erzeugen
von Erreichbarkeits- und Aufenthaltsvorhersagen unter Verwendung
von Indikatoren, die durch Anrufverarbeitungsaktionen erzeugt werden.
-
Bisher
waren Anwesenheits- und Erreichbarkeitsfunktionen im Allgemeinen
auf Instant-Messaging-Systeme wie z. B. Microsoft Messenger und
ICQ beschränkt.
Die Benutzer werden mit Erreichbarkeitsinformationen in Form von
Buddy-Listen präsentiert,
aus denen die Benutzer entnehmen können, welche der jeweiligen
Korrespondenz- bzw. Chat-Partner erreichbar sind, und sie können dann
versuchen, diesen eine Instant-Message zu senden. Das Instant-Message-System
versucht die Zustellung, es gibt jedoch keine Fähigkeit – wie das durch die Anrufsteuerung
in einem Telefonsystem möglich
ist – den
Anruf zu einer anderen Partei weiterzuleiten, eine Nachricht entgegenzunehmen
usw. Damit wurde beim bisherigen Stand der Technik keine Lösung für das Problem
verpasster Anrufe während
der Unerreichbarkeit einer Partei bereitgestellt.
-
Um
wirklich nutzbar zu sein, müssen
die Erreichbarkeitsinformationen so aktuell und so präzise wie möglich sein.
Bei den derzeit im Vormarsch befindlichen IP-Telefonsystemen erfolgt, sofern Erreichbarkeitsinformationen
bereitgestellt werden, die Festlegung der Indikatoren für die Anwesenheit
in erster Linie durch den Benutzer. Der Benutzer kann seine Anwesenheit
z. B. auf "Mittagspause" oder "Bin gleich zurück" festlegen. Dieses
Verfahren ist offensichtlich mangelhaft, indem es auf der Aktion
des Benutzers beruht, bei der es zu Verzögerungen kommen kann, weil
der Benutzer sich gerade um andere sofort zu lösende Probleme kümmern muss
oder – was
häufiger
der Fall ist – weil
der Benutzer einfach abgelenkt ist. Dies führt oft zu einer Situation, in
der Benutzer die Dienstmerkmale zur Anzeige der Erreichbarkeit nicht
verwenden, weil diese nicht häufig genug
aktualisiert werden, um wirklich nutzbar zu sein, und sie werden
nicht häufig
genug aktualisiert, um nutzbar zu sein, weil sie von den Benutzern
nicht verwendet werden.
-
EP-A-1161067 offenbart
ein Verfahren zum Betreiben eines Erreichbarkeitsdienstes in einem
Telekommunikationssystem, bei dem ein herkömmliches Telefonsystem mit
mindestens einem Anwesenheitssystem verbunden ist, wobei das herkömmliche
Telefonsystem eine Vielzahl von Endgeräten umfasst. Das Verfahren
umfasst das kontinuierliche Überwachen
jedes Teilnehmerendgeräts
im Hinblick auf einen Wechsel eines Anrufstatus des Teilnehmerendgeräts vom Vorhandensein
eines Anrufs zum Nichtvorhandensein eines Anrufs; wobei ein erstes
bzw. "Hohe Erreichbarkeit"-Signal erzeugt wird,
wenn der Anrufstatus des Teilnehmerendgeräts von dem Vorhandensein eines
Anrufs zum Nichtvorhandensein eines Anrufs wechselt; das Überwachen
eines Zeitintervalls beginnend mit dem ersten Signal; das Erzeugen
eines zweiten bzw. "Erreichbarkeit unbekannt"-Signals nach einer
vorgegebenen Zeitdauer innerhalb des Intervalls; und das Zugänglichmachen der
Erreichbarkeitssignale für
jedes verbundene Anwesenheitssystem.
-
WO02054745 ,
US2001/053214 und
US5920621 offenbaren ebenfalls Verfahren
und Systeme zum Erzeugen von Benutzererreichbarkeitsinformationen
auf der Basis von Anrufsteuerungsereignissen. Jede dieser Entgegenhaltungen
verwendet lediglich ein einzelnes Anrufereignis bei jeder Gelegenheit,
bei der die Benutzererreichbarkeit ermittelt werden soll.
-
Allgemeines
-
Das
Verfahren gemäß der vorliegenden
Erfindung beschäftigt
sich mit der Erzeugung von Benutzererreichbarkeitsinformationen
aus Anrufsteuerungsereignissen innerhalb eines Telefonsystems, umfassend:
das Empfangen von Anrufsteuerungsereignissen von dem Telefonsystem,
wobei jedem der Anrufsteuerungsereignisse entweder ein absoluter
Erreichbarkeitsindikator oder ein Erreichbarkeitsnachweis zugeschrieben
wird, wobei die Anrufsteuerungsereignisse, denen ein Erreichbarkeitsnachweis
zugeschrieben wird, eine Anzahl von Anrufsteuerungsereignissen umfassen,
die bezeichnend sind für
die Erreichbarkeit, und eine Anzahl von Anrufsteuerungsereignissen
umfassen, die bezeichnend sind für
die Unerreichbarkeit; das Aktualisieren einer laufenden Summe für den Benutzer
auf der Grundlage der Anrufsteuerungsereignisse, denen ein Erreichbarkeitsnachweis zugeschrieben
wird; und für
jedes der Anrufsteuerungsereignisse, dem der absolute Erreichbarkeitsindikator
zugeschrieben wurde, das Erzeugen einer Anzeige der Benutzererreichbarkeit
auf dessen Grundlage, und ansonsten das Erzeugen der Anzeige der
Benutzererreichbarkeit auf der Grundlage der laufenden Summe.
-
Die
vorliegende Erfindung nimmt sich des oben beschriebenen Problems
an, indem die Erzeugung der Erreichbarkeitsinformationen automatisch
erfolgt und nicht mehr von einer erforderlichen Aktion von Seiten des
Benutzers abhängt.
Insbesondere wird ein Verfahren zur Nachweissammlung bereitgestellt,
das Mutmaßungen zur Benutzererreichbarkeit anstellt (d. h.
Einschätzungen
vornimmt), die auf den Interaktionen des Benutzers mit einem PBX-System
(Private Branch Exchange – Nebenstellenanlage)
basieren. Die Interaktionen werden als Wahrnehmungsinformationen
erfasst und durch einen Algorithmus zu Erreichbarkeitsinformationen verarbeitet.
Durch die Verwendung von Wahrnehmungsinformationen als Nachweis
trifft der Algorithmus Vorhersagen in Bezug auf die Erreichbarkeit
des Benutzers oder trifft Entscheidungen bei der Anrufverarbeitung. Diese
Informationen werden als Behauptungen in eine gemeinsam verwendete
Datenbank (z. B. einen Tupelspace) zurückgeführt und indizieren hochgradige
Einschätzungen über den
Status des Benutzers. Diese Einschätzungen werden dann durch Anrufverarbeitungskomponenten
verwendet, um Entscheidungen zur Anrufbehandlung zu treffen.
-
Die
vorliegende Erfindung stellt eine Verbesserung gegenüber der
Erfindung dar, die in der gleichzeitig für die Anmelderin anhängigen GB-Patentanmeldung
Nr.
GB2382946 unter
dem Titel Proactive Features for Telephony beschrieben wird. In
der dortigen Anmeldung wird ein System beschrieben, bei dem Erreichbarkeitsinformationen
präsentiert
werden und dem Benutzer ein Mechanismus bereitgestellt wird, um
zwischen mehreren "Buddy-Listen" umzuschalten, und
zwar entweder abhängig
von seiner ausdrücklichen
Auswahl oder automatisch unter Berücksichtigung seiner aktuellen
Aktionen. Das System gemäß der vorliegenden
Erfindung erweitert dieses Konzept, um eine Gruppe von Prädiktoren
bereitzustellen, die Informationen aus Anrufverarbeitungsaktionen
verwenden. Während
sich die frühere
Erfindung der Anmelderin auf den Empfänger von Anwesenheitsinformationen
konzentriert hat, konzentriert sich die vorliegende Erfindung damit
auf die Erzeugung von Anwesenheitsinformationen.
-
Die
mit demselben Datum wie die vorliegende Anmeldung eingereichte und
für die
Anmelderin ebenfalls anhängige
Patentanmeldung unter dem Titel "Architecture
and Implementation for Control of Context Aware Call Processing
with Local Feature Definition" offenbart
eine generische Anrufverarbeitungsarchitektur, bei welcher der Betrieb
des Systems in drei Hauptaktivitäten
unterteilt ist – Kontextaktualisierung,
Dienstmerkmalauswahl und Dienstmerkmalausführung. Das System gemäß der vorliegenden
Erfindung wird im Rahmen des Kontextaktualisierungsabschnitts der
von der Anmelderin vorgestellten Architektur implementiert. Insbesondere
werden Ereignisse aus der Anrufverarbeitung verwendet, um Informationen
zum Aufenthaltsort und zur Erreichbarkeit von Benutzern zu aktualisieren.
Diese Informationen können
zu anderen Benutzern oder zur Dienstmerkmalauswahlkomponente der
von der Anmelderin vorgestellten Architektur gesendet werden, um als
ein Teil des Kontexts verwendet zu werden, der bei der Auswahl eines
Dienstmerkmals bewertet wird.
-
Kurze Beschreibung der Zeichnungen
-
Es
folgt eine detaillierte Beschreibung der Erfindung unter Bezug auf
die nachstehenden Zeichnungen, welche folgende Bedeutung haben:
-
1 ist
ein Blockschaltbild eines Internet-Telefonsystems gemäß der vorliegenden
Erfindung zum Erzeugen von Erreichbarkeitsindikatoren aus Anrufsteuerungsrichtlinien
und Wahrnehmungsdaten;
-
2 ist
ein schematisches Schaltbild zur Darstellung, wie nachweisliche
und absolute Indikatoren gemäß der vorliegenden
Erfindung zusammengestellt werden;
-
3 zeigt
die Koordinaten eines Diagramms zur Anzeige der Benutzererreichbarkeit
auf der Basis von Anrufsteuerungsereignissen, wobei unter Verwendung
des Systems gemäß der vorliegenden
Erfindung vorausgesagt wird, dass die Erreichbarkeit innerhalb von
Bereichen liegt, die durch vorbestimmte Schwellwerte eingegrenzt
ist;
-
4 ist
ein Diagramm einer exemplarischen Anzeige der Benutzererreichbarkeit
unter Verwendung der Koordinaten und Regionen aus 2,
basierend auf einer exemplarischen Sequenz von Anrufsteuerungsereignissen;
und
-
5 ist
ein Blockschaltbild zur Darstellung der Interpretation der von einer
Nebenstellenanlage ankommenden Ereignisse in dem System aus 1.
-
Beschreibung bevorzugter Ausführungsformen
-
1 ist
ein Blockschaltbild eines Systems gemäß der vorliegenden Erfindung
zum Kombinieren der Anrufverarbeitung über die Anrufsteuerung 1 mit
einem Anwesenheitssystem 3. Eine PBX (Private Branch Exchange
Nebenstellenanlage) 5 bietet konventionelle aktive Anrufsteuerungsfunktionen
sowie neu ermöglichte Anwendungen,
die auf Anwesenheitsinformationen beruhen. Insbesondere ist die
PBX 5 mit einer HCl-Anwendung ausgestattet, durch die externe
Anwendungen über
Anrufsteuerungsereignisse unterrichtet werden können, die im Hinblick auf eine
beliebige Nummer von speziellen Teilnehmern auftreten können. Beispielsweise kann
die PBX 5 entweder eine Mitel 3200 oder 3300 ICP mit einer
MiTAI-Schnittstelle
sein. Der Interpretationsblock 7 enthält eine Anwendung, welche auf
diese Anrufsteuerungsereignisse abonniert ist, um eine Anzeige zur
Benutzererreichbarkeit bereitzustellen. Damit werden die durch die
Anrufsteuerung 1 verwendeten Anwesenheitsinformationen
sowohl durch ihre eigenen Aktionen als auch aus Informationen erzeugt,
die durch das Anwesenheitssystem 3 erzeugt wurden. Die
Informationen aus diesen beiden Quellen werden im Interpretationsblock 7 für individuelle
Benutzer kombiniert. Im Hinblick auf IETF funktioniert dieses als
ein PUA 9 (Presence User Agent), der aus den Benutzeraktivitäten Anwesenheitsinformationen
ableitet, um eine Anzeige zur Erreichbarkeit individueller Benutzer
zu erstellen, die in einer internen Datenbank gespeichert wird.
-
Damit
ist der Interpretationsblock 7 in die Echtzeit-Anrufsteuerung
integriert. Im Hinblick auf die Anrufsteuerungsarchitektur, die
in der für
die Anmelderin gleichzeitig anhängigen
Patentanmeldung unter dem Titel "Architecture
and Implementation for Control of Context Aware Call Processing
with Local Feature Definition" beschrieben
ist, fällt
diese Funktionalität
in die Kategorie der Kontextaktivierungsaktivität durch Bereitstellung von
Kontextinformationen an die Anrufsteuerung zur Dienstmerkmalauswahl.
Diese Funktionalität
wird auch über
den PUA 9 betrieben, um Anwesenheits- und Erreichbarkeitsanzeigen
für das
Anwesenheitssystem 3 zu erzeugen.
-
Das
Anwesenheitssystem 3 stellt die Anwesenheits-Abonnement-
und -Broadcast-Funktionalität bereit,
um Abonnementanforderungen für
Anwesenheitsinformationen zu akzeptieren, zu authentifizieren und
zu autorisieren. Im Hinblick auf IETF stellt der PA 11 (Presence
Agent) einen Dienst bereit, durch den externe Clients die Erreichbarkeitsinformationen
abonnieren können,
die durch den PUA 9 bereitgestellt werden. Der PA 11 ist
für die
Autorisierung von Abonnements von diesen externen Clients verantwortlich.
In dem hier im Folgenden beschriebenen Beispiel wird eine Implementierung
erläutert,
bei der das gut bekannte IETF-Protokoll SIP verwendet wird.
-
Ein
externer Client (Erreichbarkeits-Client
13) ist dargestellt,
der dem Abonnieren der Erreichbarkeitsinformationen von persönlichen
Korrespondenzpartnern dient, die für einen bestimmten Benutzer
von Interesse sind. In dem Beispiel aus
1 gibt es
eine Anzeige, dass Aurora, Cathy, Feng und Gloria für Konversationen
erreichbar sind, während
Brigitte, Debbie und Eliana dies nicht sind. Dies entspricht den
Erreichbarkeitsanzeigen, die in der gleichzeitig anhängigen Patentanmeldung
GB2382946 unter dem Titel
Proactive Features for Telephony der Anmelderin dargelegt sind.
-
Man
wird bemerken, dass es effektiv eine Rückkopplungsschleife für den Benutzer
zwischen der Anwesenheitsanwendung 3 und der Anrufsteuerung 1 gibt.
Der Benutzer ist in der Lage, seine Anwesenheitsanzeigen zu verwenden,
um den Betrieb von Anrufsteuerungsdienstmerkmalen zu steuern. Anrufsteuerungsindikatoren
zur Erreichbarkeit werden aus der Programmierung und dem Betrieb
von Anrufsteuerungsdienstmerkmalen für den Benutzer abgeleitet.
Wie im Folgenden erläutert
wird, bietet die Programmierung bestimmter Dienstmerkmale eine absolute
Anzeige bzw. Indikation für
die Erreichbarkeit eines Benutzers, während andere Dienstmerkmale
keine sicheren Indikationen bieten, wenn sie programmiert werden,
sondern einen direkten "Nachweis" bieten, wenn diese
ausgelöst
werden.
-
Zwei
Beispiele für
gebräuchliche
Anrufverarbeitungsdienstmerkmale, die eine absolute Indikation für die Unerreichbarkeit
eines Benutzers bieten, sind DND (Do-Not-Disturb – Nicht stören) und CFAVM (Call-Forward-Always-to-Voice-Mail – Anruf
immer zu Voice-Mail weiterleiten). Beide Dienstmerkmale verhindern,
dass ein eingehender Anrufer sich zu einer beliebigen Zeit mit dem
Benutzer synchron verbinden kann, wodurch deutliche Indikationen
für die
Unerreichbarkeit bereitgestellt werden.
-
Weitere
Beispiele für
Dienstmerkmale, die Anzeigen für
die Unerreichbarkeit bieten, sind:
- • Call-Forward-No-Answer
(Voice-Mail)
- • Directed
Call Forward
- • Abandoned
Incoming Call Beispiele für
Dienstmerkmale, die Anzeigen für
die Erreichbarkeit bieten, sind:
- • Off
Hook
- • Answered
Call Forward Always, No Answer an Busy (Non-Voice-Mail)
-
Tabelle
1 ist eine Liste der Indikatoren, die bei der Entwicklung eines
funktionsfähigen
Prototyps der Erfindung verwendet wurden. Es sollte verständlich sein,
dass diese Liste lediglich exemplarisch ist und damit keinen Anspruch
auf Vollständigkeit
erhebt. Tabelle 1 – Liste der beim Prototyp verwendeten
Indikatoren
Ereignis | Änderung
im Nachweis | Erreichbarkeit |
DND
an | Keine
Nachweisänderung | Aus |
DND
off | Nachweis
hoch | Nachweislich |
CF
of any type Disable | Nachweis
hoch | Nachweislich |
CFA
Voicemail Enable | Keine
Nachweisänderung | Aus |
CFNA | Nachweis
hoch | Nachweislich |
CFNA
Voice | Nachweis
runter | Nachweislich |
CFNA
Non Voicemail | Nachweis
runter (wenn nicht beantwortet)/Nachweis hoch (wenn beantwortet) | Nachweislich |
On
Hook | Kein
Nachweis | Nachweislich |
Off
Hook | Nachweis
hoch | Aus |
Abandoned
Incoming Call | Nachweis
runter | Nachweislich |
-
Tabelle
1 enthält
drei absolute Indikatoren: DND On, CF Always (CFA) und Off Hook.
Man wird feststellen, dass Off Hook ein Hybrid-Indikator ist, weil
wenn ein Benutzer Off Hook ist (d. h. abgenommen hat), dieser Benutzer
offensichtlich nicht erreichbar ist, um andere Anrufe anzunehmen.
Allerdings erhöht
das Off Hook-Ereignis den Nachweis für die Erreichbarkeit, denn
der Benutzer muss sich an seinem Schreibtisch befinden, um Off Hook
gehen zu können.
Damit wird der während
der Off Hook-Periode gesammelte Nachweis für die angezeigte Erreichbarkeit
des Benutzer relevant, wenn dieser wieder On Hook geht. Von den
in Tabelle 1 gezeigten absoluten Indikatoren ist nur Off Hook inkrementell.
Alle anderen sind diskret.
-
In
dem System gemäß der vorliegenden
Erfindung werden Kontextindikatoren verwendet, um den Standardwert
zu steuern, auf den die laufende Summe des nachweislichen Nachweises
abfällt,
wenn kein Nachweis vorliegt. Dieser Standardwert kann entweder hoch
oder niedrig festgelegt werden, um die Entscheidung zur Erreichbarkeit
in Richtung eines erwarteten Status zu beeinflussen. Beispielsweise
kann der Standardwert niedrig festgelegt werden für Perioden,
in denen der Benutzer erwartungsgemäß nicht anwesend ist (z. B.
während
der Nacht, während
Besprechungen (abgeleitet aus dem Kalender des Benutzers)), oder
er kann höher
festgelegt werden für
Zeiten während
des Arbeitstags des Benutzers, wenn er keine Besprechungen geplant
hat. Ein Beispiel einer Liste von Indikatoren zur Steuerung des
Standardwerts wird in Tabelle 2 gezeigt. Tabelle 2
Abwesenheitszeit | Niedrig |
Mittagspause | Neutral |
Geschäftszeit | Hoch |
Urlaub | Niedrig |
Besprechung | Niedrig |
... | ... |
-
Dieser
Standardwert kann auf hoch, niedrig oder neutral (0) festgelegt
werden, um die Entscheidung zur Erreichbarkeit hin zu einem erwarteten
Status zu beeinflussen.
-
2 ist
ein schematisches Schaltbild zur Darstellung, wie nachweisliche
und absolute Indikatoren zusammengestellt werden. Die speziellen
in 2 verwendeten Symbole entsprechen keinem Standard
und werden lediglich verwendet, um zu veranschaulichen, wie die
Zusammenstellung durchgeführt
wird. Das Dreieck wird dabei als eine Anzeige dafür verwendet,
dass Nachweise aus dem Auftreten nachweislicher Dienstmerkmale gesammelt
und in einem Entscheidungssystem summiert werden, wie das weiter
unten detailliert beschrieben wird. Die Ausgabe des Nachweissystems
kann entweder 'erreichbar', 'unerreichbar' oder 'unbestimmt' sein.
-
Die
absoluten Indikatoren können
auch die oben beschriebenen Erreichbarkeitswerte haben. Da diese jedoch
definitiv sind, werden sie als mit einem Block verbunden dargestellt,
der verwendet wird um anzuzeigen, dass sie zur absoluten Steuerung
des Werts der berichteten Erreichbarkeit verwendet werden können. Man wird
bemerken, dass Off Hook in beiden Blöcken vorkommt, weil dieses
zwar eine absolute Anzeige für 'Erreichbar' ist, jedoch auch
einen inkrementellen Nachweis bietet.
-
Die
durch das System gemäß der vorliegenden
Erfindung gesammelten Nachweise beziehen sich auf das Auftreten
von Ereignissen bei der Anrufverarbeitung. Einige dieser Nachweise
werden definitiv gesammelt, wenn das Ereignis auftritt (hier als 'diskreter Nachweis' bezeichnet). Andere
Nachweise hängen
von der Dauer des Auftretens eines Ereignisses ab (hier als 'inkrementeller Nachweis' bezeichnet – beispielsweise
das Off Hook-Sein).
-
Das
Nachweissystem gemäß der vorliegenden
Erfindung implementiert eine laufende Summe, deren Wert durch Inkrements
bestimmt wird, die auf dem Auftreten von Anrufsteuerungsereignissen
basieren. Die Summe wird mit verschiedenen Schwellwerten verglichen,
wie das in 3 gezeigt wird (d. h. mit einem
oberen Maximum und einem unteren Minimum, die aus Gründen der
Vereinfachung als symmetrische Werte um den Nullwert gezeigt werden).
-
Es
gibt drei Regionen für
die Summe, welche die Entscheidungsausgabe des Systems bestimmen. Wenn
die Summe über
dem Oberen Entscheidungsschwellwert liegt, dann befindet sie sich
im Bereich der Erreichbarkeit, und der Benutzer wird als erreichbar
betrachtet. Wenn die Summe unter dem Unteren Entscheidungsschwellwert
liegt, dann befindet sich die Summe im Bereich der Unerreichbarkeit,
und der Benutzer wird als unerreichbar betrachtet. Wenn die Summe
zwischen diesen beiden Werten liegt, dann wird sie als im Bereich
der unbestimmten Erreichbarkeit befindlich betrachtet, und bezüglich der
Erreichbarkeit des Benutzers kann kein Entscheidung getroffen werden.
-
4 zeigt
den Betrieb des nachweislichen Entscheidungssystems für exemplarische
Eingabewerte. Man wird bemerken, dass der Standardwert des Systems
auf unter null festgelegt wurde. Damit wird das System in Richtung
der Unerreichbarkeit beeinflusst, obwohl der Wert bei der Initiierung
ohne Nachweis eine Ausgabe der unbestimmten Erreichbarkeit erzeugt.
-
Aus 4 wird
ersichtlich, dass das System anfänglich
ohne Nachweis startet. Zu einem etwas späteren Zeitpunkt wird ein Stück inkrementeller
Nachweis empfangen (z. B. geht der Benutzer Off Hook). Dieser Nachweis
deutet auf die Erreichbarkeit hin, so dass die Summe im Laufe der
Zeit mit einer stabilen Rate in Richtung des oberen Maximums inkrementiert
wird. Einige Zeit später
wird ein Stück
diskreter Nachweis empfangen (z. B. ein beantworteter Anruf mit
Call Forward Answer an eine Nicht-Voicemail-Nummer). Das bewirkt, dass
die Summe sofort um einen diskreten Betrag angehoben wird. Dieses
Anheben bringt die Summe über den
oberen Entscheidungsschellwert, so dass der Erreichbarkeitsindikatorbericht
von 'unbestimmt' zu 'erreichbar' geändert wird.
Wenn eine Anrufsteuerungsaktivität
anzeigt, dass der Benutzer erreichbar ist, dann kann die Annahme
der Erreichbarkeit auf eine Annahme erweitert werden, dass wenn
der Benutzer jetzt erreichbar ist, er dann auch für eine weitere
Zeitdauer erreichbar sein wird. Damit zeigt 4 für die Periode
im Anschluss an das Anheben der Summe im Ergebnis des Empfangs eines
diskreten Nachweises ein graduelles Abfallen mit einer bestimmten
Rate in Richtung des Standardwerts. Diese Rate wird so gewählt, dass
der Erreichbarkeitsstatus für
eine vorbestimmte Zeitdauer aufrechterhalten wird.
-
Schließlich fällt die
Summe unter den oberen Entscheidungswert ab, was bewirkt, dass sich
die Vorhersage zu 'unbestimmt' ändert. Die Summe fällt weiter
bis auf den Standardwert ab, wo sie beim Fehlen eines Nachweises
verbleibt, wie das in 4 gezeigt wird.
-
Einige
Zeit später
wird ein Stück
diskreter Nachweis für
die Unerreichbarkeit empfangen (z. B. ein nicht beantworteter eingehender
Anruf). Das führt
dazu, dass die Summe sofort um einen bestimmten Betrag unter den
unteren Entscheidungsschwellwert verringert wird, was bewirkt, dass
sich die Ausgabe zu 'unerreichbar' ändert. Beim Fehlen eines weiteren
Nachweises steigt die Summe inkrementell in Richtung des Standardwerts an
(d. h. umgekehrt zum Abfallen), was wie oben beschrieben bewirkt,
dass sich der Erreichbarkeitsstatus zu 'unbestimmt' ändert.
-
Kehren
wir im Zusammenhang mit 5 kurz zu 1 zurück, dann
gibt es im PUA 9 zwei Hauptprozesse, jeweils mit assoziierten
Datenkomponenten. Die Ereigniswarteschlange 13 arbeitet
asynchron, um Anrufsteuerungsereignisse von der PBX 5 zu
sammeln. Für
jede der Presentities, die Erreichbarkeitsinformationen liefern
(der auf diesem Gebiet übliche.
Begriff 'Presentity' beschreibt eine
Entität,
die Anwesenheitsinformationen an externe Clients liefert), erstellt
die Ereigniswarteschlange die geeigneten MiTAI-Abonnements. Die
Ereigniswarteschlange 13 ist dadurch über einen Standard-Socket mit
der MiTAI-Anwendung
auf der PBX 5 verbunden und sammelt danach asynchron Anrufsteuerungsereignisse
von der PBX und speichert diese als Zeichenketten.
-
Die
Interpretation-Engine 7 arbeitet synchron in einem regulären Intervall
(z. B. 1 Sekunde) entsprechend einem Timer 15. Sie läuft effektiv
einmal pro einem solchen Zeitintervall und wird beim Ablaufen des Timers
blockiert, wenn sie ihren Betrieb abschließt, wie das weiter unten detailliert
beschrieben wird. Die Interpretation-Engine 7 enthält mehrere
assoziierte Datenstrukturen für
jede Presentity. Die Datenstruktur für jede Presentity enthält:
- • Running_Sum
(Laufende Summe) – ein
Ganzzahlwert, der den Wert der aktuellen nachweislichen Summe enthält, welcher
zwischen dem positivem Maximum und dem negativem Maximum rangiert.
- • Default_Value – (Standardwert) – ein Ganzzahlwert,
der zwischen dem positivem Maximum und dem positivem Minimum rangiert,
auf das Running_Sum beim Fehlen von Nachweisen abfällt.
- • Availability
(Erreichbarkeit) – eine
Zeichenkette, welche die aktuelle Interpretation der Erreichbarkeit
der Presentity enthält.
Es gibt drei Werte – Erreichbar,
Unerreichbar und Unbestimmt.
- • Absolute_or_Evidentiary
(Absolut oder Nachweislich) – ein
Boolescher Wert, der anzeigt, welche Art von Indikator aktuell den
Erreichbarkeitsstatus der Presentity steuert. Ein Wert von 1 zeigt
die Steuerung durch einen absoluten Indikator an. Ein Wert von null
zeigt die Steuerung durch nachweisliche Indikatoren an.
- • Absolute_Indicator
(Absoluter Indikator) – ein
Boolescher Wert, der den Typ des zuletzt gesehenen absoluten Indikators
anzeigt. Ein Wert von 1 ist ein positiver Erreichbarkeitsindikator
und 0 ist ein negativer Erreichbarkeitsindikator.
- • Off_Hook_State
(Off Hook-Status) – ein
Boolescher Wert, der angibt, ob die Presentity Off Hook ist (also abgenommen
hat) oder nicht. Eine 1 zeigt an, dass die Presentity aktuell als
Off Hook gilt.
-
Der
folgende Pseudocode beschreibt den Empfang und die Interpretation
von Ereignissen von der PBX 5.
- Event_Queue (Ereigniswarteschlange)
empfängt
asynchron Ereignisse von der MiTAI-Anwendung der PBX
- Beim Ablaufen des Timers, mit dem die Interpretation_Engine
geblockt ist Interpretation_Engine stellt den Timer auf seinen Standardwert
ein
- Für
alle Ereignisse in der Ereigniswarteschlange,
- Abrufen des Ereignisses vom unteren Ende der Warteschlange
- Wenn die Abfrage leer ist
Blockieren der Engine durch ihren
Timer
- Aus den Informationen in der Ereigniszeichenkette das Ermitteln
der Presentity, die es betrifft, und Zugreifen auf die Datenstruktur
für diese
Entität
- Wenn das Ereignis den Übergang
in einen Off Hook-Status anzeigt
Setzen des Off-Hook-Status-Flag
- Wenn das Ereignis den Übergang
in einen On Hook-Status anzeigt
Zurücksetzen des Off Hook-Status-Flag
- Wenn das Ereignis die Aktivierung eines absoluten Indikators
anzeigt
Setzen des Absolute_or_Evidentiary-Indikators auf das
Anzeigen eines absoluten Indikators
Setzen des Absolute_Indicator-Flag
auf das Anzeigen des Typs des absoluten Indikators, entweder positiv oder
negativ
- Wenn das Ereignis die Deaktivierung eines absoluten Indikators
anzeigt
Setzen des Absolute_or_Evidentiary-Indikators auf das
Anzeigen eines nachweislichen Indikators
- Wenn das Ereignis ein Stück
diskreten Nachweis der Erreichbarkeit anzeigt
Inkrementieren
der Running_Sum in Richtung des Maximumwerts um den Standardwert,
der für
diskreten Nachweis verwendet wird.
Beachten Sie, dass im Fall
von umgeleiteten Anrufen (beant wortete weitergeleitete Anrufe z.
B.) der Nachweis bezeichnend ist für die Erreichbarkeit der Presentity,
von der der Anruf weitergeleitet wurde. In diesem Fall sollte die
Running_Sum für
diese Presentity inkrementiert werden
- Wenn das Ereignis ein Stück
diskreten Nachweis der Unerreichbarkeit anzeigt
Dekrementieren
der Running_Sum in Richtung des Minimumwerts um den Standardwert,
der für
diskreten Nachweis verwendet wird.
Beachten Sie, dass im Fall
von umgeleiteten Anrufen (beantwortete weitergeleitete Anrufe z.
B.) der Nachweis bezeichnend ist für die Unerreichbarkeit der
Presentity, von der der Anruf weitergeleitet wurde. In diesem Fall sollte
die Running_Sum für
diese Presentity dekrementiert werden.
- Wenn die Warteschlange ausgeschöpft ist
- Für
alle Presentities, die gerade überwacht
werden
- Wenn der Off_Hook_State auf 1 gesetzt ist,
Inkrementieren
der Running_Sum in Richtung des Maximumwerts
- Ansonsten
- Dekrementieren der Running_Sum in Richtung des Standardwerts
- Überprüfen des
Status des Absolute_or_Evidentiary-Flag
- Wenn der Status des Absolute_or_Evidentiary-Flag die Beobachtung
eines absoluten Ereignisses anzeigt
Setzen des Werts der Availability-Zeichenkette
auf den Wert, der durch das Absolute_or_Evidentiary-Flag angezeigt
wird (d. h. die Erreichbarkeit auf 'Erreichbar' setzen für positive absolute Indikatoren
und auf 'Unerreichbar' setzen für negative
Indikatoren)
- Ansonsten, da es kein spezielles Dienstmerkmal gibt, das einen
absoluten Indikator anzeigt, Überprüfen des Werts
von Off_Hook_State, (eine Leitung, die Off Hook ist, wird als unerreichbar
betrachtet)
wenn Off_Hook_State nicht gesetzt ist
Überprüfen des
Werts von Running_Sum
Wenn Running_Sum über dem oberen Entscheidungsschwellwert
liegt
Availability (Erreichbarkeit) auf 'Erreichbar' setzen
Wenn Running_Sum gleich
oder kleiner als der untere Entscheidungsschwellwert ist
Availability
(Erreichbarkeit) auf 'Unerreichbar' setzen
Wenn
Running_Sum größer als
der untere Entscheidungsschwellwert und kleiner als der obere Entscheidungsschwellwert
ist
Availability (Erreichbarkeit) auf 'Unbestimmt' setzen
- Wenn Off_Hook_State gesetzt ist, dann den Wert der Availability-Zeichenkette auf 'Unerreichbar' setzen
- Wenn das oben Gezeigte für
alle Presentities durchgeführt
wurde, dann wird die Engine 7 durch ihren Timer 15 blockiert.
-
Das
oben Gezeigte ist eine Beschreibung des Prozesses, welcher dem Betrieb
des Systems zugrundeliegt. Die Beschreibung des Pseudocodes ist
allgemein gehalten, um eine deutliche Erklärung des Prozesses zu ermöglichen.
In der konkreten Implementierung gemäß eines funktionsfähigen Prototyps
der Erfindung wurde das MiTAI-Protokoll von Mitel Networks CTI verwendet,
um Überwachungen
für den
Betrieb spezieller Teilnehmerschaltungen festzulegen, die mit den
Geräten 17 innerhalb
der ICP (d. h. PBX 5) verbunden sind.
-
Die
folgenden zusätzlichen
Elemente der Datenstruktur werden in den Beschreibungen der Interpretationen
der MiTAI-Ereigniszeichenketten durch die Interpretation-Engine 7 für die tatsächliche
MiTAI-Implementierung verwendet.
- • Voice_Mail_Number
(Voicemail-Nummer) – eine
Zeichenkette, die die Telefonnummer des Voicemail-Dienstes für diese
Presentity enthält
- • Diverted
(Umgeleitet) – ein
Boolescher Wert, der anzeigt, dass der Anruf von einer anderen Telefonnummer
zu dieser Telefonnummer umgeleitet wurde
- • Diverted_Number
(Umgeleitete Nummer) – eine
Zeichenkette, die die Telefonnummer des Geräts enthält, von der der Anruf umgeleitet
wurde
- • Established
(Verbindung hergestellt) – ein
Boolescher Wert, der anzeigt, das eine Anrufverbindung hergestellt
wurde
-
Die
abonnierten Ereignisse und die Interpretation dieser konkreten Ereignisse
in der MiTAI-Implementierung sehen folgendermaßen aus:
Für jedes
der überwachten
Geräte
wurden Abonnements für
sieben Ereignisse festgelegt. Diese waren:
- 1.
CallOriginatedEvent: ein Anrufversuch auf diesem Gerät wurde
unternommen.
- 2. CallClearedEvent: ein existierender Anruf auf einem Gerät wurde
beendet
- 3. CallDivertedEvent: ein zu diesem Gerät gesendeter Anruf wurde zu
einem anderen Gerät
umgeleitet
- 4. CallReceivedEvent: ein Anrufversuch zu diesem Gerät wurde
unternommen. Es befindet sich in einem Rufen-Status
- 5. CallEstablishedEvent: ein Anrufversuch war erfolgreich, und
das Gerät
ist von dem Rufen-Status zum Established-Status (Verbindung hergestellt) übergegangen
- 6. ForwardFeatureEvent: ein Weiterleitungsdienstmerkmal wurde
auf dem Gerät
aktiviert
- 7. ActivateFeatureEvent: ein Dienstmerkmal wurde auf dem Gerät aktiviert
-
Diese
Ereignisse werden innerhalb der Interpretation-Engine 7 interpretiert,
um Nachweise für
die Erreichbarkeit oder Unerreichbarkeit zu sammeln, welche dann
für jedes
der Geräte
zur Running_Sum hinzugefügt
werden.
-
Beim
Betrieb überwacht
MiTAI in der ICP (PBX 5) die Weiterleitungsbenachrichtigungen
(Forward Notifications) dieser Ereignisse an die Ereigniswarteschlange 13 in
der Form von Zeichenketten in folgender Form:
-
Ereigniszeichenketten von
MiTAI
-
Das
Folgende sind Beispiele für
Zeichenketten, die von der MiTAI-Implementierung für diese
verschiedenen Ereignisse empfangen werden. Erklärungen werden nur für die hervorstechenden
Abschnitte jedes Ereignisses gegeben:
-
CallReceivedEvent
-
Für das CallReceivedEvent
gibt es zwei Fälle,
die von Interesse sind. Der erste ist bei einem Anruf, der für das Gerät bestimmt
war, welches gerade überwacht
wird. Der zweite ist bei einem Anruf, der zu diesem Gerät von einem
anderen Gerät
umgeleitet wurde. Es folgen Beispiele.
-
Es
erfolgt nun die Beschreibung der Aktionen, die beim Empfang von
jeder MiTAI-Ereigniszeichenkette durchgeführt werden.
-
CallReceivedEvent
-
Wenn
dieses Ereignis empfangen wird, erfolgt eine Zurücksetzung des Booleschen Werts 'Established', um anzuzeigen,
dass ein Anruf für
diese Presentity empfangen, jedoch die Verbindung noch nicht hergestellt
wurde.
-
Die
Interpretation-Engine 7 führt dann eine Überprüfung durch,
um festzustellen, ob der Anruf umgeleitet wurde oder nicht, indem
sie die Zeichenkette untersucht, um herauszufinden, ob es ein neuer
oder ein umgeleiteter Anruf ist.
-
Im
Fall eines neuen Anrufs wird der Boolesche Wert 'Diverted' in der Datenstruktur für die Presentity auf
0 gesetzt.
-
Im
Fall eines umgeleiteten Anrufs wird der Boolesche Wert 'Diverted' auf 1 gesetzt, und
die Diverted_Number-Zeichenkette wird auf die Zeichenkette gesetzt,
die im dialed_digits-Feld der Nachricht gefunden wurde.
-
CallDeliveredEvent
-
Wenn
dieses Ereignis empfangen wird, besteht der einzige für diese
Erfindung interessante Punkt darin, ob der Anruf zu der Voicemail-Nummer
für diese
Presentity umgeleitet wurde. Der Wert der Zeichenkette, die im Voice_Mail-Feld
der Datenstruktur gefunden wurde, wird mit der Zeichenkette verglichen,
die im newdest-Feld
der Nachricht gefunden wurde. Wenn diese übereinstimmen, dann wurde der
Anruf zu Voicemail umgeleitet. Dies wird als ein diskreter Nachweis
dafür interpretiert,
dass der Benutzer unerreichbar ist, und der diskrete Standardwert
wird von der Running_Sum für
diese Presentity subtrahiert.
-
CallEstablishedEvent
-
Der
Anruf wurde beantwortet. Es werden mehrere Aktionen durchgeführt:
Der
Boolesche Wert 'Established' wird gesetzt.
-
Dieses
Ereignis wird als eine Indikation dafür interpretiert, dass das Gerät Off Hook
ist, und das Off-Hook-Flag wird gesetzt.
-
Der
Boolesche Wert 'Diverted' wird untersucht;
wenn dieser auf eins gesetzt ist, dann wird dies als eine Indikation
dafür gewertet,
dass ein weitergeleiteter Anruf beantwortet wurde. Das ist ein Nachweis
für die
Erreichbarkeit der Presentity, die den Anruf weitergeleitet hat.
Die Running_Sum für
die Presentity, die den Anruf weitergeleitet hat, wird um den diskreten
Standardbetrag inkrementiert. Die Identität der Presentity, die den Anruf
weitergeleitet hat, wird in der Diverted_Number-Zeichenkette in der Datenstruktur gefunden,
die durch die Behandlung von Call_Received_Event auf den korrekten
Wert gesetzt wurde.
-
CallOriginatedEvent
-
Dieses
wird als Off Hook (abgenommen) interpretiert, und das Off Hook-Flag
für diese
Presentity wird gesetzt.
-
CallClearedEvent
-
Der
Boolesche Wert 'Established' wird überprüft. Wenn
er gesetzt wurde, dann ist dieses Ereignis eine Indikation dafür, dass
ein Anruf mit hergestellter Verbindung beendet wurde. Das wird als
eine Off Hook-Indikation interpretiert, und das Off Hook-Flag für diese
Presentity wird zurückgesetzt.
-
Wenn
der Boolesche Wert 'Established' nicht gesetzt wurde,
dann wird dies als eine Indikation dafür gewertet, dass der eingehende
Anruf aufgegeben wurde (d. h. eine Indikation für die Unerreichbarkeit der
Presentity für
dieses Gerät).
Der diskrete Standardbetrag wird von der Running_Sum dieser Presentity
subtrahiert.
-
Außerdem wird
der Boolesche Wert 'Diverted' überprüft. Wenn er gesetzt ist, dann
wurde der Anruf umgeleitet, und das Aufgeben wird als Unerreichbarkeit
für die
weiterleitende Presentity interpretiert. Die Diverted_Number-Zeichenkette
in der Datenstruktur enthält
dann die Telefonnummer der weiterleitenden Presentity (laut Festlegung
durch das CallReceivedEvent), und die Running_Sum für diese
Presentity wird um den diskreten Standardbetrag dekrementiert.
-
ForwardFeatureEvent
-
Dieses
Ereignis zeigt die Aktivierung oder Deaktivierung eines Weiterleitungsdienstmerkmals
an. Die für
die Zwecke der vorliegenden Erfindung einzigen interessanten Ereignisse
sind das Aktivieren und Deaktivieren von Call Forward Always (Anruf
immer weiterleiten) an die Voicemail-Nummer für diese Presentity.
-
Zu
Anfang wird der Typ des Weiterleitungsdienstmerkmals überprüft. Wenn
es Call Forward Always ist (CFAlways in der Zeichenkette), dann
wird der Wert des Felds im Weiterleitungszielfeld untersucht. Wenn dieser
der Zeichenfolge im Voice_Mail-Feld der Datenstruktur für diese
Presentity gleicht, dann wird die Ereigniszeichenfolge überprüft, um festzustellen,
ob das Dienstmerkmal gerade aktiviert oder deaktiviert wird. Wenn das
Dienstmerkmal Call Forward Always gerade aktiviert wird, dann wird
das als eine absolute Indikation für die Unerreichbarkeit des
Benutzers gewertet. Das Absolute_or_Evidentiary-Flag wird dann so
gesetzt, dass ein absoluter Indikator angezeigt wird. Der Boolesche
Wert Absolute_Indicator wird auf 0 gesetzt, um die Unerreichbarkeit
anzuzeigen. Wenn das Dienstmerkmal gerade deaktiviert wird, dann
wird das als die Deaktivierung des absoluten Indikators gewertet.
Das Absolute_or_Evidentiary-Flag wird deshalb so gesetzt, dass ein nachweislicher
Indikator angezeigt wird. Das wird auch als eine diskrete Indikation
für die
Erreichbarkeit des Benutzers gewertet, und der diskrete Standardbetrag
wird zur Running_Sum für
diese Presentity addiert.
-
ActivateFeatureEvent
-
Dieses
Ereignis zeigt das Aktivieren oder Deaktivieren eines Dienstmerkmals
an.
-
Das
für die
Zwecke der vorliegenden Erfindung einzige interessante Ereignis
ist Do Not Disturb (Nicht stören).
-
Zu
Anfang wird der Typ des Dienstmerkmals überprüft. Wenn es nicht Do Not Disturb
ist (DoNotDisturbFeature in der Zeichenkette), dann wird ermittelt,
ob es gerade aktiviert oder deaktiviert wird. Wenn es gerade aktiviert
wird, dann wird dies als die Aktivierung eines absoluten Indikators
gewertet. Es wird als eine absolute Indikation für die Unerreichbarkeit gewertet.
Das Absolute_or_Evidentiary-Flag wird dann so gesetzt, dass ein
absoluter Indikator angezeigt wird. Das Absolute_Indicator-Flag
wird auf 0 gesetzt, um die Unerreichbarkeit anzuzeigen.
-
Wenn
das Dienstmerkmal Do Not Disturb gerade deaktiviert wird, dann wird
das als eine Indikation für die
Deaktivierung eines absoluten Indikators und als ein Stück diskreter
Nachweis dafür
gewertet, dass der Benutzer erreichbar ist. Der diskrete Standardbetrag
wird zur Running_Sum für
diese Presentity addiert. Das Absolute_or_Evidentiary-Flag wird
so gesetzt, dass ein nachweislicher Indikator angezeigt wird.
-
Modifikationen
und Variationen der Erfindung sind möglich. Beispielsweise wird
es einem Fachmann auf dem Gebiet der Technik einleuchten, dass die
Aktivitäten,
die durch die nachweislichen Indikatoren entdeckt werden, auch Indikationen
für den
Aufenthaltsort sind. Damit können
Indikationen für
Aktivität
am Schreibtisch des Benutzers verwendet werden, um die Anwesenheit
des Benutzers an diesem Aufenthaltsort vorherzusagen. Beantwortete
Antwortweiterleitungen sind ebenfalls Indikatoren für die Erreichbarkeit.
Wenn sie aus der Berücksichtigung
in der laufenden Summe eliminiert werden, dann wird die Summe zu
einer Indikation des Aufenthaltsorts. In gleicher Weise können beantwortete
Antwortweiterleitungen in einer anderen Summe kombiniert werden,
um die Anwesenheit an dem Aufenthaltsort anzuzeigen.
-
Bestimmte
zusätzliche
Indikatoren können
ebenfalls verwendet werden, um eine allgemeine, jedoch nicht eindeutige
Indikation für
die Benutzererreichbarkeit zu geben. Diese Indikatoren können verwendet
werden, um den Nachweisprozess dahingehend zu beeinflussen, dass
eine Vorhersage zur Erreichbarkeit getroffen wird, die durch weitere
Nachweise aufgehoben werden kann. Beispielsweise kann die Uhrzeit
als ein Indikator dieses Typs verwendet werden. Damit kann beispielsweise
das Nachweissystem während
der Geschäftszeiten
in Richtung der Vorhersage beeinflusst werden, dass der Benutzer
erreichbar ist oder möglicherweise
mit größerer Wahrscheinlichkeit
erreichbar als unerreichbar ist. Außerhalb der normalen Geschäftszeiten
kann dann das Gegenteil angenommen werden.
-
Dieser
Offenbarung innewohnend ist die Annahme, dass andere Parteien als
der Benutzer auf die Erreichbarkeit des Benutzers abonniert sind.
Wenn jedoch der Benutzer freiwillig oder automatisch auf seine eigene
Erreichbarkeit abonniert ist, wie sie durch dieses System wahrgenommen
wird, dann wird der Benutzer angeregt, die Erreichbarkeit auf den
korrekten Wert einzustellen (d. h. auf einen absoluten Wert der
Erreichbarkeit). Das regt zur Nutzung des Systems an, indem es sich
den Benutzern ins Bewusstsein bringt und indem es auch zur Bereitstellung
von akkurateren Werten anregt.
-
Der
Wert der laufenden Summe kann auch als ein Indikator für das Vertrauensniveau
verwendet werden, das das System in die von ihm getroffene Entscheidung
hat. Es können
Entscheidungsschwellwerte relativ zum Standardwert bereitgestellt
werden, die als Indikation dafür
verwendet werden können,
ob das System der Entscheidung vertraut, nicht vertraut, stark vertraut
usw. Dieses kann wiederum dem Teilnehmer als ein weiterer Wert bereitgestellt
werden.
-
Anstatt
einem Teilnehmer eine Entscheidung über die Erreichbarkeit bereitzustellen,
wird in Betracht gezogen, dass dem Teilnehmer eine Indikation dazu
bereitgestellt wird, ob es einen absoluten Indikator dafür gibt,
welchen Wert die Entscheidung hat (erreichbar oder unerreichbar).
Alternativ kann der Wert der laufenden Summe bereitgestellt werden,
um eine analoge Indikation des Vertrauens des Systems in die Erreichbarkeit des
Benutzers zu geben.