Jak śledzić wiadomość SMS w SMPP

Ozeki SMS Gateway udostępnia kilka dzienników, aby dowiedzieć się, co stało się z daną wiadomością SMS, która przeszła przez system. Jeśli świadczysz usługę SMPP, czasami otrzymasz prośbę od klienta dotyczącą wiadomości SMS. Ten przewodnik zawiera informacje, jak sprawdzić, co stało się z pojedynczą wiadomością SMS.

Znajdź wiadomość SMS wysłaną przez klienta

Aby znaleźć wiadomość SMS klienta, najpierw otwórz konto użytkownika SMPP klienta. Następnie wybierz kartę dziennika zdarzeń, aby zobaczyć komunikację między Twoim systemem a systemem klienta. Jeśli nie widzisz wiadomości w dziennikach, możesz otworzyć plik dziennika w Notatniku. Plik dziennika znajduje się w:

C:\Program Files\Ozeki\Data\Logs\Connections\SMPP_user_smp1_localhost.txt

Rysunek 1 - Otwórz konto użytkownika SMPP

Rysunek 2 - Wybierz kartę zdarzeń

Rysunek 3 - Znajdź wpis dziennika odpowiadający wiadomości.

Dziennik Submit SM

Ten wpis dziennika zwykle zawiera 5 linii kodu. Pierwsza linia to żądanie submit wysłane przez system klienta, następnie widzisz naszą odpowiedź na to żądanie, a potem logujemy zdarzenia związane z routingiem i dostarczeniem wiadomości.

INFO smp1: 192.168.112.150:60724 -> 0000003700000004000000000000001C00010130303030303030000101313233
3435363700000001000001000000085465737420736D73
INFO smp1: Wiadomość zaakceptowana z ID SMPP: 6682891798
INFO smp1: 192.168.112.150:60724 <- 0000001B80000004000000000000001C3636383238393137393800
INFO smp1: Odebrano: +0000000->+1234567 'Test sms'
INFO smp1: Wysyłanie. Trasa: defout_sms,Any_SMS_Connection@localhost +0000000 -> +1234567 'Test sms' ID zadania: 1326c0f0-e8fd-4ddd-97d2-68ff9401b112
INFO smp1: Submit zaakceptowany w HTTP_Server_1@localhost. Referencja submit: 701dbf6a-30a4-4bd9-8409-848fd68ce1a3 +0000000 -> +1234567 'Test sms' ID zadania: 1326c0f0-e8fd-4ddd-97d2-68ff9401b112

Dziennik Submit SM / Żądanie Submit

Pierwsza linia powyższego dziennika to dane, które system otrzymał od Twojego klienta. Twój klient przesłał swoją wiadomość SMS za pomocą żądania PDU SUBMIT_SM w SMPP. Oto dane bajtowe przedstawione w formacie HEX:

INFO smp1: 192.168.112.150:60724 -> 0000003700000004000000000000001C000101303030303030300001
013132333435363700000001000001000000085465737420736D73

Dziennik Submit SM / Odpowiedź Submit

Kolejne trzy linie w dzienniku dotyczą odpowiedzi. Twój system przypisuje wiadomości ID SMPP. W naszym przypadku jest to ID 6682891798. To ID będzie używane do odwoływania się do tej wiadomości, gdy nadejdzie raport dostawy. Następnie wysyła odpowiedź do Twojego klienta w formie PDU SUBMIT_SM_RESP. To PDU zawiera przypisane ID. Twój klient może zapisać to ID do późniejszego użycia.

INFO smp1: Wiadomość zaakceptowana z ID SMPP: 6682891798
INFO smp1: 192.168.112.150:60724 <- 0000001B80000004000000000000001C3636383238393137393800
INFO smp1: Odebrano: +0000000->+1234567 'Test sms'

Dziennik Submit SM / Dziennik routingu

Kolejne dwie linie dotyczą routingu wiadomości. System informuje Cię, która trasa została użyta do przesłania wiadomości do sieci komórkowej. Po zakończeniu routingu system również zaloguje, co stało się z wiadomością w docelowym połączeniu. W naszym przypadku zobaczysz, że użyto trasy default_sms, a wiadomość została wysłana do sieci komórkowej przez połączenie HTTP_Server_1@localhost.

INFO smp1: Wysyłanie. Trasa: defout_sms,Any_SMS_Connection@localhost +0000000 -> +1234567 'Test sms' ID zadania: 1326c0f0-e8fd-4ddd-97d2-68ff9401b112
INFO smp1: Submit zaakceptowany w HTTP_Server_1@localhost. Referencja submit: 701dbf6a-30a4-4bd9-8409-848fd68ce1a3 +0000000 -> +1234567 'Test sms' ID zadania: 1326c0f0-e8fd-4ddd-97d2-68ff9401b112

Jeśli chcesz bardziej szczegółowe informacje o tym, co stało się z wiadomością, możesz otworzyć dziennik połączenia sieci komórkowej i zobaczyć zdarzenia dostawy odpowiadające wiadomości w tym pliku dziennika. W tym przypadku otworzyłbyś dziennik połączenia HTTP_Server_1@localhost.

Znajdź raport dostawy SMPP

Po kilku minutach, gdy sieć komórkowa dostarczy SMS do telefonu odbiorcy, raport dostawy zostanie zwrócony do Twojego systemu. Twój system przekaże ten raport dostawy do klienta za pomocą żądania SMPP_DELIVER_SM. Ten raport dostawy będzie zawierał oryginalne ID SMPP wiadomości. W naszym przypadku będzie to: 6682891798. Aby znaleźć odpowiedni wpis raportu dostawy w pliku dziennika, wyszukaj to ID.

Rysunek 4 - Dziennik raportu dostawy

Dziennik raportów dostawy

Odpowiedni dziennik dostawy w tym przypadku zawiera 5 wpisów. Pierwszy wpis w dzienniku wyświetla informację dla Ciebie, która stwierdza, że wiadomość została dostarczona. Następna linia dostarcza informacji o tym, która trasa przychodząca została użyta do przekazania raportu dostawy do konta tego użytkownika. Kolejne dwie linie zawierają komunikację między Twoim systemem a systemem klienta. Zobaczysz, że Twój system wysyła PDU Deliver_SM protokołu SMPP do klienta, a klient zwraca odpowiedź, aby potwierdzić to żądanie.

2020-07-30 10:05:36.674 INFO smp1: Dostarczono. 'Dostarczono; Do: +1234567; O: 2020-07-30 10:05:36; Ref: 1326c0f0-e8fd-4ddd-97d2-68ff9401b112; Pomyślna dostawa o 30/07/2020 10:05:36' +0000000 -> +1234567 'Test sms' ID zadania: 1326c0f0-e8fd-4ddd-97d2-68ff9401b112
2020-07-30 10:05:36.674 INFO smp1: Wiadomość została pomyślnie przetworzona. Nie są wymagane dalsze zadania. Usuwanie jej z kolejki wysłanych. Trasa: smp1@localhost->HTTP_Server_1@localhost (Przenieś). Wiadomość: +0000000->+1234567 'Test sms' ID zadania: 1326c0f0-e8fd-4ddd-97d2-68ff9401b112
2020-07-30 10:05:36.674 INFO smp1: 192.168.112.150:60724 <- 000000A6000000050000000000000001000101303030303030300001013132333435363700040000000000000 3007769643A36363832383931373938207375623A30303120646C7672643A303031207375626D697420646174 653A3230303733303130303020646F6E6520646174653A3230303733303130303520737461743A44454C49565 244206572723A30303020746578743A44656C697665727920737563636573732E
2020-07-30 10:05:36.674 INFO smp1: 192.168.112.150:60724 -> 0000001180000005000000000000000100
2020-07-30 10:05:36.674 INFO smp1: Raport dostawy wysłany. UD: id:6682891798 sub:001 dlvrd:001 submit date:2007301000 done date:2007301005 stat:DELIVRD err:000 text:Delivery success.

FAQ

Jeśli wysyłam SMS z modemu GSM, protokół GSM pozwala na maksymalnie 256 identyfikatorów zwrotnych dla raportów dostawy. Jak rozróżniacie raporty dostawy, które mają ten sam identyfikator?

Tradycyjne dopasowywanie raportów dostawy SMS opiera się na identyfikatorze referencyjnym zwracanym przez sieć komórkową po wysłaniu wiadomości. Ten identyfikator, zazwyczaj liczba między 0 a 255, służy jako punkt odniesienia do kojarzenia raportów dostawy z odpowiadającymi im wiadomościami. Jednak to podejście ma ograniczenie: przy wysłaniu więcej niż 256 wiadomości mogą wystąpić kolizje identyfikatorów, prowadzące do nieprawidłowych aktualizacji statusu dostawy.

Oprogramowanie Ozeki SMS rozwiązuje ten problem, stosując bardziej zaawansowany mechanizm dopasowywania. Łączy numer telefonu odbiorcy ze zwróconym identyfikatorem referencyjnym. Tworzy to unikalny "identyfikator zwrotny", który znacznie zmniejsza ryzyko kolizji.

Zamiast polegać wyłącznie na identyfikatorze "0" (który może być przypisany do wielu wiadomości), Ozeki używa identyfikatora zwrotnego takiego jak "+36201234567:0." Ten połączony identyfikator pozwala na bardziej precyzyjne mapowanie raportów dostawy do oryginalnych wiadomości wysłanych na konkretny numer telefonu "+36201234567" z identyfikatorem "0." W rezultacie oprogramowanie może z pewnością zaktualizować status wiadomości na "dostarczonodoręcznie."

Połączenia SMS przez IP oferują dodatkową zaletę. Wykorzystują znacznie dłuższe i unikalne identyfikatory zwrotne, często w formie Globalnie Unikalnych Identyfikatorów (GUID). To eliminuje możliwość kolizji całkowicie, zapewniając jeszcze bardziej niezawodne dopasowywanie raportów dostawy.

More information