Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Gebiet
der Telekommunikation. Im Besonderen bezieht sich die vorliegende Erfindung auf
ein System und ein Verfahren zur Durchführung von Anrufverarbeitungsanfragen
gemäß den einleitenden Teilen der Ansprüche 1 und 10. Ein solches
System und Verfahren ist aus WO 97/35445 A bekannt.
Hintergrund der Erfindung
In einem Telekommunikationssystem kann ein Anruf einem oder mehreren
Filterungs- oder Freigabediensten unterzogen werden, bevor er zwischen einer Ursprungsseite
und einer Endstelle verbunden wird. Zum Beispiel muss gegebenenfalls, bevor ein
Anruf verbunden wird, ein Kontocode eingegeben und freigegeben werden. Ebenso muss
gegebenenfalls die Gebührenabrechnung auf eine bestimmte Kreditkarte, Telefonkarte
oder Telefonnummer identifiziert werden. Anrufe können auch gefiltert werden,
um festzustellen, ob ein einzelner Anruf zu einer bestimmten Tageszeit zulässig
ist. Anrufe können auch basierend auf der Nummer des Anrufers gefiltert und
abgewiesen werden. Zusätzlich kann eine Leitweglenkung basierend auf der angerufenen
Nummer oder anderen Faktoren erfolgen.
Um derartige Dienste ebenso wie weitere damit verbundene Dienste möglichst
effizient bereitzustellen, ist eine Übersetzungsvorrichtung erforderlich, die
in der Lage ist, eine gewählte Ziffer zu übersetzen und anschließend
die Dienste auszuführen.
Zusammenfassung der Erfindung
Gemäß der vorliegenden Erfindung werden ein System und ein
Verfahren nach den Ansprüchen 1 und 10 bereitgestellt, welche die benötigte
Funktionalität bereitstellen.
In einem Aspekt der vorliegenden Erfindung wird ein Telekommunikationssystem
zur Ausführung von Anrufverarbeitungsanfragen bereitgestellt. Das System umfasst
eine Ziffernerfassungsvorrichtung, die dazu geeignet ist, Eingabeziffern zu empfangen
und daraus eine Anrufverarbeitungsanfrage zu formulieren, sowie eine allgemeine
Übersetzungsvorrichtung, die dafür geeignet ist, die Anrufverarbeitungsanfrage
zu empfangen und zu verarbeiten. Die allgemeine Übersetzungsvorrichtung kann
ferner eine Gebührenabrechnungsfreigabeantwort als Antwort auf die Antwort
auf die Anrufverarbeitungsanfrage erzeugen, bei der es sich um eine Gebührenabrechnungsfreigabeanfrage
handelt, wobei die Gebührenabrechnungsfreigabeantwort an die Ziffernerfassungsvorrichtung
zurückgesendet wird. Die allgemeine Übersetzungsvorrichtung ist auch dazu
geeignet, eine Antwort mit übersetzten Ziffern als Antwort auf die Anrufverarbeitungsanfrage
zu erzeugen, bei der es sich um eine erfolgreich übersetzte Ziffernübersetzungsanfrage
handelt, wobei die Antwort der übersetzten Ziffern an eine Amtsleitungsauswahlvorrichtung
gesendet wird. Die allgemeine Übersetzungsvorrichtung kann auch eine Übersetzungsfehlschlag-Antwort
als Antwort auf die Anrufverarbeitungsanfrage erzeugen, bei der es sich um eine
nicht erfolgreich übersetzte Ziffernübersetzungsanfrage handelt, wobei
die Übersetzungsfehlschlag-Antwort an eine Anruffolgesteuervorrichtung gesendet
wird.
In einem anderen Aspekt wird ein Verfahren zur Übersetzung von
Anrufverarbeitungsanfragen dargestellt. Das Verfahren umfasst die Schritte des Empfangens
einer Anrufverarbeitungsanfrage von einem Ziffernerfassungs-Client, des Verarbeitens
der Anrufverarbeitungsanfrage in einer allgemeinen Übersetzungsvorrichtung
und des Sendens einer Ausgabenachricht an einen Prozess-Client.
Ein bedeutender technischer Vorteil der vorliegenden Erfindung umfasst
die Bereitstellung einer Möglichkeit zur Bereitstellung von Ziffernübersetzungsdiensten
in einer plattformunabhängigen Umgebung, die sowohl erweiterbar als auch flexibel
ist. Weitere technische Vorteile sind dem Fachmann ohne weiteres aus den nachfolgenden
FIGUREN, Beschreibungen und Ansprüchen ersichtlich.
Kurzbeschreibung der Zeichnungen
Für ein umfassenderes Verständnis der vorliegenden Erfindung
und für weitere Merkmale und Vorteile wird nun auf die nachfolgende Beschreibung
Bezug genommen, die in Verbindung mit den begleitenden Zeichnungen erfolgt, auf
denen:
1 ein vereinfachtes Blockdiagramm einer allgemeinen
Übersetzungsvorrichtung als Teil eines Client/Server-Prozesses gemäß
einer Ausführungsform der vorliegenden Erfindung ist;
2 ein Blockdiagramm einer allgemeinen Übersetzungsvorrichtung
ist, die gemäß einer Ausführungsform der vorliegenden Erfindung aufgebaut
ist;
3 ein Objektmodell für eine allgemeine Übersetzungsvorrichtung
ist, die gemäß einer Ausführungsform der vorliegenden Erfindung aufgebaut
ist;
4 ein Interaktionsdiagramm für einen beispielhaften
Gebührenabrechnungsfreigabedienst gemäß einer Ausführungsform
der vorliegenden Erfindung ist;
5 ein Interaktionsdiagramm für einen Telefonkarten-Übersetzungsprozess
gemäß einer Ausführungsform der vorliegenden Erfindung ist;
6 ein Interaktionsdiagramm für eine exemplarische
Berechtigungscodeübersetzung gemäß einer Ausführungsform der
vorliegenden Erfindung ist;
7 ein Flussdiagramm der allgemeinen Übersetzungsvorrichtung
ist;
8a und 8b Flussdiagramme
des Gebührenabrechnungsfreigabeprozesses gemäß einer Ausführungsform
der vorliegenden Erfindung sind;
9 ein Flussdiagramm des Kontocodefreigabeprozesses
gemäß einer Ausführungsform der vorliegenden Erfindung ist;
10 ein Flussdiagramm des Filterungsprozesses nach Tageszeit
gemäß einer Ausführungsform der vorliegenden Erfindung ist;
11 ein Flussdiagramm des Filterungsprozesses nach der
angerufenen Nummer gemäß einer Ausführungsform der vorliegenden Erfindung
ist;
12a und 12b Flussdiagramme
des Leitweglenkungsprozesses gemäß einer Ausführungsform der vorliegenden
Erfindung sind;
13 ein Diagramm der Klassen für den Dienstanfrageclusterprozess
gemäß einer Ausführungsform der vorliegenden Erfindung ist;
14 ein Diagramm der Klassen für den Anfrage-/Zeitsteuerungsverarbeitungsclusterprozess
gemäß einer Ausführungsform der vorliegenden Erfindung ist; und
15 ein Diagramm der Klassen für den Dienstverwaltungsclusterprozess
gemäß einer Ausführungsform der vorliegenden Erfindung ist.
Detaillierte Beschreibung der Erfindung
Die bevorzugte Ausführungsform der vorliegenden Erfindung und
ihre Vorteile werden am besten durch Bezugnahme auf die 1–15
der Zeichnungen verständlich, wobei gleiche Bezugsziffern für gleiche
und entsprechende Teile der verschiedenen Zeichnungen verwendet werden.
Die allgemeine Übersetzungsvorrichtung der vorliegenden Erfindung
ist so konzipiert, dass sie eine Grundstruktur bereitstellt, von welcher ausgehend
spezifische Kundenanwendungen entwickelt werden können. Zunächst werden
spezifische Nutzungsfälle erörtert, danach folgt eine Erörterung
der Grundstruktur der allgemeinen Übersetzungsvorrichtung.
1 ist ein vereinfachtes Blockdiagramm einer allgemeinen
Übersetzungsvorrichtung als Teil eines Client/Server-Prozesses. Ein Ziffernerfassungs-Client
16 formuliert und sendet eine Anfrage nach einer Gebührenabrechnungsfreigabe
11 oder einer Zifferübersetzung 13 an eine allgemeine Übersetzungsvorrichtung
10. Die Gebührenabrechnungsfreigabe 11 wird in der allgemeinen
Übersetzungsvorrichtung 10 mit Unterstützung von der Ziffernübersetzung
13 und optional einer externen Datenbank durchgeführt, die sich in
einem Dienststeuerungspunkt (SCP für „Service Control
Point") 18 befindet. Eine Antwort auf die Gebührenabrechnungsfreigabe
11 wird an den Ziffernerfassungs-Client 16 gesendet. Die Anfrage
nach der Ziffernübersetzung 13 kann Anfragen nach einer Kontocodefreigabe
15, einer Anruffilterung 17 oder einer Leitweglenkung
19 umfassen. Wenn eine Anfrage erfolgreich ist, wird eine Nachricht an
einen Amtsleitungsauswahlprozess 20 gesendet. Wenn eine Anfrage nicht erfolgreich
ist, wird eine Fehlschlagnachricht an eine Anruffolgesteuervorrichtung
22 gesendet.
2 ist ein Blockdiagramm der allgemeinen Übersetzungsvorrichtung
10 nach der Lehre der vorliegenden Erfindung. Die allgemeine Übersetzungsvorrichtung
10 besteht aus einer Grundstruktur 12 der allgemeinen Übersetzungsvorrichtung
und einer Anwendungskomponente 14 der allgemeinen Übersetzungsvorrichtung.
Der Ziffernerfassungs-Client 16 sendet an die allgemeine Übersetzungsvorrichtung
10 eine Anfrage nach Gebührenabrechnungsfreigabe 11, Leitweglenkung
19, Anruffilterung 17, Kontocodefreigabe 15 oder eine
andere Ziffernübersetzungsanfrage. Der Ziffernerfassungs-Client 16
kann in Form des Inband-, SS7-, ISDN- oder eines anderen Kommunikationsprotokolls
vorliegen. Wenn es sich um eine Anfrage nach Gebührenabrechnungsfreigabe handelt,
führt die allgemeine Übersetzungsvorrichtung 10 die Übersetzung
und Freigabe durch und sendet die Ergebnisse an den Ziffernerfassungs-Client
16 zurück.
Wenn es sich um eine Anfrage nach Ziffernübersetzung
13 handelt, führt die allgemeine Übersetzungsvorrichtung
10 die Übersetzung durch und sendet eine Nachricht, die die erfolgreich
übersetzten Ziffern enthält, an den Amtsleitungsauswahlprozess
20, um den Anruf auszuführen. Nicht erfolgreiche Anfragen führen
dazu, dass eine Fehlschlagnachricht an die Anruffolgesteuervorrichtung
22 gesendet wird. Sofern erforderlich, kann der Dienststeuerungspunkt
18 aufgefordert werden, bei den Freigabe- oder Übersetzungsanfragen
Unterstützung zu leisten.
3 ist ein beispielhaftes Objektmodell für die
allgemeine Übersetzungsvorrichtung 10 nach der Lehre der vorliegenden
Erfindung. Eine unverarbeitete Eingabenachricht 30 wird von einer Anfrageerstellungsvorrichtung
32 von der Ziffernerfassung 16 erhalten. Die Anfrageerstellungsvorrichtung
32 empfängt die unverarbeitete Eingabenachricht 30 und erstellt
ein Dienstanfrageobjekt 34. Das Dienstanfrageobjekt 34 enthält
die Client-Anfrageinformation in einer allgemeinen Form. Eine Gebührenabrechnungsanfrage
36, die Gebührenabrechnungsdaten, den abgerechneten Gebührentyp,
die Nummer, für die abgerechnet wird, sekundäre Gebührenabrechnungsinformationen
und zuvor freigegebene Gebührenabrechnungsinformationen enthält, kann
für der Dienstanfrage 34 bereitgestellt werden. Eine Übersetzungsanfrage
38, die die Daten bezüglich der zu übersetzenden Ziffern, die
gewählte Nummer, den Anruftyp und die übersetzte Nummer enthält,
kann für die Dienstanfrage 34 bereitgestellt werden. Eine Dienstkonfiguration
40 enthält die Informationen zu dem konfigurierten Dienst. Basierend
auf dem Typ der Dienstanfrage wird die geeignete Dienstkonfiguration ausgewählt.
Eine Gebührenabrechnungsfreigabe-Dienstkonfiguration 42 ist die Gebührenabrechnungsfreigabekomponente
der Dienstkonfiguration 40. Eine Übersetzungs-Dienstkonfiguration
44 ist die Ziffernübersetzungs-Konfigurationskomponente der Dienstkonfiguration
40. Eine Übersetzungsvorrichtungs-Engine 46 empfängt
die Dienstanfrage 34 und die Dienstkonfiguration 40 und führt
die ausgewählten Dienstfunktionen aus. Basierend auf der Dienstanfrage
34 und der Dienstkonfiguration 40 können eine Reihe von Funktionen
aufgerufen werden: eine Freigabefunktion 48, eine Filterungsfunktion
50 und eine Leitweglenkungsfunktion 52.
Die Freigabefunktionen 48 umfassen die Freigabe von Kontocodes
und Gebührenabrechnung. Kontocodes sind auf der Basis von ANI/CLI (automatische
Nummernerkennung/Kennung des anrufenden Teilnehmeranschlusses) oder von Berechtigungscodes
spezifiziert. Die Freigabefunktion 48 empfängt die erfassten Ziffern
und vergleicht sie mit einer Kontocodetabelle, die lokal oder extern an einem Dienststeuerungspunkt
18 gespeichert ist. Wenn eine Übereinstimmung gefunden wird, dann
ist der Kontocode gültig. Die Gebührenabrechnungsfreigabe ist die Freigabe
der Gebührenabrechnungsinstanz, die ANI/CLI, ein Berechtigungscode, eine Telefonkartennummer
oder eine Kreditkartennummer sein kann. Die erfassten Ziffern werden mit den Nummern
in einer lokalen Tabelle oder Datenbank oder im Dienststeuerungspunkt
18 vergleichen.
Die Anruffilterungsfunktion 50 umfasst die Filterung nach
Tageszeit (TOD für „Time of Day") und die Filterung nach angerufener
Nummer (CLD für „Called Number") Die Filterung nach Tageszeit stellt
fest, ob der Anruf basierend auf der mit dem Anruf verbundenen ANI/CLI oder dem
Berechtigungscode und der Tageszeit, zu der der Anruf ausgelöst wird, zulässig
ist. Die Feststellung kann durch Zugriff auf eine Tageszeitfilterungstabelle erfolgen,
auf die durch den entsprechenden Eintrag in der ANI/CLI- oder Berechtigungscodetabelle
verwiesen wird und über die der aktuelle Wochentag oder ein besonderer Tag
und die Uhrzeit an der Ursprungsvermittlungsstelle ermittelt werden. Die Filterung
nach angerufener Nummer bestimmt, ob der Anruf basierend auf der mit dem Anruf verbundenen
ANI/CLI oder dem Berechtigungscode zulässig ist. Dies erfolgt durch Zugriff
einer Inlands- oder internen Filterungstabelle für angerufene Nummern, auf
die durch den entsprechenden Eintrag in der ANI/CLI- oder Berechtigungscodetabelle
verwiesen wird. Wenn eine Filterungstabelle für angerufene Nummern nicht auf
der Ebene von ANI/CLI oder Berechtigungscodes spezifiziert ist, kann auf der Ebene
des Amtsbündels ein Standardindex für angerufene Nummern spezifiziert
werden. Für Inlandsgespräche kann die Filterung auf der NPA-(„Numbering
Plan Area"; Rufnummernplan für den Bereich) oder NPA-NXXX-Ebene erfolgen. Für
Auslandsgespräche kann die Filterung auf der Ebene der Ländervorwahl bzw.
der Stadtvorwahl erfolgen.
Die Leitweglenkungsfunktionen 52 stellen eine Leitwegliste
mit einer zuvor festgelegten Anzahl von Leitwegen basierend auf dem Bereich des
Anrufers, der Leitwegaufteilung und dem Index für die Leitweglenkung nach Tageszeit
bereit. Der Bereich des Anrufers wird durch den NPA oder die Länder bzw. -Stadtvorwahl
bestimmt. Leitwegaufteilungen werden nach ANI/CLI, Berechtigungscode oder dem Ursprungsamtsbündel
zugewiesen. Der Index für die Leitweglenkung nach Tageszeit wird entsprechend
der Leitwegaufteilung zugewiesen. Jeder Leitweg in der Leitwegliste umfasst einen
Leitwegtyp, den Leitweg (Amtsbündelnummer) und die Anzahl der Ziffern, für
die Impulse auf der Amtsleitung zu geben sind.
Auf eine Übersetzungsvorrichtungsdatenbank 54 kann durch
Freigabe-, Filterungs- und Leitweglenkungsfunktionen 48–52
zugegriffen werden. Eine Antwortnachrichtfunktion 56 umfasst die Antwortnachrichtdienste,
die dazu dienen, eine unverarbeitete Ausgabenachricht 58 zu erzeugen. Die
unverarbeitete Ausgabenachricht 58 kann an den Ziffernerfassungs-Client
16, den Amtsleitungsauswahlprozess 20 oder an die Anruffolgesteuervorrichtung
22 gesendet werden.
4 ist ein Interaktionsdiagramm für einen beispielhaften
Gebührenabrechnungsfreigabedienst 11 nach der Lehre der vorliegenden
Erfindung. Die unverarbeitete Eingabenachricht 30 vom Ziffernerfassungs-Client
16 wird von der Anfrageerstellungsvorrichtung 32 empfangen, die
ein Dienstanfrageobjekt 34 erstellt, das in diesem Fall eine Gebührenabrechnungsanfrage
für eine ANI-(automatische Rufnummernerkennung) Freigabe enthält. Das
Dienstanfrageobjekt 34 erstellt die Dienstkonfiguration 40, die
die Gebührenabrechnungsfreigabe-Dienstkonfiguration für die Freigabe der
ANI-Gebührenabrechnung enthält. Die Übersetzungsvorrichtungs-Engine
46 verarbeitet die Anfrage und die Konfiguration. Die Dienstkonfiguration
40 gibt an, dass die ANI-Gebührenabrechnungsfreigabefunktion
48 ausgeführt werden sollte. Schließlich erstellt die Antwortnachrichtfunktion
56 eine unverarbeitete Gebührenabrechnungsfreigabe-Ausgabenachricht
58, die an den Ziffernerfassungs-Client 16 zurückgesendet
wird.
5 ist ein Interaktionsdiagramm für einen beispielhaften
Telefonkarten-Übersetzungsprozess nach der Lehre der vorliegenden Erfindung.
Die unverarbeitete Eingabenachricht 30 vom Ziffernerfassungs-Client
16 wird von der Anfrageerstellungsvorrichtung 32 empfangen, die
ein Dienstanfrageobjekt 34 aufbaut, das die Gebührenabrechnungsanfrage
36 für die Telefonkartenfreigabe und die Übersetzungsanfrage
38 für die Übersetzung des Selbstwählferndienstes (DDD für
„Direct Distance Dialing") umfasst. Das Dienstanfrageobjekt 34 erstellt
die Dienstkonfiguration 40, die die Übersetzungsdienstkonfiguration
44 für die Kreditkarten-Gebührenabrechnung und die DDD-Übersetzung
enthält. Die Übersetzungsvorrichtungs-Engine 46 verarbeitet dann
die Anfragen und die Konfiguration. Die Übersetzungsdienstkonfiguration
44 umfasst eine Angabe, dass eine Gebührenabrechnungsfreigabefunktion
48 über eine Kreditkarte ausgeführt werden sollte. Die Freigabefunktion
48 wird ausgeführt, wobei die Telefonkartenüberprüfung ausgeführt
wird. Die Übersetzungsdienstkonfiguration 44 gibt auch an, dass die
Filterungsfunktion 50 in ankommender Richtung ausgeführt werden sollte.
Die Filterungsfunktion 50 führt eine Ausschlussfilterung basierend
auf den von der Freigabeinformation empfangenen Daten durch. Unter der Annahme,
dass die Filterung erfolgreich durchlaufen wurde, gibt die Übersetzungsdienstkonfiguration
44 an, dass die Leitweglenkungsfunktion 52 ausgeführt werden
muss. In diesem Fall handelt es sich um eine DDD-Leitweglenkung. Die Leitweglenkungsfunktion
52 erzeugt eine Gruppe von Leitwegen. Die Übersetzungsdienstkonfiguration
44 gibt nun an, dass die Antwortnachrichtfunktion 56 für
die erfolgreiche Ziffernübersetzung ausgeführt werden sollte. Die Antwortnachrichtfunktion
56 erstellt daraufhin eine unverarbeitete Ausgabenachricht 58
über die erfolgreiche Ziffernübersetzung von den Leitweglenkungsdaten
und sendet die Informationen an den Amtsleitungsauswahlprozess 20.
6 ist ein Interaktionsdiagramm für eine beispielhafte
Berechtigungscodeübersetzung nach der Lehre der vorliegenden Erfindung. Die
unverarbeitete Eingabenachricht 30 wird von der Anfrageerstellungsvorrichtung
32 empfangen, die ein Dienstanfrageobjekt 34 aufbaut, das eine
Gebührenabrechnungsanfrage 36 für die Freigabe von zuvor freigegebenen
Berechtigungscodes und eine Übersetzungsanfrage 38 umfasst (die Übersetzungsanfrage
ist in 6 nicht dargestellt). Das Dienstanfrageobjekt
34 erstellt die Dienstkonfiguration 40, die die Übersetzungsdienstkonfiguration
44 für einen Anruf mit zuvor freigegebenem Berechtigungscode und die
DDD-Übersetzung enthält. Die Übersetzungsvorrichtungs-Engine
46 für die DDD-Übersetzung verarbeitet die Anfragen und Konfigurationen.
Die Übersetzungsdienstkonfiguration 44 gibt an, dass die Freigabefunktion
48 für die Kontocodefreigabe ausgeführt werden sollte. Die Freigabefunktion
48 überprüft den Kontocode anhand der Übersetzungsvorrichtungsdatenbank
54. Als nächstes gibt die Übersetzungsdienstkonfiguration
44 an, dass die Ursprungsfilterungsfunktion 50 nach Tageszeit
ausgeführt werden sollte. Die Filterungsfunktion 50 wird ausgeführt
und ist in diesem Beispiel erfolgreich. Die Übersetzungsdienstkonfiguration
40 gibt danach an, dass die Ausschlussfilterungsfunktionen 50
in ankommender Richtung ausgeführt werden sollten. Die Filterungsfunktion
50 führt die Ausschlussfilterung basierend auf den von der externen
Freigabe empfangenen Daten durch. Die Übersetzungsdienstkonfiguration
44 gibt danach an, dass die DDD-Leitweglenkungsfunktion 52 ausgeführt
werden sollte. Die DDD-Leitweglenkungsfunktion 52 wird ausgeführt,
und eine Liste verfügbarer Leitwege wird erstellt. Die Übersetzungsdienstkonfiguration
44 gibt an, dass die Antwortnachrichtfunktion 56 für erfolgreiche
Ziffernübersetzung ausgeführt werden sollte. Die Antwortnachrichtfunktion
56 erstellt eine unverarbeitete Nachrichtenausgabe 58 über
die erfolgreiche Ziffernübersetzung aus den Leitweglenkungsdaten und sendet
die Antwort an den Amtsleitungsauswahlprozess 20.
7 ist ein Flussdiagramm der allgemeinen Übersetzung
10. In Schritt 60 wird eine Anfrage nach der Ziffernübersetzung
13 vom Ziffernerfassungs-Client 16 aus durchgeführt. Eine
unverarbeitete Eingabenachricht 30, die den Nachrichtentyp, den Gebührenabrechnungsparametertyp,
die Ursprungskennung, die Folgenummer, die gewählten Ziffern, die übersetzten
Ziffern, den Kontocode, die Gebührenabrechnungsdaten und die Länge der
Gebührenabrechnungsdaten umfasst, wird in Schritt 62 formuliert. In
Schritt 64 bestimmt die allgemeine Übersetzungsvorrichtung
10, ob die Gebührenabrechnungsfreigabe 11 erforderlich ist.
Die Gebührenabrechnungsfreigabe 11 findet in Schritt 66 statt,
wie in den weiter unten beschriebenen 8a und
8b dargestellt. Wenn die Gebührenabrechnungsübersetzung
nicht erforderlich ist, bestimmt Schritt 70, ob die Kontocodefreigabe
15 erforderlich ist. Schritt 70 wird auch bei erfolgreicher Gebührenabrechnungsfreigabe
11 in Schritt 66 erreicht. Ein Fehlschlag bei der Gebührenabrechnungsfreigabe
11 würde dazu führen, dass eine Ausgabenachricht in Schritt
88 formuliert wird und eine Fehlermeldung in Schritt 90 gesendet
wird. Auf Schritt 70 zurückkommend, wird die Kontocodefreigabe
15 in 9 dargestellt und weiter unten beschrieben.
Wenn die Kontocodefreigabe 15 erfolgreich durchgeführt wird oder wenn
keine Kontocodefreigabe 15 erforderlich ist, geht der Prozess zur Filterung
nach Tageszeit in Schritt 74 über. Ein Fehlschlag bei der Kontocodefreigabe
15 führt ebenfalls dazu, dass in den Schritten 88 und
90 eine unverarbeitete Ausgabenachricht 58 formuliert und eine
Fehlernachricht gesendet wird. Die Filterung nach Tageszeit wird in 10
erörtert. Wenn die Filterung nach Tageszeit erfolgreich durchgeführt wird
oder nicht benötigt wird, geht der Prozess zu Schritt 78 weiter, wo
die Filterung nach angerufener Nummer stattfindet. Wenn die Filterung nach Tageszeit
fehlschlägt, werden die Schritte 88 und 90 ausgeführt,
um eine Fehlernachricht zu senden. Die Filterung nach angerufener Nummer wird in
11 analysiert. Wenn die Filterung nach angerufener
Nummer erfolgreich ist oder nicht benötigt wird, findet in Schritt
80 die Leitweglenkung 19 statt, wenn nicht, werden die Schritte
88 und 90 aufgerufen, um eine Fehlernachricht zu senden. Die Leitweglenkung
19 wird in den 12a und 12b
analysiert. Wenn ein Leitweg gefunden wird, wird in Schritt 84 eine unverarbeitete
Ausgabenachricht 58 formuliert, und eine Erfolgsnachricht wird in Schritt
86 gesendet. Wenn die Leitweglenkung nicht erfolgreich ist, werden die
Schritte 88 und 90 aufgerufen, um eine Fehlernachricht zu senden.
Die 8a und 8b
sind Flussdiagramme, die die Gebührenabrechnungsfreigabe 11 veranschaulichen.
In Schritt 60 wird eine Anfrage von einer Ziffernerfassungsvorrichtung
16 empfangen. Da dies eine Gebührenabrechnungsanfrage 36
ist, wird in Schritt 100 eine Gebührenabrechnungsnachricht formuliert.
Sie umfasst den Nachrichtentyp, den Gebührenabrechnungsparametertyp, die Ursprungskennung
der Gebührenabrechnungsparameter und die Folgenummer. In Schritt
102 wird bestimmt, ob alle Parameter für die Gebührenabrechnungsfreigabe
11 vorhanden sind. Wenn nicht, wird in Schritt 104 ein Rückmeldeergebnis
über fehlende Parameter formuliert, was in 8b
(Schritt 110) analysiert wird. Wenn alle Parameter vorhanden sind, bestimmt
Schritt 108, ob alle Parameter gültig sind. Wenn nicht, wird in Schritt
118 eine Ungültigkeitsnachricht formuliert, und die Analyse geht zu
8b über. Wenn die Parameter gültig sind,
bestimmt Schritt 114, ob eine lokale Freigabe erforderlich ist. Wenn dem
so ist, beginnt die lokale Freigabe in Schritt 112 von 8b.
Wenn nicht, kann in Schritt 116 die externe Freigabe spezifiziert werden,
und die Analyse wird in 8b fortgesetzt.
In Schritt 110 von 8b werden
die Rückmeldeergebnisse aus Schritt 106 (ungültige Parameter)
oder 104 (fehlende Parameter) von 8a dazu
verwendet, in Schritt 134 eine Ausgabenachricht 20 zu formulieren,
die in Schritt 136 als Antwort über eine nicht erfolgreiche Freigabe
gesendet wird. Wenn in Schritt 112 die lokale Freigabe erforderlich ist,
wird der Gebührenabrechnungstyp in Schritt 120 bestimmt, und Datensätze
werden gesucht. Der Gebührenabrechnungscode kann ein ANI/CLI-Code oder ein
AUTH-Code sein. Wenn die Datensätze in Schritt 122 gefunden werden,
dann wird in Schritt 124 bestimmt, ob die Gebührenabrechnung gültig
ist. Wenn die Datensätze in Schritt 122 nicht gefunden werden, wird
in Schritt 142 das Rückmeldeergebnis über nicht gefundene Datensätze
formuliert. Schritt 144 bestimmt, ob eine externe Gebührenabrechnungsfreigabe
erforderlich ist. Wenn sie es nicht ist, wird in den Schritten 134 und
136 eine Ausgabenachricht, die das Nichtfinden von Datensätzen
widerspiegelt, formuliert und gesendet. Wenn die externe Freigabe erforderlich ist,
wird in Schritt 128 eine externe Datenbank abgefragt. Zurückkommend
auf Schritt 124 wird, wenn die Gebührenabrechnung gültig ist
und ein Eintrag für die Gebührenabrechnungsparameter gefunden wird, in
Schritt 138 die Gebührenabrechnung als gültig festgestellt. In
Schritt 140 wird ein Rückmeldeergebnis über die gültige
Gebührenabrechnung formuliert und in den Schritten 134 und
136 gesendet. Wenn ein Datensatz gefunden wird, dieser aber nicht ordnungsgemäß
freigegeben ist, wird die Gebührenabrechnung in Schritt 126 ausgesetzt.
Wenn dies zutrifft, wird in Schritt 128 eine externe Datenbankabfrage durchgeführt.
Schritt 128 führt auch eine externe Datenbankabfrage durch, wenn in
Schritt 112 kein Datensatz gefunden wurde. Wenn die externe Freigabe erfolgreich
ist, ist die Gebührenabrechnung gültig, und die Schritte 140,
134 und 136 senden eine den Erfolg angebende Ergebnisnachricht
zurück. Wenn nicht, sendet Schritt 132 ein Rückmeldeergebnis
über die fehlgeschlagene Gebührenabrechnungsfreigabe, und in den Schritten
134 und 136 wird eine Ausgabenachricht gesendet. Schließlich
bestimmt, wenn die externe Freigabe in 8a ausgesetzt
wurde, die allgemeine Übersetzungsvorrichtung 10 in Schritt
146, ob eine externe Freigabe erforderlich ist. Wenn nicht, wird in Schritt
148 ein Rückmeldeergebnis über die nicht erforderliche Freigabe
formuliert, und eine Ausgabenachricht wird in den Schritten 134 und
136 gesendet. Wenn in Schritt 146 die externe Freigabe erforderlich
ist, findet in Schritt 128 eine externe Datenbankabfrage statt. Eine erfolgreiche
Abfrage folgt den weiter oben erörterten Schritten 130,
140, 134 und 136. Eine fehlgeschlagene Abfrage folgt
den weiter oben erörterten Schritten 130, 132,
134 und 136.
9 ist ein Flussdiagramm, das eine beispielhafte Kontocodefreigabe
15 veranschaulicht. Ob die Kontocodefreigabe 15 erforderlich ist,
wird in Schritt 150 bestimmt. Wenn die Freigabe nicht erforderlich ist,
wird in Schritt 162 die Filterung nach Tageszeit eingeleitet. Die Details
der Filterung nach Tageszeit sind in 10 dargestellt
und werden weiter unten beschrieben. Wenn die Kontocodefreigabe 15 erforderlich
ist, wird in Schritt 152 die Kontocodetabelle gelesen, wobei der Kontocode
als Schlüssel verwendet wird. In Schritt 154 wird die Gültigkeit
des Kontocodes festgestellt. Wenn der Kontocode gültig ist, beginnt in Schritt
162 die Filterung nach Tageszeit. Wenn der Kontocode ungültig ist,
wird in Schritt 156 ein Rückmeldeergebnis über den ungültigen
Kontocode formuliert, in Schritt 158 wird eine Ausgabenachricht formuliert,
und in Schritt 160 wird eine Fehlernachricht gesendet.
10 ist ein Flussdiagramm, das eine beispielhafte Filterung
nach Tageszeit veranschaulicht. In Schritt 170 wird bestimmt, ob die lokale
Filterung nach Tageszeit erforderlich ist. Wenn die lokale Filterung nicht erforderlich
ist, wird in Schritt 172 bestimmt, ob eine externe Filterung nach Tageszeit
erforderlich ist. Wenn die lokale Filterung nach Tageszeit erforderlich ist, wird
ihr Erfolg in Schritt 188 überprüft. Wenn erfolgreiche lokale
Filterung nach Tageszeit abgeschlossen ist, leitet Schritt 186 die Filterung
nach angerufener Nummer ein, die in 11 erörtert
wird. Wenn in Schritt 188 die lokale Filterung nach Tageszeit fehlschlägt,
wird in Schritt 190 bestimmt, ob eine externe Filterung nach Tageszeit
erforderlich ist. Wenn die externe Filterung nach Tageszeit entweder in Schritt
172 oder 190 erforderlich ist, findet in Schritt 174
bzw. 192 eine externe Datenbankabfrage statt. Wenn die externe Datenbankabfrage
in Schritt 174 oder 192 erfolgreich ist, wird in Schritt
186 die Filterung nach angerufener Nummer eingeleitet. Wenn in Schritt
190 die externe Filterung nach Tageszeit nicht erforderlich ist oder wenn
in Schritt 174 oder 192 die externe Filterung nach Tageszeit fehlschlägt,
wird in Schritt 178 ein Rückmeldeergebnis über die fehlgeschlagene
Filterung nach Tageszeit erzeugt, in Schritt 180 wird eine Ausgabe formuliert,
und in Schritt 182 wird eine Fehlernachricht erzeugt. Wenn in Schritt
172 die externe Filterung nach Tageszeit nicht erforderlich war, würde
in Schritt 186 die Filterung nach angerufener Nummer beginnen.
11 ist ein Flussdiagramm, das eine beispielhafte Filterung
nach angerufener Nummer veranschaulicht. Zu Anfang wird in Schritt 200
festgestellt, ob eine lokale Filterung nach angerufener Nummer erforderlich ist.
Wenn die lokale Filterung nach angerufener Nummer nicht spezifiziert ist, wird in
Schritt 202 festgestellt, ob eine externe Filterung nach angerufener Nummer
erforderlich ist. Wenn die externe Filterung nach angerufener Nummer nicht erforderlich
ist, dann wird in Schritt 220 die Leitwegleitung so eingeleitet, wie in
den 12a und 12b erörtert.
Wenn in Schritt 202 die externe Filterung nach angerufener Nummer erforderlich
ist, findet in Schritt 204 eine externe Datenbankabfrage statt. Eine erfolgreiche
Filterung führt zur Einleitung der Leitweglenkung in Schritt 220.
Eine nicht erfolgreiche Filterung führt in Schritt 208 zu einem Rückmeldeergebnis
über den Fehlschlag aufgrund der Filterung nach angerufener Nummer, in Schritt
210 wird eine Ausgabenachricht formuliert, und in Schritt 222
wird eine Fehlernachricht gesendet. Bei Betrachtung von Schritt 212 wird,
wenn die lokale Filterung nach angerufener Nummer erfolgreich durchgeführt
wurde, in Schritt 220 die Leitweglenkung eingeleitet. Wenn die lokale Filterung
nach angerufener Nummer fehlschlägt, wird in Schritt 214 bestimmt,
ob eine externe Filterung nach angerufener Nummer erforderlich ist. Wenn die externe
Filterung nach angerufener Nummer nicht erforderlich ist, dann wird in Schritt
222 eine Fehlernachricht gesendet. Wenn die externe Filterung nach angerufener
Nummer erforderlich ist, findet in Schritt 216 eine externe Datenbankabfrage
statt. Eine erfolgreiche Abfrage führt zur Einleitung der Leitweglenkung in
Schritt 220. Eine fehlgeschlagene Abfrage führt zu einer Fehlernachricht
in Schritt 222.
Die 12a und 12b
sind Flussdiagramme, die eine beispielhafte Leitweglenkung 19 veranschaulichen.
In Schritt 223 wird eine Eingabe zusammengestellt, die den Anruftyp, die
übersetzen Ziffern, den Leitweglenkungsindex nach Tageszeit und die Leitwegaufteilung
enthält. In Schritt 224 wird festgestellt, ob die Leitwegaufteilung
für die Gebührenabrechnungsparameter spezifiziert ist. Wenn dies so ist,
bestimmen in Schritt 225 die Gebührenabrechnungsparameter die Leitwegaufteilung.
Wenn nicht, wird in Schritt 234 die Leitwegaufteilung vom Amtsbündel
verwendet. In Schritt 226 wird der Index für die Leitweglenkung nach
Tageszeit (TOD) verwendet. Schritt 228 bestimmt, ob eine lokale Filterung
erforderlich ist. Wenn sie es ist, leitet Schritt 230 die lokale Leitweglenkung
in 12b ein. Wenn nicht, wird in Schritt 232
und 12b die externe Leitweglenkung analysiert.
Bezugnehmend auf 12b wird in Schritt
230 die lokale Leitweglenkung eingeleitet. Wenn der Anruf ein Inlandsgespräch
ist, wird in Schritt 236 der anrufende Bereich aus einer Tabelle des Rufnummernplanbereichs
und des Endamtcodes ermittelt. Wenn in Schritt 238 eine Leitwegliste spezifiziert
ist, bestimmt Schritt 240, ob ein Satellitenindikator für die Ursprungs-
und Endamtsbündel gesetzt ist. Wenn nicht, wird in Schritt 246 eine
Leitwegliste gesendet. Wenn ein Satellitenindikator für die Ursprungs- und
Endamtsbündel gesetzt ist, wird in Schritt 242 ein Leitweg aus der
Liste entfernt. Wenn mindestens ein Leitweg verbleibt, wird er in Schritt
244 bis Schritt 246 gesendet. Wenn nicht, wird in Schritt
252 die externe Leitweglenkung analysiert. Schritt 252 wird auch
erreicht, wenn in Schritt 232 von 11a die
externe Leitweglenkung erforderlich war. Wenn die externe Leitweglenkung spezifiziert
ist, wird in Schritt 254 eine externe Datenbankabfrage durchgeführt.
Wenn dadurch in Schritt 256 eine Leitwegliste erzeugt wird, wird in Schritt
246 eine Erfolgsnachricht gesendet. Wenn kein Leitweg angegeben wird, wird
in Schritt 258 eine Fehlernachricht gesendet. Schritt 258 wird
auch erreicht, wenn die externe Leitweglenkung in Schritt 252 nicht spezifiziert
ist. Wenn in Schritt 234 festgestellt wird, dass es sich um ein Auslandsgespräch
handelt, wird der anrufende Bereich aus der Ländervorwahl und der Stadtvorwahl
bestimmt. Der übrige Prozess ist derselbe wie bei Inlandsgesprächen.
Wenn man sich von den Fällen einer spezifischen Nutzung abwendet,
stellt die Grundstruktur 12 der allgemeinen Übersetzungsvorrichtung
die grundlegende Infrastruktur oder die Bausteine bereit, aus denen kundenspezifische
Übersetzungsanwendungen aufgebaut werden können. Die Anwendungskomponenten
14 der allgemeinen Übersetzungsvorrichtung sind Komponenten, die die
grundlegende Funktionalität wie Anruffilterung, Freigabe und Leitweglenkung
bereitstellen. Ein Schwerpunkt in der Konzeption der allgemeinen Übersetzungsvorrichtung
10 ist die Erweiterbarkeit, d.h., die Bereitstellung einer Grundstruktur,
die ohne Änderung der Grundstruktur erweitert werden kann. Während bestimmte
allgemeine Übersetzungsfunktionen bereitgestellt werden, ermöglicht die
Grundstruktur daher die schnelle und einfache Entwicklung spezifischer Anwendungen.
In einer Ausführungsform wird die allgemeine Übersetzungsvorrichtung
10 unter Verwendung einer objektorientierten Programmiersprache wie C++
entwickelt. Die Grundstruktur 14 der allgemeinen Übersetzungsvorrichtung
umfasst eine Vielzahl von Klassengruppierungen oder Klassenclustern. Klassen sind
Gruppierungen von Variablen, Arrays, Zeichenfolgen und Funktionen in einer objektorientierten
Programmiersprache wie C++, die zur Modellierung von Objekten verwendet werden.
Das Folgende sind Beispiele von Klassenclustern in der Grundstruktur
der allgemeinen Übersetzungsvorrichtung:
• Initialisierung
• Dienstanfrage
• Anfrage/Zeitsteuerungsverarbeitung
• Dienstverwaltung
• Anrufblock
• Dienstfunktionen
• Datenbank
Der Initialisierungscluster ist für die Initialisierung der allgemeinen
Übersetzungsvorrichtung 10 verantwortlich. Der Dienstanfragecluster
ermöglicht einer Anwendung, eine Dienstanfrage zu erstellen, die Anfrage freizugeben,
eine Antwort auf eine Anfrage zu erstellen oder zu formulieren, eine Antwort auf
eine Anfrage zu senden und einen anfänglichen Dienst zu bestimmen. Der Anfrage-Zeitsteuerungsverarbeitungscluster
dient der Bestimmung, wann ein Dienst ausgeführt werden soll. Der Dienstverwaltungscluster
verwaltet die Dienste und führt diejenigen aus, die verfügbar sind. Der
Anrufblockcluster dient der Speicherung vorübergehender Daten, die später
von anderen Clustern verwendet werden. Die Dienstfunktionencluster der Übersetzungsvorrichtung
stellen die Dienstfunktion für die Arbeitsabläufe der Übersetzungsvorrichtung
bereit. Schließlich stellt der Datenbankcluster der allgemeinen
Übersetzungsvorrichtung die Fähigkeit bereit, auf externe Datenbanksätze
zuzugreifen.
Das Folgende ist eine Liste der Klassen aus der obigen Liste der Clusterklassen
und umfasst auch die Funktion der jeweiligen Klasse. Klassen, die mit "TRGen" beginnen,
gehören zu den Klassen der allgemeinen Grundstruktur 12, die mit "TrApp"
bezeichneten Klassen sind Klassen, die zur Anwendungskomponente 14 der
allgemeinen Übersetzungsvorrichtung gehören, und diejenigen, die mit „SM"
beginnen, gehören zu den Objektgruppierungen der allgemeinen Ablaufsteuereinheit.
Die allgemeine Ablaufsteuereinheit wird in US 6.138.171
erörtert.
13 veranschaulicht die Klassen für den Dienstanfragecluster.
Einige der wichtigeren Klassen umfassen:
ClassName: TrGenMainThread 300
Zweck: TrGenMainThread 300 ist die Hauptthreadklasse der allgemeinen Übersetzungsvorrichtung.
Sie wird aus der Threadklasse der Ablaufsteuereinheit, SMMainThread, abgeleitet.
Sie ist für das Lesen der Anfrage aus dem Warteschlangenmanager (TrGenQueueManager),
für das Erstellen des Anfrageobjekts und für die Weiterleitung des Anfrageobjekts
an den TrGenCallBlockArray der Übersetzungsvorrichtung verantwortlich.
ClassName: TrGenQueueManager 302
Zweck: Die Klasse TrGenQueueManager 302 empfängt und sendet OsMessages
an und von der Anwendung der Übersetzungsvorrichtung.
ClassName: TrGenMessageBuilder 304
Zweck: TrGenMessageBuilder 304 ist eine abstrakte Klasse, die die unverarbeiteten
Eingabedaten annimmt und ein Verfahren in der Basisklasse aufruft, um das Nachrichtenobjekt
für die Eingabeanfrage zu erstellen. TrGenMessageBulder startet auch den Freigabeprozess
des Nachrichtenobjekts der Eingabeanfrage.
ClassName: TrGenResponse 306
Zweck: TrGenResponse ist eine abstrakte Klasse, die die Basisklasse verbirgt. Sie
enthält die Verfahren für den Zugriff auf die Leitungsnummer, die Folgenummer,
den selektiven Empfangscode und alle sonstigen innerhalb der Klasse CpMessage enthaltenen
Informationen.
ClassName: TrAppMessageBuilder 308
Zweck: TrAppMessageBuilder erstellt das Nachrichtenobjekt der Eingabeanfrage. TrAppMessageBuilder
wickelt die grundlegenden Prüfungen ab, ob die Nachricht in Ordnung ist (Freigabe),
beispielsweise Nachrichtentyp unbekannt, angeforderte Felder fehlen oder ungültig
usw.
ClassName: TrAppResponse 310
Zweck: TrAppResponse kapselt die Antwortnachricht. Diese Klasse enthält die
Antwortelemente in einem allgemeinen Format.
14 veranschaulicht die Klassen für den Anfrage-/Zeitsteuerungsverarbeitungscluster.
Einige der wichtigeren Klassen umfassen:
ClassName: TrGenNonTimedState 400
Zweck: TrGenNonTimedState ist die Anfangsstatusklasse für die allgemeine Übersetzungsvorrichtung.
Sie empfängt das Ereignis der Prozesseingabenachricht vom FSM (Anrufblock).
Mit dem Eintritt in diesen Status wird der Anrufblock in Vorbereitung eines Anfrageereignisses
initialisiert. Beim Empfang eines Anfrageereignisses wird TrGenRequestEventHandler
aufgerufen.
ClassName: TrGenTimedState 402
Zweck: TrGenTimedState ist die Statusklasse in der allgemeinen Übersetzungsvorrichtung,
die zum Warten auf Fernabfrageantworten verwendet wird. Bei Empfang einer Antwortnachricht
oder bei einem Zeitablaufereignis wird TrGenRequestEventHandler aufgerufen.
ClassName: TrGenRequestEventHandler 404
Zweck: TrGenRequestEventHandler verarbeitet die Anfragenachricht. Bei einem Anfrageereignis
verwendet diese Klasse die Klasse TrGenServiceKey für die Bestimmung des Dienstes.
Sobald ein Dienst bestimmt ist, verwendet sie den Dienstmanager, um die Dienstzuordnungsübersicht
für die Anfrage zu erhalten. Bei einem Zeitablaufereignis/Antwortereignis setzt
sie entweder die Dienstverarbeitung fort oder bestimmt einen neuen zu verarbeitenden
Dienst. Die Dienst-Engine wird anschließend aufgerufen, um die Verarbeitung
des bestehenden Dienstes fortzusetzen.
ClassName: TrAppRequest 406
Zweck: TrAppRequest kapselt die Anfragenachricht. Diese Klasse enthält die
Anfrageelemente in einem allgemeinen Format.
15 veranschaulicht den Dienstverwaltungscluster. Einige
der wichtigeren Klassen umfassen:
ClassName: TrGenServiceManager 500 Zweck: TrGenServiceManager 500 verwaltet die Dienstzuordnungsdatenbank.
TrGenServiceManager 500 enthält Zeiger zu allen TrGenServiceMaps,
die in der Übersetzungsvorrichtung existieren. Zur Ausführung einer bestimmten
Dienstzuordnungsübersicht verwendet TrGenServiceManager die von TrGenRequestHandler
bereitgestellte Dienstkennung, um einen Zeiger zu der dazugehörigen auszuführenden
Dienstzuordnungsübersicht zu erhalten.
ClassName: TrGenServiceMap 502
Zweck: TrGenServiceMap 502 definiert die Abfolge der Funktionen für
einen Dienst. Diese Klasse ist eine Sammlung geordneter Dienstelemente. Die in der
Zuordnungsübersicht enthaltenen Dienstelemente enthalten die auszuführende
Übersetzungsfunktion und das als nächstes auszuführende Dienstelement
basierend auf der zurückgemeldeten Aktion der ausgeführten Funktion. Die
Dienst-Engine wickelt die Verarbeitung der Dienstelemente innerhalb einer Dienstzuordnungsübersicht
ab.
ClassName: TrGenServiceElement 504
Zweck: TrGenServiceElement 504 enthält die Informationen für
jedes Element der Dienstfolge. Die Elemente enthalten den Dienstfunktionszeiger
(d.h., die auszuführende Funktion) und die Dienstelemente innerhalb der Dienstzuordnungsübersicht,
die bei einer Rückmeldeaktion einer Funktion aufzurufen sind (z.B. Fehler,
Pfad). Das Dienstelement kann somit die Verarbeitung basierend auf der Funktionsrückmeldung
zu einem beliebigen Dienstelement innerhalb der aktuellen Dienstzuordnungsübersicht
umleiten. Das Dienstelement hat auch die Fähigkeit, die Verarbeitung zum ersten
Dienstelement einer anderen Dienstzuordnungsübersicht oder zu einem neuen Status
umzuleiten.
ClassName: TrGenServiceKey 506
Zweck: TrGenServiceKey 506 enthält die Dienstschlüsseldatenbank.
TrGenServiceKey wird von TrGenRequestEventHandler aufgerufen, um die Dienstkennungszeichenfolge
für den gerade verarbeiteten Anruf zurückzusenden. (Die Dienstkennung
wird verwendet, um von TrGenserviceManager die für diesen Anruf auszuführende
Dienstzuordnungsübersicht abzurufen.) TrGenServiceKey fragt von einer von TrGenRequest
abgeleiteten Klasse (TrAppRequest) den Dienstschlüssel an, der zur Bildung
der Dienstkennung verwendet werden soll. Diese von TrAppRequest zurückgesendeten
Schlüssel sind eine Liste von Schlüsseln. Jeder Schlüssel in der
Liste spezifiziert eine Schlüsselnummer und eine Listenelementverschiebung
(„Entry Offset") für diesen Schlüssel. TrGenServiceKey verwendet
diese zwei Elemente, um aus der eigenen Datenbank eine zugehörige Schlüsselzeichenfolge
abzurufen. Alle derartigen Schlüsselzeichenfolgen, die unter Verwendung des
Dienstarrays erhalten wurden, werden zusammenaddiert, um die Dienstkennung zu bilden.
ClassName: TrGenServiceEngine 508
Zweck: TrGenServiceEngine 508 ist die Klasse, die den Dienst ausführt.
Sie empfängt die Dienstzuordnungsübersicht von der Klasse TrGenRequestEventHandler.
Diese Klasse enthält Verfahren, die ermöglichen, dass das erste Element
oder ein spezifiziertes Element einer Dienstzuordnungsübersicht ausgeführt
wird. Die Dienst-Engine führt die Abfrage von dem Dienstelement durch und führt
über einen Methoden-Zeiger ("Method Pointer") die darin enthaltene Dienstfunktion
aus. Die Rückmeldung von der Dienstfunktion gibt gegenüber TrGenServiceEngine
an, wie weiter vorzugehen ist: mit einem anderen Dienstelemente fortfahren, Ausführung
der Dienstzuordnungsübersicht vollständig, Statusänderung oder neuer
Dienst. Die Rückmeldung der Statusänderung sieht ebenfalls vor, dass die
nächste Dienstfunktion aufgerufen wird. Dieses Dienstelement und die aktuelle
Dienstzuordnungsübersicht werden in TrGenCallBlock gespeichert, wenn ein Übergang
zu TrGenTimedState stattfindet. Dies ermöglicht, dass diese Dienstfunktion
ausgeführt wird (ohne Bestimmung der Dienstzuordnungsübersicht über
Schlüssel), wenn ein Ereignis in TrGenTimedState empfangen wird.
ClassName: TrGenFunctionBase 510
Zweck: TrGenFunctionBase 510 stellt die Basisklasse für die Dienstfunktionen
bereit. Aufgrund der Anforderungen von C++ müssen, um eine einfache Sammlung
von Verfahrenzeigern zu erhalten, diese alle demselben Typ entsprechen. TrGenFunctionBase
stellt diesen Typ bereit.
ClassName: TrGenFunctionReturn 512
Zweck: TrGenFunctionReturn kapselt den Rückmeldestatus von den Dienstfunktionen.
Die Klasse enthält den Rückmeldestatus (erledigt, Fehler, Pfad 1 (path1),
Pfad 2 (path2), Pfad 3 (path3), Pfad 4 (path4), neuer Dienst, zeitgesteuerter Status,
nicht zeitgesteuerter Status).
ClassName: TrGenCallBlock 514
Zweck: TrGenCallBlock ist das zentrale finite Objekt der Ablaufsteuereinheit und
das Daten-Repository der allgemeinen Übersetzungsvorrichtung. TrGenCallBlock
sorgt für die Speicherung eines Timer-Wertes, den Zugriff auf den SUDU-Nachrichtenkopfteil
und Informationen der Dienstzuordnungsübersicht.
Die Anwendungskomponenten der allgemeinen Übersetzungsvorrichtung
sind Klassen, die eine spezifische Funktionalität für die allgemeine Übersetzungsvorrichtung
bereitstellen. Einige der Klassen in den Anwendungskomponenten der allgemeinen Übersetzungsvorrichtung
umfassen:
ClassName: TrAppValidationFunction
Zweck: TrAppValidationFunction ist ein allgemeiner Name für jede anwendungsspezifische
Freigabefunktion. Die folgenden Funktionsbereiche kämen für
eine Anwendungsfreigabefunktion in Frage:
ANI-Freigabe;
Berechtigungscodefreigabe;
Kontocodefreigabe; und
externe Freigabe der Kreditkartenfreigabe (externe Schnittstelle nicht definiert).
ClassName: TrAppScreeningFunction
Zweck: TrAppScreeningFunction ist ein allgemeiner Name für jede anwendungsspezifische
Filterungsfunktion. Die folgenden Funktionsbereiche kämen für eine Anwendungsfilterungsfunktion
in Frage:
Filterung nach Tageszeit;
Filterung nach Satellit;
Ausschlussfilterung in ankommender Richtung; und
Filterung nach internationalen Anrufen (IDDD).
ClassName: TrAppRoutingFunction
Zweck: TrAppRoutingFunction ist ein allgemeiner Name für jede anwendungsspezifische
Filterungsfunktion. Die folgenden Funktionsbereiche kämen für eine Anwendungsleitweglenkungsfunktion
in Frage:
Initialisieren der Leitweglenkung;
Ermitteln der nächsten Leitwegwahl;
Speichern in der Leitwegliste;
Ermitteln der Aufteilung von der Anfrage;
Ermitteln der Aufteilung aus der ANI-Datenbank;
Ermitteln der Aufteilung aus der Berechtigungscode-Datenbank:
Ermitteln der Aufteilung aus der Übersetzungs-Datenbank; und
Leitweglenkung nach Tageszeit.
ClassName: TrAppResponseFunction
Zweck: TrAppResponseFunction ist ein allgemeiner Name für jede anwendungsspezifische
Antwortfunktion. Die folgenden Funktionsbereiche kämen für eine Anwendungsantwortfunktion
in Frage:
Erstellen der Freigabeantwortnachricht;
Erstellen der Übersetzungserfolgnachricht; und
Erstellen der Übersetzungsfehlschlagnachricht.
ClassName: TrAppCallBlock
Zweck: TrAppCallBlock ist das Daten-Repository für eine anwendungsspezifische
Übersetzungsvorrichtung.
ClassName: TrAppSubscriberDB
Zweck: TrAppSubscriberDB stellt die Basisklasse für die zwei Teilnehmerdatenbanktabellen
bereit, die ANI-Tabelle und die Berechtigungscode-(Authcode) Tabelle. Diese Klasse
stellt die gemeinsamen Daten zwischen den beiden Tabellen bereit, beispielsweise:
Anzahl der Kontocodestellen;
Indikator für Auslandsgesprächebeschränkung (IDDD);
Indikator für erforderliche Kontocodefreigabe;
Leitwegaufteilung;
Datenbankschlüsselkontocode für Ausschlüsse in ankommender Richtung;
und
Zeitbeschränkungsdatenbankschlüssel.
ClassName: TrAppAniDB
Zweck: TrAppAniDB ist die Datenbankklasse für die ANI-Teilnehmertabelle. Sie
stellt die ANI-spezifischen Datenbankzugriffsmechanismen bereit.
ClassName: TrAppAuthCodeDB
Zweck: TrAppAuthCodeDB ist die Datenbankklasse für die Berechtigungscode-(Authcode)
Teilnehmertabelle. Sie stellt die berechtigungscode-spezifischen Datenbankzugriffsmechanismen
bereit.
ClassName: TrAppAccountCodeDB
Zweck: TrAppAccountCodeDB ist die Datenbankklasse für Kontocodetabelle. Sie
enthält die Kontocodeinformationen und die Zuordnungsübersicht der Kontocodestellen.
ClassName: TrAppTranslationDB
Zweck: TrAppTranslationDB ist die Datenbankklasse für die Übersetzungstabelle.
Sie enthält die auf dem Amtsbündel basierenden Übersetzungsdaten,
darunter:
Leitwegaufteilung;
Satellitenindikator;
Indikator für erforderliche Umsteuerung;
Tageszeitanpassung; und
Indikator für erforderliche Berechtigungscodefreigabe.
ClassName: TrAppTimeRestrictionDB
Zweck: TrAppTimeRestrictionDB ist die Datenbankklasse für die Beschränkungstabelle
nach Tageszeit. Sie enthält die Daten für die Beschränkung
nach Tageszeit und die Beschränkungszuordnungsübersicht nach dem Datum.
ClassName: TrAppIncomingExclusionDB
Zweck: TrAppIncomingExclusionDB ist die Datenbankklasse für die Beschränkungstabelle
in ankommender Richtung. Sie stellt Ausschlüsse basierend auf der gewählten
und/oder der übersetzten Nummer bereit. Sie enthält die Ausschlussliste
für Inlandsgespräche (DDD) und die Ausschlussliste für Auslandsgespräche
(IDDD).
ClassName: TrAppRoutingDB
Zweck: TrAppRoutingDB ist die Datenbankklasse für die Leitweglenkungsdatenbank.
Sie enthält Leitwegauswahlinformationen, die zu Leitwegwahllisten zusammengefasst
sind, und sie enthält Informationen über die auf dem Amtsbündel entsprechend
der Rufnummernziffer zu gebenden Impulse.
ClassName: TrAppTimeofDayRouteDB
Zweck: TrAppTimeofDayRouteDB enthält die Informationen über den tageszeitabhängigen
Leitweg, der die Leitwegauswahl basierend auf der Tageszeit verändert. Diese
Klasse enthält einen Teil des Schlüssels für den Zugriff auf die
Leitweglenkungsdatenbank. Leitwegindex für den Zugriff auf die Leitweglenkungsdatenbank.
Obwohl die vorliegende Erfindung und ihre Vorteile detailliert beschrieben
wurden, sollte klar sein, dass innerhalb von ihr verschiedene Änderungen, Ersetzungen
und Abwandlungen vorgenommen werden können, ohne den Geltungsbereich der Erfindung,
wie er in den beigefügten Ansprüchen definiert ist, zu verlassen.
Legende zu den ZeichnungenFigur 1:
Figur 2:
Figur 3:
Figur 4:
Figur 5:
Figur 6:
Figur 7:
Figur 8a:
Figur 8b:
Figur 9:
Figur 10:
Figur 11:
Figur 12A:
Figur 12B:
Figur 13:
Figur 14:
Figur 15:
Anspruch[de]
Telekommunikationssystem zur Ausführung von Anrufverarbeitungsanfragen,
umfassend:
eine Ziffernerfassungsvorrichtung (16), geeignet zum Empfangen von Eingabeziffern
und zur Formulierung von unverarbeiteten Eingabenachrichten (30) daraus,
wobei die unverarbeitete Eingabenachricht Informationen umfasst, die zu einer Anrufverarbeitungsanfrage
gehören;
gekennzeichnet durch:
eine Anfrageerstellungsvorrichtung (32), dazu geeignet, ein Dienstanfrageobjekt
(34) als Antwort auf die unverarbeitete Eingabenachricht zu erzeugen, wobei
das Dienstanfrageobjekt Informationen entsprechend der Anrufverarbeitungsanfrage
in einer allgemeinen Form umfasst;
eine allgemeine Übersetzungsvorrichtung (46), dazu geeignet, das Dienstanfrageobjekt
zu empfangen, wobei die allgemeine Übersetzungsvorrichtung plattformunabhängig
ist und wobei die allgemeine Übersetzungsvorrichtung dazu geeignet ist, eine
Vielzahl von Funktionen entsprechend dem Dienstanfrageobjekt aufzurufen, wobei die
Vielzahl an Funktionen Gebührenabrechnungsfreigabe- (48), Filterungs-
(50), Leitweglenkungs- (52) und Antwortfunktionen (56)
umfasst, wobei die allgemeine Übersetzungsvorrichtung dazu geeignet ist zu
erzeugen:
eine Gebührenabrechnungsfreigabeantwort als Antwort auf das Dienstanfrageobjekt,
welches eine Gebührenabrechnungsfreigabeanfrage umfasst, wobei die Gebührenabrechnungsfreigabeantwort
an die Ziffernerfassungsvorrichtung (16) zurückgeschickt wird;
eine Antwort der übersetzten Ziffern als Antwort auf das Dienstanfrageobjekt,
welches eine erfolgreich übersetzte Ziffernübersetzungsanfrage umfasst,
wobei die Antwort der übersetzen Ziffern an eine Amtsleitungsauswahlvorrichtung
(20) des Telekommunikationssystems gesendet wird, wobei die Amtsleitungsauswahlvorrichtung
dazu geeignet ist, den Anruf auszuführen; und
eine Übersetzungsfehlschlag-Antwort als Antwort auf das Dienstanfrageobjekt,
welches eine nicht erfolgreich übersetzte Ziffernübersetzungsanfrage umfasst,
wobei die Übersetzungsfehlschlag-Antwort an eine Anruffolgesteuervorrichtung
(22) des Telekommunikationssystems gesendet wird, wobei die Anruffolgesteuervorrichtung
dazu geeignet ist, die Fehlschlag-Antwort zu verarbeiten.System nach Anspruch 1, weiterhin umfassend eine Datenbank, auf die
die allgemeine Übersetzungsvorrichtung zugreifen kann, um für die Verarbeitung
der Dienstanfrageobjekte benötigte Daten zu erlangen.System nach Anspruch 2, wobei sich die Datenbank an einem Dienststeuerungspunkt
befindet.System nach Anspruch 1, wobei die allgemeine Übersetzungsvorrichtung
eine Grundstruktur der allgemeinen Übersetzungsvorrichtung und eine Anwendungskomponente
der allgemeinen Übersetzungsvorrichtung umfasst.System nach Anspruch 4, wobei die Grundstruktur der allgemeinen Übersetzungsvorrichtung
eine Vielzahl von Objektklassen-Clustern umfasst, die dazu geeignet sind, eine Basis-
und eine erweiterte Funktionalität für die Ziffernübersetzung bereitzustellen.System nach Anspruch 4, wobei die Anwendungskomponente der allgemeinen
Übersetzungsvorrichtung Objektklassen umfasst, die dazu geeignet sind, die
Grundstruktur der allgemeinen Übersetzungsvorrichtung dahingehend zu erweitern,
dass angepasste Anwendungen zur Ziffernübersetzung bereitgestellt werden.System nach Anspruch 1, wobei das Dienstanfrageobjekt eine Ziffernübersetzungsanfrage
umfasst, wobei es sich bei der Ziffernübersetzungsanfrage
um eine Leitweglenkungsanfrage handelt.System nach Anspruch 1, wobei das Dienstanfrageobjekt eine Ziffernübersetzungsanfrage
umfasst, wobei es sich bei der Ziffernübersetzungsanfrage um eine Kontenfreigabeanfrage
handelt.System nach Anspruch 1, wobei das Dienstanfrageobjekt eine Ziffernübersetzungsanfrage
umfasst, wobei es sich bei der Ziffernübersetzungsanfrage um eine Anruffilterungsanfrage
handelt.Verfahren zur Durchführung von Anrufverarbeitungsanfragen, umfassend
die Schritte des:
Empfangens von Eingabeziffern und Formulierens einer unverarbeiteten Eingabenachricht
(30) daraus durch eine Ziffernerfassungsvorrichtung, wobei die unverarbeitete
Eingabenachricht Informationen umfasst, die zu einer Anrufverarbeitungsanfrage gehören;
gekennzeichnet durch die Schritte des:
Erzeugens eines Dienstanfrageobjekts (34) als Antwort auf die unverarbeitete
Eingabenachricht, wobei das Dienstanfrageobjekt Informationen entsprechend der Anrufverarbeitungsanfrage
in einer allgemeinen Form umfasst;
Empfangens des Dienstanfrageobjekts und des Aufrufens einer Vielzahl von Funktionen
entsprechend dem Dienstanfrageobjekt in einer plattformunabhängigen Übersetzungsvorrichtung,
wobei die Vielzahl an Funktionen Gebührenabrechnungsfreigabe- (48),
Filterungs- (50), Leitweglenkungs- (52) und Antwortfunktionen
(56) umfasst;
Erzeugens einer Gebührenabrechnungsfreigabeantwort als Antwort auf das Dienstanfrageobjekt,
welches eine Gebührenabrechnungsfreigabeanfrage umfasst, wobei die Gebührenabrechnungsfreigabeantwort
an die Ziffernerfassungsvorrichtung (16) zurückgeschickt wird;
Erzeugens einer Antwort der übersetzten Ziffern als Antwort auf das Dienstanfrageobjekt,
welches eine erfolgreich übersetzte Ziffernübersetzungsanfrage umfasst,
wobei die Antwort der übersetzten Ziffern an eine Amtsleitungsauswahlvorrichtung
(20) des Telekommunikationssystems gesendet wird, wobei die Amtsleitungsauswahlvorrichtung
dazu geeignet ist, den Anruf auszuführen; und
Erzeugens einer Übersetzungsfehlschlag-Antwort als Antwort auf das Dienstanfrageobjekt,
welches eine nicht erfolgreich übersetzte Ziffernübersetzungsanfrage umfasst,
wobei die Übersetzungsfehlschlag-Antwort an eine Anruffolgesteuervorrichtung
(22) des Telekommunikationssystems gesendet wird, um die Fehlschlag-Antwort
zu verarbeiten.Verfahren nach Anspruch 10, wobei der Schritt des Aufrufens einer Vielzahl
von Funktionen ferner den Schritt des Zugreifens auf eine externe Einrichtung zur
Unterstützung der allgemeinen Übersetzungsvorrichtung umfasst.Verfahren nach Anspruch 11, wobei die externe Einrichtung ein Dienststeuerungspunkt
ist.Verfahren nach Anspruch 11, wobei die externe Einrichtung eine Datenbank
ist.