So senden Sie SMS mit der SMPP-API auf Protokollebene
Die Short Message Peer-to-Peer (SMPP)-API ist ein weit verbreitetes Protokoll für den Austausch von SMS-Nachrichten zwischen SMS-Entitäten wie ESMEs (External Short Message Entities) und SMSCs (Short Message Service Centers). Für Benutzer der Ozeki SMS Gateway-Plattform ist das Verständnis der SMPP-Protokollebene entscheidend für die Optimierung der Leistung, Fehlerbehebung und benutzerdefinierte Integrationen. Diese Anleitung erklärt die SMPP-PDUs (Protocol Data Units), die erforderlich sind, um eine SMPP-API-Verbindung zum Senden von SMS-Nachrichten herzustellen, aufrechtzuerhalten und zu nutzen.
Herstellen einer SMPP-API-Verbindung
Um SMS über die SMPP-API zu senden, müssen Sie Ihren Client zunächst an den Ozeki SMS Gateway-Server binden. Es gibt drei Bindungstypen: bind_transmitter, bind_receiver und bind_transceiver. Jeder definiert die Richtung des Nachrichtenflusses.
Wichtige PDUs für die Verbindungseinrichtung
| PDU | Richtung | Zweck | Schlüsselparameter |
|---|---|---|---|
bind_transmitter |
ESME → SMSC | Initiiert eine Verbindung zum Senden von SMS |
|
bind_receiver |
ESME → SMSC | Richtet eine Verbindung zum Empfangen von SMS ein | Wie bind_transmitter |
bind_transceiver |
ESME → SMSC | Ermöglicht bidirektionale Nachrichtenübermittlung | Wie bind_transmitter |
Bei erfolgreicher Bindung antwortet der Ozeki-Gateway mit einer bind_resp-PDU, die eine system_id-Bestätigung enthält. Bei fehlgeschlagener Authentifizierung wird ein Fehlercode wie ESME_RINVPASWD zurückgegeben.
Aufrechterhaltung der SMPP-API-Verbindung
SMPP-Verbindungen erfordern periodische Keep-Alive-Signale, um Timeouts zu vermeiden. Verwenden Sie die enquire_link-PDU:
| PDU | Richtung | Zweck |
|---|---|---|
enquire_link |
ESME ↔ SMSC | Überprüft, ob die Verbindung aktiv ist |
enquire_link_resp |
ESME ↔ SMSC | Bestätigt die Aktivität |
Beste Praxis: Senden Sie enquire_link alle 30-60 Sekunden. Der Ozeki SMS Gateway beendet inaktive Verbindungen standardmäßig nach 5 Minuten.
Senden einer SMS über die SMPP-API
Die submit_sm-PDU wird verwendet, um eine einzelne SMS zu senden. Ihre Struktur umfasst Quell-/Zieladressen und Nachrichteninhalt:
| Parameter | Beschreibung | Beispiel |
|---|---|---|
service_type |
Art des Dienstes (optional) | “” (leer) |
source_addr |
Absenderadresse der SMS | “12345” |
destination_addr |
Telefonnummer des Empfängers | “+1234567890” |
short_message |
Nachrichteninhalt (UTF-8 oder GSM-7) | “Hallo Welt” |
Beispiel submit_sm-Workflow
- ESME sendet
submit_sman den Ozeki SMS Gateway. - Der Gateway antwortet mit
submit_sm_resp, das einemessage_identhält. - Der Gateway sendet
deliver_smfür Zustellberichte (falls aktiviert). - ESME antwortet mit
deliver_sm_resp.
Umgang mit SMPP-API-Antworten und Fehlern
Der Ozeki SMS Gateway verwendet diese Antwort-PDUs:
| PDU | Zweck | Kritische Felder |
|---|---|---|
submit_sm_resp |
Bestätigt submit_sm |
message_id, command_status |
generic_nack |
Zeigt eine fehlerhafte/ungültige PDU an | command_status (z.B. ESME_RINVMSGLEN) |
Fazit
Die Beherrschung von SMPP-API-PDUs wie bind_transmitter, enquire_link und submit_sm gewährleistet eine zuverlässige SMS-Übermittlung über den Ozeki SMS Gateway. Durch die Implementierung robuster Fehlerbehandlungs- und Keep-Alive-Routinen können Entwickler skalierbare SMS-Lösungen mit minimaler Ausfallzeit erstellen.