-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft das Gebiet der Fernsprechtechnik und insbesondere
ein System, bei dem Anrufe unter Verwendung einer intelligenten
Einheit, die sich außerhalb
des öffentlichen
Fernsprechwählnetzes befindet,
gelenkt werden.
-
Hintergrund
der Erfindung
-
Ein
Telefonsystem umfasst in seiner grundlegendsten Form eine Person,
die eine Telefonnummer wählt,
die einer anderen Person zugewiesen ist. Bei einem derartigen Telefonsystem
gibt es eine eindeutige Beziehung zwischen der gewählten Nummer
und dem Ziel. Das Telefonsystem ist außerdem so beschaffen, dass
es spezielle Anrufdienste unter Verwendung von ankommenden N00-Telefonnummern
bereitstellt. Bei diesen Nummern wird derzeit die Vorwahl 800 oder
900 verwendet. Insbesondere Firmen vereinbaren die Verwendung einer
bestimmten 800-Nummer, damit Kunden kostenfrei anrufen und Geschäfte abschließen können. Bei
einer 900-Nummer wird dagegen der Dienst dem Kunden in Rechnung
gestellt.
-
Während der
frühen
1980er Jahre verlagerten die Fernsprechunternehmen die Übermittlung
und Weglenkung der 800-Nummern
aus Vermittlungssystemen und platzierten sie stattdessen in einer
Datenbank der Anrufweglenkung, die als "Dienststeuerpunkt" (SCP) bezeichnet wurde. Die architektonische
Umsetzung ermöglichte,
dass eine einzige landesweite N00-Nummer zu jedem von einer Vielzahl
von Teilnehmerzielen gelenkt werden konnte. Das galt z.B. für einen
Anrufer, der bei einer Firma einen Auftrag platzieren möchte, eine Anfrage über einen
Kontostand hat oder Informationen über die Produkte oder Dienste
einer Firma erhalten möchte.
Der SCP muss so konfiguriert sein, dass festgestellt wird, welches
der Ziele einen bestimmten Anruf erhalten sollte, d.h., wohin der
Anruf gelenkt werden sollte. Der allgemeine Typ des gewünschten
Teilnehmerdienstes kann durch Wählen
einer bestimmten Nummer ausgewählt
werden, wobei unterschiedliche Nummern verschiedenen Diensten entsprechen.
Alternativ kann der Teilnehmer eine einzige Nummer haben und eine Menusteuerung
verwenden, wodurch zusätzliche
Ziffern durch den Anrufer eingegeben werden, um den bestimmten gewünschten
Dienst zu spezifizieren. Alle diese Informationen werden von dem
SCP verwendet, um die Weglenkungsentscheidungen zu treffen.
-
In
Reaktion auf eine Anforderung zur Anrufweglenkung von einem Vermittlungsknoten
des Trägers trifft
der SCP die Weglenkungsentscheidung anhand von Kombinationen aus
spezifizierten Kriterien, d.h. Ursprungs-Vorwahlnummer und/oder
Ursprungs-Vermittlungsstelle, Tageszeit, Wochentag, Datum und vom
Anrufer eingegebene Ziffern. Diese Anruf-Merkmale werden mit Anruf-Prüfdurchlaufkriterien
(screening criteria), die in dem SCP in Form eines "Weglenkungsbaums" vorhanden sind,
verglichen, um das Ziel zu bestimmen, zu dem der Anruf gelenkt werden
sollte. Die Anrufweglenkungsantwort hat zur Folge, dass der Anruf
entweder zu einer bestimmten Stelle geleitet oder unter Verwendung
von im Voraus gewählten
Prozentsätzen
einer Gruppe von Stellen zugeordnet wird. Der Teilnehmer kann die
Anruf-Prüfdurchlaufprozedur
und die Prozentsätze
der Anrufzuweisung ändern,
indem er diese Änderungen
in Form eines neuen oder geänderten
Weglenkungsbaums in den SCP eingibt. Diese Änderungen werden in Abhängigkeit
von dem bestimmten System, das verwendet wird, einige Zeit, nachdem
sie ausgeführt
wurden, wirksam. Diese Änderungen
können
verwendet werden, um unerwartete Schwankungen des Teilnehmeranrufvolumens,
das Fehlen von verfügbaren
Agenten bei einem oder mehreren Teilnehmerzielen und andere Probleme
zu bewältigen.
Das ist jedoch eine verhältnismäßig langsame
Reaktion bei einem dynamisch veränderlichen
System.
-
Bei
der Verwaltung, wie Anrufe bei mehreren alternativen Teilnehmerzielen
geleitet werden, werden die Anruferkennung, das Trägernetzwerk,
der SCP und Ressourcen der Teilnehmer verwendet. Der Teilnehmer
bemüht
sich, verschiedene Leistungskriterien einzuhalten. Es ist von äußerster
Wichtigkeit, wie lange es dauert, bis ein Anruf von einem Agenten
beantwortet wird. Wenn die Zeit zu lang ist, sinkt die empfundene Qualität. Wenn
Anrufer in einer warteschlange gehalten werden, können die
Gebühren
des Träger
ansteigen. Ein abgebrochener Anruf kann die Einnahmen bei einer
Verkaufsanwendung nachteilig beeinflussen, wenn ein Kunde nicht
zurückruft.
-
Eine
Lösung
besteht darin, eine ausreichende Anzahl von Agenten vorzusehen,
die die maximale Anzahl von erwarteten Anrufen abwickeln. Das ist
jedoch eine wirtschaftlich unmögliche
Lösung.
Eine optimale Lösung
besteht darin, eine minimale Anzahl von Agenten zu verwenden, während die Weglenkung
der Anrufe so erfolgt, dass festgelegte Leistungsziele erfüllt werden.
-
Die
vorliegende Erfindung ist vorgesehen, um ein oder mehrere der oben
erläuterten
Probleme neuartig und einfach zu lösen.
-
Gawrys,
G. W. u.a. offenbaren in "ISDN:
Integrated Network/premises solutions" IEEE International Conference on communications
85", Dokument 1.1,
Bd. 1, 22.-25. Juni 1986, S. 1 bis 5 einen ACD-Endpunkt in Kundenräumen, der
einen ankommenden Anruf zu Agentengruppen für einen 800-Dienst schaltet.
Die Anruferkennung und weitere relevante Informationen werden weitergeleitet.
-
Gechter
J. u.a. offenbaren in "ISDN
service opportunities in the intelligent network", proceedings of the national communications
forum, Bd. 43, Nr. 1, 2. Oktober 1989, S. 548 bis 551 ein Konzept
eines intelligenten Netzwerks, das das Dienstpotenzial der ISDN-Schnittstelle
unterstützt.
-
Zusammenfassung
der Erfindung
-
Gemäß der Erfindung
wird ein Verarbeitungssystem zur Leitweglenkung von Teilnehmeranrufen
bereitgestellt, das Leitweglenkungsentscheidungen außerhalb
des öffentlichen
Fernsprechwählnetzes
trifft.
-
Es
ist eine Aufgabe der Erfindung, Leitweglenkungsentscheidungen anhand
einer speziellen Kennung des Anrufers bereitzustellen. Eine Anruferkennung,
die alle zehn Ziffern des Telefons enthält, von dem der Anruf stammt,
kann in einer Datenbank gemeinsam mit Informationen über den Anrufer,
die für
die Geschäftsbeziehungen
des Anrufers mit dem Teilnehmer relevant sind, gespeichert werden.
Gemeinsam mit Anweisungen, die die Anrufleitweglenkung beeinflussen,
können
einige dieser Informationen an das Trägernetzwerk für die Zustellung
an das Ziel, das den Anruf erhält,
bereitgestellt werden. Diese Informationen können von der Ressource verwendet
werden, um die Behandlung des Kunden zu unterstützen.
-
Dieses
Merkmal ermöglicht
außerdem,
dass Informationen, die über
einen bestimmten Kunden gesammelt und gespeichert werden, die Anrufleitweglenkungsentscheidung
beeinflussen. Die Kundendatenbank kann z.B. so konfiguriert sein,
dass sie überwacht,
wie viele Anrufe von einem bestimmten Kunden in vorgegebenen Zeitabschnitten
geführt
werden. Diese Informationen können
verwendet werden, um den Anruf auf spezielle Weise zu lenken, wie
etwa durch Übergeben
der Anrufe an unterschiedliche Ressourcen in Abhängigkeit von der erreichten
Anzahl.
-
Gemäß einem
weiteren Aspekt der Erfindung können
Anrufe anhand der Verfügbarkeit
von Agenten oder anderen Ressourcen zum Abwickeln der Anrufe gelenkt
werden. Für
Anrufe kann ein Belastungsausgleich für mehrere Teilnehmer-Ressourcen
am gleichen Ort oder an verschiedenen Orten ausgeführt werden, um
das Anordnen in Warteschlangen so gering wie möglich und die Produktivität der Ressourcen
so groß wie möglich zu
machen.
-
Anhand
des Prüfdurchlaufs,
der für
Anruf-Merkmale und Anruferattribute ausgeführt wird, können mehrere Teilnehmer-Ressourcen in der
Lage sein, den Anruf abzuwickeln. Zusätzliche Kriterien, die vom
Teilnehmer bereitgestellt werden, legen fest, wie unter diesen alternativen
Ressourcen eine Auswahl zu treffen ist. Diese Kriterien enthalten
Informationen über
die Prioritätsebene,
die verwendet wird, um die alternativen Ressourcen einzuordnen,
und Leistungsinformationen, die verwendet werden, um für jede Ressource
bei jedem Ziel die höchstens
zulässige
Zeit, die Anrufer in der Warteschlange warten, festzulegen.
-
Gemäß einem
weiteren Aspekt der Erfindung ermöglicht eine vom Teilnehmer
bereitgestellte Anrufleitweglenkung, dass Einrichtungen, die über den
Zustand des Netzwerks informiert werden, den Prozess der Anrufleitweglenkung
beeinflussen. Ein Betriebsunterstützungssystem in dem Netzwerk
des Trägers
liefert Warndaten über
die Vermittlungsstellen und Einrichtungen, die verwendet werden,
um die Kundenanrufe zu den Ressourcen des Teilnehmers zu schalten.
In Abhängigkeit
von der Verfügbarkeit
der Vermittlungsstellen und Einrichtungen des Trägers sind einige Ressourcen
des Teilnehmers möglicherweise
nicht in der Lage, alle Anrufe, die sie abwickeln können, zu
empfangen. Anrufe, die über
die Fähigkeit
zur Abwicklung von Anrufen des Netzwerks hinaus zu einer Teilnehmer-Ressource
geleitet werden, haben zur Folge, dass der Anrufer schnell einen
Besetztton oder eine Unterbrechungsansage hört. Informationen zur Verfügbarkeit
des Netzwerks werden bei dem Prozess des Belastungsausgleichs verwendet,
um eine bessere Entscheidung der Anrufleitweglenkung bereitzustellen.
-
Gemäß einem
weiteren Aspekt der Erfindung können
die Kriterien des Anrufprüfdurchlaufs
und Anweisungen der Leitweglenkung dynamisch geändert werden. Die Art der Organisation
von Entscheidungsalgorithmen ermöglicht,
dass Änderungen
an dynamischen Variablen innerhalb von Sekunden ausgeführt werden können. Ein
Teilnehmer kann außerdem
auf Probleme entweder im öffentlichen
Fernsprechwählnetz
oder im Teilnehmernetzwerk sehr schnell reagieren und den Einfluss
auf entgangenen Absatz und entgangene Kundendienstleistungen so
gering wie möglich
halten.
-
Gemäß einem
weiteren Aspekt der Erfindung ermöglicht eine vom Teilnehmer
bereitgestellte Anrufleitweglenkung, dass viele unterschiedliche
gewählte
Nummern, die das gleiche Ziel haben, durch die gleiche Leitweglenkungsregel
geleitet werden. Dadurch werden dynamische Änderungen, die durch den Teilnehmer ausgeführt werden,
sofort und für
alle gewählte
Nummern, die durch die gleiche Leitweglenkungsregel geleitet werden,
gleichzeitig wirksam. Dadurch kann der Belastungsausgleich die gesamte
Anruflast, die auf die Ressource entfällt, beinhalten und gleichzeitig
einen Belastungsausgleich für
alle gewählte
Nummern ausführen.
-
Gemäß einem
weiteren Aspekt der Erfindung ermöglicht eine vom Teilnehmer
bereitgestellte Anrufleitweglenkung, dass Anfragen der Anrufleitweglenkung
in mehr als einem Trägernetzwerk
für die
gleiche Leitweglenkungsregel erzeugt werden. Die unterschiedlichen
gewählten
Nummern, die die gleiche Ressource gemeinsam verwenden, können über unterschiedliche
Trägernetzwerke
transportiert werden. Anrufe für
die gleiche gewählte
Nummer können
außerdem über mehr
als ein Trägernetzwerk
transportiert und an die gleiche Teilnehmer-Ressource zugestellt werden. Der eigene
Leitweglenkungsbaum eines Trägers
kann lediglich Leitweglenkungsentscheidungen treffen, die von den
in anderen Trägernetzwerken
getroffenen Leitweglenkungsentscheidungen unabhängig sind. Diese Leitweglenkungsentscheidungen
können
kein System bereitstellen, das die Vorteile einer vom Teilnehmer
bereitgestellten Anrufleitweglenkung unter Verwendung einer Leitweglenkungsintelligenz,
die sich an einem einzelnen Punkt außerhalb des Netzwerks des Trägers befindet,
bietet, um ein wirksames dynamisches System zur Aktualisierung und
zum Belastungsausgleich, das mehrere Trägernetzwerke beinhaltet, bereitzustellen.
-
Im
Einzelnen wird in dieser Beschreibung ein modernes, intelligentes
Netzwerk bereitgestellt, das einen Leitweglenkungsprozessor, eine
Aktivitäts-Überwachungseinrichtung, einen
Ereignisprozessor und eine Anrufer-Datenbank umfasst. Der Leitweglenkungsprozessor
verwendet Algorithmen in Form von Leitweglenkungsregeln, die die
Bevorzugungen des Geschäftskunden
wählen,
um N00-Anrufe an ein geeignetes Ziel zuzustellen. Der Ereignisprozessor
empfängt
Zustandsinformationen über
Ressourcen und leitet diese Informationen an die Aktivitäts-Überwachungseinrichtung
weiter, um sowohl die Leitwegverarbeitung als auch den Betrieb des
Anrufzentrums zu überwachen.
Die Aktivitäts-Überwachungseinrichtung steuert
den Informationsfluss und verwendet diese Informationen in Verbindung
mit Algorithmen der Leitweglenkung, um die variablen Informationen
in den Leitweglenkungsregeln zu bestimmen, die der Leitweglenkungsprozessor
zum Wählen des
endgültigen
Ziels verwendet. Die Anrufer-Datenbank stellt Informationen über den
Anrufer bereit, um das bevorzugte Ziel für den Anruf zu wählen. Diese
Informationen können
außerdem
an das Ziel gesendet werden, um den Agenten bei der Abwicklung des
Anrufs zu unterstützen.
-
Der
Ablauf erfolgt durch das Teilnehmernetzwerk wie bei einer Anrufanfrage,
die den SCP des Telefonnetzwerks verlässt, um ein Ziel zu suchen.
Der Leitweglenkungsprozessor gibt das Ziel an und sendet eine Anrufleitweglenkungsantwort
anhand der Leitweglenkungsregel zurück, die ursprünglich von
dem Teilnehmer erstellt wurde und durch die Aktivitäts-Überwachungseinrichtung dynamisch
aktualisiert wird. Der Anruf wird über das öffentliche Fernsprechwählnetz zu
der gewünschten
Ressource geleitet, und Zustandsinformationen werden durch den Ereignisprozessor
an die Aktivitäts-Überwachungseinrichtung zurückgeleitet,
um bei folgenden Leitweglenkungsentscheidungen zu helfen und statistische
Informationen über
die Agenten bereitzustellen.
-
Weitere
Merkmale und Vorteile der Erfindung werden aus der Beschreibung
und aus der Zeichnung ohne weiteres deutlich.
-
Kurzbeschreibung
der Zeichnung
-
1 ist
eine Prinzip/Blockdarstellung, die grundlegende Elemente in dem öffentlichen
Fernsprechwählnetz
und dem Teilnehmernetzwerk gemäß der Erfindung
veranschaulicht;
-
2 ist
eine genauere Blockdarstellung, die die Elemente des modernen, intelligenten
Netzwerkprozessors von 1 und seine Beziehung zu dem öffentlichen
Fernsprechwählnetz
veranschaulicht;
-
3 ist
eine Tabelle, die die allgemeine Konfiguration einer Leitweglenkungsregel
veranschaulicht;
-
4 ist
ein Ablaufplan, der die Funktionsweise des Leitweglenkungsprozessors
von 3 veranschaulicht;
-
5 ist
ein Ablaufplan, der die Funktionsweise der Leitweglenkungsregel-Task
des Ablaufplans von 4 veranschaulicht; und
-
6 ist
ein Ablaufplan, der die Funktionsweise eines Programms für den Algorithmus
des Belastungsausgleichs, der in der Aktivitäts-Überwachungseinrichtung realisiert
ist, veranschaulicht.
-
Genaue Beschreibung der
Zeichnung
-
In 1 veranschaulicht
eine Prinzip/Blockdarstellung ein Verarbeitungssystem zur Leitweglenkung von
Teilnehmeranrufen, das gemäß der Erfindung
verwendet wird. Das System ist so beschaffen, dass es dem Teilnehmer
die Möglichkeit
gibt, die Leitweglenkung von ankommenden N00-Tefefonanrufen (gegenwärtig die Vorwahlnummern
800 und 900) anhand der vom Teilnehmer bereitgestellten Leitweglenkungskriterien
an ein gewünschtes
Ziel oder eine gewünschte
Ressource zu steuern. Diese Ausführungsform
der Erfindung verwendet die Vorwahlnummern 800 und 900, kann jedoch
einfach so erweitert werden, um jeden ankommenden Dienst oder jede
Nummernfolge zu unterstützen.
-
Das
System verwendet die Einrichtungen des öffentlichen Fernsprechwählnetzes
(PSTN) 100, die durch einen oder mehrere Netzwerkträger bereitgestellt
werden. Zu diesen Trägern
zählen
z.B. Sprint, MCI, AT&T
sowie Träger
für lokale
Vermittlung. Ein Anrufer löst
an einem Telefon 102 einen Anruf aus, indem er eine Nummer
wählt,
die dem bestimmten Teilnehmer zugewiesen ist. Der Anruf wird zu
einem der vielen Vermittlungsknoten 104 des Trägers, die
in dem PSTN 100 enthalten sind, durchgeschaltet. Der bestimmte
Vermittlungsknoten 104 des Trägers ist gewöhnlich derjenige,
der sich dem Anrufer 102 am nächsten befindet. Der Vermittlungsknoten 104 des
Trägers
unterbricht vorübergehend
den Anrufeinrichtungsprozess auf Grund des Empfangs einer N00-Nummer
und setzt eine Leitweglenkungsanfrage an die Datenbank der Anrufleitweglenkung
oder den Dienststeuerpunkt (SCP) 106 des Trägers ab.
Anhand der gewählten
Nummer wird in dem SCP 106 ein Anrufübersetzungsprozess unter Verwendung
von Leitweglenkungsbäumen,
die für
den Teilnehmer konfiguriert sind, aufgerufen. In einem Teilnehmernetzwerk 112 sind
eine Vielzahl von Ressourcen enthalten, die als Ressourcen A, B
und C, 108, 109 bzw. 110 angegeben sind,
zu denen die Anrufe letztendlich gelenkt werden sollen. Die Leitweglenkungsentscheidung
wird herkömmlich
durch den Leitweglenkungsbaum in dem SCP 106 getroffen.
Der SCP 106 steuert die Vermittlung in dem Vermittlungsknoten 104 des
Trägers,
um den Anrufer 102 mit einer der Ressourcen 108 bis 110 zu
verbinden. Ein Beispiel eines derartigen herkömmlichen Systems ist durch
Frauenthal u.a. in der US-Patentschrift Nr. 4 737 983 beschrieben.
-
Gemäß der Erfindung
enthält
das Teilnehmernetzwerk 112 außerdem einen modernen, intelligenten Netzwerkprozessor 114 (AIN-Prozessor),
das Benutzer-Endgerät 116 und
eine Kundendatenbank 118, um Leitweglenkungsentscheidungen
außerhalb
des PSTN 100 zu treffen. Der SCP 106 ist in der
Weise modifiziert, dass er an Stelle der direkten Ausführung von
Entscheidungen aus seinem eigenen Leitweglenkungsbaum eine Leitweglenkungsanfrage
an den AIN-Prozessor 114 in dem Teilnehmernetzwerk 112 absetzt.
Anhand der Informationen, die von dem Träger in der Leitweglenkungsanfrage
bereitgestellt werden, der Informationen über den Anrufer, die in der
Kundendatenbank 118 des Teilnehmers enthalten sind, der
Informationen, die durch das Betriebsunterstützungssystem 120 des
Trägers über den
Zustand der Einrichtungen bereitgestellt werden, und der Informationen über den
Zustand der Ressourcen 108 bis 110, die an Anruf
abwickeln können, sendet
der AIN-Prozessor 114 eine
Ressourcenkennung zurück
an den SCP 106. Diese Antwort kann außerdem Daten enthalten, die
von dem PSTN 100 an die Ressource zugestellt werden sollen.
Der SCP 106 empfängt
die Leitweglenkungsantwort von dem AIN-Prozessor 114 und
weist den Vermittlungsknoten 104 des Trägers an, den Anrufeinrichtungsprozess
wiederaufzunehmen und den Anruf über
das PSTN 100 an die vorgesehene Ressource 108, 109 oder 110 auszuführen.
-
Leitweglenkungsanfragen
von verschiedenen Anrufern für
die gleiche gewählte
Nummer können
anhand des Bedarfs des Teilnehmers und der Möglichkeiten jedes Trägers gleichzeitig
in mehr als einem Trägernetzwerk
ausgelöst
werden. Das Benutzerendgerät 116 stellt
zwischen dem Teilnehmer und dem AIN-Prozessor 114 eine
Schnittstelle dar.
-
In 2 sind
die Komponenten des AIN-Prozessors 114 genauer dargestellt.
Der AIN-Prozessor 114 enthält im Einzelnen einen Editor 130 der
Anrufmanagementsprache (Call Management Language, CAMEL), einen
Leitweglenkungsprozessor 132, eine Aktivitäts-Überwachungseinrichtung 134,
einen Ereignisprozessor 136 und das Endbenutzer-Endgerät 116.
Der CAMEL-Editor 130 ermöglicht dem Teilnehmer, Leitweglenkungsregeln
zu erstellen, die in einem DASD 138 gespeichert sind, der
eine Mehrheit der Leitweglenkungsentscheidungen enthält, die
die Zustellung eines Anrufs an die Ressourcen des Teilnehmers beeinflussen.
Der Leitweglenkungsprozessor 132 verwendet die fertigen
Leitweglenkungsregeln, um N00-Anrufe an die richtige Ressource zuzustellen.
Der Ereignisprozessor 136 empfängt Informationen von den Ressourcen
wie etwa die ACDs 108 bis 110, die sowohl für die Leitwegverarbeitung
als auch für
die Überwachungen
der Operationen des Anrufzentrums zu verwenden sind. Die Aktivitäts-Überwachungseinrichtung 134 steuert
den Informationsfluss in den AIN-Prozessor 114 und verwendet
diese Informationen in Verbindung mit den Strukturen der Leitweglenkungsregeln,
um die variablen Informationen in den Leitweglenkungsregel zu bestimmen,
die von dem Leitweglenkungsprozessor 132 verwendet werden,
um das endgültige
Ziel auszuwählen.
-
Der
Funktionsablauf des modernen, intelligenten Netzwerkprozessor 114 beginnt
dann, wenn eine Anfrage nach Anrufleitweglenkung den SCP 106 des
PSTN verlässt
und nach einem Ziel sucht. Der Leitweglenkungsprozessor 132 ermittelt
das Ziel unter Verwendung der Leitweglenkungsregeln und sendet eine
Anrufleitweglenkungsantwort anhand der Leitweglenkungsregel zurück, die
ursprünglich
von dem Teilnehmer erstellt wurde und durch die Aktivitäts-Überwachungseinrichtung 134 dynamisch
aktualisiert wird. Der Anruf wird über das PSTN an das gewünschte ACD 108 bis 110 gelenkt,
und Zustandsinformationen werden durch den Ereignisprozessor 136 an
die Aktivitäts-Überwachungseinrichtung 134 zurückgeleitet,
um die nächste
Leitweglenkungsentscheidung zu unterstützen und statistische Informationen über die
Agenten bereitzustellen.
-
Gemäß der Erfindung
können
der CAMEL-Editor 130, der Leitweglenkungsprozessor 132,
die Aktivitäts-Überwachungseinrichtung 134 und
der Ereignisprozessor 136 getrennte Verarbeitungssysteme,
die über ein
geeignetes Netzwerk verbunden sind, umfassen, oder sie können Teil
eines einzelnen Verarbeitungssystems sein. Die Funktionen sind vorteilhaft
in einem Kundeninformationssteuersystem (CICS) realisiert. Ein CICS
ist ein Programm, das in einem Verarbeitungssystem abläuft und
Transaktionen ermöglicht,
die an entfernten Endgeräten
eingegeben werden, damit sie gleichzeitig durch Teilnehmer-Anwendungsprogramme
verarbeitet werden. Die verschiedenen Funktionen enthalten entweder
Bereiche in dem System oder Tasks, die Teil eines bestimmten Bereichs
sind.
-
Der
SCP 106 ist Teil des öffentlichen
Fernsprechwählnetzes 100 und
ist selbst nicht Teil der Erfindung. Das Teilnehmernetzwerk 112 muss
trotzdem mit dem SCP 106 kommunizieren, um zuzulassen,
dass Leitweglenkungsentscheidungen außerhalb des PSTN 100 getroffen
werden. Ein neuer Knotentyp, ähnlich
zu vorhandenen Zuweisungs-, Zeit- und NPA-Knoten ist für das N00-System
in dem SCP 106 definiert. Dieser Knoten ermöglicht dem
Teilnehmer, mit dem SCP über
eine Kommunikationsschnittstelle in Wechselwirkung zu treten, um
Echtzeit-Leitweglenkungsentscheidungen
anhand von Algorithmen zu treffen, die vom Teilnehmer definiert wurden
und in dem Teilnehmernetzwerk 112 festgelegt sind. Wenn
an der Kommunikationsschnittstelle keine gültige Entscheidung erhalten
wird, wird in dem SCP 106 durch den Leitweglenkungsbaum
eine Standardentscheidung getroffen.
-
In
dem SCP 106 wird der neue Knotentyp genauso verarbeitet
wie die vorhandenen Zeit-, NPA- und Zuweisungsknoten, bis ein Zugriff
für eine
Anrufverarbeitung erfolgt. Wenn ein Zugriff für eine Anrufverarbeitung in
dem SCP 106 erfolgt, wird das Leitungsidentifizierungsfeld
in dem Knoten mit einer SCP-Konfigurationsdatenbank
zur Auswahl der Sitzung und der physischen Übertragungsleitung, die zu
verwenden ist, verglichen. Wenn diese Sitzung in einem zugriffsfähigen Zustand
für eine
Eröffnung
ohne ungelöste
Fehler ist, überträgt der SCP 106 eine
Anfragenachricht in Bezug auf diese Sitzung. Wenn eine Antwort auf
die Anfrage innerhalb eines kurzen Zeitlimits (nominell 500 ms)
empfangen wird, die einer Auswahl in dem Knoten entspricht, wird
die Verarbeitung mit dieser Auswahl fortgesetzt. Andernfalls wird
die Verarbeitung mit der Standardauswahl, die in dem SCP 106 definiert
ist, fortgesetzt.
-
Um
eine schnelle Antwort sicherzustellen, werden schnelle Leitungen
von Punkt zu Punkt verwendet. Anfragen, die als Anrufe übermittelt
werden, werden verarbeitet, ohne auf eine Antwort auf vorherige
Anfragen zu warten. In einer einzelnen Sitzung wird ein Umfang von
bis zu vierzig Anfragen pro Sekunde unterstützt. Somit können zu
jedem Zeitpunkt bis zu zwanzig Anfragen ausstehen. Das Anwendungszeitlimit
wird von der Übertragung
der Anfrage bis zum Empfang der Antwort auf diese Anfrage gemessen.
Beide Seiten der Schnittstelle führen
eine automatische Fehlerkorrektur aus, die nach Möglichkeit
mit dem Minimieren der Reaktionszeit und der Codekomplexität widerspruchsfrei
ist. Um den Einfluss auf die Anrufverarbeitungsleistung so gering
wie möglich
zu halten, hält
der SCP 106 seine Zustandsangabe bei jeder Sitzung bei und
versucht lediglich, bei einer Sitzung Anfragen mit überprüftem Zustand
zu senden.
-
Der
SCP 106 erstellt eine Anfragenachricht, wenn ein Kommunikationsknoten
bei der Verarbeitung eines Anrufs angetroffen wird. Jede Anfragenachricht
enthält:
- 1. Anfragekennung;
- 2. NPA-NXX-XXXX (oder so viele Stellen wie verfügbar sind);
- 3. N00-Nummer;
- 4. Knotenkennung;
- 5. Anruferinformationen (wie etwa Dienstklasse); und
- 6. vom Anrufer eingegebene Ziffern.
-
Das
Teilnehmernetzwerk 112 erstellt in Reaktion auf eine Anfrage
eine Antwortnachricht. Die Anfragekennung wird aus der Anfragenachricht
erhalten. Jede Anfrage enthält:
- 1. Anfragekennung;
- 2. Auswahlcode;
- 3. Zielkennzeichen; und
- 4. Anruferinformationen.
-
Wenn
die Sitzung eingerichtet ist, werden Initialisierungsnachrichten
ausgetauscht, die den Kommunikationsknoten kennzeichnen, der durch
die Knotenkennung verarbeitet wird.
-
"NPA-NXX-XXXX" bezeichnet die Vorwahl,
die Vermittlung und die Station des Anrufers. "N00-Nummer" kennzeichnet die Nummer, die vom Anrufer
gewählt
wurde. "Knotenkennung" bezeichnet eine
Zeichenfolge, die eine bestimmte Verwendung des Kommunikationsmerkmals,
das sowohl für
den SCP 106 als auch den AIN-Prozessor 114 bekannt
ist, kennzeichnet. "Auswahlcode" und "Zielkennzeichen" kennzeichnen eine bestimmte
Leitweglenkungsauswahl. Diese sind außerdem sowohl dem SCP 106 als
auch dem AIN-Prozessor 114 bekannt.
-
Aktivitäts-Überwachungseinrichtung
-
Die
Aktivitäts-Überwachungseinrichtung 134 ist
der zentrale Steuerungspunkt für
die gesamte Verarbeitung des Teilnehmernetzwerks. Diese Verarbeitung
enthält:
Abrufen von Zustandsinformationen von Ressourcen; Mitteilen von
Agenten-Zustandsinformationen;
Vorgeben von benutzerdefinierten Leitweglenkungsregeln; Verwendung
von Algorithmen, um Tabellen zu erstellen, die erforderlich sind,
um den Belastungsausgleich und weitere Merkmale bereitzustellen;
Einrichtungen, um manuelle Eingaben von Endbenutzer-Endgeräten anzunehmen,
um die Leitweglenkung von Anrufen zu bewirken; eine Einrichtung,
um über
einen Ausfall in dem Teilnehmer-Netzwerk 112 zu
benachrichtigten und darauf zu reagieren; eine Einrichtung, um Leitweglenkungsstatistiken
von dem Leitweglenkungsprozessor 132 zu empfangen; eine
Einrichtung, um anruferspezifische Informationen von der Anrufer-Datenbank 118 zu
erhalten und um Informationen über
den Anrufer zu sammeln und zu speichern; und eine Einrichtung, um
die Leitweglenkungsstatistik für
eine Trendanalyse, die Rechnungslegung und die Agentenplanung aufzuzeichnen.
-
Die
Teilnehmer-Ressourcen können
automatische Anrufverteiler (ACDs), Audio-Antworteinheiten (ARUs)
und andere intelligente periphere Einheiten (IP-Einheiten), Agenten,
die von zuhause aus arbeiten, Netzwerk-Nachrichtenansageeinheiten
sowie weitere PSTN-Endgeräte
enthalten. Die Aktivitäts- Überwachungseinrichtung 134 verwendet
Zustandsinformationen von diesen Ressourcen, Anwendungsprogramme und
Teilnehmereingaben, um Kapazitätsanteile
zu berechnen, die verwendet werden, um innerhalb der nächsten 30
Sekunden Anrufe zu verfügbaren
Ressourcen zu leiten. Diese Informationen werden außerdem bei
der Berichterstattung zur Statistik oder über die Verfügbarkeit
von Ressourcen während
der letzten 30 Sekunden verwendet.
-
Die
ACD-Ressource kann jede handelsübliche
ACD umfassen. In der hier veranschaulichten und beschriebenen Ausführungsform
wird das System in Verbindung mit einer ACD von Rockwell Galaxy
verwendet. Das Format der abgerufenen Rockwell-ACD-Informationen, die
im Einzelnen als Anruf-Echtzeit-Gate- und Überlauf-Datensätze (Call
Side Real Time Gate and Overflow-Datensätze) bekannt
sind, ist im Handbuch von Rockwell International mit dem Titel "Galaxy ACD, External
Record Description-Galaxy 7",
S. 1 bis 5, enthalten. Außerdem
sind Informationen über
das Format der RMC-Fremdprozessor-Datenverbindungsanfrage in dem Handbuch
von Rockwell International mit dem Titel "Galaxy ACD RMC Foreign Processor Data
Link", S. 1 bis 13
enthalten. Die speziellen Nachrichtenfelder, die zur Verfügung stehen,
sind verfügbare
Agenten, Anzahl der abgebrochenen Anrufe, mittlere Verzögerungszeit
in der Warteschlange, mittlere Geschwindigkeit der Antwort, primäre Anrufarbeitszeit
des Agenten, kumulative Anrufe, die angeboten wurden, Anzahl der
geführten
Anrufe, Anzahl der angebotenen Anrufe, Anzahl der abgehenden Anrufe,
Anteil der geführten
Anrufe, primäre
Positionen, die besetzt sind, sekundäre Positionen, die besetzt
sind, und Bedienungsqualität.
-
Während die
Verarbeitung zur Erstellung und Verarbeitung von Leitweglenkungsregeln
durch den Teilnehmer über
den CAMEL-Editor 130 ausgelöst wird,
beinhaltet die Ausführung
dieser Leitweglenkungsregeln Nachrichten zwischen der Aktivitäts-Überwachungseinrichtung 134 und
dem betroffenen Leitweglenkungsprozessor 132. Für neue Regeln
beinhaltet dies das Senden einer Nachricht an den Leitweglenkungsprozessor 132 an
einen Bereich mit Endgerät
(TOR), um eine Leitweglenkungsregel aus der Datei abzurufen. Der
TOR leitet die Nachricht zu dem geeigneten Bereich mit Anwendung
(AOR) zur Verarbeitung. Der AOR-Bereich des Leitweglenkungsprozessors
greift auf die Leitweglenkungsregel aus der Regelobjektdatei zu
und platziert die Regel in der Regeldatentabelle des AOR. Der Leitweglenkungsprozessor
benachrichtigt die Aktivitäts-Überwachungseinrichtung 134 über den
TOR, dass die Regel in der Datentabelle des AOR installiert wurde.
Beim Empfang aller Benachrichtigungen von allen Leitweglenkungsprozessoren 132 weist
die Aktivitäts-Überwachungseinrichtung 134 die
Leitweglenkungsprozessoren 132 an, ihre aktiven Regeltabellen
im Speicher und in den DASDs 138 zu aktualisieren. Für geplante
Anfragen koordiniert die Aktivitäts-Überwachungseinrichtung 134 das
Senden der ursprünglichen
Abrufnachricht. Dazu gehören
Nachrichten, um neue Regeln von allen Leitweglenkungsprozessoren 132 aufzunehmen.
Für vorhandene
Regeln gelten die gleichen Prozeduren wie oben. Vorhandene Regeln
werden aus der Datei für
allgemeine Regeln in der Aktivitäts-Überwachungseinrichtung 134 abgerufen.
-
Der
Leitweglenkungsalgorithmus verwendet Informationen zum Anrufvolumen
von den Leitweglenkungsprozessoren 132 und Informationen
zum Zustand von Ressourcen von ACDs, ARUs oder anderen in den Räumen des
Kunden befindlichen Einrichtungen und von zuhause befindlichen Agenten,
um geeignete Tabellen des Anrufleitweglenkungsziels zu erstellen,
die in den nächsten
30 Sekunden wirksam sind. Die Aktivitäts-Überwachungseinrichtung 134 löst nach
jeweils 30 Sekunden die Anfrage nach Informationen von den oben
erwähnten
Ressourcen über
den Ereignisprozessor 136 aus und wartet eine Zeitspanne
ab, um Antworten auf diese Anfrage zu empfangen. Alle Informationen,
die empfangen werden, werden mit einem Zeitstempel versehen, um
ihr Alter anzugeben. Wenn eine Ressource innerhalb von zwei Zyklen
nicht antwortet, wird sie als inaktiv markiert und in einen manuellen
Betriebszustand versetzt. Sie bleibt im manuellen Betriebszustand,
bis es eine erfolgreiche Abfrage gibt. Bei normaler Verarbeitung
erstellt der Auswahlprozess Tabellen und sendet sie an den Leitweglenkungsprozessor 132 zur
Verwendung bei der Anrufverteilung.
-
Beim
Erstellen der Leitweglenkungsregeln wird eine Ausgabetabelle aus
Anweisungen CAMEL SELECT erzeugt, wie nachfolgend beschrieben wird,
die Ziele und bevorzugte Stellen beschreibt, an die die Anrufe zu
leiten sind. Der Leitweglenkungsalgorithmus verwendet diese Informationen,
um das endgültige
Ziel des Anrufs festzulegen. Diese Tabelle befindet sich in der
Aktivitäts-Überwachungseinrichtung 134 und
kann bei Bedarf aktualisiert werden, wenn eine neue Leitweglenkungsregel
vorgegeben wird. Das hängt
lediglich davon ab, ob die neue Regel ein neues Leitweglenkungsziel
enthält
oder ein zuvor definiertes Leitweglenkungsziel verwendet.
-
Das
spezielle Format der Leitweglenkungsregeln wird später bei
Bezugnahme auf den CAMEL-Editor 130 genauer erläutert. Die
Verwendung des Leitweglenkungsalgorithmus zum Erzeugen der Zieltabelle
wird außerdem
später
beschrieben, nachdem ausreichende Hintergrundinformationen bereitgestellt
wurden, so dass er leichter verständlich ist.
-
Ereignisprozessor
-
Die
hauptsächliche
Aktivität
des Ereignisprozessors 136 besteht darin, statistische
Informationen von den verschiedenen Ressourcen, d.h. von ACDs, ARUs,
anderen CPEs, Anwendungsprogrammen und manuellen Eingaben zu sammeln.
Nachdem die Informationen gesammelt wurden, stehen sie zur Weiterleitung
an jedes Benutzer-Endgerät 116 bereit.
-
In
Bezug auf ACDs enthält
der Ereignisprozessor 136 eine Direktverbindung, um Informationen
direkt in der Aktivitäts-Überwachungseinrichtung 134 einzugeben.
Bei einer Ausführungsart
umfasst der Ereignisprozessor 136 tatsächlich eine Task in dem Bereich,
der für
die Aktivitäts-Überwachungseinrichtung 134 verwendet
wird. Der Ereignisprozessor 136 verwendet eine geeignete
Protokolldatenverbindung und fragt die ACDs in jedem Verarbeitungszyklus
ab, um die oben erläuterten
Informationen zu empfangen.
-
Bei
anderen ACDs als der ACD von Rockwell International kann ein Mikrocomputer
auf der Seite des ACD verwendet werden, der mit dessen seriellen Überwachungsschnittstelle
verbunden ist, um bei Bedarf Zustandsinformationen abzufragen. Der
Mikrocomputer ist so konfiguriert, dass er das Überwachungsendgerät emuliert
und den Ereignisprozessor von dem ACD trennt. Er funktioniert außerdem als
ein Protokollumsetzer für
die serielle Überwachungsschnittstelle
des ACD zu dem Protokoll des modernen, intelligenten Netzwerks.
-
Editor der Anrufmanagementsprache
(CAMEL-Editor)
-
Der
CAMEL-Editor 130 wird prinzipiell für die Erstellung von Leitweglenkungsregeln
verwendet. Das beinhaltet die Auflistung von Leitweglenkungsregeln
in einem CAMEL-Datensatz, die Eingabe und Wartung von Elementen
des CAMEL-Datensatzes, das Kompilieren der Übersetzung von Leitweglenkungsregeln
in Codes, die für
die Verwendung durch Leitweglenkungsprozessoren 132 und
die Aktivitäts-Überwachungseinrichtungen 134 annehmbar
sind, und die Fehleridentifizierung, die Darstellung und die Korrektur
von CAMEL-Anweisungen. Der CAMEL-Editor verwendet eine Anrufmanagementsprache
(daher die Bezeichnung CAMEL). Der Benutzer erstellt im Einzelnen
unter Verwendung der CAMEL-Sprache
Leitweglenkungsregeln, um Leitweglenkungsentscheidungen zu treffen,
die zum Leiten von Anrufen zu einer ausgewählten Ressource verwendet werden.
Eine Spezifikation der verwendeten Anrufmanagementsprache ist im
Anhang angegeben. Für ein
Verständnis
der Einzelheiten der Sprache zum Erstellen von Leitweglenkungsregeln
kann auf diese Spezifikation Bezug genommen werden.
-
Das
Format für
eine fertige Leitweglenkungsregel ist in 3 dargestellt.
Die Leitweglenkungsregel enthält
alle Informationen und Anweisungen zum Antworten auf die Leitweglenkungsanfrage,
die durch den SCP 106 ausgelöst wurde, siehe 1.
Die Leitweglenkungsregel enthält
drei Typen von Informationen, Systemvariable 200, Regelvariable 202 und
Anrufleitweglenkungsbefehle 204.
-
Die
Systemvariablen 200 enthalten Konstanten, Variable und
Systemparameter, die durch den AIN-Prozessor 114, siehe 1,
automatisch erstellt und geführt
werden. Diese enthalten Systemdaten, Systemzeit, Systemtag und weitere
Eingabe/Ausgabebereiche für
einen Datenaustausch zwischen anderen Netzwerkelementen.
-
Die
Regelvariablen 202 umfassen Werte und Parameter, die durch
den Teilnehmer festgelegt und als Kriterien verwendet werden, nach
denen Anruf-Merkmale und Anruferattribute durchsucht werden und
die verwendet werden, um Anrufe Ressourcen zuzuweisen oder zwischen
Ressourcen einen Belastungsausgleich von Anrufen auszuführen. Die
Regelvariablen 202 enthalten statische Variable 206 und
dynamische Variable 208. Die statischen Variablen 206 werden
zu dem Zeitpunkt festgelegt, an dem die Regel erstellt wird, und
können
nicht geändert
werden, es sei denn, eine neue Regel wird erstellt, um eine vorhandene
Regel zu ersetzen. Die statischen Variablen 206 enthalten
eine Bezeichnung und einen Zeiger auf eine Liste von werten. Lediglich die
Bezeichnung und die Zeigeradresse sind feststehend. Die Werte in
der Liste sind die dynamischen Variablen 208. Es gibt z.B.
eine statische Variable 206 für jede Ressource, zu der ein
Anruf geleitet werden kann, wobei die dynamischen Variablen 208 den
Leistungskriterien entsprechen, die für jede Prioritätsebene
gelten.
-
Es
gibt eine statische Variable 206 für jedes Anrufdurchsuchungskriterium,
wobei die Listenwerte sind: NPAs, NPA-NXXs, Wochentage, Datumsangaben,
Zeitspannen, vom Benutzer eingegebene Ziffern usw. Es gibt eine
statische Variable 206 für jede Zuweisungstabelle. Die
Liste enthält
Ressourcen und ihre entsprechenden Anrufzuteilungsanteile. Es gibt
eine statische Variable 206 für jedes Leitweglenkungsziel.
Die Listenwerte enthalten die Ressourcen, die an jeder Prioritätsebene
beteiligt sind. Die dynamischen Variablen 208 können vom
Teilnehmer ohne die Notwendigkeit zum Erstellen, Gültigmachen
und Aktivieren einer neuen Regel in Echtzeit geändert werden. Diese Änderungen
können
innerhalb von Sekunden nach dem Zeitpunkt, zu dem sie vom Teilnehmer
gefordert werden, stattfinden.
-
Die
Anrufleitweglenkungsbefehle 204 legen die Abfolge fest,
in der die Anrufmerkmale und Anruferattribute mit den verschiedenen
Anrufdurchsuchungskriterien verglichen werden. Anhand einer oder
mehrerer erfolgreichen Übereinstimmungen
zwischen den Werten des Anrufs, der geleitet wird, und den Werten
in den Anrufdurchsuchungskriterien wird eine der drei Anrufleitweglenkungsfunktionen
ausgeführt.
Die drei verfügbaren
Anrufleitweglenkungsfunktionen sind ROUTE (Leiten), ALLOCATE (Zuweisen)
und SELECT (Auswählen). Die
ROUTE-Funktion leitet den Anruf zu einem einzelnen festgelegten
Ziel. Die ALLOCATE-Funktion leitet den Anruf anhand des Inhalts
einer Zuweisungstabelle, die eine Liste von Zielen mit spezifischen
zugewiesenen Anteilen enthält.
Die SELECT-Funktion verwendet einen Belastungsausgleich auf der
Grundlage des Inhalts eines Leitweglenkungsziels, der Prioritätsebene
und von Leistungskriterien.
-
Das
Leitweglenkungsziel umfasst eine Hierarchie von Ressourcengruppen,
die eine gegenüber
dem Prozess des Belastungsausgleichs bevorzugte Leitweglenkung definiert.
-
Dabei
versucht der Algorithmus zum Belastungsausgleich, möglichst
viele Anrufe zu Zielen in der am stärksten bevorzugten Ressourcengruppe
zu leiten. Wenn bei einer vorgegebenen Prioritätsebene keine ausreichende
Anrufabwicklungskapazität
zur Verfügung
steht, werden Anrufe zu der Ressourcengruppe der nächsten Prioritätsebene
geleitet. Ein Beispiel einer SELECT-Funktion könnte in der ersten Prioritätsebene
ein einzelnes Ziel enthalten, das geografisch näher beim Anrufer liegt, um
die Kosten minimal zu machen. Die zweite Prioritätsebene könnte eine kurze Liste von Zielen
definieren, deren Anwendungen aus dem gleichen Datenverarbeitungszentrum
ausgelagert sind, um die Reaktionszeiten auf Anwendungsanfragen
minimal zu machen. Die dritte Prioritätsebene könnte alle möglichen Ziele definieren, um
den größten Grad
der Verfügbarkeit
von Agenten zu ermöglichen.
-
Es
folgt ein Beispiel einer typischen Leitweglenkungsregel:
-
Bei
diesem Beispiel sind die Systemvariablen nicht speziell dargestellt.
-
Die
Regelvariablen enthalten als statische Variablen einer Gruppe von
ACDs unter der Bezeichnung TELECAT und eine Liste von IPs unter
der Bezeichnung ARUSITES. Eine als TELENDAY gekennzeichnete Tabelle
enthält
eine Zuweisungsliste und zugehörige
dynamisch aktualisierbare Zuweisungsanteile. Außerdem sind eine dynamisch
aktualisierbare Fehlernachrichtnummer sowie dynamisch aktualisierbare
Stunden für
einen typischen Arbeitstag definiert.
-
Die
Anrufleitweglenkungsbefehle beginnen mit einem BEGIN-Befehl, dem eine
logische Aussage folgt, die festlegt, ob die Systemzeit in die Arbeitsstunden
fällt,
die unter der Bezeichnung WORKDAY angegeben sind. Wenn das der Fall
ist, wird eine SELECT-Aussage verwendet, um einen Belastungsausgleich
bereitzustellen. Die SELECT-Aussage verwendet die Ressourcentabelle
TELECAT bei der ersten Prioritätsebene und
die Ressourcentabelle ARUSITES bei der zweiten Prioritätsebene.
Es ist keine dritte Prioritätsebene
festgelegt. Der Parameter BALANCE gibt die zum Ausgleichen verwendete
Technik an, während
die Standardauswahl ERRMSG angibt, dass die Aufzeichnung als letzte
Zielauswahlmöglichkeit
verwendet werden sollte, falls der Anruf nicht auf andere Weise
in geeigneter Form geleitet werden kann. Wenn die Systemzeit nicht
in den normalen Arbeitsstunden liegt, geht die Logik zur ALLOCATE-Funktion,
die anhand der Zuweisungsanteile, die in der Tabelle TELENDAY vorhanden
sind, eine Zuweisung ausführt.
-
Die
Zuweisungsanteile, die in der ALLOCATE-Aussage verwendet werden,
können
durch den Teilnehmer eingegeben werden. Die Kapazitätsanteile,
die bei der SELECT-Aussage verwendet werden, können nicht eingegeben werden.
Stattdessen legt der Client eine gewünschte Leistungsfähigkeit
fest, und der Algorithmus berechnet die Kapazitätsanteile in jedem Verarbeitungszyklus.
-
Die
Leitweglenkungsregeln werden unter Verwendung des Geschäftsteilnehmer-Endgeräts 116 und seiner
zugehörigen,
im Voraus konfigurierten Anzeigen erstellt. Dadurch kann ein Teilnehmer
eine dynamische Regelmodifikation, die Aktivierung von Leitweglenkungsregeln,
das Auffrischen von Leitweglenkungsregeln und die Zielverwaltung
wählen.
Sie umfassen jeweils eine Hierarchie von Anzeigen, in die der Teilnehmer
die erforderlichen Informationen gemäß der gewünschten Funktion eingibt. Bei
einer Anzeige zur dynamischen Baummodifikation kann der Teilnehmer
z.B. eine Leitweglenkungsregel zur Modifikation und anschließend die Typen
der Modifikationen und dynamische Variablen, für die die Änderungen ausgeführt werden
sollen, auswählen.
Bei einer Zuweisungstabelle können
die Zuweisungsanteile modifiziert werden, vorausgesetzt, dass die
Anteile insgesamt hundert Prozent ergeben. Zeitentscheidungspunkte
in der Leitweglenkungsregel können ebenso
wie Datumsangaben modifiziert werden.
-
Eine
Leitweglenkungsregel wird aktiviert, indem die Regel ausgewählt wird
und die N00-Nummer einer zuvor erstellten Regel zugewiesen wird,
um ihre Verwendung unverzüglich
zu beginnen. Die Regel kann von mehreren N00-Nummern verwendet werden.
-
Die
Leitweglenkungsregel-Auffrischfunktion setzt vor dynamischen Regelmodifikationen
alle Regeln auf ihr ursprüngliches
Format zurück.
Eine einzelne Regel kann durch das Auswählen der Leitweglenkungsregel-Aktivierung
zurückgesetzt
werden.
-
Alle
obigen Anzeigefunktionen beziehen sich auf das Führen von Leitweglenkungsregel-Tabellen.
-
Die
Zielansichtverwaltungsfunktion ermöglicht dem Teilnehmer, Ressourcen
auf Grund betrachteter abgerufener Statistiken zu konfigurieren
und anzuzeigen.
-
Außerdem wird
eine Einrichtung bereitgestellt, die dem Teilnehmer ermöglicht,
z.B. über
ein ACD-Tor pro Ressource die Leistungsfähigkeit einzugeben, die in
jeder der drei verfügbaren
Prioritätsebenen
aufrechtzuerhalten ist. In einer Ressourcen-Dienstebeneverwaltungstabelle
gibt der Teilnehmer bei jeder Prioritätsebene die Anzahl von Sekunden
ein, während
derer 90% der Anrufe für
jede Ressource zu beantworten sind.
-
Wenn
keine Optionen ausgewählt
sind, besteht das Standard-Leistungsziel
darin, 90 Prozent aller Anrufe in 20 Sekunden oder weniger zu beantworten.
Diese Informationen werden in dem Algorithmus zum Erstellen von
Anrufkapazitätstabellen
verwendet, um eine maximale Warteschlangenlänge festzulegen, die bei jeder
Prioritätsebene
annehmbar ist.
-
Die
Anrufkapazitätstabelle
wird für
jedes 90%ige Leistungsziel erstellt. Die Tabellen besitzen einen Eintrag
mit einer annehmbaren Warteschlangenlänge für jede mögliche Anzahl von Agenten am
Eingang. Genormte Erlang B-Tabellen sind der Ausgangspunkt für die ursprünglichen
Tabellen. Die Erlang B-Formel
sagt die Leistungsfähigkeit
einer Endserver-Einheit voraus, die von einer einzelnen Warteschlange,
deren Länge begrenzt
ist, gespeist wird. Wenn die maximale Warteschlangenlänge erreicht
wurde, umgehen weitere ankommende Signale die Warteschlange. Bei
den dargestellten Ausführungsformen
werden keine reinen Erlang-Tabellen verwendet, da das System die
Gleichgewichtsvoraussetzung der Erlang-Gleichungen verletzt, indem
es nach jeweils 30 Sekunden eingreift, um die Verkehrsrate zu den
ACD-Eingängen
einzustellen. Dadurch wird die Warteschlangenlänge indirekt zurückgesetzt.
Da zufällige
Schwankungen den Eingang nicht überlasten
dürfen,
kann eine höhere
Leistungsfähigkeit
bei längeren
Warteschlangen aufrechterhalten werden, als durch die Gleichung
mit dem reinen Gleichgewichtzustand vorgeschlagen wird. Deswegen
werden Prüfergebnisse
aus Simulationsmodellen verwendet, um Festpunkte zum Extrapolieren
der Erlang-Kurven zu erzeugen.
-
Leitweglenkungsprozessor
-
In 4 erläutert ein
Ablaufplan die gegenseitigen Beziehungen der Tasks, die in dem CICS-Bereich des
Leitweglenkungsprozessors zur Ausführung vorgesehen sind.
-
Kommunikationen
mit einem Träger,
wie etwa Sprint oder AT&T,
verwenden Sende/Empfangsleitungen unter Verwendung einer allgemeinen
Empfangstask 401, die eine trägerspezifische Nachrichteneingangs-Decodierungsroutine
aufruft. Die Empfangstask 401 liest eine Eingabe von einer
Empfangspipeline, legt die geeignete Sendeaufgabe fest, mit der
die Antwort zurückzusenden
ist, stellt der Nachricht die CICS-Endgerätekennung voraus und ruft die
Nachrichtendecodierungsroutine erneut auf. Nachdem die Decodierung ausgeführt wurde,
wird die Nachricht entweder wieder in die Warteschlange der Sendetask 402 eingereiht,
in die AOR zur weiteren Verarbeitung eingereiht oder anhand der
Einstellung der Aktionsanzeige aufgezeichnet. Die Eingangsnachrichtendecodierungsroutine
verwendet das vom Träger
verwendete Eingabeformat und führt bei
Bedarf eine Umformatierung zu internen AIN-Formaten oder Antwortformaten
aus. Der Nachrichtendecodierer sendet eine Aktionsanzeige zurück, um die
Hauptleitung über
die Disposition der Nachricht zu informieren. Drei weitere Verarbeitungsroutinen
enthalten die Warteschlange zum DTP, die Warteschlange zum Senden
und die Fehleraufzeichnung. Die Warteschlange zur DTP-Routine führt einen
Zeiger zu der Nachricht, die in der Warteschlange aufzunehmen ist,
und zur Bezeichnung des CICS-Bereichs des entfernten Ziels.
-
Die
Warteschlange zur DTP-Routine führt
einen Zeiger auf die Nachricht, die in der Warteschlange aufzunehmen
ist, und zur Bezeichnung des CICS-Bereichs des entfernten Ziels.
Diese Routine bildet eine Parm-Liste, die die Adresse der Daten,
die in der Warteschlange angeordnet werden sollen, die Länge der
Daten und den Typ der Warteschlangenanordnung, die auszuführen ist
(in diesem Fall eine Warteschlange zur Verbindungsgruppe), enthält. Die
Parm-Liste wird zu einer Routine geleitet, die die eigentliche Warteschlangenanordnung
ausführt.
Ein Rückführungscode
wird in der Parm-Liste gesetzt, um das Ergebnis des Versuchs der
Warteschlangenanordnung anzugeben.
-
Am
unteren Ende der Endlosschleife wird eine Verzögerung um eine Minute ausgegeben,
bevor zur Spitze zurückgekehrt
wird, um das erneute Lesen der Warteschlange zu beginnen. Wenn der
Warteschlange während
dieser Verzögerungszeit
Anfragen hinzugefügt
werden, reiht die Task die Anfragen in die Warteschlange zum Übersetzer
ein, gibt eine Beendigung der Verzögerung aus, wodurch der im
Ruhezustand befindliche Regelübersetzer
aufgeweckt wird.
-
Kommunikationen
mit einem Träger
erfolgen unter Verwendung einer allgemeinen Sendetask 402,
die trägerspezifische
Verarbeitungs- und Formatierungsroutinen für Ausgabenachrichten aufruft.
Die Sendetask 402 liest zuerst Daten von ihrer Warteschlange
unter Verwendung einer Abruf/Warteeinrichtung. Die trägerspezifische
Nachrichtenausgangsverarbeitung wird zu diesem Zeitpunkt aufgerufen,
um die weitere Verarbeitung für
die Nachricht festzulegen. Nachdem die Verarbeitung beendet ist,
kann eine Funktion zum Verlassen aufgerufen werden, um bei Bedarf
eine zusätzliche
Verarbeitung auszuführen.
Die Ausgangsnachrichten-Formatierungsroutine
bringt die Nachricht in das Format, das von dem Träger, zu
dem sie gesendet wird, erwartet wird. Die Nachricht wird schließlich über einen
SEND-Befehl an den Träger
gesendet.
-
Mehrere
Regeltasks 403 können
gestartet werden und laufen parallel, hauptsächlich für Zwecke der Fehlerkorrektur.
Die Hauptverarbeitungsroutine enthält eine Endlosschleife, bei
der versucht wird, eine Anfragewarteschlange zu lesen und zu verarbeiten,
bis sie leer ist, und anschließend
eine Minute gewartet wird, bevor die Rückkehr zum Beginn der Schleife
erfolgt. Die Hauptroutine greift auf einen Zeiger auf das nächste Element
zu, das verarbeitet werden soll.
-
Die
Abfragewarteschlange ist ursprünglich
eine Warteschlange zur vorübergehenden
Speicherung. Der Zeiger wird auf die Warteschlange gerichtet, die
Anfrage wird von der Warteschlange gelesen, der Zeiger wird aktualisiert,
damit er das nächste
Element wiedergibt, das gelesen werden soll, und anschließend wird eine
Warteschlangenauflösung
ausgegeben, um den Zeiger freizugeben. Anschließend wird eine weitere Task an
den Zeiger eingereiht, wobei die Regeltask darauf wartet, bis der
Zeiger verfügbar
wird.
-
Der
Anfragedatensatz enthält
eine 800-Nummer, die mit der aktiven Regeltabelle verglichen wird,
um festzustellen, welche Leitweglenkungsregel zur Verarbeitung ausgewählt ist.
Jede N00-Nummer wird in dieser Initialisierungszeit anhand von Informationen
von der Aktivitäts-Überwachungseinrichtung 134 einer
bestimmten Regel zugeordnet, wie oben beschrieben wurde. Nachdem
die Bezeichnung der Leitweglenkungsregel ermittelt wurde, wird die
Regel, die sich in der vom Teilnehmer unterhaltenen Datentabelle
befindet, abgerufen. Zeiger auf die Regel, den Anfragedatensatz,
die AIN-Ankertabelle und den E/A-Puffer
werden zu der Übersetzerfunktion
geleitet. Die Übersetzerfunktion
führt die
Leitweglenkungsregel aus und bildet den Ausgabedatensatz in dem
E/A-Puffer. Die Hauptverarbeitung ruft dann die Warteschlange zur
DTP-Routine auf, um den Ausgabedatensatz zurück zum TOR zu senden.
-
In 5 veranschaulicht
ein Ablaufplan die Funktionsweise der Regeltask 403 von 4.
Die Hauptroutine beginnt an einem Entscheidungsblock 500,
der feststellt, ob eine Leitweglenkungsanfrage empfangen wurde.
Wenn das nicht der Fall ist, wird keine Aktion unternommen. Die
Leitweglenkungsanfrage wird im Einzelnen von dem Träger-SCP 106 empfangen,
siehe 1. Wenn eine Leitweglenkungsanfrage
empfangen wird, wird in einem Block 502 eine Leitweglenkungsregel
ausgewählt.
Die von dem Anrufer gewählte N00-Nummer,
die in der Leitweglenkungsanfrage enthalten ist, wird verwendet,
um die Regel auszuwählen, die
dann definiert ist, wenn die Regel aktiviert wird. Die Leitweglenkungsregel
kann sich bereits im Speicher des AIN-Prozessors 114 befinden
oder muss möglicherweise
von der DASD-Speichereinrichtung 138 in den Speicher geladen
werden. In einem Entscheidungsblock 504 wird die Anruferkennung
bei Verfügbarkeit
mit der Kundendatenbank 118 des Teilnehmers verglichen,
siehe 1. Wenn eine Übereinstimmung
gefunden wird, werden Anruferattribute, die in der Kundendatenbank 118 enthalten
sind, in einem Block 506 zur Verwendung bei der Leitweglenkung
des Anrufs abgerufen. Die Leitweglenkungsregel wird dann in einem
Block 508 angewandt.
-
Die
Leitweglenkungsregel wird in dem Block 508 ausgeführt, indem
die Anrufleitweglenkungsbefehle 204 für die ausgewählte Regel
ausgeführt
werden, siehe 3. Im Einzelnen werden die
Anruferattribute und die Anrufmerkmale mit den verschiedenen Prüfdurchlaufkriterien
verglichen, die durch den Teilnehmer in den Anrufleitweglenkungsbefehlen
festgelegt sind. Die Prüfdurchlaufkriterien
enthalten Listen mit möglichen
Werten der Anruferattribute und Anrufmerkmalen. Logische Vergleiche
werden zwischen den tatsächlichen
Werten der Anruferattribute und der Anrufmerkmale für den bestimmten
Anruf, der verarbeitet wird, und den Werten, die in der Liste 200 der
Systemvariablen und der Liste 202 der Regelvariablen enthalten
sind, ausgeführt.
Das Format jeder Liste hängt
von dem Anruferattribut oder den Anrufmerkmalen, die sortiert werden,
ab. Wenn z.B. die Herkunftsvorwahl oder NPA des Anrufers verglichen
wird, würde
die Liste eine Folge von möglichen NPA-Werten enthalten.
Ein erfolgreicher logischer Vergleich würde dann auftreten, wenn einer
der Werte in der Liste gleich der Herkunfts-NPA wäre. Wenn
in einem anderen Beispiel die Tageszeit verglichen wird, würde die Liste
zwei Zeitwerte enthalten. Ein erfolgreicher logischer Vergleich
tritt dann auf, wenn die Tageszeit des Anrufs, der ausgeführt wird,
zwischen den beiden Zeitwerten in der Liste liegt.
-
Die
Anrufmerkmale stammen teilweise von dem Träger und sind in der Anrufleitweglenkungsanfrage enthalten.
Sie enthalten Elemente wie die Nummer NPA-NXX-XXXX, woher der Anruf
stammt, vom Anrufer eingegebene Ziffern und Informationen, die dem
PSTN 100 bekannt sind, über
die Leitung, auf der der Anruf ausgelöst wurde, wie etwa eine Dienstklasse,
Endgerätetyp,
Geschäftsgruppe
usw. Weitere Anrufmerkmale kommen von dem AIN-Prozessor 114 und enthalten
Elemente wie das aktuelle Datum, die Zeit und den Wochentag sowie
Geschäftsinformationen
des Kunden. Anhand von erfolgreichen Übereinstimmungen zwischen den
Anrufinformationen und den Prüfdurchlaufkriterien
wird in der Leitweglenkungsregel eine von drei Leitweglenkungsfunktionen
ausgewählt.
Die drei Leitweglenkungsfunktionen sind eine ROUTE-Funktion, die
im Entscheidungsblock 510 ausgeführt wird, eine ALLOCATE-Funktion, die in
einem Entscheidungsblock 512 ausgeführt wird, und eine SELECT-Funktion,
die in einem Entscheidungsblock 514 ausgeführt wird.
-
Wenn
eine ROUTE-Funktion ausgeführt
werden soll, wie im Block 510 festgelegt wird, enthält der Ausgabedatensatz
in einem Block 516 eine interne Zielkennung. Diese wird
dann in das Zielkennzeichen des Trägers aufgelöst.
-
Bei
einer ALLOCATE-Funktion, die im Block 512 festgelegt wird,
enthält
der Ausgabedatensatz einen Vektor der internen Zielkennungen gemeinsam
mit dem Anteil aller Anrufe, die jedes Ziel erhalten soll. Die Anteile
müssen
insgesamt 100 ergeben. Ein Verteilungsalgorithmus wird
in einem Block 518 ausgeführt, um eines der Ziele unter
Verwendung der Anteilangaben zu bezeichnen. Die Kennung des Ziels
wird in einem Block 520 zu einem Trägerzielkennzeichen aufgelöst.
-
Die
Verarbeitung der SELECT-Funktion vom Block 514 ist der
Zuweisungsverarbeitung ähnlich.
Der Ausgabedatensatz enthält
eine Ausgabekennung. Die Ausgabekennung zeigt auf einen Tabelleneintrag,
der Ressourcengruppenkennungen für
jede Prioritätsebene
enthält.
Der Eintrag wird durch eine Netzwerkbehandlungskennung oder eine
andere letzte Möglichkeit
der Zielauswahl abgeschlossen. Beginnend mit der ersten Prioritätsebene
verwendet der Leitweglenkungsprozessor 132 die Ressourcengruppenkennung,
um einen Eintrag in der Tabelle von Zielen durch die Ressourcengruppe
zu lokalisieren. Der Punkteintrag der Zielkennung befindet sich
in einer Kapazitätstabelle,
die die Ausgabe der Ausgabetabelle enthält, die von der Aktivitäts-Überwachungseinrichtung 134 erstellt
wurde. Für
jede Prioritätsebene,
der erreicht wird, wird in den Blöcken 522 und 524 unter
Verwendung der Kapazitätsanteile
in dieser Prioritätsebene
ein Verteilungsalgorithmus ausgeführt. Wenn das Ziel ausgewählt ist,
wird die Zielkennung in einem Block 526 in ein Trägerzielkennzeichen
aufgelöst.
Wenn kein Ziel die Prüfung
besteht, werden die Anrufe von dem Kundenziel weggeleitet und dem
Träger
für eine
Netzwerkbehandlung oder für
eine Zustellung an ein Ziel, das in der letzten Auswahlmöglichkeit
festgelegt ist, angeboten.
-
Der
Teilnehmer kann z.B. während
geschäftsfreien
Sunden in der Woche oder an Wochenenden den gesamten Tag über lediglich
eine Ressource betriebsfähig
halten. Während
dieser Zeiten würden
alle Anrufe zu einer einzelnen Ressource an einem festgelegten Ort
geleitet. In einem anderen Beispiel werden Anrufe während des
Geschäftstags
westlich des Flusses Mississippi unter drei Orten an der Westküste gleichmäßig verteilt.
In diesem Fall wird eine Zuweisungsfunktion verwendet, wobei für jeden
dieser Orte die Anteile auf ein Drittel eingestellt sind. In einem
weiteren Beispiel ist der Teilnehmer an zehn Orten im gesamten Land
ansässig.
Die fünfzig
Staaten werden in zehn Gruppen unterteilt, wobei Anrufe von jeder
Gruppe als eine erste Auswahlroute zum nächsten Ort geleitet werden.
Wenn vorhergesagt wird, dass die Ressource an dem Ort der ersten
Auswahl belegt ist, wird der Anruf zu einer zweiten Auswahlmöglichkeit
geleitet, die einer der Orte in dem Land sein kann. Wenn alle Orte
der zweiten Auswahlmöglichkeit
als besetzt vorhergesagt werden, wird der Anruf im nächsten Ort
in eine Warteschlange gelegt.
-
Das
Endergebnis, das durch eine der drei Leitweglenkungsfunktionen in
den Blöcken 516, 520 bzw. 526 erzeugt
wird, ist eine einzelne Ressourcenkennung, die die Leitweglenkungsantwort
darstellt, die in einem Block 528 zu dem SCP 106 des
Trägers
zurückgesendet
wird. Es können
zusätzliche
Informationen über
den Anruf oder den Anrufer vorhanden sein, die während des Leitweglenkungsprozesses
erhalten wurden und in der Leitweglenkungsantwort des Trägers enthalten
sind und gemeinsam mit dem Anruf an die Teilnehmer-Ressource zuzustellen
sind. Diese Informationen können
z.B. die Anruferattribute enthalten, die von der Anruferdatenbank 118 erhalten
wurden, wie oben erläutert
wurde. Vom Block 528 wird die Routine zu ihrem Anfang zurückgeschleift.
-
In 6 veranschaulicht
ein Ablaufplan die Funktionsweise des Leitweglenkungsalgorithmus,
der einmal pro Verarbeitungszyklus ausgeführt wird zum Erstellen der
Ausgabetabelle, die die Ziele und bevorzugten Orte beschreibt, an
die Anrufe durch den Leitweglenkungsprozessor für die SELECT-Funktion geleitet
werden. Der Algorithmus für
den Belastungsausgleich läuft
im Einzelnen ununterbrochen, und sobald ein Prozess endet, beginnt
der nachfolgende Prozess. Die Zeitdauer, die benötigt wird, um einen Belastungsausgleichprozess
auszuführen,
wird als Verarbeitungszyklus bezeichnet. In der dargestellten Ausführungsform
der Erfindung dauert es bei jedem Verarbeitungszyklus etwa 30 Sekunden,
um diesen auszuführen.
-
Der
Algorithmus beginnt in einem Block 600 durch das Sammeln
von Ressourcen-Statistikangaben von den Teilnehmer-Ressourcen. Die
Teilnehmer-Ressourcen enthalten ACDs, RRUs usw. Die Informationen, die
von jeder Ressource gesammelt werden, enthalten die Anzahl von Einheiten,
die gegenwärtig
aktiv sind, die Anzahl von Einheiten, die gegenwärtig im Ruhezustand sind, und
die Anzahl von Anrufen, die gegenwärtig in einer Warteschlange
für die
Ressource angeordnet sind. Eine Ressource kann z.B. eine Gruppe
von Agenten in einer ACD sein, wobei die Einheit jeweils ein einzelner
Agent ist, oder eine Ressource kann eine Audioantwort-Einheit sein,
wobei die Einheit jeweils ein einzelner Anschluss am System ist.
In einem Block 602 werden statistische Angaben der Echtzeit-Ausgabe von jedem
Teilnehmer-Leitweglenkungsprozessor 132 gesammelt. Die
Anzahl der Leitweglenkungsprozessoren 132 hängt vom
Volumen der Leitweglenkungsanfragen ab, und ihre Mindestanzahl beträgt aus Gründen der
Zuverlässigkeit
typischerweise zwei. Die statistischen Informationen, die von jedem
Leitweglenkungsprozessor 132 gesammelt werden, enthalten
die Anzahl von Anrufen, die zu jeder Ressource 108 bis 110 geleitet
werden, und die Anzahl von Anrufen für jede Leitweglenkungsausgabe
während
des letzten Verarbeitungszyklus. Anrufe, die mit einer bestimmten
Gruppe von Prüfdurchlaufkriterien übereinstimmen,
werden durch eine Leitweglenkungsausgabe abgewickelt. Die Leitweglenkungsausgabe
ist im Einzelnen eine SELECT-Funktion, die in einer der programmierten
Leitweglenkungsregeln enthalten ist. Eine Leitweglenkungsausgabe
könnte
z.B. alle Anrufe westlich des Flusses Mississippi oder alle Anrufe
von nicht Englisch sprechenden Anrufern oder Anrufe vom südöstlichen
Teil des Landes, die zwischen 10 Uhr und mittags erfolgen, abwickeln.
Die Leitweglenkungsausgabe ist eine Standardliste von Ressourcen,
die den Anruf abwickeln dürfen.
Die Liste kann alle Ressourcen, die der Teilnehmer besitzt, oder
eine Teilmenge dieser Ressourcen enthalten. Eine Ressource kann
in vielen Leitweglenkungsausgängen
erscheinen.
-
Die
Liste der Ressourcen ist gruppenweise in erste Auswahlmöglichkeit,
zweite Auswahlmöglichkeit und
dritte Auswahlmöglichkeit
organisiert, wobei in jeder Gruppe eine oder mehrere Ressourcen
vorhanden sind. Jede Ebene der Auswahlmöglichkeit ist als eine Prioritätsebene
definiert und jede Ressource kann in einer oder in mehreren Ebenen
erscheinen.
-
Im
Block 604 wird die Ressourcen-Grundkapazität für jede Ressource
berechnet. Die Grundkapazität stellt
die Anrufaktivität
dar, die zu jeder Ressource gesendet werden kann, so dass sich am
Ende des Verarbeitungszyklus keine Anrufe in der Warteschlange befinden
oder freie Ressourcen vorhanden sind. Das wird an dieser Stelle
als "Anzahl für eine Warteschlangenlänge null" bezeichnet. Die
Kapazität
zur Beförderung
von Anrufen jeder Ressource wird im Einzelnen anhand der Anrufe,
die während
des letzten Verarbeitungszyklus tatsächlich zu der Ressource geleitet
wurden, und des Einflusses, den das Volumen der Anrufe auf die Anzahl von
Einheit im Ruhezustand und die Anzahl von Anrufen in der Warteschlange
hatte, die am Ende des Verarbeitungszyklus berichtet werden, berechnet.
Die Änderung
der Anzahl von aktiven Einheiten wird berücksichtigt, die solche Umstände widerspiegeln
kann, dass über
zusätzliche
Agenten, die zur Arbeit kommen, oder dass Agenten eine Mittagspause
beginnen, berichtet wird. Die Zahl, die für jede Ressource berechnet
wird, ist eine Grundkapazität,
die ein Anrufvolumen darstellt, das im nächsten Verarbeitungszyklus
zu der Ressource gesendet werden kann, so dass am Ende dieses Verarbeitungszyklus
keine Ressourcen im Ruhezustand sind und sich in der Warteschlange
keine Anrufe befinden.
-
In
einem Block 606 wird ein vorhergesagter Bedarf für jede Leitweglenkungsausgabe
berechnet. Dieser umfasst einen gleitenden Mittelwert der Anzahl
von Anrufen für
jede Leitweglenkungsausgabe für
die letzten beiden Verarbeitungszyklen, um vorherzusagen, welcher
Anrufbedarf für
diese Leitweglenkungsausgabe im nächsten Verarbeitungszyklus
vorhanden sein wird.
-
In
einem Block 608 wird ein Wert der Prioritätsebene
auf eins gesetzt, um die Berechnung des Belastungsausgleichs für die erste
Prioritätsebene
zu ermöglichen.
Der Teilnehmer definiert für
jede Ressource das Leistungskriterium, das für jede Prioritätsebene
gelten soll. Das Kriterium der Prioritätsebene eins gibt die maximale
Warteschlangenlänge
an, die der Teilnehmer für
die Ressource als eine erste Auswahlmöglichkeit in einer Leitweglenkungsausgabe
zulässt.
Die Grundkapazität
plus die maximale Warteschlangenlänge auf der Ebene ist gleich
der Anrufbeförderungskapazität der Ressource
auf der ersten Prioritätsebene.
Das erfolgt durch Einstellen der Grundkapazität für die Ebene in einem Block 610.
Der Prozess des Belastungsausgleichs verteilt dann die Anrufbeförderungskapazität jeder
Ressource unter den Leitweglenkungsausgängen gemäß dem Bedarf bei der ersten
Prioritätsebene
in einem Block 612. Wenn eine Ressource bei der gleichen
Prioritätsebene
in mehr als einer Gruppe erscheint, wird die Anrufkapazität der Ressource
zwischen den Gruppen proportional zu dem Anrufbedarf, der für jede Gruppe
erstellt wurde, verteilt. Bei mehreren Ressourcen in einer Gruppe
wird die Anrufkapazität
jeder Ressource in gleichem Umfang verwendet, d.h. für den gleichen
Anteil der verfügbaren
Kapazität.
-
In
einem Entscheidungsblock 614 wird festgestellt, ob bei
der gegenwärtigen
Prioritätsebene
der gesamte Bedarf verteilt wurde. Wenn ein Bedarf übrig bleibt,
nachdem die gesamte mögliche
Kapazität
bei dieser Prioritätsebene
verwendet wurde, geht der Prozess des Belastungsausgleichs zu einem
Block 616, der zur nächsten
Prioritätsebene
fortschreitet und dann zum Block 610 zurückkehrt.
Neue Ressourcen können
sich selbstständig
für eine
Leitweglenkungsausgabe bei der nächsten
Prioritätsebene
zur Verfügung
stellen, wenn das im Block 610 eingestellt ist. Daraufhin
versucht das System im Block 612, ungenutzte Kapazitäten für diese Ressourcen
zu verteilen. Im Einzelnen wird die Anrufbeförderungskapazität bei dieser
Prioritätsebene
für jede Ressource
berechnet. Das erfolgt, indem alle verbleibenden ungenutzten Kapazitäten zu dem
zulässigen
Ansteigen der Warteschlangenlänge
zwischen dieser Prioritätsebene
und der vorherigen Prioritätsebene
hinzugefügt
werden. Die Verteilung des Belastungsausgleichs wird dann wiederholt
und der Entscheidungsblock 614 stellt erneut fest, ob der
gesamte Bedarf verteilt wurde. In der beschriebenen Ausführungsform
der Erfindung gibt es drei Prioritätsebenen, und diese Schleife
wird bis zu drei Mal, jeweils ein Mal für jede Prioritätsebene,
ausgeführt.
-
Wenn
der gesamte Bedarf für
alle Leitweglenkungsausgänge
abgearbeitet wurde, wird in einem Block 618 für jede Leitweglenkungsausgabe
ein Datensatz aus Anteilen der Bedarfsverteilungskapazität und maximalen
Ressourcenkapazitäten
zu dem Leitweglenkungsprozessor geleitet. Der Prozess der Anrufleitweglenkung
verwendet diese Anteile und Kapazitäten, um Anrufe für diese
Leitweglenkungsausgabe während
des nächsten Verarbeitungszyklus
zu leiten. Der nächste
Verarbeitungszyklus des Belastungsausgleichs beginnt anschließend.
-
Der
Prozess der Anrufleitweglenkung wendet die Kapazitätsanteile
für jede
Prioritätsebene
bei jedem Anruf an, der gemäß einer
bestimmten Leitweglenkungsausgabe geleitet wird. Das Ergebnis ist
ein Anruf, der zu einer bestimmten Ressource geleitet wird, oder
ein Anruf, der der nächsten
Prioritätsebene übergeben
wird. Ein kumulativer Zählerstand
wird von den Anrufen geführt,
die zu jeder Ressource geleitet werden, und wenn dieser Zählerstand
bei einer vorgegebenen Prioritätsebene
die maximale Ressourcen-Kapazität übersteigt, wird
der Anruf nicht zu dieser Ressource geleitet, sondern an die nächste Prioritätsebene übergeben.
-
Das
Folgende ist ein Beispiel, wie der Algorithmus zum Belastungsausgleich
ausgeführt
wird. Bei diesem Beispiel sind vier Leitweglenkungsausgänge (ROUTING
OUTCOMES) in der folgenden Weise definiert:
-
Bei
diesem Beispiel ist in der folgenden Tabelle 1 die Ressourcenstatistik
aufgelistet, die in den vorherigen Verarbeitungszyklen im Block 600 von 6 gesammelt
wurde.
-
-
In
Tabelle 1 bezeichnet die Überschrift
PPM die primären
Positionen, die besetzt sind, die Überschrift AAV bezeichnet die
zur Verfügung
stehenden Agenten und die Überschrift
Q bezeichnet die Anzahl der in der Warteschlange befindlichen Anrufe.
-
Die
folgende Tabelle 2 veranschaulicht beispielhafte statistische Informationen
der Ausgabe, die im Block
602 von
6 von
dem Leitweglenkungsprozessor
132 gesammelt werden. Tabelle
2
-
Bei
diesem Beispiel wird angenommen, dass die zulässige Warteschlangenlänge bei
Ebene 1 für
alle Ziele null ist, bei Ebene 2 für alle Ziele eins ist und bei
Ebene 3 für
alle Ziele vier ist.
-
Der
Algorithmus berechnet zunächst
die Grundkapazität
für jede
Ressource in der folgenden Weise:
-
Schritt
1.0: Berechnen der Grundkapazität
für jede
Ressource
-
Schritt
1.1: Ressource A
C = AAV – Q – PPM
delta
C = gegenwärtiger
Zyklus – vorhergehender
Zyklus
Basis = vorhergehender Zyklus (abgewickelte Anrufe)
+ AAV – Q
+ delta C (siehe unten stehende Anmerkung 1)
C = 2 – 0 – 78 = –76
DeltaC
= –76 – (0 – 4 – 75) =
3
Basis = 5 + 2 – 0
+ 3 = 10
-
Schritt
1.2: Ressource B
Basis = 21 + 0 – 2 + (–12) = 7
-
Schritt
1.3: Ressource C
Basis = 18 + 5 – 0 + (–5) = 18
-
Schritt
1.4: Ressource D
Basis = 0 + 1 – 0 + (–4) = –3
-
Da
das Ergebnis kleiner ist als die Anzahl der gegenwärtig zur
Verfügung
stehenden Agenten, wird es gleich AAV = 1 gesetzt.
-
Anmerkung
1: Die Formel für
die Grundkapazität
wird in der folgenden Weise erreicht:
- a) Die
Grundkapazität
ist die Anrufbelastung, die sich ergibt, wenn am Ende des nächsten Verarbeitungszyklus
kein Agent verfügbar
ist und sich kein Anruf in der Warteschlange befindet.
- b) Beginnend mit den Anrufen, die in dem letzten Zyklus tatsächlich behandelt
wurden, addiere die verfügbaren
Agenten und subtrahiere die in der Warteschlange befindlichen Anrufe
am Ende des letzten Zyklus. Die Annahme besteht darin, dass die
mittlere Anruflänge
viel länger
als ein Verarbeitungszyklus ist.
- c) Einstellen des Ergebnisses anhand der Änderung der zur Verfügung stehenden
Agenten und der Änderung
der Warteschlangenlänge
zwischen dem Ende des letzten Verarbeitungszyklus und des vorhergehenden
Verarbeitungszyklus. Zu dem Ergebnis von b) wird der Anstieg der
verfügbaren
Agenten addiert und davon der Anstieg der in der Warteschlange befindlichen
Anrufe subtrahiert.
- d) Wenn der Anstieg der zur Verfügung stehenden Agenten von
einer Zunahme der besetzten Agentenpositionen (PPM) stammt, wird
der Anstieg vom PPM von dem Anstieg der verfügbaren Agenten subtrahiert.
-
Im
nächsten
Schritt wird der vorhergesagte Bedarf für jede Leitweglenkungsausgabe
in der folgenden Weise berechnet:
-
Schritt
2.0: Berechnen des vorhergesagten Bedarfs für jede Leitweglenkungsausgabe
-
Schritt
2.0: Ausgang 1
Bedarf = (gegenwärtig geleitete Anrufe + vorher
geleitete Anrufe)/2 = (12 + 20)/2 = 16
-
Schritt
2.2: Ausgabe 2
Bedarf = (14 + 6)/2 = 10
-
Schritt
2.3: Ausgabe 3
Bedarf = (10 + 5)/2 = 7,5
-
Schritt
2.4: Ausgabe 4
Bedarf = (8 + 7)/2 = 7,5
-
Anschließend wird
die eingestellte Grundkapazität
auf der Prioritätsebene
1 in der folgenden Weise berechnet:
-
Schritt
3.0: Berechnen der eingestellten Grundkapazität auf der Prioritätsebene
1
-
Schritt
3.1: Ressource A
L1cap = Basis + annehmbare Warteschlangenlänge bei
Ebene 1 = 10 + 0 = 10
-
Schritt
3.2: Ressource B
L1cap = 7 + 0 = 7
-
Schritt
3.3: Ressource C
L1cap = 18 + 0 = 18
-
Schritt
3.4: Ressource D
L1cap = 1 + 0 = 1
-
Zu
diesem Zeitpunkt ist es möglich,
die Kapazität über die
Leitweglenkungsausgänge
gemäß dem Bedarf
auf der ersten Prioritätsebene
zu verteilen. Das erfolgt folgendermaßen:
-
Schritt
4: Für
jede Ressourcengruppe Berechnen des Anteils jedes Ausgabebedarfs,
der durch diese Ressourcengruppe auf der Prioritätsebene 1 abgearbeitet wird.
Wenn in der Gruppe mehrere Ressourcen vorhanden sind, auf jede einzelne
Ressource anteilig verteilen. Ausführen dieser beiden Schritte
durch anteiliges Verteilen auf der Grundlage der eingestellten Kapazität jeder
Ressource.
-
Schritt
4.1: Ressource A
Die gesamte Kapazität wird für Ausgabe 1 verwendet und ist
kleiner als der Bedarf.
Behandelter Anteil der Ausgabe 1 =
L1cap/Bedarf = 10/16 = 0,625
6 Anrufe von Ausgabe 1 werden
an Ebene 2 übergeben.
-
Schritt
4.2: Ressource B
Die gesamte Kapazität wird für Ausgabe 2 verwendet und ist
kleiner als der Bedarf.
Behandelter Anteil der Ausgabe 2 =
7/10 = 0,700 3 Anrufe von Ausgabe 2 werden an Ebene 2 übergeben.
-
Schritt
4.3: Ressource C
Die gesamte Kapazität wird für Ausgabe 3 verwendet und ist
größer als
der Bedarf.
Behandelter Anteil der Ausgabe 3 = 1,0 Ressource
C hat 10,5 Anrufe, die für
Ebene 2 zur Verfügung
stehen.
-
Schritt
4.4: Ressource D
Die gesamte Kapazität wird für Ausgabe 4 verwendet und ist
kleiner als der Bedarf.
Behandelter Anteil der Ausgabe 4 =
1/7,5 = 0,1333 6,5 Anrufe vom Ausgabe 4 werden an Ebene 2 übergeben.
-
Nachdem
die Verteilung auf Ebene 1 abgeschlossen wurde, wobei der gesamte
Bedarf verteilt wurde, werden neue eingestellte Kapazitäten für alle Ressourcen
auf der Ebene 2 in der folgenden Weise berechnet:
-
Schritt
5.0: Berechnen neuer eingestellter Kapazitäten für alle Ressourcen auf der Ebene
2 durch Hinzufügen
der ungenutzten Kapazitäten
von der Ebene 1 zu dem Anstieg der annehmbaren Warteschlangenlänge zwischen
den Ebenen 1 und 2.
-
Schritt
5.1: Ressource A
L2cap = ungenutzte Kapazität von L1cap + Anstieg der Warteschlangenlänge = 0
+ 1 = 1
-
Schritt
5.2: Ressource B
L2cap = 0 + 1 = 1
-
Schritt
5.3: Ressource C
L2cap = 10,5 + 1 = 11,5
-
Schritt
5.4: Ressource D
L2cap = 0 + 1 = 1
-
Anschließend wird
die restliche Kapazität
unter den Leitweglenkungsausgängen
gemäß dem Bedarf auf
der Ebene 2 folgendermaßen
verteilt:
-
Schritt
6: Berechnen für
jede Ressourcengruppe des Anteils von jedem Ausgabebedarf, der durch
diese Gruppe bei dem Prioritätsebene
2 behandelt wird. Wenn in der Gruppe mehrere Ressourcen vorhanden sind,
anteiliges Verteilen auf jede einzelne Ressource.
-
Schritt
6.1: Ressourcengruppe 2.1 – Gruppe
1 bei Ebene 2, die die Ressourcen A und B umfasst
Kapazität der Ressourcengruppe
= Summe aller Ressourcen = L2cap (A) + L2cap (B) = 1 + 1 = 2
Gesamtbedarf
bei RG2.1 = Summe der übergebenen
Anrufe von jeder Ausgabe = 8 (Ausgabe 1) + 3 (Ausgabe 2) = 9
Anteil
des behandelten Bedarfs = Kapazität/Bedarf = 2/9 = 0,2222
(dieser
Anteil gilt sowohl für
Ausgabe 1 als auch für
Ausgabe 2)
Anteil des übergebenen
Bedarfs = 1 – Anteil
des behandelten Bedarfs) = 1 – 0,2222
= 0,7778
Übergebene
Anrufe von jeder Ausgabe = Bedarf an Ebene 2·Anteil des übergebenen
Bedarfs = 6 (Ausgabe 1)·0,7778
= 4,667 = 3 (Ausgabe 2)·0,7778
= 2,333
-
Schritt
6.1.1: Ressource A
Anteil der RG2.1-Kapazität = L2cap(A)/Kapazität der Ressourcengruppe
= 1/2 = 0,5
Anteil des behandelten Bedarfs = Anteil der Kapazität·Anteil
des Bedarfs = 0,5·0,2222
= 0,1111
(dieser Anteil gilt sowohl für Ausgabe 1 als auch für Ausgabe
2)
ungenutzte Kapazität,
die auf Ebene 3 verfügbar
ist = 0
-
Schritt
6.1.2: Ressource B
Anteil der RG2.1-Kapazität = L2cap(B)/Kapazität der Ressourcengruppe
= 1/2 = 0,5
Anteil des behandelten Bedarfs = Anteil der Kapazität·Anteil
des Bedarfs = 0,5·0,2222
= 0,1111
(dieser Anteil gilt sowohl für Ausgabe 1 als auch für Ausgabe
2)
ungenutzte Kapazität,
die auf Ebene 3 verfügbar
ist = 0
-
Schritt
6.2: Ressourcengruppe 2.2-Gruppe 2 auf Ebene 2, die die Ressourcen
C und D umfasst
Kapazität
der Ressourcengruppe = Summe aller Ressourcen = L2cap(C) + L2cap(D)
= 11,5 + 1 = 12,5
Gesamtbedarf auf RG2.2 = Summe der übergebenen
Anrufe von allen Ausgaben = 0 (Ausgabe 3) + 6,5 (Ausgabe 4) = 6,5
Anteil
des behandelten Bedarfs = 1 da Kapazität > Bedarf
(dieser Anteil gilt sowohl
für Ausgabe
3 als auch für
Ausgabe 4)
Anteil des übergebenen
Bedarfs = 0
-
Schritt
6.2.1: Ressource C
Anteil der RG2.2-Kapazität = L2cap(C)/Kapazität der Ressourcengruppe
= 11,5/12,5 = 0,92
Anteil des behandelten Bedarfs = Anteil
der Kapazität·Anteil
des Bedarfs = 0,92 * 1,0 = 0,92
(dieser Anteil gilt sowohl
für Ausgabe
3 als auch für
Ausgabe 4)
ungenutzte Kapazität, die für Ebene 3 verfügbar ist
= L2cap(C) – (Bedarf·Anteil
des behandelten Bedarfs) = 11,5 – (6,5·0,92) = 5,52
-
Schritt
6.2.2: Ressource D
Anteil der RG2.2-Kapazität = L2cap(C)/Kapazität der Ressourcengruppe
= 1/12,52 = 0,08
Anteil des behandelten Bedarfs = Anteil der
Kapazität·Anteil
des Bedarfs = 0,08·1,0
= 0, 08
(dieser Anteil gilt sowohl für Ausgabe 3 als auch für Ausgabe
4)
Ungenutzte Kapazität,
die für
Ebene 3 verfügbar
ist = L2cap(D) – (Bedarf·Anteil
des behandelten Bedarfs) = 1 – (6,5·0,08)
= 0,48
-
Wenn
der gesamte Bedarf noch nicht behandelt wurde, werden die neuen
eingestellten Kapazitäten für alle Ressourcen
bei Ebene 3 in der folgenden Weise berechnet:
-
Schritt
7.0: Berechnen neuer eingestellter Kapazitäten für alle Ressourcen auf Ebene
3 durch Hinzufügen
der ungenutzten Kapazität
von Ebene 2 zu dem Anstieg der annehmbaren Warteschlangenlänge zwischen
den Ebenen 2 und 3.
-
Schritt
7.1: Ressource A
L3cap = ungenutzte Kapazität von L2cap + Anstieg der Warteschlangenlänge = 0
+ 3 = 3
-
Schritt
7.2: Ressource B
L3cap = 0 + 3 = 3
-
Schritt
7.3: Ressource C
L3cap = 5,52 + 3 = 8,52
-
Schritt
7.4: Ressource D
L3cap = 0,48 + 3 = 3,48
-
Dieser
Bedarf wird dann im Schritt 8 in der folgenden Weise verteilt:
-
Schritt
8.0: Für
jede Ressourcengruppe Berechnen des Anteils jedes Ausgabebedarfs,
der durch diese Gruppe auf der Prioritätsebene 3 behandelt wird. Wenn
in der Gruppe mehrere Ressourcen vorhanden sind, anteiliges Verteilen
auf jede einzelne Ressource.
-
Schritt
8.1: Ressourcengruppe 3.1 – Gruppe
1 bei Ebene 3, die die Ressourcen A, B, C und D umfasst
Kapazität der Ressourcengruppe – Summe
aller Ressourcen = L3cap(A + B + C + D) = 3 + 3 + 8,52 + 3,48 =
18
Gesamtbedarf bei RG3.1 = Summe der abgegebenen Anrufe von
allen Ausgängen
= 4,667 (Ausgabe 1) + 2,333 (Ausgabe 2) = 7
Anteil des behandelten
Bedarfs = 1,0 (dieser Anteil gilt sowohl für Ausgabe 1 als auch für Ausgabe
2) Anteil des abgegebenen Bedarfs = 0
-
Schritt
8.1.1: Ressource A
Anteil der Kapazität von RG3.1 = L3cap(A)/Kapazität der Ressourcengruppe
= 3/18 = 0,167
Anteil des behandelten Bedarfs = Anteil der
Kapazität·Anteil
des Bedarfs = 0,167·1,0
= 0,167 (dieser Anteil gilt sowohl für Ausgabe 1 als auch für Ausgabe
2)
-
Schritt
8.1.2: Ressource B
Anteil der Kapazität von RG3.1 = L3cap(B)/Kapazität der Ressourcengruppe
= 3/18 = 0,167
Anteil des behandelten Bedarfs = Anteil der
Kapazität·Anteil
des Bedarfs = 0,167·1,0
= 0,167 (dieser Anteil gilt sowohl für Ausgabe 1 als auch für Ausgabe
2)
-
Schritt
8.1.3: Ressource C
Anteil der Kapazität von RG3.1 = L3cap(C)/Kapazität der Ressourcengruppe
= 8,52/18 = 0,473
Anteil des behandelten Bedarfs = Anteil der
Kapazität·Anteil
des Bedarfs = 0,473·1,0
= 0,473 (dieser Anteil gilt sowohl für Ausgabe 1 als auch für Ausgabe
2)
-
Schritt
8.1.4: Ressource D
Anteil der Kapazität von RG3.1 = L3cap(D)/Kapazität der Ressourcengruppe
= 3,48/18 = 0,193
Anteil des behandelten Bedarfs = Anteil der
Kapazität·Anteil
des Bedarfs = 0,193·1,0
= 0,193 (dieser Anteil gilt sowohl für Ausgabe 1 als auch für Ausgabe
2)
-
Nachdem
der gesamte Bedarf verteilt wurde und kein Bedarf an das Ziel, das
als letzte Auswahlmöglichkeit
angegeben ist, übergeben
wurde, werden die Ausgabetabellen erstellt, so dass die ermittelten
Anteile in der folgenden Weise an den Leitweglenkungsprozessor 132 geleitet
werden können:
-
Schritt
9.0: Die folgenden Anteile werden zu dem Leitweglenkungsprozessor
132 geleitet:
Anteil
des Ausgabebedarfs, der durch jede Ressource behandelt wird
-
Es
folgt die Tabelle der Anteile, die anhand des vorhergesagten Bedarfs
in die Anzahl von Anrufen umgesetzt wurden.
-
Anzahl
von Anrufen eines Ausgabebedarfs, der durch alle Ressourcen behandelt
wird
-
Während des
folgenden Verarbeitungszyklus verwenden die Anrufe, die anhand von
einem der vier Leitweglenkungsausgänge geleitet werden, diese
Tabellen, um die Leitweglenkungsentscheidungen zu treffen, wie oben
unter Bezugnahme auf 5 erläutert wurde.
-
Zusammenfassend
stellt der AIN-Prozessor 114 eine Call-by-Call-Leitweglenkung
(für jeden
Anruf erfolgt eine separate Leitweglenkung) bereit, um Unternehmen
mit einer höchstmöglichen
Flexibilität
der Leitweglenkung zu versorgen und die leistungsfähige Verwaltung
von Anrufzentren, Agenten des Anrufzentrums und anderen Ressourcen
unabhängig
vom öffentlichen
Fernsprechwählnetz 100 zu
ermöglichen.
Anrufe können
anhand der spezifischen Kennung des Anrufers geleitet werden. Noch
wichtiger ist, dass Anrufe anhand der Verfügbarkeit jeder Ressource in
Bezug auf das gewünschte
Leistungskriterium geleitet werden können.
-
Die
Nummerübersetzung
und die Leitweglenkungsentscheidung beruhen auf einer kooperativen
Verarbeitung, die sowohl in dem SCP 106 des Trägers als
auch in dem AIN-Prozessor 114 des Teilnehmers ausgeführt wird.
Eine Anfrage wird von dem SCP 106 des Trägers an
den AIN-Prozessor 114 des Teilnehmers mit allen Informationen,
die über
den Anrufer bekannt sind, abgesetzt. Der AIN-Prozessor 114 führt die
eigentliche Nummernübersetzung
und die Leitweglenkungsentscheidung aus, die an den Träger-SCP 106 zurückgeleitet wird,
der die Entscheidung im Trägernetzwerk
ausführt.
Bei der kooperativen Verarbeitung kann der Träger-SCP 106 alle Anrufe
unter Verwendung des aktuellen, nichtdynamischen Prozesses der Leitweglenkung leiten,
falls in dem AIN-Prozessor 114 ein vorübergehender Fehler auftritt.
Es kann außerdem
Zeitperioden geben, in denen der AIN-Prozessor 114 des
Teilnehmers planmäßig nicht
betriebsfähig
ist, wie etwa dann, wenn das N00-Anrufvolumen gering ist und ein
nichtdynamischer Prozess der Leitweglenkung ausreichend ist.
-
ANHANG
-
Backus-Naur-Form
-
Die
Sprache für
Anrufmanagement ist in der Backus-Naur-Form (BNF) definiert. Die
BNF-Schreibweise soll die grundlegende Sprachsyntax darstellen.
In diesem Dokument wird nicht versucht, die vollständige semantische
Form der Sprache zu definieren. Es kommt vor, dass die Sprachdarstellung
von der formalen BNF-Syntax abweicht. Das ist erforderlich, um die
gültige
Darstellung eines vorgegebenen Symbols oder Produkts zu definieren.
Es folgt eine kurze Erläuterung
der BNF-Symbole,
die in diesem Dokument verwendet werden.
BNF-Symbol | Erläuterung |
::= | ist
definiert als |
| | oder |
* | enthält ein oder
mehrere Elemente aus der definierten Zeichenfolge |
< > | definiert
ein nichtterminales oder variables Symbol Beispiel: <DIGIT> <DIGIT> ist
ein nichtterminales oder variables Symbol. Nichtterminale Symbole
können
links oder rechts von dem Symbol "ist definiert als" erscheinen. Diese Symbole werden als
Zeichenfolgen mit Betätigung
der Umschalttaste (upper case strings) dargestellt und sind letztendlich
durch Terminal-Symbole definiert. Terminal-Symbole sind die grundlegenden Elemente
der Sprache. Terminal-Symbole werden durch Zeichenfolgen ohne Umschalttaste
dargestellt. Es folgen selbstdefinierende Terminal-Symbole: 1 2...9
0 AB YZ ab yz + – *
/ _ # : " ' ( ) $. Reservewörter und
Systemfunktionen gehören zu
der Klasse der Terminal-Symbole. Ein Symbol-Label wird durch ein
Terminal-Symbol in Kursivschrift dargestellt, wenn es verwendet
wird, um ein vorgegebenes-Symbol in einer Symbolklasse festzulegen. Beispiel: <var IDENTIFIER> <LOGICAL FUNCTION> <CONSTANT> Das Symbol var stellt
die Kennung einer Kennungsvereinbarung dar. |
{ } | definiert
ein gefordertes Symbol |
[ ] | definiert
ein optionales Symbol |
-
-
Reservewörter
-
Die
folgenden Wörter
haben eine besondere Bedeutung in der Anrufmanagementsprache.
-
-
Systemkennungen
-
Systemkennungen
sind Software-Merkmale, die durch das Betriebssystem unterstützt werden,
das die Ausführung
des Codes der Anrufmanagementsprache steuert. Siehe Prozessorspezifikationen
der Leitweglenkung für
die Belegung der folgenden Bereiche. Diese Bereiche sind in der
SAIN-Aktivitätstabelle
(SAT) definiert.
-
-
Grundelemente
-
Grundelemente
sind die grundlegenden Komponenten der Anrufmanagementsprache. Mit
diesen Objekten werden einzelne Sprachfunktionen gebildet.
-
-
Grundelemente (Fortsetzung)
-
Sprachfunktionen
-
Sprachfunktionen
definieren die grundlegenden Merkmale der Anrufmanagementsprache,
die verwendet werden, um eine Leitweglenkungsanforderung zu verarbeiten.
-
-
Sprachanweisungen
-
Sprachanweisungen
definieren, wie die Merkmale verknüpft werden können, um
eine bestimmte Aufgabe auszuführen.
Die Anweisungen definieren außerdem
die Reihenfolge, in der die Merkmale für die Verarbeitung einer Leitweglenkungsanforderung
aufzurufen sind.
-
-
Bereich Eingabe/Ausgabedaten
-
Das
Folgende ist das Format der Nachricht der Leitweglenkungsanforderung,
die durch den CAMEL-Entscheidungsbaum verarbeitet wird. Sie werden
als CAMEL-Reservewörter
betrachtet.
-
-
Beispiele
aus dem RCS-Handbuch von AT&T
(Fig. 2 bis Fig. 14) "Bereichscode-Definitionen"
-
Telekatalog
Beispiel Nr. 1
-
Telekatalog
Beispiel Nr. 2
-
Telekatalog
Beispiel Nr. 3
-
Beispiel
der ANI-Verfikation
-
Beispiel
der Sprachunterstützung
-
Beispiel
Lokalisierungseinrichtung
-
Symboltabelle
-
Alle
CAMEL-Vereinbarungen, Systemfunktionen, Systemkennungen, bestimmte
Reservewörter,
Eingabe/Ausgabebereiche, Konstanten, und internen CAMEL-Bezeichnungen
werden in dieser Tabelle angeordnet. Die Symboltabelle (Tabelle
1) wird während
der Parsing-Phase des CAMEL-Kompilierers aufgebaut. Die Symboltabelle
wird als ein Silostapel erzeugt. Jedes Mal, wenn eine CAMEL-Vereinbarung
in den Quellenanweisungen auftaucht, wird eine Suche durchgeführt, um
festzustellen, ob die Kennung bereits zuvor vereinbart wurde. Wenn
das der Fall ist, wird die aktuelle Vereinbarung als Fehler markiert.
Wenn die Kennung zuvor nicht vereinbart wurde, wird sie in die Symboltabelle
am deren Ende eingefügt.
Es ist vorteilhaft, das in der Weise zu tun, dass der der Kennung
zugewiesene Wert in dem Variablenvorrat beginnend mit der nächsten verfügbaren Position
angeordnet wird. Der relative Ort des Wertes der Kennung in dem
Variablenvorrat wird in dem Symboltabelleneintragsfeld "Zeiger" ("Pointer") gespeichert. Die
Eintragsfelder "Typ" ("Type"), "Klasse" ("Class") und "Format" ("Format") in der Symboltabelle
werden mit den geeigneten Daten anhand des vorgegebenen Vereinbarungstyps
und -formats gefüllt.
Die Felder "Anzahl" ("Number") und "Länge" ("Length") beziehen sich auf
die Anzahl von Untervariablen, die durch die Vereinbarung definiert
werden bzw. die Länge
der Untervariablen. Bei einem Eintrag haben alle Untervariablen
die gleiche Länge.
Wenn die Vereinbarung eine Zeichenvariable mit Untervariablen definiert,
ist die Länge
der Untervariablen die Länge
der längsten
Untervariablen. Zeichenwerte werden linksbündig in den Einträgen der
Untervariablen angeordnet. Bei jeder Untervariablen werden nicht
verwendete Bereiche mit Leerzeichen aufgefüllt. Am Ende des Vereinbarungsabschnitts des
Entscheidungsbaumes sind alle Variable, die verwendet werden, definiert
worden.
-
Konstanten
des Entscheidungsbaumes, die in dem Prozedurabschnitt auftreten,
werden in der Symboltabelle angeordnet, als ob sie bei einer Vereinbarungsanweisung
definiert wurden. Ein interner CAMEL-Name wird erzeugt und als Name der Konstanten
verwendet. Der Rest der Felder in dem Eintrag wird mit geeigneten
Daten anhand der Attribute der Konstanten gefüllt.
Tabelle
1
-
Kennungen,
die in dem Prozedurabschnitt des Entscheidungsbaumes verwendet werden,
werden mit den Einträgen
in der Symboltabelle verglichen, um festzustellen, ob sie definiert
worden sind. Eine Kennung wird markiert, wenn sie nicht in der Symboltabelle
vorhanden ist. Kennungen, die in der Symboltabelle gefunden wurden,
werden verwendet, um festzustellen, ob sie in der aktuellen Anweisung
im richtigen Kontext verwendet werden. Wenn festgestellt wird, dass
die Kennung in unzulässiger
Weise verwendet wird, wird die Anweisung als Fehler markiert.
-
CAMEL-Systemfunktionen,
Systemkennungen, bestimmte Reservewörter und Felder für Eingabe/Ausgabebereiche
werden in der Symboltabelle im Voraus definiert. Von diesen Einträgen enthält das Feld "Name" ("Name") den internen CAMEL-Namen
des speziellen Elements. Die folgenden Spezifikationen werden für die in
der Symboltabelle im Voraus definierten Systemelemente verwendet.
-
A. Systemfunktionen
-
Der
Wert "Zeiger" ("Pointer") ist der Versatz-Wert
in der Systemfunktion-Vektortabelle. Jeder Eintrag in der Systemfunktion-Vektortabelle enthält die absolute
Adresse des Prozessormoduls, das den speziellen Befehl interpretiert.
Die Bezeichnung "Typ" ("Type") für diesen
Eintrag ist Systemfunktion. Diese Tabelleneinträge verwenden die restlichen
Eintragsfelder nicht. Da diese Einträge auf die Systemfunktion-Vektortabelle Bezug
nehmen, gibt es keine entsprechenden Einträge im Variablenvorrat. Die
Prozesssteuerungs-Systemfunktion
ist eine interne Funktion, die die Folge der Anweisungsausführungen
in einem Entscheidungsbaum steuert.
-
-
2. Systemkennungen
-
Der
Wert "Zeiger" ("Pointer") ist der Offset-Wert
in der Systemsteuerungstabelle. In dieser Tabelle enthält jeder
Eintrag die absolute Systemvariable. Die "Typ"-Bezeichnung
("Type") für diese
Einträge
ist Systemkennung. Der "Format"-Typ ist für diese
Elemente binär.
Alle Einträge
haben eine Länge
von vier Byte. Die restlichen Eintragsfelder werden für diesen
Eintragtyp nicht verwendet. Da diese Einträge auf die Systemsteuerungstabelle
Bezug nehmen, gibt es keine entsprechenden Einträge in dem Variablenvorrat.
-
-
-
C. Reservewörter
-
Der
Wert "Zeiger" ("Pointer") ist der Versatz-Wert
in dem Variablenvorrat. Die "Typ"-Bezeichnung ("Type") für diese
Einträge
ist Reservewort. Das "Klasse"-Feld ("Class") wird bei diesem
Eintragtyp nicht verwendet. Das Folgende sind Spezifikationen für die restlichen
Felder in dem einzelnen Eintrag der Reservewort- Symboltabelle und dem zugeordneten
Eintrag des Variablenvorrats.
-
-
-
C. Reservewörter (Fortsetzung)
-
Das
Folgende sind selbstdefinierende Reservewörter. Diese Objekte haben Symboltabelleneinträge wie Reservewörter, jedoch
keine zugehörigen
Einträge
des Variablenvorrats. Diese Objekte werden durch die Eintragsfelder "Name" und "Typ" des Symboltabelle
definiert.
-
-
D. System-Eingabe/Ausgabebereich
-
Der
Wert "Zeiger" ("Pointer") ist der Versatz-Wert
in dem Variablenvorrat für
das definierte Feld. Die "Typ"-Bezeichnung ("Type") für diese
Einträge
ist Eingabe/Ausgabedatenbereich. Der "Klasse"-Typ ("Class") für
den Eintrag, der den tatsächlichen
Eingabe/Ausgabebereich definiert, ist BUFFER IDENTIFIER. Der "Klasse"-Typ für alle anderen
Einträge
ist DATA IDENTIFIER. Die "Format"-Klassifizierung
für alle
Elemente in dieser Gruppe ist Zeichen mit Ausnahme des Eintrags
INQ_ID. Die "Format"-Klassifizierung für diesen Eintrag ist binär. Die folgende
Tabelle definiert die Längenattribute
für INVOKE_MSG
IDENTIFIER und zugehörige
Unterfelder.
Name | Länge |
INVOKE_MSG | 165 |
ANI | 10 |
ANI_NPACO | 6 |
ANI_NPA | 3 |
ANI_CO | 3 |
ANI_STAT | 4 |
DIALED_NR | 10 |
DIALED_NPACO | 6 |
DIALED_NPA | 3 |
DIALED_CO | 3 |
DIALED_STAT | 4 |
X25LABEL | 8 |
NUI | 16 |
UUI | 16 |
INQ_ID | 10 |
SL_CODE_TYPE | 1 |
SELECT_CD | 10 |
RECORD_TYPE | 1 |
COMP_CODE | 1 |
NUMBER_SITE | 2 |
SITE_TABLE | 80 |
SITE_NUMBER | 2 |
SITE_PERCENT | 2 |
-
E. Eingabe/Ausgabebereiche
-
Der
Wert "Zeiger" ("Pointer") ist der Offset-Wert
in dem Variablenvorrat für
das definierte Feld. Die "Typ"-Bezeichnung für diese
Einträge
ist Eingabe/Ausgabedatenbereich. Der "Klasse"-Typ für den Eintrag, der den tatsächlichen
Eingabe/Ausgabebereiche definiert, ist BUFFER IDENTIFIER. Der Wert
des Felds "Länge" ("Length") von BUFFER IDENTIFIER
wird aus den Werten "Position" und "Länge" für
den DATA IDENTIFIER berechnet, der den größten Pufferbereich definiert.
Der "Klasse"-Typ für alle anderen
Einträge
und Unterfelder ist DATA IDENTIFIER. Die "Format"-Klassifizierung für alle Elemente in dieser Gruppe
ist Zeichen. Der Wert des Felds "Länge" ist durch die definierten
Längen
der einzelnen Unterfeldlängen
festgelegt.
-
Symboltabelle-Felddefinitionen
-
-
Variablenvorrat
-
Alle
Variablen des Entscheidungsbaumes werden in dem Variablenvorrat
gespeichert.
-
Variablenvorrat-Felddefinitionen
-
Prozedurabschnitt
-
Der
Prozedurabschnitt enthält
einen großen
Stapel, der als Prozessstapel bezeichnet wird, der die Reihenfolge
der Ausführung
der einzelnen Anweisungen in dem Entscheidungsbaum definiert. Der
Stapel setzt sich aus 4-Byte-Einträgen zusammen, die auf Einträge in der
Symboltabelle zeigen. Alle CAMEL-Anweisungen außer DECLARATION, COMMENTS sowie
BEGIN und END LOGICAL BLOCK sind gültige Prozessstapelanweisungen.
Die DECLARATION-Anweisungen definieren die Entscheidungsbaum-Variablen
und werden dann erzeugt, wenn CAMEL-Quellenanweisungen verarbeitet werden.
Die COMMENTS-Anweisungen werden von dem CAMEL-Kompilierer verworfen
und nur verwendet, um dem CAMEL-Entscheidungsbaum Erläuterungen
anzufügen.
Der START und END LOGICAL BLOCK wird verwendet, um den Umfang der
Ausführung
zu definieren. Diese Anweisungen vereinfachen die Erzeugung der
Verweigungs-LABELs für
den IF-Prozess. Im Folgenden ist das Format für jeden Typ der CAMEL-Anweisung
in dem Prozessstapel angegeben. Das Akronym STEP bedeutet Symboltabelleneintragszeiger
(Symbol Table Entry Pointer).
-
-
-
Spezielle Editierregeln
-
- 1. Alle Datumsangaben, die in einem Entscheidungsbaum
verwendet werden, werden in die Anzahl der Tage seit dem 1. Januar
1991 umgewandelt und als ganze Zahl gespeichert.
- 2. Alle Zeitangaben werden in die Anzahl von Minuten seit 00.00
Uhr umgewandelt und als ganze Zahl gespeichert.
- 3. Die maximale Länge
für eine
COMMENTS-Anweisung beträgt
70 Positionen.
- 4. Die maximale Länge
für einen
Kennungsnamen, einen internen CAMEL-Namen einer Konstanten, einer internen
CAMEL-Bezeichnung,
einen Systemfunktionsnamen, einen Systemkennungsnamen oder den Namen
eines Eingabe/Ausgabebereichsfelds beträgt 12 Positionen.
- 5. Die maximale Anzahl von benutzerdefinierten Symbolen beträgt 1000.
- 6. Ein ARITHMETIC EXPRESSION kann nicht mehr als 5 Klammerpaare
aufweisen.
- 7. Die maximale Länge
für ein
ZINK TAG beträgt
12 Positionen.
- 8. CONSTANTS: Die maximale Länge
für eine
CONSTANT, die als Zeichen definiert ist, beträgt 20 Positionen. Der maximale
Wert für
eine Binär-CONSTANT
beträgt
+2 147 483 647.
- 9. DECLARATION: * Die Untervariablen werden in aufsteigender Ordnung
sortiert, bevor sie in dem Variablenvorrat gespeichert werden.
- 10. DESTINATION-Überprüfungsprozedur:
a.)
ACD und IP DECLARATIONS Überprüfen, ob
alle Ziele DESTINATIONS in einer Site-Datei definiert wurden. Wenn ein Ziel
DESTINATION in der Datei nicht gefunden wird, wird dieses Ziel DESTINATION
als fehlerhaft markiert. Die Site-Nummer, die sich in der Site-Datei
für jede
Site befindet, die für
DECLARATION verwendet wird, wird gespeichert und verwendet, um den
Ressourcengruppen-Datensatzschlüssel
zu erzeugen (Anmerkung: die Ressourcengruppe ist die Zusammenfassung
von Sites, die entweder in einer ACD oder einer IP DECLARATION definiert
ist). Nachdem alle Sites in der Ressourcengruppe erfolgreich überprüft wurden,
werden die gesammelten Site-Nummern in aufsteigender Ordnung gespeichert.
Alle Site-Nummern werden dann miteinander verknüpft, um den Ressourcengruppen-Datensatzschlüssel zu
erzeugen. Dieser Schlüssel
besitzt eine Länge
von 40 Positionen. Wenn der erzeugte Schlüssel kürzer als 40 Positionen ist,
wird er in dem Schlüsselbereich
linksbündig
gespeichert und mit binären
Nullen bis zum Ende des Bereichs aufgefüllt. Unter Verwendung des oben
erzeugten Schlüssels
Lesen der Ressourcengruppen-Datei. Wenn der Ressourcengruppendatensatz
gefunden wird, Speichern der Ressourcengruppennummer, die in dem
Ressourcengruppendatensatz gefunden wird, in dem Zusatzfeld des
zugehörigen Symboltabelleneintrags
als Ressourcengruppenkennung. Wenn der Ressourcengruppendatensatz
nicht gefunden wird, Erzeugen einer Ressourcengruppennummer für die Ressourcengruppe,
Bilden des Ressourcengruppendatensatzes und Versuchen, ihn in die
Ressourcengruppen-Datei einzufügen.
Neue Einträge,
die in die Ressourcengruppen-Datei eingefügt werden, müssen die
folgenden Regeln erfüllen:
1)
Die Ressourcengruppen muss eindeutig sein.
2) Die Ressourcengruppen
muss eine korrekte Teilmenge einer vorhandenen Ressourcengruppe
sein.
3) Die Ressourcengruppen darf sich nicht mit vorhandenen
Ressourcengruppe überschneiden.
Wenn die neue Ressourcengruppe die oben genannten Kriterien nicht
erfüllt,
wird sie als fehlerhaft markiert und nicht in die Datei eingefügt. Bei
der erfolgreichen Einfügung
des neuen Datensatzes in die Datei wird die zugehörige Ressourcengruppennummer
in dem Zusatzfeld des zugehörigen
Symboltabelleneintrags als Ressourcengruppenkennung gespeichert.
b)
Bei TELNR und allen CONSTANTS, die im Kontext eines Ziels verwendet
werden, Überprüfen, ob
das jeweilige Ziel in der Site-Datei definiert wurde. Wenn das Ziel
in der Datei nicht gefunden wird, wird DECLARATION als fehlerhaft
markiert. Wenn der Site-Datensatz gefunden wird, Speichern der in
dem Site-Datensatz gefundenen Site-Nummer in dem Zusatzfeld des
zugehörigen
Symboltabelleneintrags als Ziel. Wenn die Vereinbarung und die Definition
einer CONSTANT gleichzeitig erfolgen, findet die Site-Überprüfungsprozedur
für dieses
Datenelement während
der Erzeugung des Prozessstapelelements, das die CONSTANT verwendet,
statt.
c) TABLE DECLRRATION Nach der Site-Überprüfungsprozedur, die im Abschnitt "b" definiert ist, zusätzlich sicherstellen, dass
die einzelnen Anteile 100% nicht übersteigen. Der Eintrag des
Variablenvorrats für
jede Untervariable wird in der folgenden Weise formatiert: d) SELECT
Verknüpfen
der Ressourcengruppennummern in der Reihenfolge, in der sie eingegeben
wurden. Die Ressourcengruppennummern werden in dem Feld für diverse
Einträge
(miscellaneous field) in dem Symboltabelleneintrag der Ressourcengruppenkennung
gespeichert. Wenn weniger als drei Ressourcengruppen vorhanden sind,
Auffüllen
der verwendeten Gruppen mit binären
Nullen. Anhängen
der Site-Nummer für
das TREATMENT-Objekt an diese Zeichenfolge. Die endgültige Zeichenfolge
ist der Schlüssel,
der für
den Zugriff auf die Ausgabedatei verwendet wird. Lesen der Ausgabedatei
unter Verwendung des erzeugten Schlüssels. Wenn der Ausgabedatensatz
nicht lokalisiert wird, Erzeugen einer Ausgabenummer für die Ausgabe,
Bilden des Ausgabedatensatzes und Einfügen des Ausgabedatensatzes
in die Ausgabedatei unter Verwendung des oben erzeugten Schlüssels. Erzeugen
eines Internbezeichnung-Symboltabelleneintrags
und Speichern der Ausgabenummer in dem Zusatzbereich des Eintrags.
Dieser Eintrag besitzt keinen entsprechenden Eintrag des Variablenvorrats.
Ablegen der Relativadresse der Internbezeichnung an der nächsten Speicherstelle
in dem Prozedurstapel.
Datensatzanordnungen:
1) Site-Datensatz
Siehe Dokumentation der Aktivitäts-Überwachungseinrichtung 2.
Ressourcengruppen-Datensatz 3.
Ausgabedatensatz
- 11. Die maximale Länge
für einen
kompilierten Entscheidungsbaum beträgt 31 500 Positionen.
- 12. Die maximale Länge
für eine
VAR IDENTIFIER beträgt
512 Positionen.
- 13. (leer)
- 14. Es folgen Systemfunktion-Prozeduren zum Bilden des INVOKE_MSG-Bereichs aus einer
ALLOCATE-, DEFAULT-, REJECT-, ROUTE- oder SELECT-Anweisung oder
einem Objekt.
a) ALLOCATE Verschieben von "",
Leerzeichen, zum SELECT CODE TYPE-Feld. Bilden der SITE_TABLE aus den
Variablenvorrat-Informationen,
auf die von dem TABLE IDENTIFIER-Symboltabelleneintrag
gezeigt wird. Verschieben von "A" zum RECORD_TYPE-Feld.
Eintragen der Anzahl von Einträgen
in der SITE_TABLE in das NUMBER_SITE-Feld. Die restlichen Felder
bleiben unverändert.
b)
DEFAULT Verschieben von "F" zum SELECT_CODE_TYPE-Feld.
Die restlichen Felder bleiben unverändert.
c) REJECTCD Verschieben
von "R" zum SELECT_CODE_TYPE-Feld.
Verschieben des Zurückweisungs-Codes,
auf den durch den REJECTCD-Symboltabelleneintrag gezeigt wird, linksbündig zu
dem SELECT_CODE-Feld. Die restlichen Felder bleiben unverändert.
d)
ROUTE (und RECORDING) Verschieben von "",
Leerzeichen, zum SELECT CODE TYPE-Feld. Verschieben eines "R" zum RECORD_TYPE-Feld. Verschieben von "01" zum NUMBER_SITE-Feld.
Verschieben der Site-Nummer, die sich im Zusatzfeld des zugehörigen Symboltabelleneintrags
befindet, zum ersten SITE_NUMBER- Eintrag
in der SITE-TABLE. Die restlichen Felder bleiben unverändert. Wenn
das Objekt von ROUTE DEFAULT oder REJECTCD ist, Ausführen der
oben genannten Prozeduren für
DEFAULT und REJECTCD.
e) SELECT Verschieben von "", Leerzeichen, zum SELECT CODE_TYPE-Feld. Verschieben
von "01" zum NUMBER_SITE-Feld.
Verschieben eines "S" zum RECORD_TYPE-Feld.
Verschieben der Ausgabenummer, auf die von dem Internbezeichnung-Symboltabelleneintrag
gezeigt wird, zu den ersten vier Positionen der SITE_TABLE. Die
restlichen Felder bleiben unverändert.
- 15. Wenn der zweite Operand von TIME DECLARATION kleiner als
der erste Operand ist, Addieren von 1440 (24 Stunden·60) zum
zweiten Operanden.
- 16. CAMEL-Kompilierer-Fehlermeldungen Die folgenden Fehler erzeugen
Kompilierer-Fehlermeldungen.
Fehler
a) unzulässiges Element
in Zeichenfolge
b) COMMENTS-Anweisung enthält mehr als 70 Positionen
c)
Kennungsname enthält
mehr als 12 Positionen
d) Symboltabelle enthält mehr
als 1000 Einträge
e)
Zeichen CONSTANT enthält
mehr als 20 Positionen
f) numerische CONSTANT überschreitet
den Wert +2 147 783 647
g) Vereinbarungsklasse-Untervariable übersteigt
die folgende Zahl: h) Komplilierter
Entscheidungsbaum ist größer als
31 500 Positionen
i) VAR IDENTIFIER enthält mehr als 512 Positionen
j)
unsymmetrische BEGIN-END-Paare
k) unsymmetrische ""-Paare
l) Anweisung endet nicht
mit;
m) Die Summe der Prozentangaben in einer TABLE-Vereinbarung übersteigt
100
n) ungültiges
Datum in einer DATE-Vereinbarung
o) ungültige Zeitangabe in einer TIME-Vereinbarung
p)
ungültige
Verwendung einer Vereinbarungsklasse
q) nicht vereinbartes
oder doppeltes Symbol
r) FILE NAME größer als acht Positionen
s)
ZINK TAG größer als
12 Positionen
t) SUBSCRIPT-Werte größer als 999
u) DATA-Elemente übersteigen
Pufferlänge
v)
allgemeiner Syntaxfehler
w) ungültiger arithmetischer Operator
-
Entscheidungsbaum-Initialisierung
Pseudocode
-
Prozesssteuerungs-Systemfunktionen
Pseudocode
-
Beispiel
des Entscheidungsbaums
-
-
-
-