Konfiguration der SMPP-Telefonnummernfelder

SMPP (Short Message Peer-to-Peer) ist ein Protokoll, das von Telekomsystemen verwendet wird, um SMS-Nachrichten zwischen SMSC (Short Message Service Centers) und ESMEs (External Short Messaging Entities) auszutauschen. Eine Schlüsselkomponente des Protokolls ist die Kodierung von Telefonnummern (Quell- und Zieladressen) in der SMPP-PDU (Protocol Data Unit).

Adressparameter in SMPP

Die wichtigsten Felder zur Definition einer Telefonnummer in SMPP sind:

  • addr_ton (Type of Number)
  • addr_npi (Numbering Plan Indicator)
  • address_range oder source_addr/destination_addr

Type of Number (TON)

Dieses Feld definiert das Format der Nummer. Häufige Werte sind:

WertTONBeschreibung
0UnbekanntUnbekanntes Format
1InternationalNummer enthält Ländercode
2NationalLokales Nummernformat
5AlphanumerischWird für Absendernamen wie "MeineFirma" verwendet

Numbering Plan Indicator (NPI)

Dieses Feld gibt das Nummernformat an. Häufige Werte:

WertNPIBeschreibung
0UnbekanntUnbekanntes Format
1ISDN (E.164)Standardmäßiges internationales Telefonnummernformat
3DatenDatenetzwerk (X.121)

Kodierung einer Adresse

Bei der Kodierung einer Telefonnummer in SMPP wird die Nummer als nullterminierte ASCII-Zeichenkette zusammen mit den entsprechenden TON- und NPI-Werten gesendet.

Beispiel:

Telefonnummer: +14155552671
TON: 1 (International)
NPI: 1 (ISDN/E.164)
Kodiert als: 31 34 31 35 35 35 35 32 36 37 31 00  (ASCII "14155552671" + NULL)

Beispiel-SMPP-PDU

Unten ist ein Beispiel einer submit_sm-PDU mit einer Zielnummer:

0000003F  // Befehlslänge (63 Bytes)
00000004  // Befehls-ID (submit_sm)
00000000  // Befehlsstatus
00000001  // Sequenznummer
74657374  // service_type: "test"
01        // source_addr_ton: International
01        // source_addr_npi: ISDN
31323334  // source_addr: "1234" (ASCII)
00        // NULL-Terminator
01        // dest_addr_ton: International
01        // dest_addr_npi: ISDN
2B393138  // destination_addr: "+918123456789" (ASCII, ohne +)
31323334
35363738
3900      // NULL-Terminator
00        // esm_class
00        // protocol_id
00        // priority_flag
00        // schedule_delivery_time (null)
00        // validity_period (null)
00        // registered_delivery
00        // replace_if_present_flag
00        // data_coding (Standard GSM)
00        // sm_default_msg_id
0D        // sm_length (13)
48656C6C  // Kurznachricht ("Hello, World!")
6F2C2057
6F726C64
2100

Beispiel für alphanumerischen Absender

Bei Verwendung eines alphanumerischen Absendernamens (üblich für Einweg-Massen-SMS):

Absender: "MeineMarke"
TON: 5 (Alphanumerisch)
NPI: 0 (Unbekannt oder irrelevant)
Kodiert: ASCII-Zeichenkette "MeineMarke" + NULL-Terminator

Wichtige Hinweise

  • Alphanumerische Absenderkennungen dürfen maximal 11 Zeichen lang sein.
  • Alphanumerische Adressen werden nicht in allen Ländern unterstützt.
  • Stellen Sie sicher, dass TON und NPI korrekt mit Ihrem Adressformat übereinstimmen, um Routing-Probleme zu vermeiden.

Fazit

Die SMPP-Nummernkodierung ist entscheidend für die korrekte Zustellung von Nachrichten. Durch die korrekte Einstellung von TON, NPI und die richtige Kodierung der Adresse in ASCII (nullterminiert) können Entwickler die Kompatibilität mit SMSCs und Mobilfunknetzen sicherstellen.

More information