Hi,
I've been experiencing problems where kannel at some time no longer
attempts to reconnect a gateway, which is down. Here's what basically
happens (gateway name and address is replaced with fake name/address):
ERROR: System error 111: Connection refused
ERROR: error connecting to server `1.2.3.4' at port `2775'
ERROR: SMPP[gateway]: Couldn't connect to server.
ERROR: SMPP[gateway]: Couldn't connect to SMS center (retrying in 10
seconds).
ERROR: connect failed
ERROR: System error 111: Connection refused
ERROR: error connecting to server `1.2.3.4' at port `2775'
ERROR: SMPP[gateway]: Couldn't connect to server.
ERROR: SMPP[gateway]: Couldn't connect to SMS center (retrying in 10
seconds).
WARNING: SMPP: PDU NULL terminated string has no NULL.
ERROR: SMPP[gateway]: SMSC rejected login to transmit, code 0x0000000f
(Invalid System ID).
ERROR: SMPP[gateway]: I/O error or other error. Re-connecting.
Although kannel claim to be reconnect when the login was invalid, this
never occurs. The thread terminates, but bearerbox still report the
state of the gateway as "reconnecting".
When examining the code, it is very obvious that the SMPP gateway code
is meant to terminate when login is rejected:
gateway/gw/smsc/smsc_smpp.c:1468
if (pdu->u.bind_transmitter_resp.command_status ==
SMPP_ESME_RINVSYSID ||
pdu->u.bind_transmitter_resp.command_status ==
SMPP_ESME_RINVPASWD)
smpp->quitting = 1;
gateway/gw/smsc/smsc_smpp.c:1488
if (pdu->u.bind_transceiver_resp.command_status ==
SMPP_ESME_RINVSYSID ||
pdu->u.bind_transceiver_resp.command_status ==
SMPP_ESME_RINVPASWD)
smpp->quitting = 1;
Is this really intentional? And if so, isn't it then wrong to say claim
that kannel will reconnect?
Med venlig hilsen / Best regards
Peter Christensen
Developer
------------------
Cool Systems ApS
Tel: +45 2888 1600
@ : [EMAIL PROTECTED]
www: www.coolsystems.dk