SMPP
Schnittstelleninformationen (Interface Information) für das SMPP-Protokoll
Dieses Protokoll definiert das SMPP-Kommunikationsprotokoll für SMS-Dienste mit dem Ziel, eine effiziente und zuverlässige Nachrichtenübermittlung sowie Statusberichte über TCP-Verbindungen zu gewährleisten. Die Schnittstelleninformationen umfassen IP-Adresse, Port und Authentifizierungsdaten. Bitte stellen Sie sicher, dass die über autorisierte Kanäle bereitgestellten Zugangsdaten korrekt konfiguriert sind.
SMPP-Adresse
Bitte beziehen Sie die folgenden Informationen über autorisierte Kanäle (z. B. Vertrieb oder technischer Support):
- IP-Adresse:
{ ip } - Port:
{ port } - Account:
{ system_id } - Passwort:
{ password }
Verbindungsaufbau
Client-Datenpaket
Nach dem Aufbau einer TCP-Verbindung muss das erste Datenpaket den Befehl BindTransceiver (0x00000009) zur Authentifizierung senden. Das Paket muss die folgenden Felder enthalten:
- system_id: Das dem Client zugewiesene Systemkonto zur Identitätsprüfung.
- password: Das zugehörige Zugangspasswort für die Authentifizierung des Systemkontos.
Server-Antwort
Erfolgreiche Antwort
- Der Server sendet als Antwort den Befehl
BindTransceiverResp(0x80000009). - Das Feld
system_identhält den Wert aus dem empfangenensystem_id-Feld.
Fehlgeschlagene Antwort
- Bei fehlgeschlagener Authentifizierung trennt der Server die TCP-Verbindung und protokolliert den Grund.
Nachrichtenversand
Server-Logik
Der Nachrichtenversand erfolgt über den Befehl SUBMIT_SM (0x00000004) zur Übermittlung von Nachrichtenanfragen. Die Server-Logik ist wie folgt:
- Der Server analysiert den Inhalt der Anfrage und nutzt den SMS-Kanal zur Zustellung.
- Die Zustellung erfolgt synchron, das Ergebnis wird mit dem Befehl
SUBMIT_SM_RESP(0x80000004) beantwortet. - Zustellberichte werden gemäß Abschnitt Zustellbericht gesendet.
- Es wird empfohlen, die UCS2-Kodierung zu verwenden, um Sonderzeichen und Internationalisierung zu unterstützen.
Client-Datenpaket
Der Client sendet den Befehl SUBMIT_SM (0x00000004) zum Übermitteln von Nachrichten mit folgenden Feldern:
- service_type
- Werte:
MSG/CODE/MRKT - Standardwert:
MSG
- Werte:
- source_addr
- Kann leer bleiben; wird aktuell für SMS nicht verwendet.
- destination_addr
- Ziel der Nachricht, muss im internationalen Telefonnummernformat angegeben werden (z. B.
+6598765432).
- Ziel der Nachricht, muss im internationalen Telefonnummernformat angegeben werden (z. B.
- short_message
- Der Nachrichteninhalt im JSON-Format, wie unten dargestellt:{ "id": "xxx", // Template-ID "language": "default", // Sprache, Standard ist "default" "code": "xx", // Verifizierungscode, wird bei service_type "code" verwendet "params": { // Benutzerdefinierte Schlüssel-Wert-Paare "key1": "val1" // Wert muss ein String sein } }
{ "id": "xxx", // Template-ID "language": "default", // Sprache, Standard ist "default" "code": "xx", // Verifizierungscode, wird bei service_type "code" verwendet "params": { // Benutzerdefinierte Schlüssel-Wert-Paare "key1": "val1" // Wert muss ein String sein } }Diesen Codeblock im schwebenden Fenster anzeigen
- Der Nachrichteninhalt im JSON-Format, wie unten dargestellt:
- data_coding
- Es wird empfohlen, die UCS2-Kodierung zu verwenden, damit Sonderzeichen
{}korrekt verarbeitet werden. - Falls
{}direkt gesendet werden können, kann die Standardkodierung (0x00) verwendet werden.
- Es wird empfohlen, die UCS2-Kodierung zu verwenden, damit Sonderzeichen
- header status
- Setzen Sie auf
0x00000000.
- Setzen Sie auf
Server-Antwort
Der Server antwortet auf Nachrichtenanfragen mit dem Befehl SUBMIT_SM_RESP (0x80000004).
Erfolgreiche Antwort
- Wert des header status-Feldes:
0x00000000 - MESSAGE_ID-Feld: Die Nachrichten-ID zur Zuordnung von Zustellberichten.
Fehlgeschlagene Antwort
- Der Server füllt das header status-Feld aus, um den Fehlergrund anzugeben:
| Statuscode | Beschreibung | Wert |
|---|---|---|
ESME_RINVPARAM |
Ungültige Parameter, bitte das Anfrageformat prüfen | 0x00000032 |
ESME_RSYSERR |
Interner Serverfehler, später erneut versuchen | 0x00000008 |
ESME_RSUBMITFAIL |
Zustellung fehlgeschlagen, evtl. Template-Problem | 0x00000045 |
ESME_RINVNUMMSGS |
Ungültiges short_message-Format |
0x00000055 |
ESME_RUNKNOWNERR |
Unbekannter Fehler, technischen Support kontaktieren | 0x000000FF |
Zustellbericht
Der Server meldet Zustellergebnisse über den Befehl DELIVER_SM (0x00000005). Die Felder sind wie folgt:
- service_type
- Fester Wert:
MSG
- Fester Wert:
- source_addr
- Leer.
- destination_addr
- Entspricht dem Feld
destination_addrim BefehlSUBMIT_SM.
- Entspricht dem Feld
- data_coding
- Kodierungsmethode: Standardwert
0x00.
- Kodierungsmethode: Standardwert
- esm_class
- Setzen Sie auf
0x00.
- Setzen Sie auf
- short_message
- Enthält den Zustellbericht im Format „delivery receipt“.
- ReceiptedMessageID in tlv
- Die Nachrichten-ID zur Zuordnung.
- MessageState in tlv
- Nachrichtenstatus, Feldwert
0x0427.
- Nachrichtenstatus, Feldwert
Statusauswertung
Das Feld short_message enthält den Wert stat, der Folgendes angibt:
| Status | Bedeutung |
|---|---|
DELIVRD |
Erfolgreich zugestellt |
UNDELIV |
Zustellung fehlgeschlagen |
Weitere Informationen
Ungültige Befehle
Bei ungültigen Befehlen vom Client sendet der Server den Befehl GENERIC_NACK (0x80000000) und protokolliert das Ereignis. Der Server unterstützt nur die folgenden Befehle:
EnquireLink-Befehl (0x00000015)Unbind-Befehl (0x00000006)SubmitSM-Befehl (0x00000004)DeliverSMResp-Befehl (0x80000005)BindTransceiver-Befehl (0x00000009)
Verbindung aufrechterhalten
Der Client muss alle 30 Sekunden (±5 Sekunden) den Befehl EnquireLink (0x00000015) senden, um die Verbindung aktiv zu halten.
Bedeutung der Zustellstatus
| Statuscode | Bedeutung |
|---|---|
ESME_RINVPARAM |
Ungültige Parameter, bitte das Anfrageformat prüfen |
ESME_RINVNUMMSGS |
Ungültiges short_message-Format |
ESME_RSUBMITFAIL |
Zustellung fehlgeschlagen, evtl. Template-Problem |
ESME_RSYSERR |
Interner Serverfehler, später erneut versuchen |
ESME_RUNKNOWNERR |
Unbekannter Fehler, technischen Support kontaktieren |
DELIVRD |
Erfolgreich zugestellt |
UNDELIV |
Zustellung fehlgeschlagen |
Begriffsdefinitionen
- SMPP: Short Message Peer-to-Peer Protocol für den Nachrichtenaustausch zwischen SMS-Gateways.
- SUBMIT_SM: SMPP-Befehl zum Übermitteln von Nachrichten.
- DELIVER_SM: SMPP-Befehl zur Übermittlung des Zustellstatus.
Bei Fragen wenden Sie sich bitte an den Technischen Support.
SEO-Hinweis: Dieses Dokument beschreibt die Schnittstelleninformationen und den Ablauf für das SMPP-Protokoll und SMS-Gateways.










