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_sm
an den Ozeki SMS Gateway. - Der Gateway antwortet mit
submit_sm_resp
, das einemessage_id
enthält. - Der Gateway sendet
deliver_sm
fü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.
More information
- Wie man eine SMPP-API-Client-Verbindung mit Ihrem SMSC einrichtet
- Wie man einen SMPP-API-Server einrichtet, um SMS von mehreren Apps zu senden und zu empfangen
- Wie man den richtigen SMPP-API-Anbieter für Ihr Unternehmen auswählt
- Wie man SMS mit der SMPP-API auf Protokollebene sendet
- Wie man SMS über die SMPP-API mit Python sendet
- Wie man SMS über die SMPP-API mit Javascript sendet
- Wie man SMS über die SMPP-API mit Java sendet
- Wie man SMS über die SMPP-API mit PHP sendet
- Wie man SMS über die SMPP API mit C# sendet
- Wie man SMS über die SMPP-API mit C/C++ sendet
- Wie man SMS mit der SMPP-API empfängt
- Wie man einen SMS-Zustellungsbericht mit der SMPP-API empfängt
- SMPP-API FAQ