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).
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)
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.
Parametry SMPP submit_sm (Szybka lista)
Parametry submit_sm
- długość polecenia
- identyfikator polecenia
- status polecenia
- numer sekwencyjny
- typ usługi
- adres źródłowy
- adres docelowy
- flagi SMS
- znaczniki czasu
- schemat kodowania danych
- krótka wiadomość
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_npi | 1 | Integer | Wskaź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_class | 1 | Integer | Określa tryb i typ wiadomości |
protocol_id | 1 | Integer | Identyfikator protokołu. Pole specyficzne dla sieci. |
priority_flag | 1 | Integer | Okreś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_coding | 1 | Integer | Definiuje 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_length | 1 | Integer | Dł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
- Użytkownik SMPP
- Jak skonfigurować usługę SMPP
- Jak stworzyć bezpieczny serwer SMPP z SMPPS
- Powiązanie transceivera SMPP
- Jak działają PDU SMPP submit_sm i deliver_sm
- Bezpieczny certyfikat SSL SMPP
- Jak śledzić SMS w logach SMPP
- Kody błędów SMPP - status SMPP
- Wprowadzenie do protokołu SMS
- Jak skonfigurować limit powiązania