Hi
At 03:46 PM 2/27/03 +1300, Alan McNatty wrote:
Hello,

found that if I type in the smpp password incorrectly kannel loops
forever trying to reconnect. ie:


-1 from me
In the current form this path will not allow any retries for any sort of bind error. eg what happens if there is a temporary connectivity issue, or the SMPP server is down for a short while/


Nisan


 [6] DEBUG: SMPP PDU 0x80f3a18 dump:
 [6] DEBUG:   type_name: bind_receiver_resp
 [6] DEBUG:   command_id: 2147483649 = 0x80000001
 [6] DEBUG:   command_status: 14 = 0x0000000e
 [6] DEBUG:   sequence_number: 732 = 0x000002dc
 [6] DEBUG:   system_id: NULL
 [6] DEBUG: SMPP PDU dump ends.
 [6] ERROR: SMPP[xxx]: SMSC rejected login to receive, code 0x0000000e.
 [6] ERROR: SMPP[xxx]: I/O error or other error. Re-connecting.

And so on ..

The smsc_smpp.c handle_pdu notices the error (and indeed reports on it)
but it's not noticed at the io_thread level so keeps trying.

I worked around it by setting smpp->quitting = 1 after the error message
in handle_pdu (see patch) which has the effect of shutting down the
failing threads (so they don't keep trying). Crude - provided as example
only - will look at improving this.

Also, in the instance you only have 1 smpp connection which when fails
in this way, the bearerbox sits without actually shutting down (ie:
doesn't realise there are no active threads and clean up, etc). Should
the bearerbox shutdown in this instance?

Cheers,
Alan


-- Alan McNatty <[EMAIL PROTECTED]>




Reply via email to