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.
| Angabe | Bedeutung |
|---|---|
| Host und TLS-Port | Wohin sich Ihr Client verbindet |
| system_id und Passwort | Bind-Zugangsdaten; als Secrets speichern |
| system_type | Meist leer, sofern der Anbieter keinen Wert vorgibt |
| Binds und Durchsatz | Wie viele Sitzungen Sie öffnen dürfen und die vereinbarte Rate pro Bind |
| IP-Allowlist | Nur 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.
- Öffnen Sie eine TLS-Verbindung zum erhaltenen Host und Port.
- Senden Sie bind_transceiver mit system_id und Passwort und warten Sie auf bind_transceiver_resp mit command_status 0.
- Übermitteln Sie jede Nachricht mit submit_sm und speichern Sie die message_id aus submit_sm_resp.
- Empfangen Sie Zustellberichte als deliver_sm und beantworten Sie jeden mit deliver_sm_resp.
- Senden Sie im Leerlauf enquire_link und verbinden Sie sich mit Backoff neu, wenn keine Antworten mehr kommen.
- 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_status | Wahrscheinliche Ursache | Lösung |
|---|---|---|
| ESME_RBINDFAIL | Falsche system_id oder IP nicht freigeschaltet | Zugangsdaten und Quell-IP prüfen |
| ESME_RINVPASWD | Falsches Passwort | Zugangsdaten prüfen |
| ESME_RINVSRCADR | Absenderkennung oder deren TON/NPI ungültig | Absender und TON/NPI korrigieren |
| ESME_RTHROTTLED | Versand über der vereinbarten Rate | Tempo drosseln und mit Backoff erneut senden |
