On Sat, 7 Aug 2004, Alexander Malysh wrote:

> > On Thu, 2004-08-05 at 23:54, Peter Beckman wrote:
> >
> >> In 1.3.1 I'm seeing that when the remote connection disconnects without
> >> an unbind, and then reconnects, messages stop getting sent until either
> >> one side or I restart the gateway.
> >>
> >> Anyone else see this?
>
> which smsc module? more details with debug logs please...

 SMSC SMPP module.  The problem is transient (or at least seemingly so).
 The remote SMPP server sends an unbind and disconnects.  Kannel attempts
 to reconnect every 10 seconds.  Once the remote SMPP server opens for
 business again, Kannel can connect (or at least it looks that way), but
 does not send messages.  A restart on either end will begin sending the
 messages again.

 Ok, here's what happens:

 The last message is successfully sent to smpphost

  2004-07-16 21:30:00 [7] DEBUG: Looking for DLR smsc=smpphost, ts=17869084, 
dst=12125551213, type=12

 A few seconds later the remote SMPP host disconnects, sending an unbind
 for both TX and RX.

 2004-07-16 21:30:14 [8] DEBUG: SMPP PDU 0xac803c90 dump:
 2004-07-16 21:30:14 [8] DEBUG:   type_name: unbind
 2004-07-16 21:30:14 [8] DEBUG:   command_id: 6 = 0x00000006
 2004-07-16 21:30:14 [8] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:14 [8] DEBUG:   sequence_number: 624 = 0x00000270
 2004-07-16 21:30:14 [8] DEBUG: SMPP PDU dump ends.
 2004-07-16 21:30:15 [8] ERROR: SMPP[smpphost]: I/O error or other error. 
Re-connecting.
 2004-07-16 21:30:15 [8] ERROR: connect failed
 2004-07-16 21:30:15 [8] ERROR: System error 111: Connection refused
 2004-07-16 21:30:15 [8] ERROR: error connecting to server `12.34.56.78' at port `8202'
 2004-07-16 21:30:15 [8] ERROR: SMPP[smpphost]: Couldn't connect to server.
 2004-07-16 21:30:15 [8] ERROR: SMPP[smpphost]: Couldn't connect to SMS center 
(retrying in 10 seconds).
 2004-07-16 21:30:19 [7] DEBUG: SMPP[smpphost]: Got PDU:
 2004-07-16 21:30:19 [7] DEBUG: SMPP PDU 0x873bfe0 dump:
 2004-07-16 21:30:19 [7] DEBUG:   type_name: unbind
 2004-07-16 21:30:19 [7] DEBUG:   command_id: 6 = 0x00000006
 2004-07-16 21:30:19 [7] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:19 [7] DEBUG:   sequence_number: 625 = 0x00000271
 2004-07-16 21:30:19 [7] DEBUG: SMPP PDU dump ends.
 2004-07-16 21:30:34 [7] DEBUG: SMPP[smpphost]: Sending enquire link:
 2004-07-16 21:30:34 [7] DEBUG: SMPP PDU 0x873bfe0 dump:
 2004-07-16 21:30:34 [7] DEBUG:   type_name: enquire_link
 2004-07-16 21:30:34 [7] DEBUG:   command_id: 21 = 0x00000015
 2004-07-16 21:30:34 [7] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:34 [7] DEBUG:   sequence_number: 21266 = 0x00005312
 2004-07-16 21:30:34 [7] DEBUG: SMPP PDU dump ends.
 2004-07-16 21:30:34 [7] DEBUG: SMPP[smpphost]: Got PDU:
 2004-07-16 21:30:34 [7] DEBUG: SMPP PDU 0x873bfe0 dump:
 2004-07-16 21:30:34 [7] DEBUG:   type_name: enquire_link_resp
 2004-07-16 21:30:34 [7] DEBUG:   command_id: 2147483669 = 0x80000015
 2004-07-16 21:30:34 [7] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:34 [7] DEBUG:   sequence_number: 21266 = 0x00005312
 2004-07-16 21:30:34 [7] DEBUG: SMPP PDU dump ends.
 2004-07-16 21:30:34 [7] ERROR: SMPP[smpphost]: I/O error or other error. 
Re-connecting.
 2004-07-16 21:30:34 [7] ERROR: connect failed
 2004-07-16 21:30:34 [7] ERROR: System error 111: Connection refused
 2004-07-16 21:30:34 [7] ERROR: error connecting to server `12.34.56.78' at port `8203'
 2004-07-16 21:30:34 [7] ERROR: SMPP[smpphost]: Couldn't connect to server.
 2004-07-16 21:30:34 [7] ERROR: SMPP[smpphost]: Couldn't connect to SMS center 
(retrying in 10 seconds).

Hmmmm.  I get an unbind for the TX session #7, yet the system is still
connected enough to do an enquire_link and get a response, then it dies.

So it stays offline for a little bit then comes back up.

 2004-07-16 21:30:44 [7] DEBUG: SMPP[smpphost]: Sending PDU:
 2004-07-16 21:30:44 [7] DEBUG: SMPP PDU 0x8744fe8 dump:
 2004-07-16 21:30:44 [7] DEBUG:   type_name: bind_transmitter
 2004-07-16 21:30:44 [7] DEBUG:   command_id: 2 = 0x00000002
 2004-07-16 21:30:44 [7] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:44 [7] DEBUG:   sequence_number: 21267 = 0x00005313
 2004-07-16 21:30:44 [7] DEBUG:   system_id: "xxxxx"
 2004-07-16 21:30:44 [7] DEBUG:   password: "yyyyy"
 2004-07-16 21:30:44 [7] DEBUG:   system_type: "VMA"
 2004-07-16 21:30:44 [7] DEBUG:   interface_version: 52 = 0x00000034
 2004-07-16 21:30:44 [7] DEBUG:   addr_ton: 0 = 0x00000000
 2004-07-16 21:30:44 [7] DEBUG:   addr_npi: 0 = 0x00000000
 2004-07-16 21:30:44 [7] DEBUG:   address_range: ""
 2004-07-16 21:30:44 [7] DEBUG: SMPP PDU dump ends.
 2004-07-16 21:30:45 [7] DEBUG: SMPP[smpphost]: Got PDU:
 2004-07-16 21:30:45 [7] DEBUG: SMPP PDU 0x8744fe8 dump:
 2004-07-16 21:30:45 [7] DEBUG:   type_name: bind_transmitter_resp
 2004-07-16 21:30:45 [7] DEBUG:   command_id: 2147483650 = 0x80000002
 2004-07-16 21:30:45 [7] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:45 [7] DEBUG:   sequence_number: 21267 = 0x00005313
 2004-07-16 21:30:45 [7] DEBUG:   system_id: "SMPPHOST"
 2004-07-16 21:30:45 [7] DEBUG: SMPP PDU dump ends.
 2004-07-16 21:30:46 [8] DEBUG: SMPP[smpphost]: Sending PDU:
 2004-07-16 21:30:46 [8] DEBUG: SMPP PDU 0xac803ce0 dump:
 2004-07-16 21:30:46 [8] DEBUG:   type_name: bind_receiver
 2004-07-16 21:30:46 [8] DEBUG:   command_id: 1 = 0x00000001
 2004-07-16 21:30:46 [8] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:46 [8] DEBUG:   sequence_number: 21268 = 0x00005314
 2004-07-16 21:30:46 [8] DEBUG:   system_id: "xxxxx"
 2004-07-16 21:30:46 [8] DEBUG:   password: "yyyyy"
 2004-07-16 21:30:46 [8] DEBUG:   system_type: "VMA"
 2004-07-16 21:30:46 [8] DEBUG:   interface_version: 52 = 0x00000034
 2004-07-16 21:30:46 [8] DEBUG:   addr_ton: 0 = 0x00000000
 2004-07-16 21:30:46 [8] DEBUG:   addr_npi: 0 = 0x00000000
 2004-07-16 21:30:46 [8] DEBUG:   address_range: ""
 2004-07-16 21:30:46 [8] DEBUG: SMPP PDU dump ends.
 2004-07-16 21:30:46 [8] DEBUG: SMPP[smpphost]: Got PDU:
 2004-07-16 21:30:46 [8] DEBUG: SMPP PDU 0xac803ce0 dump:
 2004-07-16 21:30:46 [8] DEBUG:   type_name: bind_receiver_resp
 2004-07-16 21:30:46 [8] DEBUG:   command_id: 2147483649 = 0x80000001
 2004-07-16 21:30:46 [8] DEBUG:   command_status: 0 = 0x00000000
 2004-07-16 21:30:46 [8] DEBUG:   sequence_number: 21268 = 0x00005314
 2004-07-16 21:30:46 [8] DEBUG:   system_id: "SMPPHOST"
 2004-07-16 21:30:46 [8] DEBUG: SMPP PDU dump ends.

So it seems the connection is up, as I continue to get these:

2004-07-16 21:31:14 [7] DEBUG: SMPP[smpphost]: Sending enquire link:
2004-07-16 21:31:14 [7] DEBUG: SMPP PDU 0x8744fe8 dump:
2004-07-16 21:31:14 [7] DEBUG:   type_name: enquire_link
2004-07-16 21:31:14 [7] DEBUG:   command_id: 21 = 0x00000015
2004-07-16 21:31:14 [7] DEBUG:   command_status: 0 = 0x00000000
2004-07-16 21:31:14 [7] DEBUG:   sequence_number: 21269 = 0x00005315
2004-07-16 21:31:14 [7] DEBUG: SMPP PDU dump ends.
2004-07-16 21:31:14 [7] DEBUG: SMPP[smpphost]: Got PDU:
2004-07-16 21:31:14 [7] DEBUG: SMPP PDU 0x8744fe8 dump:
2004-07-16 21:31:14 [7] DEBUG:   type_name: enquire_link_resp
2004-07-16 21:31:14 [7] DEBUG:   command_id: 2147483669 = 0x80000015
2004-07-16 21:31:14 [7] DEBUG:   command_status: 0 = 0x00000000
2004-07-16 21:31:14 [7] DEBUG:   sequence_number: 21269 = 0x00005315
2004-07-16 21:31:14 [7] DEBUG: SMPP PDU dump ends.
2004-07-16 21:31:16 [8] DEBUG: SMPP[smpphost]: Sending enquire link:
2004-07-16 21:31:16 [8] DEBUG: SMPP PDU 0xac803ce0 dump:
2004-07-16 21:31:16 [8] DEBUG:   type_name: enquire_link
2004-07-16 21:31:16 [8] DEBUG:   command_id: 21 = 0x00000015
2004-07-16 21:31:16 [8] DEBUG:   command_status: 0 = 0x00000000
2004-07-16 21:31:16 [8] DEBUG:   sequence_number: 21270 = 0x00005316
2004-07-16 21:31:16 [8] DEBUG: SMPP PDU dump ends.
2004-07-16 21:31:16 [8] DEBUG: SMPP[smpphost]: Got PDU:
2004-07-16 21:31:16 [8] DEBUG: SMPP PDU 0xac803ce0 dump:
2004-07-16 21:31:16 [8] DEBUG:   type_name: enquire_link_resp
2004-07-16 21:31:16 [8] DEBUG:   command_id: 2147483669 = 0x80000015
2004-07-16 21:31:16 [8] DEBUG:   command_status: 0 = 0x00000000
2004-07-16 21:31:16 [8] DEBUG:   sequence_number: 21270 = 0x00005316
2004-07-16 21:31:16 [8] DEBUG: SMPP PDU dump ends.

But I get an SMS in from the smsbox according to sms-access.log:

2004-07-16 21:32:53 send-SMS request added - sender:smpphost:1234567890 222.22.222.222 
target:12125551212 request: 'blah blah blah'

And junk in the bearerbox.log to back it up:

2004-07-16 21:32:53 [18] DEBUG: send_msg: sending msg to boxc: <default>
2004-07-16 21:32:53 [18] DEBUG: boxc_sender: sent message to <127.0.0.1>
2004-07-16 21:32:53 [17] DEBUG: boxc_receiver: got ack
2004-07-16 21:32:53 [17] DEBUG: boxc_receiver: sms received
2004-07-16 21:32:53 [9] DEBUG: sms_router: time to sleep
2004-07-16 21:32:53 [9] DEBUG: sms_router: list_len = 1
2004-07-16 21:32:53 [9] DEBUG: sms_router: time to sleep

But the message isn't sent by the bearerbox to the connection until kannel
is stopped and restarted (the same thing has been seen to be fixed by
having the remote smpp server connect stopped and restarted):

2004-07-16 22:41:32 [0] DEBUG: Shutting down Kannel...
2004-07-16 22:41:32 [0] DEBUG: shutting down smsc
2004-07-16 22:41:32 [1] DEBUG: Dumping 136 messages and 0 acks to store
2004-07-16 22:41:32 [0] PANIC: gwlib/thread.c:82: mutex_lock_real: Managed to lock the 
mutex twice! (Called from gwlib/list.c:426:lock.)

oooh is this bad?

2004-07-16 22:41:32 [0] INFO: Kannel bearerbox II version 1.3.1 starting
[...]

smpphost connection is made and immediately delivers the messages that were stored...

2004-07-16 22:41:35 [9] DEBUG: sms_router: list_len = 17
2004-07-16 22:41:35 [7] DEBUG: SMPP[smpphost]: Sending PDU:
2004-07-16 22:41:35 [7] DEBUG: SMPP PDU 0x81143f8 dump:
2004-07-16 22:41:35 [7] DEBUG:   type_name: submit_sm
2004-07-16 22:41:35 [7] DEBUG:   command_id: 4 = 0x00000004
2004-07-16 22:41:35 [7] DEBUG:   command_status: 0 = 0x00000000
2004-07-16 22:41:35 [7] DEBUG:   sequence_number: 2 = 0x00000002
2004-07-16 22:41:35 [7] DEBUG:   service_type: NULL
2004-07-16 22:41:35 [7] DEBUG:   source_addr_ton: 2 = 0x00000002
2004-07-16 22:41:35 [7] DEBUG:   source_addr_npi: 1 = 0x00000001
2004-07-16 22:41:35 [7] DEBUG:   source_addr: "1234578900"
2004-07-16 22:41:35 [7] DEBUG:   dest_addr_ton: 2 = 0x00000002
2004-07-16 22:41:35 [7] DEBUG:   dest_addr_npi: 1 = 0x00000001
2004-07-16 22:41:35 [7] DEBUG:   destination_addr: "12125551212"
2004-07-16 22:41:35 [7] DEBUG:   esm_class: 3 = 0x00000003
2004-07-16 22:41:35 [7] DEBUG:   protocol_id: 0 = 0x00000000
2004-07-16 22:41:35 [7] DEBUG:   priority_flag: 0 = 0x00000000
2004-07-16 22:41:35 [7] DEBUG:   schedule_delivery_time: NULL
2004-07-16 22:41:35 [7] DEBUG:   validity_period: NULL
2004-07-16 22:41:35 [7] DEBUG:   registered_delivery: 1 = 0x00000001
2004-07-16 22:41:35 [7] DEBUG:   replace_if_present_flag: 0 = 0x00000000
2004-07-16 22:41:35 [7] DEBUG:   data_coding: 0 = 0x00000000
2004-07-16 22:41:35 [7] DEBUG:   sm_default_msg_id: 0 = 0x00000000
2004-07-16 22:41:35 [7] DEBUG:   sm_length: 98 = 0x00000062
2004-07-16 22:41:35 [7] DEBUG:   short_message:
2004-07-16 22:41:35 [7] DEBUG:    Octet string at 0xad200790:
2004-07-16 22:41:35 [7] DEBUG:      len:  98
2004-07-16 22:41:35 [7] DEBUG:      size: 99
2004-07-16 22:41:35 [7] DEBUG:      immutable: 0
2004-07-16 22:41:35 [7] DEBUG:      data: 59 6f 75 72 20 73 65 63   blah bla
2004-07-16 22:41:35 [7] DEBUG:    Octet string dump ends.
2004-07-16 22:41:35 [7] DEBUG: SMPP PDU dump ends.

Hopefully that gives a better picture of what I'm talking about.

Beckman
---------------------------------------------------------------------------
Peter Beckman                                                  Internet Guy
[EMAIL PROTECTED]                             http://www.purplecow.com/
---------------------------------------------------------------------------

Reply via email to