Jak działają SMPP submit_sm i SMPP deliver_sm

Ta strona zawiera informacje o tym, jak działa procedura przesyłania SMS-ów. Zobaczysz również, co dzieje się wewnątrz sieci komórkowej po przesłaniu wiadomości SMS na serwer SMPP za pomocą PDU SUBMIT_SM.

Co to jest SMPP submit_sm

SMPP submit_sm to jednostka danych protokołu SMPP (SMPP PDU) używana do przesyłania wiadomości SMS na serwer SMPP Ozeki.

SMPP submit_sm

PDU SMPP submit_sm to PDU wysyłane na serwer SMPP, gdy klient SMPP chce wysłać wiadomość SMS za pomocą protokołu SMPP. Po odebraniu tego PDU przez serwer SMPP, numer telefonu jest wyszukiwany w rejestrze Home Location Register (HLR) operatora sieci komórkowej. Wyszukiwanie w HLR jest konieczne, aby ustalić, w której sieci aktualnie znajduje się telefon komórkowy. Gdy ta informacja jest dostępna, SMS jest przekazywany do Mobile Switching Station (MSC) sieci. Ta stacja jest odpowiedzialna za dostarczenie SMS-a do terminala odbiorcy. Ostatni krok jest wykonywany przez MSC. Przekazuje SMS-a na telefon odbiorcy (Rysunek 1).

Rysunek 1 - Trasa wiadomości SMS w sieci komórkowej

Wyjaśnienie dostarczania SMS-a przez SMPP submit_sm

  • SMS jest przesyłany przez klienta SMPP
  • SMS jest odbierany przez serwer SMPP
  • Serwer SMPP zwraca raport przesyłania (submit_sm_resp)
  • SMSC wykonuje wyszukiwanie w HLR
  • SMS jest przekazywany do MSC
  • SMS jest wysyłany na telefon komórkowy
  • Telefon komórkowy potwierdza wiadomość
  • MSC wysyła potwierdzenie do SMSC
  • Serwer SMPP w SMSC tworzy raport dostarczenia
  • Serwer SMPP wysyła raport dostarczenia do klienta SMPP
  • Klient SMPP potwierdza raport dostarczenia

Jak widać na Rysunku 1, druga część procedury przesyłania SMS-a to dostarczenie raportu dostarczenia SMS-a. Jest to realizowane przez serwer SMPP za pomocą PDU SMPP deliver_sm. Raport dostarczenia jest zwracany do klienta SMPP w taki sam sposób, jak standardowy SMS.

Przykład SMPP submit_sm wyjaśniony

Poniższy diagram pokazuje przykład PDU SMPP submit_sm wysłanego przez klienta SMPP Ozeki 10 SMS Gateway. Na rysunku widać PDU SMPP bind o nazwie SMPP bind_transmitter. Następnie występuje PDU SMPP submit_sm i PDU SMPP deliver_sm. (Rysunek 2)

Rysunek 2 - Przykład PDU SMPP submit_sm

Przykład SMPP submit_sm

2021-04-06 12:06:25.356 INFO SMPP_client_1: <- 00000098000000040000000000000002000101303030303030300001013336323035343630363930000000010000010000006548656C6C6F2C205468697320697320612074657374206D6573736167652066726F6D204F7A656B6920534D5320476174657761792E20506C65617365207669736974207777772E6F7A656B692E687520666F72206D6F726520696E666F726D6174696F6E2E
2021-04-06 12:06:25.356 INFO SMPP_client_1: -> 0000001B8000000400000000000000023339373439363831303500

Przykład SMPP deliver_sm

2021-04-06 12:06:27.033 INFO SMPP_client_1: -> 000000AA000000050000000000000001000101303030303030300001013336323035343630363930000400000000000003007769643A33393734393638313035207375623A30303120646C7672643A303031207375626D697420646174653A3231303430363132303620646F6E6520646174653A3231303430363132303620737461743A44454C49565244206572723A30303020746578743A44656C697665727920737563636573732E
2021-04-06 12:06:27.033 INFO SMPP_client_1: <- 0000001180000005000000000000000100

Samouczek wideo SMPP submit_sm

Poniższy film pokazuje, jak można skonfigurować połączenie klienta SMPP i jak można wysłać wiadomość SMS za pomocą PDU SMPP submit_sm.

Wideo 1 - Jak skonfigurować połączenie klienta SMPP i wysyłać wiadomości SMS za pomocą PDU SMPP submit_sm (Samouczek wideo)

Parametry SMPP submit_sm (Szybka lista)

Parametry submit_sm

  1. długość polecenia
  2. identyfikator polecenia
  3. status polecenia
  4. numer sekwencyjny
  5. typ usługi
  6. adres źródłowy
  7. adres docelowy
  8. flagi SMS
  9. znaczniki czasu
  10. schemat kodowania danych
  11. krótka wiadomość
Parametry SMPP submit_sm
Nazwa pola Rozmiar (oktety) Typ Opis
command_length 4 Integer Ustaw na całkowitą długość PDU.
command_id 4 Integer 0x00000004
command_status 4 Integer 0x00000000
sequence_number 4 Integer Ustaw na unikalny numer sekwencyjny. Powiązane PDU submit_sm_resp zwróci ten sam numer sekwencyjny.
service_type Var. max 6 C-Octet String Parametr service_type może być używany do wskazania usługi aplikacji SMS związanej z wiadomością. Określenie service_type pozwala ESME korzystać z rozszerzonych usług wiadomości, takich jak „replace by service_type” lub kontrolować usługę telekomunikacyjną używaną w interfejsie radiowym.
Ustaw na NULL dla domyślnych ustawień MC.
source_addr_ton 1 Integer Typ numeru dla adresu źródłowego.
Jeśli nieznany, ustaw na NULL (Nieznany).
source_addr_npi 1 Integer Wskaźnik planu numeracji dla adresu źródłowego.
Jeśli nieznany, ustaw na NULL (Nieznany).
source_addr Var. max 21 C-Octet String Adres SME, który wygenerował tę wiadomość.
Jeśli nieznany, ustaw na NULL (Nieznany).
dest_addr_ton  1  Integer  Typ numeru dla adresu docelowego
dest_addr_npi1IntegerWskaźnik planu numeracji dla adresu docelowego
destination_addr Var. max 21 C-Octet String Adres docelowy tej wiadomości SMS. Dla wiadomości przesyłanych do urządzeń mobilnych jest to numer katalogowy odbiorcy MS.
esm_class1IntegerOkreśla tryb i typ wiadomości
protocol_id1IntegerIdentyfikator protokołu. Pole specyficzne dla sieci.
priority_flag1IntegerOkreśla poziom priorytetu wiadomości
schedule_delivery_time 1 or 17 C-Octet String Wiadomość krótka ma być zaplanowana przez MC do dostarczenia.
Ustaw na NULL dla natychmiastowego dostarczenia wiadomości.
validity_period 1 or 17 C-Octet String Okres ważności tej wiadomości.
Ustaw na NULL, aby użyć domyślnego okresu ważności MC.
Uwaga: jest to zastępowane przez TLV qos_time_to_live, jeśli jest określony.
registered_delivery 1 Integer Wskaźnik określający, czy wymagane jest potwierdzenie dostarczenia przez MC, ręczne ACK, ACK dostarczenia lub powiadomienie pośrednie.
replace_if_present_flag 1 Integer Flaga wskazująca, czy przesłana wiadomość powinna zastąpić istniejącą wiadomość.
data_coding1IntegerDefiniuje schemat kodowania danych użytkownika w wiadomości krótkiej.
sm_default_msg_id 1 Integer Wskazuje wiadomość krótką do wysłania z listy predefiniowanych („canned”) wiadomości krótkich przechowywanych w MC. Jeśli nie używasz predefiniowanej wiadomości MC, ustaw na NULL.
sm_length1IntegerDługość danych użytkownika w wiadomości krótkiej w oktetach.
short_message Var. 0-255 Octet String Do 255 oktetów danych użytkownika wiadomości krótkiej.
Dokładny fizyczny limit rozmiaru short_message może się różnić w zależności od sieci.
Uwaga: to pole jest zastępowane przez TLV message_payload, jeśli jest określony.
Message Submission TLVs Var. TLV

More information