-
Die
vorliegende Erfindung betrifft Telefonkommunikationstechnik in einer
Anrufzentrale, auch Rufzentrum oder Callcenter genannt, und insbesondere
Verfahren und Systeme zur dortigen Bestimmung des Zustands von Instanzen,
die mehrere Objektzustände
haben können.
-
Das
Telefon ist eines der am meisten benutzten Kommunikationsgeräte in der
Welt. Zuerst war es lediglich ein bequemes Werkzeug, um es Menschen
zu ermöglichen,
miteinander zu kommunizieren, während sie
räumlich
voneinander getrennt sind. Neuerdings verwenden viele Unternehmen
Telefone, um Produkte und Dienste zu vermarkten, technischen Kundendienst
für Verbraucherprodukte
bereitzustellen, Anrufern den Zugriff auf ihre eigenen Finanzdaten
zu ermöglichen
und so weiter. Somit wird das Telefon mehr und mehr zu einem bedeutenden
Geschäfts-
und Vermarktungswerkzeug.
-
Um
das Telefon effektiver für
Geschäfts-
und Vermarktungszwecke zu verwenden, sind Anrufzentralen entwickelt
worden. In einer Anrufzentrale wickelt eine große Anzahl von Agenten die Telefonkommunikation mit
Anrufern ab. Die Zuordnung von Anrufen zwischen Anrufern und Agenten
wird normalerweise durch Software durchgeführt. Ein einfaches Beispiel
wird hier verwendet, um einige der vielen Vorteile der Verwendung von
Anrufzentralen zu beschreiben. Wenn ein Anruf zu einer Anrufzentrale
getätigt
wird, wird die Telefonnummer der rufenden Leitung normalerweise
der Anrufzentrale durch einen Telefonbetreiber verfügbar gemacht. Auf
der Grundlage dieser Telefonnummer kann die Software in der Anrufzentrale
auf einen Datenbank-Server zugreifen, um Information über den
Anrufer zu erlangen, dem diese Telefonnummer erteilt worden ist.
Die Software kann nun den Anruf zu einem Agenten weiterleiten, der
den Anruf auf der Grundlage von vorbestimmten Kriterien (zum Beispiel
Sprachfähigkeiten,
Wissen über
durch den Anrufer gekaufte Produkte und so weiter.) am besten abwickeln
kann. Die Software übermittelt
sofort die relevante Information zu einem Computerbildschirm, der
durch den Agenten verwendet wird. Somit kann der Agent wertvolle
Information über
den Anrufer erhalten, bevor er den Anruf empfängt. Folglich kann der Agent
die Telefontransaktion effektiver abwickeln.
-
Aus
dem obigen Beispiel ist ersichtlich, daß die befähigende Technologie eine Kombination
aus Telefonvermittlung und computergestützter informationsverarbeitender
Technologie erfordert. Der für
diese kombinierte Technik allgemein verwendete Begriff ist "Computer-Telefonie-Integration" (CTI).
-
Beim
Treffen einer Weiterleitungsentscheidung muß die Software den Zustand
aller Agenten kennen. Wenn sich zum Beispiel ein Agent in einem
belegten Zustand befindet (zum Beispiel einen anderen Anruf beantwortet),
werden keine Anrufe an diesen Agenten weitergeleitet. Im CTI-System
nach Stand der Technik hat ein Agent nur einen Zustand. Die Weiterleitungssoftware
(sowie andere Software im System) trifft Entscheidungen auf der
Grundlage dieses Zustands. Jedoch ist dieses System unflexibel.
Zum Beispiel kann, obwohl ein Agent mit der Durchführung einiger
Aufgaben beschäftigt
sein kann (zum Beispiel ein Gespräch mit einem Kollegen über eine
nicht dringende Angelegenheit), er beziehungsweise sie noch in der
Lage sein, einen Anruf von einem Kunden anzunehmen, wenn es keinen
anderen qualifizierten Agenten gibt, der diesen Anruf annehmen kann.
Somit ist es erwünscht,
ein flexibles System zu haben, das die Ressourcen einer Anrufzentrale
besser ausnutzen kann.
-
US-A-52999260
offenbart ein System zur automatischen Abwicklung ankommender Telefonanrufe. Das
System empfängt
Telefonanrufe und Information über
diese Anrufe und weist die Anrufe auf der Grundlage der Information
zu, damit sie durch eines aus einer Vielzahl von Anwendungsprogrammen
abgewickelt werden. Jedes Anwendungsprogramm weist eine Menge von benutzerdefinierten
Schritten zur Abwicklung ankommender Anrufe auf. Mittel zur Zuweisung
der Anrufe zu den Anwendungsprogrammen weisen ein Unterscheidungs-Unterprogramm
auf, das von den Anwendungsprogrammen getrennt ist. Mindestens eines
der Anwendungsprogramme weist Anfragen zum Erlangen weiterer Information über die
ankommenden Anrufe auf. Das Unterscheidungs-Teilsystem weist die
Steuerung der ankommenden Anrufe auf der Grundlage der Information
und der weiteren Information wiederholt zu.
-
Die
vorliegende Erfindung stellt ein Verfahren zum Melden des Zustands
einer Instanz in der physischen Umgebung einer Anrufzentrale bereit,
wobei die Instanz mindestens zwei Hardware-Vorrichtungen aufweist, die in einem
oder mehreren aktiven Zuständen
von einer Vielzahl von möglichen
Zuständen
sein können,
wobei jeder der möglichen
Zustände
mit einem Betrieb der Instanz in der Anrufzentrale in Beziehung steht,
mit den folgenden Schritten: a) Überwachen
von aktiven Zuständen
von Hardware-Vorrichtungen für
die Instanz; b) Übergeben
einer ersten nach Priorität
geordneten Liste der möglichen
Instanzenzustände
an eine meldende Anwendung durch eine anfordernde Anwendung zu einer
ersten Zeit; c) Übergeben
eines ersten Zustands der Instanz, die sowohl einen aktiven Zustand
als auch die höchste
Priorität
in der nach Priorität
geordneten Liste aufweist, an die anfordernde Anwendung durch die
meldende Anwendung; d) Übergeben
einer zweiten nach Priorität
geordneten Liste der möglichen
Instanzenzustände
an die meldende Anwendung durch die anfordernde Anwendung zu einer
zweiten Zeit; und e) Übergeben
eines zweiten Zustands der Instanz an die anfordernde Anwendung
durch die meldende Anwendung auf der Grundlage der zweiten Prioritätsliste
und der aktiven Zustände
der Instanz; wobei der zweite Zustand ein anderer Zustand ist als
der erste Zustand.
-
Ein
Vorteil der vorliegenden Erfindung besteht darin, daß die anfordernden
Softwareanwendungen die Priorität
der Zustände
bestimmen. Vermutlich kennt jede anfordernde Softwareanwendung die
beste Möglichkeit,
um die Zustandsinformation zu nutzen. Somit ist es viel besser,
der anfordernden Softwareanwendung zu gestatten, die Priorität zu definieren,
als den gleichen Zustand an alle anfordernden Softwareanwendungen
zu melden.
-
In
einer Ausführungsform
der vorliegenden Erfindung weisen die Instanzen physische (zum Beispiel Warteschlangen
und Weiterleitungspunkte, Agentenverzeichnisnummern und Agenten)
und logische (zum Beispiel Agenten-Arbeitsplätze und -Gruppen) Instanzen
auf. Jeder Instanz sind Softwareobjekte zugeordnet. Jedes Objekt
könnte
einen oder mehrere mögliche
Zustände
und einen oder mehrere aktive Zustände haben. Die anfordernde
Softwareanwendung legt die Priorität dieser möglichen Zustände für jedes
Instanzenobjekt fest und stellt sie zum Beispiel in Form einer Zustandsprioritätentabelle
dar. Diese Tabelle wird an die meldende Softwareanwendung gesendet.
Die meldende Softwareanwendung meldet den Zustand eines Objekts
als den aktiven Zustand mit der höchsten Priorität.
-
In
einer anderen Ausführungsform
der vorliegenden Erfindung kann die anfordernde Softwareanwendung
die meldende Softwareanwendung auffordern, den Zustand nur einmal
zu melden. Alternativ kann die anfordernde Softwareanwendung die
Meldung auf einer kontinuierlichen Grundlage anfordern. Die meldende Softwareanwendung
kann die Häufigkeit
der Meldung definieren.
-
Die
vorliegende Erfindung kann in einem einzelnen automatischen Anrufverteilersystem
und einem automatischen Mehrfach-Anrufverteilersystem verwendet
werden.
-
Diese
und andere Merkmale der vorliegenden Erfindung werden aus der folgenden
Beschreibung in Verbindung mit den beigefügten Zeichnungen deutlich;
dabei zeigen:
-
1 ist
ein Blockschaltbild einer Anrufzentrale, die das System zur Bestimmung
mehrerer Objektzustände
der vorliegenden Erfindung implementieren kann.
-
2 ist
eine schematische grafische Darstellung, die Objekte darstellt,
die in einem Stat-Server des Systems mit mehreren Anrufzentralen
der vorliegenden Erfindung verwendet wird.
-
AUSFÜHRLICHE
BESCHREIBUNG DER ERFINDUNG
-
Die
vorliegende Erfindung umfaßt
ein neuartiges Anrufzentralenverfahren und -system. Die folgende Beschreibung
wird vorgelegt, um jedem Fachmann zu ermöglichen, die Erfindung zu realisieren
und zu verwenden. Beschreibungen von spezifischen Anwendungen werden
nur als Beispiele bereitgestellt. Verschiedene Modifikationen an
den bevorzugten Ausführungsformen
werden für
den Fachmann schnell deutlich werden, und die hierin definierten
allgemeinen Grundsätze
können
auf andere Ausführungsformen
und Anwendungen angewendet werden, ohne vom Geist und Schutzbereich
der Erfindung abzuweichen. Somit ist nicht beabsichtigt, daß die vorliegende
Erfindung auf die dargestellten Ausführungsformen begrenzt ist,
sondern ihr ist der weiteste Schutzbereich zu gewähren, der
mit den hierin offenbarten Prinzipien und Merkmalen vereinbar ist.
-
1 ist
ein Blockschaltbild einer Anrufzentrale 100, die verwendet
werden kann, um die vorliegende Erfindung zu implementieren. Die
Anrufzentrale 100 ist mit einem öffentlichen Fernsprechwählnetzwerk (PSTN) 104 verbunden.
Es umfaßt
eine Vermittlungsstelle 108 zur Entgegennahme von Anrufen
vom PSTN 104. Die Vermittlungsstelle 108 kann
ein automatischer Anrufverteiler (ACD) beziehungsweise eine private
Nebenstellenanlage (PBX) oder eine Vermittlungsstelle des PSTN sein.
Die Vermittlungsstelle 108 enthält einen Port mit hoher Bandbreite 110 (zur
Verbindung mit dem PSTN 104) und eine Vielzahl von Ports
mit niedriger Bandbreite (wie etwa die Ports 112–116).
Einige dieser Ports mit niedriger Bandbreite können mit sprachgestützten Vorrichtungen
verbunden sein. Zum Beispiel sind die Ports 112–115 jeweils
mit Telefonen 120–123 verbunden.
Agenten sind zugewiesen, um diese Telefone zu bedienen. Jedem der
Ports mit niedriger Bandbreite sind eine oder mehrere Verzeichnisnummern
("DNs") zugewiesen.
-
Es
hat sich gezeigt, daß die
durch eine Standard-Vermittlungsstelle durchgeführten Funktionen eher begrenzt
sind und die Anforderungen einer typischen Anrufzentrale nicht erfüllen können. Zum
Beispiel ist es erwünscht,
Information über
einen Anruf an eine Arbeitsstation zu übergeben, die für jeden
Agenten verfügbar ist
(wie etwa Arbeitsstation 126–127). Jedoch kann
eine Vermittlungsstelle keine Daten durchsuchen, verarbeiten und
an diese Arbeitsstationen weiterleiten. Folglich wird eine als Computer-Telefonie-Integration
(CTI) bezeichnete neue Technologie benötigt, um eine Kombination von
Sprach- und Digitaldaten an erwünschte Orte
weiterzuleiten.
-
Als
eine Möglichkeit,
um eine CTI zu implementieren, enthält die Anrufzentrale 100 ferner
ein Weiterleitungs-Teilsystem 130, das mit einem CTI-Server 132 verbunden
ist, der wiederum über
eine CTI-Verbindung 134 mit
der Vermittlungsstelle 108 verbunden ist. Die Kommunikation
zwischen der Vermittlungsstelle 108 und dem CTI-Server 132 folgt
normalerweise dem X.25-Protokoll. Der CTI-Server 132 stellt
eine Schnittstelle zwischen dem Weiterleitungs-Teilsystem 130 und
der Vermittlungsstelle 108 bereit. Die Vermittlungsstelle 108 benachrichtigt
den CTI-Server 132, wenn ein Anruf empfangen wird. Der
CTI-Server 132 sendet die Information an das Weiterleitungs-Teilsystem 130,
das gemäß vorbestimmten
Kriterien einen Agenten auswählt,
der am besten qualifiziert ist, um den Anruf zu beantworten. Der
CTI-Server 132 benachrichtigt dann die Vermittlungsstelle 108,
damit sie den Anruf an das Telefon (das heißt die DN) des ausgewählten Agenten
leitet, während das
Weiterleitungs-Teilsystem 130 die Daten bezüglich der
Person, die den Anruf auslöst,
an die Arbeitsstation des ausgewählten
Agenten leitet.
-
In
einer Ausführungsform
der vorliegenden Erfindung enthält
das Weiterleitungs-Teilsystem 130 einen Stat-Server 140,
einen Weiterleitungsserver 142 und eine Datenbank 144.
Sie kommunizieren unter Verwendung eines Datenübertragungsnetzwerks 150 miteinander.
Der Stat-Server 140 sammelt und speichert Verlaufsdaten
bezüglich
aller Anrufe, Aktivitäten
der Vermittlungsstellen und Information und Aktivitäten aller Agenten
in der Anrufzentrale 100. Die Datenbank 144 enthält Information
der Kunden, Agenten, Telefonnummern und verschiedener Aspekte der
Anrufzentrale 100. Der Weiterleitungsserver 142 wählt unter
Verwendung der Daten im Stat-Server 140 und der Datenbank 144 geeignete
Agenten zur Abwicklung von Anrufen aus. Nach der Auswahl sendet
der Weiterleitungsserver 142 einen Befehl an den CTI-Server 132,
der wiederum die Vermittlungsstelle 108 anweist, ankommende
Anrufe an die ausgewählten
Agenten weiterzuleiten.
-
Es
kann andere CTI-bezogene Anwendungen (das heißt Softwaremodule) geben, die
die Ressourcen der Datenbank 144 und des Stat-Servers 140 verwenden,
um somit andere Dienste oder Information für die Agenten in der Anrufzentrale
bereitzustellen. In 1 sind zwei Anwendungen (152 und 153)
dargestellt. Beispiele von Anwendungen sind "Agent View" und "Call Center View", die durch Genesys Telecommunications Laboratories
vertrieben werden. Diese Anwendungen sind mit dem Datenübertragungsnetzwerk 150 verbunden.
-
In
einer Anrufzentrale ist es üblich,
daß ein
Agent mehr als ein Telefon bedient. Die Ausrüstung, die durch den Agenten
verwendet wird, ist normalerweise an einem Platz (wie etwa einem
Schreibtisch) aufgebaut, der in der vorliegenden Anwendung als "Agenten-Arbeitsplatz" bezeichnet wird. 1 stellt
zwei beispielhafte Agenten-Arbeitsplätze 161 und 162 dar.
Der Agenten-Arbeitsplatz 161 umfaßt eine Arbeitsstation 126 und
zwei Telefone 120 und 121. Ebenso umfaßt der Agenten-Arbeitsplatz 162 eine
Arbeitsstation 127 und zwei Telefone 126 und 127.
Wenn ein Agent einen Agenten-Arbeitsplatz besetzt, meldet er beziehungsweise sie
sich dort unter Verwendung eines Telefons oder einer Arbeitsstation
an. Bevor der Agent den Agenten-Arbeitsplatz verläßt, meldet
er beziehungsweise sie sich unter Verwendung des Telefons oder der
Arbeitsstation ab. Folglich ist die Anrufzentrale 100 in
der Lage, den jeweiligen Aufenthaltsort jedes Agenten zu überwachen.
-
Der
Stat-Server 140 kommuniziert mit dem CTI-Server 132,
dem Weiterleitungsserver 142 und den Anwendungen 152–153 über eine
Menge von Anwendungsprogrammierschnittstellen-("API")-Befehlen. Der Stat-Server 140 (der
mit dem CTI-Server 132 arbeitet) kann Aktivitäten der
Vermittlungsstelle 108 überwachen und
speichern. Er überwacht
und speichert auch Aktivitäten
der verschiedenen Agenten und Agenten-Arbeitsplätze. Als Antwort auf eine Nachfrage
durch den Weiterleitungsserver 142 und die Anwendungen 152–153 bezüglich des
Zustands eines in Betracht kommenden Objekts (zum Beispiel eines
Agenten) übergibt
der Stat-Server 140 einen Bericht an den Weiterleitungsserver 142.
In einer Ausführungsform,
wo ein Stat-Server verwendet wird, um mehrere Vermittlungsstellen
zu verwalten (die sich in einem oder mehreren Anrufzentralen befinden
können), überwacht
und speichert der Stat-Server 140 die Aktivitäten aller
Vermittlungsstellen, aller Agenten und aller Agenten-Arbeitsplätze, die
von diesen Vermittlungsstellen versorgt werden. Eine ausführliche
Beschreibung einer Architektur mit mehreren Anrufzentralen, die
den Stat-Server der vorliegenden Erfindung verwenden kann, wird
in der gleichzeitig anhängigen
Patentanmeldung mit der Seriennummer 08/782983 mit dem Titel "System and Method
for Operating a Plurality of Call Centers", angemeldet am 14. Januar 1997 und
auf den gleichen Rechtsnachfolger wie die vorliegenden Anmeldung übertragen,
offenbart. Der Inhalt dieser Patentanmeldung wird hierin durch Bezugnahme
aufgenommen.
-
Es
wird beobachtet, daß die
meisten Anrufzentraleninstanzen (zum Beispiel Telefone und Agenten) gleichzeitig
mehrere Zustände
haben können.
Zum Beispiel ist ein Telefon eines Agenten dafür konzipiert, mehrere Aktivitäten zur
gleichen Zeit abzuwickeln. Somit kann der Agent das gleiche Telefon
verwenden, um mit einem Kunden zu sprechen, eine andere Person (zum
Beispiel einen Kollegen) in Wartestellung zu setzen und auf einen
ankommenden Anruf zu warten. Bei Systemen nach Stand der Technik
stellt dies ein Meldeproblem dar, wenn der Stat-Server den Zustand
des Telefons an andere CTI-Anwendungen
meldet, weil nicht klar ist, welcher Zustand (von mehreren Zuständen) gemeldet
werden soll.
-
Die
vorliegende Erfindung ist ein Verfahren und ein System, das sich
die vielen Zustände
zunutze macht. Sie erkennt an, daß unterschiedliche CTI-Anwendungen
zustandsbezogene Information unterschiedlich verwenden müssen. Zum
Beispiel würde
eine reguläre
Weiterleitungsroutine einen Agenten als beschäftigt betrachten, wenn er beziehungsweise
sie an einem Telefon spricht oder eine Arbeitsstation verwendet,
um Daten einzugeben. Jedoch würde
eine Anwendung, die Anrufe mit hoher Priorität abwickelt (zum Beispiel Notrufe oder
Anrufe von Vorzugskunden), den gleichen Agenten so lange als verfügbar betrachten,
wie er beziehungsweise sie am Agenten-Arbeitsplatz angemeldet ist.
Dies ist so, weil der Agent die Arbeit mit der Arbeitsstation beenden
kann oder einen Anruf in Wartestellung setzen kann, wenn ein Notruf
eingeht. Somit ermöglicht
die vorliegende Erfindung, daß eine
Anwendung definiert, über
welche der mehreren Zustände
sie informiert werden möchte.
-
Nachstehend
wird eine Ausführungsform
der vorliegenden Erfindung beschrieben. In dieser Ausfuhrungsform
werden verschiedene Instanzen in einer Anrufzentrale Softwareobjekten
zugeordnet. Die folgenden sind einige Beispiele dieser Objekte:
- (a) Warteschlangen und Weiterleitungspunkte:
Diese sind Hardware-Schaltungen in Vermittlungsstellen und werden
als Objekte dargestellt. Die Warteschlange implementiert einen hardwaregesteuerten ACD-Mechanismus.
Der Weiterleitungspunkt, manchmal als Steuerungsverzeichnisnummer
("CDN") bezeichnet, kann
durch Softwareanwendungen (wie etwa eine Weiterleitungsroutine)
gesteuert werden.
- (b) Agenten-DNs: Sie sind Hardware-Ports in einer Vermittlungsstelle
und werden als Objekte dargestellt. Jeder DN sind eine oder mehrere
Eigenschaften zugeordnet. Zum Beispiel können einige DNs direkt auf eine
andere DN zugreifen; einige DNs sind Warteschlangen zugeordnet;
einige DNs sind auf abgehende Anrufe beschränkt; und einige DNs haben nach
der Herstellung einer vorhergehenden Verbindung einen Zeitraum der
Nichtverfügbarkeit.
In einem spezifischen Beispiel enthalten einige der durch Northern
Telecom produzierten Vermittlungsstellen im wesentlichen zwei Arten
von DN, nämlich
Position und Erweiterung. Auf Erweiterungs-DNs kann direkt durch
ein Telefon zugegriffen werden, und sie können abgehende Anrufe auslösen. Positions-DNs
sind einer oder mehreren Warteschlangen zugeordnet. Auf sie kann
nur durch diese Warteschlangen zugegriffen werden, und sie können keine
abgehenden Anrufe auslösen.
- (c) Andere spezifische DNs: Sie sind DNs, die mit spezifischen
Vorrichtungen verbunden sind, wie etwa Sprachmail-Systemen, interaktiven
Sprachantworteinheiten und so weiter. Diese DNs werden als Objekte dargestellt.
- (d) Agenten-Arbeitsplätze:
Sie sind logische Räume,
die jeweils dem Raum zugeordnete Elemente enthalten (zum Beispiel
eine oder mehrere DNs, die möglicherweise
unterschiedlichen Vermittlungsstellen zugeordnet sind, und Arbeitsstationen).
In einer physischen Implementierung können diese Arbeitsplätze Schreibtische
sein. Wenn ein Agent sich an einem Element an einem Arbeitsplatz
anmeldet, wird er (sie) für
den gesamten Arbeitsplatz logisch angemeldet. Jeder Arbeitsplatz
wird als ein Objekt dargestellt, und ihm wird eine Arbeitsplatzkennung
zugeordnet.
- (e) Agenten: Personen (Objekte), die durch eine Agentenkennung
identifiziert werden. Agenten können sich
dynamisch zwischen Arbeitsplätzen
bewegen. Der Stat-Server hat eine spezielle Routine für die dynamische Überwachung
der Standorte aller Agenten. Zum Beispiel kann ein Agent von 9:00
Uhr morgens bis 13:00 Uhr an einem ersten Arbeitsplatz arbeiten;
er meldet sich ab (zum Beispiel zum Mittagessen) und meldet sich
dann um 14:00 Uhr an einem zweiten Arbeitsplatz an. Die Agentenstandort-Überwachungsroutine verwaltet
die Information, so dass der Weiterleitungsserver (und andere Anwendungen)
weiß,
welche DN gewählt
werden muss, um den Agenten zu erreichen. Jeder Agent kann außerdem einen "Heimat-Arbeitsplatz" haben, der ein Vorgabewert
ist, wenn der Agent nicht dynamisch überwacht werden kann.
- (f) Gruppen: Eine Anzahl von Agenten in irgendeiner Kombination.
Gruppenobjekte sind durch Gruppenkennungen gekennzeichnet. Es gibt
mindestens zwei Typen von Gruppen. Der erste Typ (hierin als SObjectGroupAgents
bezeichnet) umfasst eine Liste von Agentenkennungen. In diesem Fall überwacht
der Agentenbewegungen und sammelt Stat-Server alle nur für zugehörige Agenten
Statistiken. Beispiele sind Gruppen mit bestimmten Fähigkeiten.
Der zweite Typ (hierin als SObjectGroupPlaces bezeichnet) umfasst eine
Liste der Arbeitsplätze
der Agenten (Arbeitsplatzkennungen). Beispiele für Arbeitsplätze in den Listen sind Schulungsraum,
Hauptbüro,
zweiter Stock und so weiter. In diesem Fall überwacht der Stat-Server Ereignisse,
die sich auf Arbeitsplätze
beziehen, die in der Liste eingeschlossen sind, weil es keine Rolle
spielt, wer an diesen Arbeitsplätzen
arbeitet.
-
2 wird
verwendet, um die oben beschriebenen Objekte darzustellen. Sie stellt
zwei Vermittlungsstellenobjekte 212 und 213 dar,
die zwei physische Vermittlungsstellen in einem oder mehreren Anrufzentralen simulieren.
Das Vermittlungsstellenobjekt 212 umfaßt die folgenden Ressourcen:
CDN-Objekte 214 und 215, Warteschlangen-DN-Objekt 216 und
DN-Objekte 217–219.
Ebenso umfaßt
das Vermittlungsstellenobjekt 213 die folgenden Ressourcen:
CDN-Objekt 221, Warteschlangen-DN-Objekt 222 und DN-Objekte 223–224.
Diese Objekte stellen die entsprechende CDN, Warteschlangen und
Agenten-DNs in den physischen Vermittlungsstellen dar.
-
Die
Agenten-DN-Objekte 217–219 und 223–224 gehören ebenfalls
zu den Agenten-Arbeitsplatzobjekten.
In diesem Beispiel weist das Agenten-Arbeitsplatzobjekt 226 die
DN-Objekte 217 und 218 auf, das Agenten-Arbeitsplatzobjekt 227 weist
die DN-Objekte 219 und 223 auf und das Agenten- Arbeitsplatzobjekt 228 weist
das DN-Objekt 224 auf. Man beachte, dass die DNs von zwei
unterschiedlichen Vermittlungsstellen dem gleichen Agenten-Arbeitsplatz
zugeordnet werden können.
-
Einige
der Agenten-Arbeitsplatzobjekte können zu Gruppen zusammengefasst
werden, um Arbeitsplatzgruppenobjekte zu bilden. In 2 ist
nur ein Arbeitsplatzgruppenobjekt 232 dargestellt.
-
2 stellt
auch eine Vielzahl von Agentenobjekten dar, wie etwa die Objekte 230 und 231.
In diesem Beispiel ist das Agentenobjekt 230 unter Verwendung
der oben erwähnten
Agentenstandort-Überwachungsroutine,
die in 2 als gestrichelte Linie 235 dargestellt
ist, dynamisch mit dem Agenten-Arbeitsplatzobjekt 227 verbunden.
Ebenso ist das Agentenobjekt 231 unter Verwendung der oben
beschriebenen Agentenstandort-Überwachungsroutine
dynamisch mit dem Agenten-Arbeitsplatzobjekt 228 verbunden
(in 2 als gestrichelte Linie 236 dargestellt).
-
Einige
der Agentenobjekte können
zu Agenten-Gruppenobjekten gruppiert werden. In 2 ist
nur ein Agenten-Gruppenobjekt 233 dargestellt.
-
Der
Stat-Server 190 stellt für seine Clients einen Satz
von APIs bereit, um Statistiken für verschiedene Objekte zu erlangen,
wie etwa Objekte, die Agenten, Agentengruppen, Agenten-Arbeitsplätzen, Arbeitsplatzgruppen,
Weiterleitungspunkten, Warteschlangen und so weiter zugeordnet sind.
Statistiken können
Darstellungen der aktuellen Objektzustände sein (zum Beispiel der
aktuelle Agentenzustand, die aktuelle Anzahl der aktiven Anrufe
in einer Gruppe und so weiter) oder die Darstellung vergangener
Zustände.
Verlaüfsdarstellungen
sind die akkumulierte Information für bestimmte Zeitabschnitte
(zum Beispiel die Gesamtzahl der Anrufe, die gesamte Gesprächszeit,
die durchschnittliche Gesprächszeit
und so weiter). Somit müssen
die Clients den in Betracht kommenden Zeitabschnitt vorgeben. Beispiele
für Zeitabschnitte
sind:
- (a) SGrowingWindow: Die Anfangszeit ist
festgelegt (zum Beispiel 9:00 Uhr), währen die Endzeit gleitet (zum
Beispiel "bis jetzt"). Der Client kann
zum Beispiel die Gesamtzahl der Anrufe zwischen 9:00 Uhr morgens
und jetzt anfordern.
- (b) SSlidingWindow: Der Zeitabschnitt ist festgelegt, während die
Anfangs- und die Endzeit gleiten. Beispiel: Die durchschnittliche
Gesprächsdauer
für die
letzte Stunde.
-
Wenn
wir nunmehr zur Beschreibung von Objekten zurückkehren, hat jedes Objekt
einen oder mehrere Zustände.
In einer Ausführungsform
der vorliegenden Erfindung können
Agenten-DN-Objekte die in Tab. 1 dargestellten Zustände haben.
Man beachte, dass die Anzahl und der Charakter der Zustände Einzelheiten der
Implementierung sind und somit einfach durch den Fachmann verändert werden
können. TABELLE
1
(1)
NotMonitored: | Der
CTI-Server überwacht
den Zustand dieser Agenten-DN zur Zeit nicht. Folglich sammelt der
Stat-Server keine statistische Information für diese DN. |
(2)
Monitored: | Die
Agenten-DN wird durch den CTI-Server überwacht. |
(3)
LoggedIn: | Gibt
an, dass der Agent sich bei der Agenten-DN angemeldet hat. |
(4)
OnHook: | Gibt
an, dass eine Agenten-DN aufgelegt hat und auf einen Anruf wartet. |
(5)
WaitForNextCall: | Dies
ist zu fast allen Zeiten aktiv, auch wenn die Agenten-DN aktive
Anrufe hat oder wenn kein Agent da ist (für die Möglichkeit, eine Sprachnachricht
zu hinterlassen). Die einzige Situation, in der WaitForNextCall
nicht aktiv ist, lieb dann vor, wenn eine vorbestimmte Taste gedrückt wird
(siehe NotReadyForNextCall unten). |
(6)
OffHook: | Gibt
an, dass der Telefonhörer
abgenommen ist. Jedoch können
andere Zustände
aktiv sein, auch wenn der Hörer
abgenommen ist (zum Beispiel WaitForNextCall). |
(7)
CallDialing: | Gibt
an, dass ein Agent einen Anruf gewählt hat, dass aber noch keine
Verbindung hergestellt wurde. |
(8)
CallRinging: | Betrifft
eine Aktion, die bei einer Agenten-DN auftritt, vom Zeitpunkt, zu
dem ein ankommender Anruf zu klingeln beginnt, bis zu dem Zeitpunkt
unmittelbar vor der Abwicklung des Anrufs durch einen Agenten. |
(9)
NotReadyForNextCall: | Bezieht
sich auf einen Hardwarezustand, der die Entgegennahme von Anrufen
verhindert. Wird normalerweise durch Drücken einer vorbestimmten Taste
aktiviert. |
(10)
OfflineWorkType1: | Gibt
an, dass ein Agent offline ist, um Arbeit zu verrichten, die als
Typ 1 klassifiziert werden kann. |
(11)
OfflineWorkType2: | Gibt
an, daß ein
Agent offline ist, um Arbeit zu verrichten, die als Typ 2 klassifiziert
werden kann. |
(12)
CallOnHoldUnknown: | Gibt
an, dass ein Anruf unbekannten Typs in Wartestellung ist. |
(13)
CallOnHoldConsult: | Gibt
an, dass ein Beratungsruf in Wartestellung ist. |
(14)
CallOnHoldInternal: | Gibt
an, dass ein interner Anruf in Wartestellung ist. |
(15)
CallOnHoldOutbound: | Gibt
an, dass ein abgehender Anruf in Wartestellung ist. |
(16)
CallOnHoldInbound: | Gibt
an, dass ein eingehender Anruf in Wartestellung ist. |
(17)
CallUnknown: | Gibt
an, dass der CTI-Server nicht bestimmen kann, ob der Anruf ein Beratungsruf,
ein interner, abgehender, eingehender Anruf oder ein Anruf in Wartestellung
ist. |
(18)
CallConsult: | Gibt
an, dass ein Beratungsruf im Gange ist. |
(19)
CallInternal: | Gibt
an, dass der Anruf zwischen zwei Anschlüssen (interne Anrufe) im Gange
ist (zum Beispiel wenn keine Vorwahl verwendet wird). |
(20)
CallOutbound: | Gibt
an, dass ein abgehender Anruf im Gange ist. |
(21)
CallInbound: | Gibt
an, dass ein ankommender Anruf im Gange ist. |
(22)
LoggedOut: | Gibt
an, dass ein Agent sich von der Agenten-DN abgemeldet hat. |
(23)
CallDialed: | Gibt
an, dass ein erfolgreiches Ergebnis erreicht wurde, als ein Anruf
gewählt
wurde. |
(24)
CallAbandonedFromDialing: | Gibt
an, dass der Agent während
des Wählens
eines Anrufs (und bevor der andere Teilnehmer antwortet) den Hörer aufgelegt
hat. |
(25)
CallAnswered: | Gibt
an, dass ein Anruf beantwortet wurde. |
(26)
CallAbandonedFromRinging: | Gibt
an, dass ein anderer Teilnehmer den Hörer aufgelegt hat, während ein
Anruf klingelte. |
(27)
CallAbandonedFromHolding: | Gibt
an, dass ein anderer Teilnehmer den Hörer aufgelegt hat, während der
Anruf in Wartestellung war. |
-
Die
oben aufgeführten
Zustände
entsprechen Aktionen, die durch eine Agenten-DN "ausgeführt" werden können. Wie oben erwähnt, kann
sich eine Agenten-DN zum gleichen Zeitpunkt in einer Vielzahl dieser Zustände befinden
(hierin als die "aktiven
Zustände" bezeichnet). In
einer Ausführungsform
der vorliegenden Erfindung meldet der Stat-Server der vorliegenden
Erfindung seinen Clients einen Zustand der Agenten-DN, der gleich
dem aktiven Zustand mit der höchsten
Priorität
ist. In der vorliegenden Erfindung wird die Priorität durch
die Clients des Stat-Servers festgelegt. Dies wird bewerkstelligt,
indem der Client als Teil der Parameter beim Anfordern von Information über den
Zustand einer Agenten-DN eine Status-Prioritätentabelle ("SPT") an den Stat-Server
sendet. Diese Tabelle enthält
die gleichen Zustände,
die in der Liste von Tabelle 1 dargestellt sind, und zwar so, dass
diese Zustände
in einer Prioritätenrangfolge
angeordnet sind, die durch diesen Client definiert wird. Bei der
Meldung an den Client meldet der Stat-Server einen Zustand, der dem aktiven
Zustand der Agenten-DN mit der höchsten
Priorität,
wie in der empfangenen SPT definiert, entspricht. Man beachte, dass
der gemeldete Zustand der aktive Zustand sein kann, der anderen
Prioritäten
in der SPT entspricht. Wenn der Client, der die Information anfordert,
keine SPT bereitstellt, wird eine vorgegebene SPT verwendet. Ferner kann
der Client bei getrennten Informationsanforderungen eine andere
SPT übergeben.
-
Ein
Vorteil dieses Aspekts der vorliegenden Erfindung besteht darin,
daß jeder
Client Information erlangen kann, die er als die sachdienlichste
erachtet. Im System nach Stand der Technik meldet der Stat-Server nur einen
Zustand für
eine Agenten-DN an alle Clients, die die Information anfordern.
In der vorliegenden Erfindung kann der Stat-Server unterschiedliche
Zustände
für die
gleiche Agenten-DN an unterschiedliche Clients melden, abhängig von
den durch die Clients gesendeten SPT-Parametern. Weil jeder Client
die Information empfängt,
die er wünscht,
können
die Ressourcen der Anrufzentrale besser genutzt werden.
-
Wie
oben dargelegt wurde, kann jeder Agent auf zwei oder mehr Telefone
(das heißt
Agenten-DNs) zugreifen.
In diesem Fall kann der Client eine Agenten-SPT definieren, die
die Priorität
der Aktionen in beiden Agenten-DNs angibt.
-
Als
ein Beispiel wird angenommen, dass ein Agent Zugriff auf zwei DNs
eines Agenten hat: Die erste DN hat einen Zustand "OfflineWorkType1" und die zweite DN
hat einen Zustand "WaitForNextCall". Der Zustand des
Agenten, der dem Client gemeldet wird, ist "OfflineWorkType1", wenn er eine höhere Priorität hat. Als
anderes Beispiel kann ein Client (zum Beispiel Weiterleitungsserver 142)
des Stat-Servers den Zustand eines Agenten als "WaitForNextCall" betrachten, wenn alle dem Agenten zugeordneten
Agenten-DNs den Zustand "WaitForNextCall" haben. Dies entspricht
dem Fall, wenn der Agent nicht aktiv irgendeine Aktivität in bezug
auf die Anrufzentrale durchführt
(zum Beispiel Beantworten eines Anrufs oder Benutzen der Arbeitsstation),
und folglich werden alle Agenten-DNs nicht verwendet und warten
auf einen Anruf. Diese Prioritätenanordnung
wird erreicht, indem "WaitForNextCall" als die Aktion mit
der geringsten Priorität
in eine Agenten-SPT eingegeben wird. Jedoch kann der Weiterleitungsserver 142,
wenn es einen besonderen oder dringenden Anruf gibt, den Zustand
des Agenten als "WaitForNextCall" betrachten wollen,
wenn es mindestens eine dem Agenten zugeordnete Agenten-DN mit dem
Zustand "WaitForNextCall" gibt. Dies entspricht
dem Fall, wenn der Agent Zugriff auf mindestens ein Telefon hat,
das nicht verwendet wird. Diese Prioritätenfestlegung wird erreicht,
indem "WaitForNextCall" als höchste Priorität in die
Agenten-SPT gegeben wird.
-
In
einer Ausführungsform
einer Agenten-SPT wird die Priorität der Zustände aufeinanderfolgend und durch
ein Komma getrennt aufgeführt,
wobei die niedrigste Priorität
zuerst aufgeführt
ist. Die Agenten-SPT
mit der niedrigsten Priorität
für "WaitForNextCall" wäre: "WaitForNextCall,
... (andere Zustände)". Hingegen wäre die Agenten-SPT
mit einer sehr hohen Priorität
für "WaitForNextCall": "..., WaitForNextCall,
LoggedOut". In diesem
Fall ist die höchste
Priorität "LoggedOut", und die Priorität unmittelbar
darunter ist "WaitForNextCall".
-
Agenten
können
in Gruppen angeordnet sein. Der Gruppenzustand beruht auf allen
enthaltenen Agentenzuständen.
Es wird durch eine "Gruppen-SPT" bestimmt, die der
Agenten-SPT und DN-SPT ähnlich
ist. Zum Beispiel bedeutet eine Gruppen-SPT von "..., WaitForNextCall", dass die Gruppe im Zustand "WaitForNextCall" ist, wenn es mindestens
einen Agentenzustand "WaitForNextCall" gibt.
-
Die
Weiterleitungspunkte und Warteschlangen können ebenfalls unterschiedliche
Zustände
an unterschiedlichen Clients als Antwort auf unterschiedliche SPTs
melden. Die Zustände
eines/einer beispielhaften Weiterleitungspunktes/Warteschlange sind
in Tabelle 2 dargestellt. TABELLE
2
(1)
Not Monitored: | Der
CTI-Server überwacht
den Zustand dieser DN zur Zeit nicht. Folglich sammelt der Stat-Server
keine statistische Information für
diese DN. |
(2)
Monitored: | Der
Weiterleitungspunkt/Warteschlange wird durch den CTI-Server überwacht. |
(3)
Not Ready For Next Call: | Dieser
Zustand tritt auf, wenn eine private Nebenstellenanlagen-Quelle, die zur Weiterleitung
verwendet wird, oder eine Warteschlangen-DN ihre Kapazität erreicht
hat. Man beachte, dass diese Kapazität sehr groß ist und normalerweise nicht
erreicht wird. |
(4)
Call Wait: | Anruf
ist in Wartestellung an einem Weiterleitungspunkt beziehungsweise
einer Warteschlange. |
(5)
Call Entered: | Dies
ist eine "Sofort-"Aktion, die angibt,
dass an einem Weiterleitungspunkt oder einer Warteschlange gerade
ein neuer Anruf eingetroffen ist. |
(6)
Call Distributed: | Gibt
an, dass ein Anruf, der vorher in einem Weiterleitungspunkt beziehungsweise
einer Warteschlange war, gerade an einen Agenten übergeben
wurde. |
(7)
Call Abandoned: | Gibt
an, dass ein Kunde gerade aufgelegt hat, während der Anruf an einem Weiterleitungspunkt
oder in einer Warteschlange war. |
(8)
Wait For Next Call: | Gibt
an, dass ein Weiterleitungspunkt beziehungsweise eine Warteschlange
noch Kapazität
hat, um mehr Anrufe abzuwickeln. |
-
In
einer Ausführungsform
der vorliegenden Erfindung gibt es zwei hauptsächliche Logik-Aufrufe, die es
Clients ermöglichen,
Statistiken vom Stat-Server zu erlangen. Der erste Anruf ist "SGetStat". Dieser Aufruf fordert
den Stat-Server dazu auf, die betreffende Statistik nur einmal zu
senden. Der zweite Aufruf ist "SOpenStat". Das bedeutet, dass
der Client daran interessiert ist, Statistiken auf einer kontinuierlichen
Grundlage zu empfangen. Der Client kann ferner verschiedene Kriterien
für den
Stat-Server zur Benachrichtigung des Clients und Meldung der Statistiken
festlegen. Zum Beispiel kann der Client festlegen, dass eine Benachrichtigung
nur dann stattfindet, wenn der neue Wert um eine vorbestimmte Prozentzahl
größer ist
als der letzte gemeldete Wert. Alternativ kann der Client festlegen,
dass eine Benachrichtigung in vorbestimmten Zeitabständen stattfindet.
-
Einer
der Parameter der SGetStat- und SOpenStat-Aufrufe betrifft die SPT.
In einer Ausführungsform der
vorliegenden Erfindung enthalten die Parameter für jeden dieser Aufrufe einen
Zeiger auf eine Datenstruktur mit einer Anzahl von optionalen Feldern.
Die SPT für
Agenten-DN, Agent, Gruppe und Weiterleitungspunkt/Warteschlange
belegt jeweils eines dieser optionalen Felder. Somit kann eine Anwendung
die geeigneten SPTs definieren und sie in die Datenstruktur einbinden.
Diese Datenstruktur wird verwendet, um die SGetStat- und SOpenStat-Aufrufe
aufzurufen.
-
In
einer Ausführungsform,
bei der mehrere Vermittlungsstellen durch den gleichen Stat-Server überwacht
werden, enthalten die oben erwähnten
Aufrufe auch einen Parameter, der es dem Client ermöglicht,
die erwünschte
Vermittlungsstelle anzugeben.
-
Die
Erfindung ist mit Bezug auf spezifische beispielhafte Ausführungsformen
beschrieben worden. Verschiedene Modifikationen und Änderungen
sind möglich,
ohne von dem umfangreichen Schutzbereich der Erfindung abzuweichen.
Die Beschreibung und Zeichnungen sind demgemäß in einem der Darstellung
dienenden und nicht in einem einschränkenden Sinne zu betrachten;
die Erfindung ist nur durch die beigefügten Ansprüche eingeschränkt.