PatentDe  


Dokumentenidentifikation DE69836914T2 31.10.2007
EP-Veröffentlichungsnummer 0001020086
Titel VERFAHREN UND SYSTEM ZUR ÜBERSETZUNG VON ANRUFSVERARBEITUNGSANFRAGEN
Anmelder Alcatel USA Sourcing, L.P., Plano, Tex., US
Erfinder PULLEN, M., Steve, Rowlett, TX 75088, US;
SPENCER, M., Daniel, Leonard, Texas 75452, US;
MONTEIRO, Mario, Garland, TX 75044, US;
SINGH, G., Navdeep, Plano, TX 75024, US;
WALKER, E., Joseph, Plano, TX 75024, US;
CARSON, R., Steven, Allen, TX 75002, US
Vertreter Patentanwälte U. Knecht und Kollegen, 70435 Stuttgart
DE-Aktenzeichen 69836914
Vertragsstaaten DE, ES, FR, GB, IT, SE
Sprache des Dokument EN
EP-Anmeldetag 17.09.1998
EP-Aktenzeichen 989471057
WO-Anmeldetag 17.09.1998
PCT-Aktenzeichen PCT/US98/19440
WO-Veröffentlichungsnummer 1999017562
WO-Veröffentlichungsdatum 08.04.1999
EP-Offenlegungsdatum 19.07.2000
EP date of grant 17.01.2007
Veröffentlichungstag im Patentblatt 31.10.2007
IPC-Hauptklasse H04Q 3/00(2006.01)A, F, I, 20051017, B, H, EP
IPC-Nebenklasse H04Q 3/545(2006.01)A, L, I, 20051017, B, H, EP   

Beschreibung[de]
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 115 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 4852 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 Zeichnungen Figur 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.






IPC
A Täglicher Lebensbedarf
B Arbeitsverfahren; Transportieren
C Chemie; Hüttenwesen
D Textilien; Papier
E Bauwesen; Erdbohren; Bergbau
F Maschinenbau; Beleuchtung; Heizung; Waffen; Sprengen
G Physik
H Elektrotechnik

Anmelder
Datum

Patentrecherche

Patent Zeichnungen (PDF)

Copyright © 2008 Patent-De Alle Rechte vorbehalten. eMail: info@patent-de.com