Zum Inhalt springen
OmniChannels.ai

APIs und SMPP

Wie verbinde ich mich per SMPP mit einem SMS-Anbieter?

Aktualisiert

Kurze Antwort

Um sich per SMPP mit einem SMS-Anbieter zu verbinden, beantragen Sie einen Bind, registrieren Ihre Quell-IP-Adressen und öffnen eine TLS-Verbindung zum angegebenen Host und Port. Senden Sie bind_transceiver mit system_id und Passwort, übermitteln Sie Nachrichten mit submit_sm, bestätigen Sie jeden deliver_sm-Zustellbericht und senden Sie regelmäßig enquire_link, damit die Sitzung bestehen bleibt.

Was Sie vom Anbieter erhalten

SMPP-Zugänge richtet in der Regel der Anbieter ein, nicht der Kunde selbst. Nennen Sie ihm Ihre Zielländer, Absenderkennungen (Sender-IDs), das erwartete Spitzenvolumen und die öffentlichen IP-Adressen, von denen Sie sich verbinden.

AngabeBedeutung
Host und TLS-PortWohin sich Ihr Client verbindet
system_id und PasswortBind-Zugangsdaten; als Secrets speichern
system_typeMeist leer, sofern der Anbieter keinen Wert vorgibt
Binds und DurchsatzWie viele Sitzungen Sie öffnen dürfen und die vereinbarte Rate pro Bind
IP-AllowlistNur registrierte Quell-IPs können einen Bind aufbauen

Sitzung öffnen und betreiben

Ein Transceiver-Bind sendet und empfängt in einer Sitzung. Nutzen Sie getrennte Transmitter- und Receiver-Binds nur, wenn Ihr Client das verlangt.

  1. Öffnen Sie eine TLS-Verbindung zum erhaltenen Host und Port.
  2. Senden Sie bind_transceiver mit system_id und Passwort und warten Sie auf bind_transceiver_resp mit command_status 0.
  3. Übermitteln Sie jede Nachricht mit submit_sm und speichern Sie die message_id aus submit_sm_resp.
  4. Empfangen Sie Zustellberichte als deliver_sm und beantworten Sie jeden mit deliver_sm_resp.
  5. Senden Sie im Leerlauf enquire_link und verbinden Sie sich mit Backoff neu, wenn keine Antworten mehr kommen.
  6. Beenden Sie die Sitzung mit unbind und warten Sie auf unbind_resp.

Welche submit_sm-Felder verursachen die meisten Ablehnungen?

  • source_addr_ton und source_addr_npi: 5 und 0 für eine alphanumerische Absenderkennung, 1 und 1 für eine internationale Nummer.
  • destination_addr: Ländervorwahl plus Nummer, ohne Pluszeichen und ohne führende Nullen.
  • data_coding: 0 für das GSM-7-Standardalphabet, 8 für UCS-2 (Arabisch, Emoji und andere Schriften).
  • registered_delivery: 1, um einen Zustellbericht anzufordern.
  • short_message fasst bis zu 254 Oktette; für längere Inhalte nutzen Sie das TLV message_payload mit sm_length 0, niemals beides.

Häufige Bind- und Submit-Fehler

OmniChannels.ai richtet SMPP-3.4-Binds über TLS pro Konto ein, mit freigeschalteten Quell-IPs; Reseller und Wholesale-Partner können dedizierte Binds erhalten.

command_statusWahrscheinliche UrsacheLösung
ESME_RBINDFAILFalsche system_id oder IP nicht freigeschaltetZugangsdaten und Quell-IP prüfen
ESME_RINVPASWDFalsches PasswortZugangsdaten prüfen
ESME_RINVSRCADRAbsenderkennung oder deren TON/NPI ungültigAbsender und TON/NPI korrigieren
ESME_RTHROTTLEDVersand über der vereinbarten RateTempo drosseln und mit Backoff erneut senden

Offizielle Quellen