Jak skonfigurować pole sm_default_msg_id

Pole sm_default_msg_id jest częścią PDU submit_sm i deliver_sm w protokole SMPP (Short Message Peer-to-Peer). Służy do odwoływania się do wstępnie zdefiniowanych (wbudowanych) krótkich wiadomości przechowywanych na SMSC, zazwyczaj za pomocą numerycznego identyfikatora.

Szczegóły pola

  • Nazwa pola: sm_default_msg_id
  • Rozmiar: 1 bajt (liczba całkowita bez znaku)
  • Zakres: 0–255
  • Zastosowanie: Wskazuje, którą domyślną wiadomość wysłać (jeśli istnieje)

Opis zastosowania

Pole sm_default_msg_id pozwala użytkownikowi zażądać, aby SMSC wysłało wstępnie zdefiniowaną wiadomość ze swojego wewnętrznego magazynu wiadomości. Może to być przydatne w środowiskach o ograniczonych zasobach lub do wysyłania standardowych wiadomości systemowych bez przesyłania pełnego tekstu za każdym razem.

Domyślne zachowanie

  • Jeśli sm_default_msg_id = 0, wówczas używana jest zdefiniowana przez użytkownika zawartość wiadomości w polu short_message.
  • Jeśli sm_default_msg_id > 0, wówczas używana jest wiadomość o tym ID, a pole short_message powinno być zazwyczaj puste lub ignorowane przez SMSC.

Typowe praktyki

W większości nowoczesnych systemów SMS i interfejsów API pole sm_default_msg_id nie jest używane i zazwyczaj jest ustawiane na 0. Rzeczywista zawartość wiadomości jest przesyłana za pośrednictwem pola short_message.

Przykładowe PDU z wartością domyślną

0000003B  // Długość polecenia (59 bajtów)
00000004  // ID polecenia: submit_sm
00000000  // Status polecenia
00000001  // Numer sekwencyjny
00        // service_type
01        // source_addr_ton
01        // source_addr_npi
31323334  // source_addr ("1234")
00
01        // dest_addr_ton
01        // dest_addr_npi
35363738  // destination_addr ("5678")
00
00        // esm_class
00        // protocol_id
00        // priority_flag
00        // schedule_delivery_time
00        // validity_period
00        // registered_delivery
00        // replace_if_present_flag
00        // data_coding
00        // sm_default_msg_id = 0 (użyj short_message)
05        // sm_length
48656C6C6F // short_message = "Hello"

Przykładowe PDU z predefiniowanym ID wiadomości

...
00        // sm_default_msg_id = 1 (użyj predefiniowanej wiadomości 1)
00        // sm_length
(puste)   // short_message jest puste lub ignorowane

Kiedy używać

Choć rzadko, możesz użyć pola sm_default_msg_id, gdy:

  • Pracujesz z starszymi implementacjami SMSC, które obsługują predefiniowane wiadomości
  • Wysyłasz powtarzalne alerty systemowe lub szablony przechowywane na SMSC w dużych ilościach
  • Twój dostawca SMS zaleca użycie tej funkcji

Ważne uwagi

  • Jeśli sm_default_msg_id > 0, niektóre SMSC mogą całkowicie ignorować pole short_message.
  • Jeśli oba pola są używane, zachowanie zależy od implementacji. Zawsze testuj lub sprawdzaj dokumentację.
  • Ustawienie wartości niezerowej bez prawidłowego ID predefiniowanej wiadomości może spowodować błąd dostarczenia lub odrzucenie wiadomości.

Podsumowanie

Pole sm_default_msg_id to starsza funkcja protokołu SMPP, która pozwala odwoływać się do domyślnych szablonów wiadomości przechowywanych na SMSC. Choć w nowoczesnych systemach jest rzadko używane, zrozumienie jego roli pomaga zapewnić kompatybilność przy pracy z starszymi bramkami lub niestandardowymi implementacjami SMSC.

Referencje

  • Specyfikacja protokołu SMPP 3.4
  • Dokumentacja SMSC SMPP dostawcy

More information