SMS

Was ist SMPP?

SMPP ist ein Protokoll zum Austausch von SMS zwischen Anwendungen, Gateways und Nachrichtenzentralen über eine persistente Verbindung.

Eine Anwendung kann eine Nachricht einliefern, bevor das Telefon des Empfängers erreichbar ist. Eine SMPP-Verbindung transportiert diese Einlieferung und die späteren Operationen, die berichten, was passiert ist.

Was transportiert die Verbindung?

SMPP transportiert Nachrichteneinlieferungen, eingehende Nachrichten und Zustellberichte zwischen verbundenen Systemen.

Ihre Anwendung kann sich mit einem Gateway verbinden, das den Datenverkehr weiterleitet. Sie kann sich auch direkt mit einer Nachrichtenzentrale verbinden, wenn der Anbieter diese Anbindung unterstützt.

Die SMPP-Referenz beschreibt diese Rollen und Operationen. Eine Nachrichtenzentrale speichert Nachrichten und leitet sie an Empfänger weiter.

Ein Gateway zwischen Ihrer Anwendung und der Zentrale fügt einen weiteren Routing-Schritt hinzu. Der Protokollname allein verrät nicht, wie viele Systeme die Nachricht verarbeiten.

Wie funktioniert eine SMPP-Sitzung?

Ihr Client öffnet eine Verbindung. Er authentifiziert die Sitzung und hält sie für Nachrichtenoperationen bereit.

Der Authentifizierungsschritt heißt Bind. Eine Transmitter-Sitzung sendet Nachrichten. Eine Receiver-Sitzung empfängt sie. Eine Transceiver-Sitzung unterstützt beide Richtungen.

Verwenden Sie den Sitzungstyp, den Ihr Workflow erfordert. Eine reine Sendeverbindung kann keine Empfangssitzung ersetzen, wenn Sie eingehende Operationen benötigen.

Ihr Client muss sich von Verbindungsverlusten erholen. Er muss außerdem empfangene Operationen bestätigen. Verfolgen Sie ausstehende Anfragen, damit eine verzögerte Antwort der richtigen Anfrage zugeordnet wird.

Belegt eine Einlieferungsantwort die Zustellung?

Eine Einlieferungsantwort meldet, ob der verbundene Dienst die Einlieferung angenommen hat, nicht ob das Telefon die Nachricht empfangen hat.

Die Operation submit_sm liefert eine Nachricht ein. Die zugehörige submit_sm_resp meldet das Ergebnis dieser Anfrage.

Eingehende Nachrichten und Zustellberichte können über deliver_sm eintreffen. Die Zustellberichts-Referenz erläutert Zustelloperationen und deren Inhalte.

Trennen Sie in Ihrer Anwendung das Einlieferungsergebnis vom Zustellergebnis. Eine Nachricht kann angenommen werden und später fehlschlagen, weil der Empfänger unerreichbar bleibt.

Was ändert sich, wenn ich stattdessen eine HTTP API verwende?

HTTP stellt Anfrage- und Antwortoperationen bereit, ohne dass Ihre Anwendung einen SMPP-Bind verwalten muss.

Ihre Anwendung muss weiterhin Wiederholungsversuche verarbeiten. Sie muss auch spätere Zustell­ergebnisse verarbeiten. HTTP verwandelt die asynchrone Zustellung eines Carriers nicht in eine synchrone Garantie.

Mit Bird liefern Sie über POST /v1/sms/messages ein und verfolgen die zurückgegebene Nachrichtenkennung. Die Sendeanleitung erläutert die 202-Annahmeantwort. SMS-Events liefert die nachfolgenden Zustellberichte.

Diese API-Verantwortlichkeiten sind von der Verwaltung einer SMPP-Verbindung zu einem Anbieter getrennt. APIs und Gateways erläutert die Schichten.

Macht SMPP Anbieter austauschbar?

Anbieter sind nicht austauschbar, nur weil sie dasselbe Protokoll verwenden. Sie können unterschiedliche Operationen, Kodierungen und Limits unterstützen.

Testen Sie die Fähigkeiten, die Ihre Anwendung nutzt, bevor Sie Datenverkehr umleiten. Ein erfolgreicher Bind belegt nicht, dass jede benötigte Operation bei diesem Anbieter funktioniert.

Die Gateway-Referenz empfiehlt, Implementierungsunterstützung und Leistung zu testen. Behalten Sie Ihre Zustellprüfungen bei einem Verbindungswechsel bei, anstatt einen neuen Endpunkt als vollständige Migration zu behandeln.

Wann sollte ich SMPP wählen?

Wählen Sie SMPP, wenn ein bestehendes System einen persistenten Bind oder SMPP-spezifische eingehende Operationen benötigt.

  1. Verwenden Sie HTTP für eine neue Anwendung ohne spezifische SMPP-Anforderung.
  2. Verwenden Sie SMPP, wenn ein bestehendes System einen persistenten Bind oder SMPP-spezifische eingehende Operationen benötigt.
  3. Testen Sie Anbieterunterstützung und Zustell­ergebnisse, bevor Sie Produktionsdatenverkehr umleiten.

Kurz gesagt

  1. Ihr Client verwaltet eine Sitzung.

    Er authentifiziert die Verbindung und übernimmt die Wiederherstellung, wenn die Verbindung ausfällt.

  2. Einlieferung und Zustellung sind unterschiedliche Vorgänge.

    Eine erfolgreiche Einlieferungsantwort belegt nicht, dass das Endgerät die Nachricht empfangen hat.

  3. Die Unterstützung variiert zwischen Anbietern.

    Testen Sie Operationen, Kodierung und Kapazität, anstatt anzunehmen, dass das Protokoll Anbieter austauschbar macht.

  4. HTTP kann die SMPP-Sitzungsverwaltung vermeiden.

    HTTP erspart Ihnen die Verwaltung eines SMPP-Binds, während Ihre Anwendung weiterhin Zustellereignisse verarbeitet.

Bauen Sie auf demselben Netzwerk auf.

Ein Test-API-Schlüssel steht Ihnen sofort zur Verfügung. Der Produktivbetrieb wird freigeschaltet, sobald Sie eine Zahlungsmethode hinzufügen und einen Absender verifizieren.

Ihre nächste Idee.
Bereit zur Verbindung.