Wiązanie SMPP przy użyciu bind_transceiver

Ta strona dotyczy procedury wiązania SMPP. Wiązanie SMPP to żądanie ustanowienia połączenia na łączu SMPP. Ten przewodnik wyjaśnia, jak klient SMPP łączy się z serwerem SMPP poprzez wysłanie żądania wiązania SMPP. Wyjaśnia różnice między możliwymi trybami połączenia (nadajnik, odbiornik i transceiver) oraz daje wgląd w łączenie wielu klientów przy użyciu tego samego konta użytkownika SMPP.

Czym jest wiązanie SMPP

Wiązanie SMPP to pierwsza PDU wysyłana po ustanowieniu łącza SMPP. Oprogramowanie SMPP, takie jak brama SMS Ozeki, wysyła PDU wiązania SMPP, aby zalogować się do SMSC. PDU wiązania SMPP zawiera nazwę użytkownika i hasło.

Jak tworzone jest połączenie SMPP

Podczas konfigurowania połączenia SMPP wykonywane są następujące kroki:

  • Klient SMPP inicjuje połączenie
  • Łącze TCP/IP jest połączone
  • W przypadku połączeń SMPPS przeprowadzane jest uzgadnianie SSL
  • Klient ustawia numer sekwencyjny PDU bind_transceiver na 0
  • Klient umieszcza nazwę użytkownika SMPP w PDU bind_transceiver
  • Klient umieszcza hasło SMPP w PDU bind_transceiver
  • Klient wysyła PDU bind_transceiver
  • Serwer sprawdza nazwę użytkownika (identyfikator systemu SMPP) i hasło
  • Jeśli uwierzytelnienie jest poprawne, ustawiany jest kod błędu 0.
  • Serwer zwraca PDU bind_transceiver_resp.
  • Klient SMPP jest gotowy do wysyłania SMS

Konfiguracja połączenia SMPP wyjaśniona

Rysunek 1 wyjaśnia konfigurację połączenia SMPP. Można zobaczyć, że klient SMPP inicjuje połączenie, a do uwierzytelnienia używana jest pojedyncza transakcja. Można również zauważyć, że po pomyślnym zalogowaniu wiadomości SMS można wysyłać za pomocą PDU submit_sm. A przychodzące raporty dostarczenia i przychodzące wiadomości SMS można odbierać za pomocą PDU deliver_sm.

Rysunek 1 - Konfiguracja połączenia SMPP wyjaśniona

Wprowadzenie do żądań wiązania SMPP

Żądania wiązania SMPP są używane do ustanawiania połączenia SMPP. Są wysyłane przez klienta SMPP do serwera SMPP, gdy klient SMPP próbuje się zalogować. Istnieją 3 typy żądań wiązania: SMPP bind_transmitter, SMPP bind_receiver, SMPP bind_transceiver. SMPP bind_transmitter może być używany tylko do przesyłania wiadomości SMS, bind_receiver tylko do odbierania wiadomości SMS, a bind_transceiver może być używany do obu tych celów. SMPP bind_transceiver jest najczęściej stosowaną metodą. Jest popularny, ponieważ pozwala na jednoczesne wysyłanie i odbieranie wiadomości SMS przez jedno połączenie.

Czym jest bind_transmitter

PDU SMPP bind_transmitter jest wysyłane przez klienta SMPP w celu połączenia w sposób dedykowany do wysyłania wiadomości SMS. To połączenie nie może być używane do odbierania wiadomości SMS. Ta metoda wiązania jest rzadko używana. Większość klientów łączy się teraz za pomocą bind_transceiver.

Czym jest bind_receiver

PDU SMPP bind_receiver jest wysyłane przez klienta SMPP w celu połączenia w sposób dedykowany do odbierania wiadomości SMS. To połączenie nie może być używane do wysyłania wiadomości SMS. Ta metoda wiązania jest rzadko używana. Większość klientów łączy się teraz za pomocą bind_transceiver.

Czym jest bind_transceiver

PDU SMPP bind_transceiver jest wysyłane przez klienta SMPP w celu połączenia w sposób umożliwiający zarówno wysyłanie, jak i odbieranie wiadomości SMS. Większość połączeń klientów SMPP jest konfigurowana przy użyciu tej metody połączenia.

Czy powinienem wiązać za pomocą transceiver, transmitter czy bind_receiver?

Spośród trzech trybów działania SMPP. Klient SMPP (często określany jako ESME) powinien wybrać tryb bind_transceiver. Pozwala to na używanie tego samego połączenia zarówno do wysyłania, jak i odbierania wiadomości SMS. Używanie pojedynczego połączenia bind_transceiver jest podobne do posiadania połączenia nadajnika i odbiornika przez to samo łącze sieciowe i umożliwia jednoczesne przesyłanie i odbieranie.

Samouczek wideo dotyczący konfiguracji połączenia SMPP

Poniższy film demonstruje, jak można skonfigurować połączenie klienta SMPP i jak można wysłać żądanie logowania do serwera SMPP za pomocą PDU bind_transceiver SMPP. Film pokazuje to z perspektywy klienta SMPP.

Wideo 1 - Jak skonfigurować połączenie klienta SMPP i wysłać żądanie logowania do serwera SMPP (Samouczek wideo)

Jak klient SMPP łączy się z serwerem SMPP?

Gdy klient SMPP łączy się z Twoim serwerem SMPP, najpierw ustanawia połączenie TCP/IP. Jeśli używasz bezpiecznego serwera SMPP opartego na SMPPS, po ustanowieniu TCP/IP następuje uzgadnianie SSL. Następny krok odbywa się na poziomie warstwy aplikacji, czyli warstwy SMPP. W warstwie protokołu SMPP, pierwsza PDU, która jest wysyłana przez klienta, to SMPP bind_transceiver. Ta PDU zawiera nazwę użytkownika (często określaną jako identyfikator systemu SMPP) i hasło. Serwer sprawdza te dane logowania i decyduje, czy połączenie klienta jest akceptowane. Jeśli dane logowania są poprawne, serwer zwraca odpowiedź SMPP bind_transceiver_resp bez kodu błędu. (Rysunek 2)

Rysunek 2 - Jak klient SMPP wysyła żądanie wiązania

Przykład SMPP bind_transceiver

Poniższy fragment dziennika został pobrany z dziennika połączenia klienta SMPP Ozeki 10. Możesz zobaczyć standardową konfigurację połączenia SMPP. Jeśli przeczytasz dziennik, zauważysz, że najpierw nawiązywane jest połączenie TCP/IP, a następnie wysyłany jest PDU SMPP bind_transceiver. Serwer SMPP odpowiedział odpowiedzią bind_transceiver_resp. Ozeki 10 SMS Gateway zaakceptował tę odpowiedź i wpisał "Udane logowanie." do dziennika.

2021-04-06 12:06:09.082 INFO SMPP_client_1: [TCP client] Łączenie z 192.168.93.113:9550.
2021-04-06 12:06:09.082 INFO SMPP_client_1: Połączono z 192.168.93.6:33444 do 192.168.93.113:9550.
2021-04-06 12:06:09.082 INFO SMPP_client_1: <- 00000030000000090000000000000001736D703100717765313233004F5A454B493130003401012B3030303030303000
2021-04-06 12:06:09.082 INFO SMPP_client_1: -> 0000001C8000000900000000000000014F5A454B4953595354454D00
2021-04-06 12:06:09.082 INFO SMPP_client_1: Udane logowanie.
2021-04-06 12:06:09.082 INFO SMPP_client_1: Połączenie aktywne.

Akceptowanie klientów SMPP na serwerze SMPP

Gdy prowadzisz własny serwer SMPP, tworzysz nazwy użytkowników i hasła SMPP, aby akceptować przychodzące połączenia klientów SMPP. Twoi klienci wprowadzą swoje nazwy użytkowników i hasła wraz z adresem IP i portem SMPP twojego serwera SMPP do konfiguracji swojego oprogramowania klienta SMPP. Po tym ich oprogramowanie połączy się z twoim systemem.

Niektóre serwery SMPP pozwalają tylko na jedno połączenie z tą samą nazwą użytkownika i hasłem. Serwer SMPP Ozeki 10 pozwala twoim klientom na łączenie się z wielu komputerów jednocześnie. Alternatywnie, mogą oni utworzyć wiele połączeń TCP z tego samego komputera i połączyć się z tą samą nazwą użytkownika i hasłem. Nazywa się to wielokrotnym wiązaniem SMPP.

Jak używać SMPP bind do łączenia wielu klientów SMPP

Rysunek 3 pokazuje, jak pojedynczy klient o nazwie Klient "A" może połączyć się z tym samym serwerem SMPP z jedną nazwą użytkownika i hasłem, używając wielu żądań wiązania SMPP. W tej konfiguracji klient może wysłać PDU bind_transceiver na wszystkich swoich łączach.

Rysunek 3 - Wielu klientów łączących się z serwerem SMPP

Samouczek wideo o tym, jak akceptować wiele połączeń klientów

Poniższy film pokazuje, jak można skonfigurować Ozeki 10 SMS gateway z jednym kontem użytkownika SMPP, aby akceptować wiele połączeń klientów. W skrócie, nie jest potrzebna specjalna konfiguracja. Gdy przypiszesz nazwę użytkownika i hasło do połączenia, wielu klientów może się połączyć. W tym przypadku zalecamy włączenie dziennika niskiego poziomu SMPP (jak pokazano w filmie), aby upewnić się, że wiesz, gdzie trafia każda z twoich wiadomości SMPP. Dziennik niskiego poziomu SMPP pokaże ci, który klient SMPP wysłał konkretny PDU SMPP, a także zobaczysz odpowiedź z serwera SMPP.

Wideo 2 - Jak akceptować wiele połączeń klientów (Samouczek wideo)

Debugowanie przychodzących żądań bind_transceiver

Jeśli dokładnie przejrzysz dziennik komunikacji SMPP, zauważysz, że przychodzące żądania wiązania SMPP nie są obecne w dzienniku konkretnego użytkownika SMPP. Dzieje się tak dlatego, że gdy ten PDU przychodzi, żaden użytkownik nie jest jeszcze przypisany do połączenia. Aby zobaczyć żądania wiązania SMPP, musisz otworzyć formularz konfiguracyjny serwera SMPP. Można to zrobić, klikając przycisk Zaawansowane na pasku narzędzi, a następnie wybierając stronę Szczegóły serwera SMPP (Rysunek 4).

Rysunek 4 - Otwieranie strony szczegółów serwera SMPP

Na stronie szczegółów SMPP od razu zobaczysz przychodzące PDU-s wiązania SMPP. Warto wspomnieć, że odpowiedzi PDU nie są tutaj wymienione. Dokładniej, są one wymienione tylko w przypadku nieudanych prób logowania. Gdy użytkownik SMPP został pomyślnie zidentyfikowany za pomocą nazwy użytkownika i hasła, dzienniki z odpowiednich połączeń klientów SMPP są zapisywane w dzienniku tego użytkownika. (Rysunek 5)

Rysunek 5 - Dziennik PDU wiązania SMPP

Kto jest podłączony do mojego serwera SMPP?

Jeśli otworzysz stronę szczegółów użytkownika SMPP, możesz zobaczyć aktualnie podłączonych klientów w sekcji Podłączeni klienci na lewym panelu. Tutaj zobaczysz zdalne punkty końcowe TCP/IP dla każdego klienta. Te punkty końcowe służą do identyfikacji wpisów dziennika dla danego klienta w dzienniku komunikacji SMPP niskiego poziomu, który można znaleźć w lewym panelu (Rysunek 6).

Rysunek 6 - Lista podłączonych klientów SMPP

Jak obsługiwane są przychodzące wiadomości?

Jeśli którykolwiek z klientów SMPP wyśle SMS za pomocą żądania SMPP submit_sm, jego odpowiedni raport SMPP submit (zwany submit_sm_resp) zostanie zwrócony przez to samo połączenie. Pozwala to klientom SMPP na prawidłowe przetwarzanie raportów z przesłanych SMS-ów, nawet jeśli działają na różnych komputerach.

Dla przychodzących wiadomości SMS i raportów dostarczenia, brama SMS Ozeki 10 wykonuje równoważenie obciążenia między podłączonymi klientami. Oznacza to, że gdy na połączeniu przychodzącego klienta SMPP pojawi się wolna przepustowość, przychodzące wiadomości SMS i raporty dostarczenia zostaną przesłane do tego klienta. Jeśli żaden klient nie jest podłączony lub jeśli połączenia klientów są zajęte wysyłaniem lub odbieraniem wiadomości SMS, przychodzące wiadomości SMS zostaną zapisane w folderze skrzynki odbiorczej.

Należy zauważyć, że przychodzące raporty dostarczenia nie będą dopasowywane do klientów wysyłających. Dzieje się tak dlatego, że gdy raport dostarczenia nadejdzie, może się okazać, że klient wysyłający nie jest podłączony lub jest podłączony z innego adresu. Pamiętaj, że raporty dostarczenia mogą nadejść znacznie później. Oznacza to, że możliwe jest, że raport dostarczenia zostanie zwrócony przez inne połączenie niż to, przez które SMS został wysłany. Dzieje się tak tylko wtedy, gdy wielu klientów jest podłączonych przy użyciu tej samej nazwy użytkownika i hasła SMPP. Aby uniknąć tej sytuacji, możesz utworzyć wiele kont użytkowników SMPP dla swojego klienta i poinformować go, że powinni łączyć się z jednym połączeniem na każde konto użytkownika.

More information