-
Fachgebiet
der Erfindung
-
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 Übersetzungs anwendungen
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 Zeichnungen Figur
1:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-