ESME_RINVEXPIRY w SMPP
Co to jest ESME_RINVEXPIRY?
ESME_RINVEXPIRY (Kod błędu: 0x00000062) to błąd SMPP wskazujący, że pole validity_period
w żądaniu submit_sm
zawiera nieprawidłowy format lub wartość.
Możliwe przyczyny
- Pole
validity_period
jest nieprawidłowo sformatowane. - Podana data i czas mają nieobsługiwany format.
- Okres ważności jest ustawiony w przeszłości lub przekracza maksymalny limit SMSC.
- SMSC nie obsługuje podanego formatu wygaśnięcia.
Kiedy występuje?
Ten błąd występuje, gdy ESME przesyła SMS z nieprawidłowym polem validity_period
, co powoduje odrzucenie żądania przez SMSC.
Przykładowa transakcja PDU SMPP
Nieprawidłowe PDU submit_sm
(Nieprawidłowy okres ważności)
0000003F (Długość) 00000004 (ID polecenia dla submit_sm) 00000000 (Status polecenia) 00000001 (Numer sekwencyjny) 00 (Typ usługi) 01 (TON adresu źródłowego - Międzynarodowy) 01 (NPI adresu źródłowego - ISDN) 31323334 00 (Adres źródłowy: "1234") 01 (TON adresu docelowego - Międzynarodowy) 01 (NPI adresu docelowego - ISDN) 39383736 00 (Adres docelowy: "9876") 00 (Klasa ESM) 00 (ID protokołu) 00 (Flaga priorytetu) 00000000 (Czas dostawy zaplanowanej - Nie ustawiony) 31323039 3031303030303030 00 (Nieprawidłowy okres ważności) 00 (Flaga zastąpienia, jeśli obecna) 00 (Domyślny ID wiadomości Sm) 0005 (Długość wiadomości) 48656C6C 6F (Wiadomość: "Hello")
PDU odpowiedzi (submit_sm_resp
) z ESME_RINVEXPIRY
00000010 (Długość) 80000004 (ID polecenia dla submit_sm_resp) 00000062 (Status polecenia - ESME_RINVEXPIRY) 00000001 (Numer sekwencyjny)
Problem: Pole validity_period
jest nieprawidłowo sformatowane, co powoduje odrzucenie wiadomości przez SMSC.
Jak to rozwiązać?
- Upewnij się, że
validity_period
jest zgodny z prawidłowym formatem czasu absolutnego lub względnego SMPP: - Format czasu absolutnego:
YYMMDDhhmmss000R
(np.240211153000000R
dla 11 lutego 2024, 15:30:00 UTC) - Format czasu względnego:
000001000000000R
(ważny przez 1 godzinę od teraz) - Upewnij się, że czas wygaśnięcia jest w przyszłości.
- Sprawdź u dostawcy SMSC, czy istnieją ograniczenia dotyczące okresów ważności.
- Używaj prawidłowych znaków kończących (np.
00
dla ciągów zakończonych NULL-em).
Jeśli problem nadal występuje, włącz debugowanie SMPP i zweryfikuj format validity_period
w żądaniu.