Wie man SMPP-Server-Benutzer mit einer Datenbank authentifiziert

Wenn Sie Ihren eigenen SMS-Dienst betreiben, möchten Sie möglicherweise Benutzerinformationen in Ihrem Datenbankserver speichern. Diese Benutzerinformationen können zur Authentifizierung von Benutzern verwendet werden, die versuchen, über verschiedene Kanäle auf Ihren Server zuzugreifen. Beispielsweise können Sie SMPP-Client-Verbindungen, HTTP-API-Verbindungen, UCP- oder CIMD2-SMS-Clients mit derselben Benutzerdatenbank authentifizieren. Diese Anleitung gibt Ihnen Schritt-für-Schritt-Anweisungen, wie Sie die Datenbankbenutzerauthentifizierung für eine SMPP-Server-Konfiguration einrichten. Die Schritte sind ähnlich für andere Dienstkanäle, die Sie einrichten möchten. Sie können Microsoft SQL Server, MySQL, Oracle oder einen anderen Datenbankserver verwenden.

Übersicht

Wenn Sie Ihre SMPP-SMS-Server-Benutzerinformationen in einer Datenbanktabelle speichern, müssen Sie diese Schritte befolgen, um Ozeki 10 SMS Gateway so zu konfigurieren, dass Ihre Datenbank abgefragt wird, wenn ein SMPP-Client versucht, eine Verbindung herzustellen, um zu entscheiden, ob er berechtigt ist, Ihren Dienst zu nutzen.

  • Öffnen Sie das Kontrollpanel
  • Erstellen Sie eine Datenbankverbindung
  • Wählen Sie SQL-Abfragen aus
  • Wählen Sie den Datenbanktyp aus
  • Geben Sie die Datenbank-Anmeldedaten ein
  • Erstellen Sie einen neuen Authentifizierungsanbieter
  • Schreiben Sie die SQL-SELECT-Abfrage zur Überprüfung des Benutzers
  • Öffnen Sie die SMS Gateway App
  • Klicken Sie auf der Symbolleiste auf Erweitert
  • Wählen Sie die SMPP-Server-Konfiguration aus
  • Öffnen Sie den erweiterten Tab
  • Wählen Sie den Datenbank-Authentifizierungsanbieter aus

Schritt 1 - Datenbankverbindung in Ozeki SMS Gateway erstellen

Der erste Schritt besteht darin, die Control Panel-Anwendung in Ozeki SMS Gateway zu öffnen. Navigieren Sie einfach zum Desktop von Ozeki SMS Gateway, und hier, wie Sie in Abbildung 1 sehen können, öffnen Sie das Control Panel, indem Sie auf das entsprechende Symbol klicken.

Control Panel öffnen
Abbildung 1 - Control Panel öffnen

Jetzt sollten Sie sich auf der Hauptseite des Control Panels befinden, wo Sie Verbindungen erstellen, ändern oder löschen können. Klicken Sie auf die blaue Schaltfläche "Neue Verbindung erstellen" und wählen Sie "Anwendung" aus dem Feld, das auf der rechten Seite des Bildschirms erscheint (Abbildung 2).

Neue Anwendungsverbindung erstellen
Abbildung 2 - Neue Anwendungsverbindung erstellen

In diesem Beispiel verwenden wir eine MySQL-Datenbank, um die Benutzerdetails für den Authentifizierungsanbieter zu speichern. Wählen Sie daher den MySQL-Verbindungstyp aus, wie die Abbildungen 3-5 zeigen.

Datenbankverbindung erstellen
Abbildung 3 - Datenbankverbindung erstellen

SQL-Abfrageverbindung
Abbildung 4 - SQL-Abfrageverbindung

MySQL-Verbindung
Abbildung 5 - MySQL-Verbindung

Füllen Sie dann das folgende Formular mit den Verbindungsdetails aus. Stellen Sie sicher, dass Sie die IP-Adresse des SQL-Servers und die Portnummer angeben. Die standardmäßige SQL-Portnummer ist normalerweise 3306. Sie müssen auch den Namen der Datenbank angeben, in der sich Ihre Benutzer befinden. Geben Sie abschließend den SQL-Benutzernamen und das Passwort ein und klicken Sie auf "OK" (Abbildung 6).

MySQL-Verbindungsdetails
Abbildung 6 - MySQL-Verbindungsdetails

Schließlich war die Verbindung erfolgreich, wie Sie in Abbildung 7 sehen können.

Datenbank verbunden
Abbildung 7 - Datenbank verbunden

Schritt 2 - Datenbank-Authentifizierungsanbieter mit der SQL-Datenbank verbinden

In diesem Schritt richten wir eine SELECT-Abfrage auf der SQL-Tabelle ein. Diese SELECT-Abfrage wird aufgerufen, wenn ein Anmeldeversuch stattfindet. Sie überprüft die Benutzertabelle auf Benutzer. Wechseln Sie zur Seite des Authentifizierungsanbieters, indem Sie im Benutzermenü auf "Authentifizierungsanbieter" klicken (Abbildung 8).

Authentifizierungsanbieter-Menü öffnen
Abbildung 8 - Authentifizierungsanbieter-Menü öffnen

Auf der Seite des Authentifizierungsanbieters können Sie Authentifizierungsanbieter erstellen, ändern oder löschen. Erstellen Sie einen neuen Authentifizierungsanbieter, indem Sie auf die blaue Schaltfläche "Neuen Authentifizierungsanbieter erstellen" klicken. Ein neues Feld wird auf der rechten Seite der Seite geöffnet. In diesem Feld können Sie zwischen Authentifizierungsanbietern wählen. Bitte wählen Sie "Datenbank-Authentifizierungsanbieter" (Abbildung 9).

Neuen Datenbankanbieter erstellen
Abbildung 9 - Neuen Datenbankanbieter erstellen

Ein Formular wird im Feld verfügbar sein. Sie sollten das Formular ausfüllen, um den Datenbank-Authentifizierungsanbieter zu konfigurieren. Im wichtigsten Feld müssen Sie die SQL-Abfrage schreiben, wie Sie in Abbildung 10 sehen können. In SCHRITT 4 richten wir eine SQL-Datenbank ein, die mit dieser SQL-Abfrage kompatibel ist.

SELECT * FROM user WHERE
Password = MD5("${password}") /* Hasht das Passwort und vergleicht den Hash. */
and User="${username}";

SQL-Abfrage bereitstellen
Abbildung 10 - SQL-Abfrage bereitstellen

Schritt 3 - SMPP-Dienst mit SQL-Authentifizierung erstellen

Der nächste Schritt besteht darin, die SMS Gateway-Anwendung zu öffnen. Navigieren Sie einfach zum Desktop und öffnen Sie hier das SMS Gateway, indem Sie auf das entsprechende Symbol klicken. Hier finden Sie das erweiterte Menü des SMS Gateways. Um es zu öffnen, klicken Sie bitte auf den Button "Erweitert" auf der Hauptseite. (Abbildung 11)

Erweitertes SMS Gateway-Menü öffnen
Abbildung 11 - Erweitertes SMS Gateway-Menü öffnen

Auf der erweiterten Seite können Sie SMS-Dienste erstellen, bearbeiten oder löschen. Erstellen Sie einen neuen SMS-Dienst, indem Sie auf den blauen Button "Neuen Dienst erstellen" klicken. Auf der rechten Seite der Seite öffnet sich ein neues Fenster. In diesem Fenster können Sie zwischen verschiedenen SMS-Diensten wählen, wie in Abbildung 12 zu sehen ist. Wählen Sie dann bitte den SMPP-Dienst aus (Abbildung 13).

Neuen SMS-Dienst erstellen
Abbildung 12 - Neuen SMS-Dienst erstellen

SMPP-Dienst erstellen
Abbildung 13 - SMPP-Dienst erstellen

Im Fenster wird ein Formular angezeigt. Sie sollten das Formular ausfüllen, um den SMPP-Dienst zu konfigurieren. Geben Sie einen eindeutigen Namen und einen Port für diesen Dienst an, wie in Abbildung 14 dargestellt.

SMPP-Dienstdetails
Abbildung 14 - SMPP-Dienstdetails

Dann setzen Sie im erweiterten Tab des SMPP-Dienstes den Datenbank-Authentifizierungsanbieter im Abschnitt "Benutzerauthentifizierung", wie in Abbildung 15 gezeigt.

Authentifizierungsanbieter festlegen
Abbildung 15 - Authentifizierungsanbieter festlegen

Schritt 4 - SQL-Datenbanktabelle für Benutzer erstellen

Um den Datenbank-Authentifizierungsanbieter zu verwenden, benötigen Sie mindestens eine SQL-Tabelle, die die Anmeldeinformationen der Benutzer enthält. Die Tabelle muss mindestens 2 Spalten haben. Eine Spalte für den Benutzernamen und eine weitere für den Passwort-Hash des Benutzerpassworts. (Abbildung 16) Erstellen Sie nun eine Tabelle in der Datenbank:
CREATE TABLE user (
    User VARCHAR(255),
    Password VARCHAR(255)
    );

Benutzertabelle in Datenbank erstellen
Abbildung 16 - Benutzertabelle in Datenbank erstellen

Fügen Sie Benutzeranmeldedaten zu Ihrer Tabelle hinzu. Sie können diese Tabelle später für die Benutzerauthentifizierung verwenden. Das Ozeki SMS Gateway sucht Benutzer in dieser Tabelle. (Abbildung 17) Vergessen Sie nicht, die Passwörter zu hashen, wie unten gezeigt:
INSERT INTO user (User, Password)
VALUES ("Ozeki", MD5('123451')),
	   ("smppuser", MD5("qwe123"));

Benutzer in Datenbank erstellen
Abbildung 17 - Benutzer in Datenbank erstellen

Wenn sich ein SMPP-Client mit dem in der Datenbank hinterlegten Benutzernamen und Passwort verbindet, wird der Benutzer im Abschnitt "Benutzer und Anwendungen" des SMS Gateways angezeigt (Abbildung 18).

SMPP-Benutzer verbunden
Abbildung 18 - SMPP-Benutzer verbunden

FAQs

Unterstützt Ihr Gateway Clustering über mehrere Server und wie funktioniert es?

Für Szenarien mit einer hohen Anzahl von Benutzerverbindungen bietet das Ozeki SMS Gateway eine Clustering-Lösung zur Verbesserung der Skalierbarkeit des Dienstes. Ein Cluster besteht aus einer Gruppe unabhängiger Computer, die jeweils mit der Ozeki-Software ausgestattet sind. Jede Instanz von Ozeki verbindet sich unabhängig mit den zugewiesenen SMS-Dienstanbietern und bedient Benutzer autonom, ohne auf andere Cluster-Mitglieder angewiesen zu sein.

Lastverteilungsstrategien:

Das Ozeki SMS Gateway-Clustering verwendet zwei primäre Methoden, um Client-Verbindungen auf die Cluster-Mitglieder zu verteilen:

  1. DNS-basierte Serverauswahl: Dieser Ansatz nutzt den Round-Robin-Algorithmus innerhalb des DNS-Servers. Wenn ein Client eine Abfrage für den Dienst stellt, gibt der DNS-Server IP-Adressen aus einem Pool zurück, der dem Cluster zugewiesen ist, und verteilt so die Verbindungen auf die verfügbaren Server.
  2. Vorkonfigurierter Router mit Network Address Translation (NAT): Bei dieser Methode nutzt ein vorkonfigurierter Router NAT, um eingehenden Verkehr auf die Cluster-Server zu verteilen. Dieser Ansatz bietet eine bessere Kontrolle über die Lastverteilung im Vergleich zur DNS-basierten Methode.
Vorteile des Clusterings:
  • Verbesserte Skalierbarkeit: Clustering ermöglicht horizontale Skalierung, sodass Sie bei wachsender Benutzerbasis weitere Server zum Cluster hinzufügen können, um die Kapazität zu erhöhen.
  • Erhöhte Verfügbarkeit: Wenn ein einzelner Server Probleme hat, setzen die verbleibenden Cluster-Mitglieder den Betrieb fort und gewährleisten so die Dienstkontinuität.
  • Verbesserte Leistung: Die Verteilung der Last auf mehrere Server verringert die Belastung einzelner Maschinen, was zu einer besseren Gesamtleistung und schnelleren Antwortzeiten für Benutzer führt.

Ich kann nicht mehr als 6 Nachrichten pro Sekunde senden, obwohl ich eine 10 MPS-Lizenz habe. Was könnte das Problem sein? Was ist das Skalierungsschema der Software?

Erleben Sie langsame Nachrichtenübermittlungsraten in Ozeki SMS Gateway? Hier sind mehrere potenzielle Engpässe, die Sie untersuchen sollten:

Nachrichtenwarteschlangenverwaltung:

  • Outbox-Größe: Überwachen Sie die Größe Ihrer Outbox-Warteschlange. Idealerweise sollte sie zwischen 100 und 2.000 Nachrichten liegen. Eine konstant niedrige Warteschlange (0-100) deutet auf unzureichende Nachrichten für die Übertragung hin. Eine sehr große Warteschlange (über 100.000) zeigt an, dass die Nachrichtenquelle das System überlastet.
  • Automatische Nachrichtenlöschung: Erwägen Sie, die automatische Löschung alter Nachrichten im Formular "Bearbeiten/Server-Einstellungen" zu aktivieren. Dies verhindert eine übermäßige Ansammlung von Nachrichten und Leistungseinbußen.
System- und Netzwerkressourcen:
  • Hardware-Leistung: Nutzen Sie den Windows Task-Manager, um Prozesse zu identifizieren, die übermäßige CPU-Ressourcen verbrauchen. Datenträgerdefragmentierung, Bildschirmschoner, Antivirensoftware oder automatische Updates können die Leistung vorübergehend beeinträchtigen.
  • Netzwerkbandbreite: Stellen Sie sicher, dass ausreichend Upload-Bandbreite vorhanden ist (idealerweise über 256 Kbps). Minimieren Sie Netzwerküberlastung, indem Sie bandbreitenintensive Anwendungen wie Video-Streaming oder Dateifreigabe-Software schließen.
Externe Faktoren:
  • SMS-Provider-Einschränkungen: In einigen Fällen könnte das System des SMS-Dienstanbieters langsamer sein als Ihres. Konsultieren Sie ihn bezüglich optimaler Fenstergrößen-Einstellungen im "SMPP-Dienstanbieter-Konfigurationsformular". Eine kleinere Fenstergröße kann die Sendegeschwindigkeit einschränken, indem sie auf Bestätigungsantworten wartet, bevor weitere Nachrichten gesendet werden.
Problembehebung:
  • Optimale Outbox-Warteschlangengröße beibehalten: Streben Sie einen gleichmäßigen Nachrichtenfluss an, indem Sie die Outbox-Warteschlange im empfohlenen Bereich (100-2.000 Nachrichten) halten.
  • Automatische Nachrichtenlöschung implementieren: Konfigurieren Sie die Software so, dass alte Nachrichten automatisch im Formular "Bearbeiten/Server-Einstellungen" gelöscht werden.
  • Eingehenden Verkehr minimieren: Reduzieren Sie, wenn möglich, das Volumen eingehender Nachrichten, wie Zustellberichte, um den Sendeprozess zu optimieren.
  • Hardware-Leistung optimieren: Identifizieren und schließen Sie ressourcenintensive Anwendungen über den Windows Task-Manager.
  • Netzwerkbandbreite erhöhen (falls nötig): Erwägen Sie ein Upgrade Ihres Internetplans, um ausreichende Upload-Kapazität zu gewährleisten.
  • SMS-Provider konsultieren: Besprechen Sie optimale Fenstergrößen-Einstellungen mit Ihrem SMS-Dienstanbieter, um die Sendeleistung zu verbessern.
Durch die systematische Behebung dieser potenziellen Ursachen können Sie Probleme mit langsamer Nachrichtenübermittlung effektiv beheben und eine optimale Leistung in Ozeki SMS Gateway sicherstellen.

More information