SMPP Spezifikationen

Das Short Message Peer to Peer Protokoll (SMPP) ist der de-facto Standard zum SMS-Versand und -Empfang für Telekommunikationsbetreiber, SMS Aggregatoren und Netzbetreiber, um SMS Nachrichten zwischen Short Message Service Centern (SMSC) und/oder External Short Messaging Entities (ESME) auszutauschen. SMPP ist ein Level-7 TCP/IP-Protokoll, das einen schnellen Versand von SMS-Nachrichten ermöglicht.

Die Verbindung zwischen der Anwendung und dem seven.io SMPP-Server ist SMPP Version 3.4 – die Versionen 3.3 oder 5.0 werden nicht unterstützt.

SMPP Version 3.4 Issue 1.2 Spezifikationen

Sofern Sie einen SMPP Zugang zu unserem Gateway benötigen, schreiben Sie uns bitte eine kurze Nachricht mit Ihrem ungefähren monatlichen SMS Volumen und Ihrer IP bzw. IP-Range, von der aus Sie sich zu unserem SMPP Server verbinden möchten.


Host und Port

Jeder unserer SMPP Server ermöglicht Ihnen die reguläre Verbindung (plaintext) oder eine verschlüsselte Verbindung per TLS. Sollten Sie eine getunnelte Verbindung per VPN benötigen, schreiben Sie uns bitte.

HostnamePortTLS Port
smpp0.seven.io27752776

Unterstützte PDUs

Folgende Packet Data Units (PDU) werden unterstützt:t

  • bind_transmitter
  • bind_receiver
  • bind_transceiver
  • unbind
  • submit_sm
  • deliver_sm
  • enquire_link

Bind und Durchsatz

Je nach Konfiguration Ihres SMPP Zugangs sind mehrere Binds möglich. Standardmäßig erlauben wir maximal die Anbindung über 2 Sessions und 5 SMS/s je Session.

Sie haben drei Möglichkeiten, eine Verbindung über SMPP herzustellen. Um Statusberichte empfangen zu können, müssen Sie einen Bind als transceiver oder receiver aufbauen.

  • transmitter – senden Sie Kurznachrichten an das SMSC und empfangen Sie Antworten vom SMSC
  • receiver – Empfang von Statusberichten vom SMSC und Rückgabe der entsprechenden Antworten
  • transceiver – Senden und Empfangen von Nachrichten zum und vom SMSC über eine einzige SMPP-Sitzung

Bind Parameter

Eine SMPP bind_receiver, bind_transceiver oder bind_transmitter PDU-Anfrage hat einen festen Satz von Feldern. Einige Felder sind dabei irrelevant bzw. werden von unserem Server ignoriert..

  • Name
    system_id
    Type
    string
    Description

    Benutzername – wird Ihnen zur Verfügung gestellt

  • Name
    password
    Type
    string
    Description

    Passwort – wird Ihnen zur Verfügung gestellt

  • Name
    system_type
    Type
    string
    Description

    Wird ignoriert

  • Name
    interface_version date
    Type
    timestamp
    Description

    3.4

  • Name
    addr_ton
    Type
    timestamp
    Description

    Wird ignoriert

  • Name
    addr_npi
    Type
    timestamp
    Description

    Wird ignoriert

  • Name
    address_range
    Type
    string
    Description

    Wird ignoriert


Statusberichte

SMPP Statusberichte werden im folgenden Format gesendet:

  • Name
    id
    Type
    string
    Description

    Die ID der Nachricht, welche von unserem Server zugewiesen wurde

  • Name
    sub
    Type
    string
    Description

    Die Anzahl ursprünglich versendeter SMS

  • Name
    dlvrd
    Type
    string
    Description

    Die Anzahl zugestellter SMS

  • Name
    submit date
    Type
    timestamp
    Description

    Datum und Zeitpunkt des ursprünglichen Versands der SMS

  • Name
    done date
    Type
    timestamp
    Description

    Datum und Zeitpunkt des finalen Statusberichtes username.

  • Name
    stat
    Type
    string
    Description

    Finaler Statusbericht der SMS. Siehe Tabelle unten.

  • Name
    err
    Type
    integer
    Description

    Gegebenenfalls kann dieser einen netzwerkspezifischen Fehlercode oder einen SMSC-Fehlercode enthalten.

  • Name
    text
    Type
    timestamp
    Description

    Die ersten 20 Zeichen der Kurznachricht

Beispiel Statusbericht

id:c0296bc5-e4d2-4ed7-bcc9-9e9b502dd302
sub:001
dlvrd:001
submit date:221206094424 
done date:22106094426
stat:DELIVRD
err:000 
text:

Beispiel Statusbericht

    id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm 
    done date:YYMMDDhhmm stat:DDDDDDD err:E text:

Statuscodes

DLRBeschreibung
DELIVRDNachricht wurde an das Ziel zugestellt
ACCEPTDNachricht wurde vom SMSC akzeptiert
EXPIREDGültigkeitszeitraum der SMS abgelaufen
DELETEDNachricht wurde gelöscht
UNDELIVNachricht konnte nicht zugestellt werden
UNKNOWNStatus der SMS unbekannt
REJECTDNachricht wurde abgewiesen

Fehlercodes

DecHexFehlercodeBeschreibung
00x000000ESME_ROKOk – Nachricht akzeptiert
10x000001ESME_RINVMSGLENUngültige Nachrichtenlänge
20x000002ESME_RINVCMDLENUngültige Command Länge
30x000003ESME_RINVCMDIDUngültige Command ID
40x000004ESME_RINVBNDSTSUngültiger bind Status
50x000005ESME_RALYBNDBindversuch, wenn bereits gebunden
60x000006ESME_RINVPRTFLGUngültige Prioritätskennzeichnung
70x000007ESME_RINVREGDLVFLGUngültiger registrierted-delivery Flag
80x000008ESME_RSYSERRSMSC System Fehler
100x00000aESME_RINVSRCADRUngültige source address
110x00000bESME_RINVDSTADRUngültige destination address
120x00000cESME_RINVMSGIDUngültige message-id
130x00000dESME_RBINDFAILAllgemeiner bind Fehler
140x00000eESME_RINVPASWDUngültige password
150x00000fESME_RINVSYSIDUngültige System-ID
170x0000011ESME_RCANCELFAILAbbruchfehler
190x0000013ESME_RREPLACEFAILErsetzen Fehler
200x0000014ESME_RMSGQFULZu viele Nachrichten in der Warteschlange
220x0000016ESME_RINVSERTYPUngültiger Services Type
510x0000033ESME_RINVNUMDESTSUngültige Nummer der Zieladresse
520x0000034ESME_RINVDLNAMEUngültiger Name
640x0000040ESME_RINVDESTFLAGUngültige Destination Flag Option
660x0000042ESME_RINVSUBREPUngültiger Wer für submit mit replace Option
670x0000043ESME_RINVESMCLASSUngültiger Wert für das esm_class Feld
680x0000044ESME_RCNTSUBDLKann nicht an einen Verteiler senden
690x0000045ESME_RSUBMITFAILAllgemeiner Übertragungsfehler
720x0000048ESME_RINVSRCTONUngültiger Typ der Nummer der Quelle
730x0000049ESME_RINVSRCNPIUngültiges Flag für den Nummerierungsplan der Quelle
740x000004aESME_RINVDSTTONUngültige Art von Nummer für das Ziel
750x000004bESME_RINVDSTNPIUngültiges Flag für den Nummerierungsplan der Zieladresse
770x000004dESME_RINVSYSTYPUngültiger esm Typ
780x000004eESME_RINVREPFLAGUngültige submit mit replace Flag Option
850x0000055ESME_RINVNUMMSGSUngültige Anzahl an Nachrichten
880x0000058ESME_RtdROTTLEDSMSC drosselt eingehende Nachrichten
980x0000062ESME_RINVEXPIRYUngültiges Gültigkeitsdatum
1030x0000067ESME_RQUERYFAILquery_sm Request fehlgeschlagen
1940x00000c2ESME_RINVPARLENUngültige Parameterlänge
1950x00000c3ESME_RMISSINGOPTPARAMFehlende optionale Parameter
1960x00000c4ESME_RINVOPTPARAMVALUngültiger optionaler Parameterwert
2540x00000feESME_RDELIVERYFAILUREGenerischer Zustellungsfehler
2550x00000ffESME_RUNKNOWNERRUnbekannter Fehler

Spezifische Fehlercodes

Zusätzlich zu den standardisierten SMPP Fehlercodes senden wir eigene, spezifische Fehlercodes:

DecHexFehlercodeBeschreibung
10350x0000040bESME_RINVBALANCEGuthaben nicht ausreichend zum Versand der SMS