Alles Wissenswerte, nichts Unwissendes.
Wie SMPP funktioniert, Schritt für Schritt
Der ESME öffnet eine TCP-Verbindung (idealerweise TLS) und sendet `bind_transceiver` mit einer `system_id` und einem Passwort. Nach erfolgreicher Bindung übermittelt er jede Nachricht als `submit_sm`-PDU; der SMSC bestätigt dies mit einer `submit_sm_resp`, die eine `message_id` enthält. Zustellbestätigungen treffen asynchron als `deliver_sm`-PDUs über denselben Socket ein und werden anhand der `message_id` zugeordnet. Ein `enquire_link`-Heartbeat alle 30 Sekunden hält die Sitzung aktiv, und `unbind` beendet sie ordnungsgemäß. Siehe /answers/what-is-smpp und /answers/what-is-esme.
Bindungstypen und -versionen
Ein ESME bindet als Sender (nur Senden), Empfänger (nur Empfangen) oder Transceiver (beides über eine Verbindung). Transceiver über SMPP 3.4 ist der moderne Standard. SMPP 5.0 führte Unicode-konforme Header und Cell-Broadcast-Unterstützung ein, wurde aber kaum eingesetzt – die Installationsbasis basiert überwiegend auf Version 3.4. BroadNet akzeptiert SMPP 3.4-Bindungen; Host, Port und Zugangsdaten werden Ihnen mit Ihrem Testzugang bereitgestellt. Siehe /answers/smpp-3-4-vs-5-0.
Vorteile gegenüber einer REST-API
Eine persistente Verbindung verursacht nach ihrer Herstellung keine Kosten pro Nachricht. Daher benötigt SMPP bei anhaltendem Datenaufkommen nur etwa ein Zehntel der CPU-Leistung und ein Viertel der Bandbreite von HTTPS pro Anfrage. Es ist die einzige Möglichkeit, eine P99-Latenz von unter 100 ms zu einem SMSC zu erreichen – es findet kein HTTP-Handshake auf dem kritischen Pfad statt – und es streamt DLRs in Echtzeit zurück. Siehe /compare/sms-api-vs-smpp.
Einschränkungen und Fallstricke
SMPP ist ein binäres Protokoll, das Sie selbst bedienen müssen: Bindungsverwaltung, Wiederverbindung mit exponentiellem Backoff, Sequenznummernverfolgung und DLR-Abgleich anhand der message_id (bei manchen SMSCs als Hexadezimalwert, bei anderen als Dezimalwert zurückgegeben) liegen in Ihrer Verantwortung. Die Fehlerbehandlung ist einfach gehalten – ein fehlgeschlagener Sendevorgang liefert einen numerischen command_status, den Sie dekodieren müssen. Verwenden Sie die Suchfunktion `/tools/smpp-error-codes`, um diese Codes in Aktionen umzuwandeln. Ein produktionsreifer SMPP-Client besteht aus mehreren tausend Zeilen Quellcode; kaufen Sie lieber einen fertigen, anstatt ihn selbst zu entwickeln.
Wann sollte man SMPP gegenüber REST bevorzugen?
Wählen Sie SMPP, wenn Sie dauerhaft mehrere hundert Nachrichten pro Sekunde senden oder persistente Binds benötigen (Kapazität pro Bind wird mit Ihrem Account-Team vereinbart), latenzkritische OTP-Verfahren nutzen, bei denen jede Millisekunde zählt, oder sich in ein Betreiber-/Aggregator-Ökosystem integrieren, das bereits flächendeckend SMPP verwendet. Andernfalls ist eine REST SMS API (keine festen Ratenlimits pro Konto bei BroadNet) einfacher zu betreiben und nutzt dieselben Routen. Siehe /developers/smpp und /products/sms-api.
Welchen Port verwendet SMPP, und wird dieser auch im Jahr 2026 noch verwendet?
SMPP hat keinen festen Port; 2775 ist der historische Standardport für Klartext, und Betreiber stellen TLS üblicherweise auf einem dedizierten Port bereit (BroadNet stellt seinen TLS-Port mit Ihrem Konto bereit). Und ja – SMPP ist absolut aktuell: Es ist das Protokoll, das in praktisch jedem A2P-Verbindungsvertrag an erster Stelle steht, und BroadNet betreibt über 1.000 aktive Verbindungen hinter 1.000+ Betreiberverbindungen und überträgt täglich über 300 Mio. Nachrichten – seit 2003 mit einer Verfügbarkeit von 99,99 %.