ESME_RALYBND v SMPP
Čo je ESME_RALYBND?
ESME_RALYBND (Chybový kód: 0x0000000B) je chyba v SMPP, ktorá indikuje, že ESME (External Short Messaging Entity) je už naviazané. K tejto situácii dochádza, keď sa klient SMPP pokúsi naviazať pripojenie, zatiaľ čo aktívna relácia s rovnakým systémovým ID už existuje.
Možné príčiny
- Klient je už naviazaný, ale pokúša sa o ďalšiu požiadavku
bind_transmitter
,bind_receiver
alebobind_transceiver
bez predchádzajúceho uvoľnenia. - Predchádzajúca relácia nebola správne ukončená, čo spôsobilo, že SMSC verí, že klient je stále pripojený.
- Viacero inštancií toho istého klienta s rovnakým systémovým ID sa súčasne pokúša naviazať pripojenie.
- SMSC vyžaduje obmedzenie súbežných naviazaní pre rovnaké systémové ID.
Kedy k tomu dochádza?
Táto chyba nastáva, keď klient SMPP odošle požiadavku na naviazanie, hoci už je naviazaný, alebo ak predchádzajúce pripojenie nebolo správne ukončené.
Príklad transakcie SMPP PDU
Nasledujúci príklad ukazuje nesprávny scenár, kedy je odoslaná druhá požiadavka bind_transmitter
pri už existujúcom naviazaní:
0000001C (Dĺžka) 00000002 (ID príkazu pre bind_transmitter) 00000000 (Stav príkazu) 00000001 (Sekvenčné číslo) 74657374 000000 (Systémové ID: "test") 000000 (Heslo)
Problém: Klient je už naviazaný a SMSC odmietne druhý pokus o naviazanie s odpoveďou ESME_RALYBND
.
Správny postup:
- Najprv uvoľnite naviazanie pred pokusom o nové naviazanie:
- Počkajte na odpoveď
unbind_resp
pred odoslaním novej požiadavky na naviazanie.
00000010 (Dĺžka) 00000006 (ID príkazu pre unbind) 00000000 (Stav príkazu) 00000002 (Sekvenčné číslo)
Ako to vyriešiť?
- Uistite sa, že pre každé systémové ID existuje len jedna aktívna relácia.
- Pred opätovným naviazaním odošlite požiadavku
unbind
a počkajte na odpoveďunbind_resp
od SMSC. - Nakonfigurujte klienta tak, aby správne detekoval a spracoval časové limity relácií alebo odpojenia.
- Skontrolujte, či nebežia súčasne viaceré inštancie toho istého klienta.
- Ak problém pretrváva, kontaktujte poskytovateľa SMSC a overte si pravidlá pre správu relácií.
Ak problém pretrváva, zapnite debugovacie logy na sledovanie požiadaviek na naviazanie a stavov relácií.