Thanks all for open source ;)

Whole that case was caused because i have not seted up smsbox-id in group=smsbox, so bbox was choosing connected smsbox as "best fitting" to route DLR. After i set it up, bbox made his job well.



2011-02-03 18:09:32 [5797] [4] WARNING: Could not route message to smsbox id <client3>, smsbox is gone!
2011-02-03 18:09:32 [5797] [4] WARNING: smsbox_list empty!
2011-02-03 18:09:32 [5797] [4] WARNING: Could not route message to smsbox id <client3>, smsbox is gone!
2011-02-03 18:09:32 [5797] [4] WARNING: smsbox_list empty!
2011-02-03 18:09:43 [5797] [13] DEBUG: Dumping 1 messages to store


2011-02-03 18:10:09 [5797] [5] INFO: Client connected from <127.0.0.1>
2011-02-03 18:10:09 [5797] [5] DEBUG: Started thread 18 (gw/bb_boxc.c:function) 2011-02-03 18:10:09 [5797] [18] DEBUG: Thread 18 (gw/bb_boxc.c:function) maps to pid 5797. 2011-02-03 18:10:09 [5797] [18] DEBUG: Started thread 19 (gw/bb_boxc.c:boxc_sender) 2011-02-03 18:10:09 [5797] [19] DEBUG: Thread 19 (gw/bb_boxc.c:boxc_sender) maps to pid 5797. 2011-02-03 18:10:10 [5797] [18] DEBUG: boxc_receiver: got boxc_id <client3> from <127.0.0.1> 2011-02-03 18:10:10 [5797] [19] DEBUG: send_msg: sending msg to boxc: <client3> 2011-02-03 18:10:10 [5797] [19] DEBUG: boxc_sender: sent message to <127.0.0.1>
2011-02-03 18:10:11 [5797] [18] DEBUG: boxc_receiver: got ack

I found sms-incoming-queue-limit and sms-outgoing-queue-limit but is there som other parameter to set time to live of message in queue? To purge "longtime" queued msgs, not whole queues deleting storage file.

Slavoj.

Dňa 3. 2. 2011 17:44, XEN-Housing s.r.o.  wrote / napísal(a):
New info in that problem:

in step 8 bbox find DLR record in mysql, but it was routed to connected SMSBOX, not to opensmppbox which was in that time disconnected.

bearerbox.log
----------------------
// opensmppbox was connected
2011-02-03 17:30:51 [5608] [5] DEBUG: Started thread 16 (gw/bb_boxc.c:function) 2011-02-03 17:30:51 [5608] [16] DEBUG: Thread 16 (gw/bb_boxc.c:function) maps to pid 5608. 2011-02-03 17:30:51 [5608] [16] DEBUG: Started thread 17 (gw/bb_boxc.c:boxc_sender) 2011-02-03 17:30:51 [5608] [17] DEBUG: Thread 17 (gw/bb_boxc.c:boxc_sender) maps to pid 5608. 2011-02-03 17:30:52 [5608] [16] DEBUG: boxc_receiver: got boxc_id <client3> from <127.0.0.1>

// opensmppbox sent SMS
2011-02-03 17:31:37 [5608] [16] DEBUG: boxc_receiver: sms received
2011-02-03 17:31:37 [5608] [16] DEBUG: send_msg: sending msg to boxc: <client3>

// opensmppbox was disconnected
2011-02-03 17:31:41 [5608] [16] INFO: Connection closed by the box <127.0.0.1> 2011-02-03 17:31:41 [5608] [17] DEBUG: send_msg: sending msg to boxc: <client3> 2011-02-03 17:31:41 [5608] [17] DEBUG: Thread 17 (gw/bb_boxc.c:boxc_sender) terminates. 2011-02-03 17:31:41 [5608] [16] DEBUG: Thread 16 (gw/bb_boxc.c:function) terminates.
2011-02-03 17:31:55 [5608] [13] DEBUG: Dumping 0 messages to store

// bbox somehow routed recieved DLR to smsbox instead queuing it, coz target box (opensmppbox identified as "client3" was disconnected) 2011-02-03 17:33:11 [5608] [15] DEBUG: send_msg: sending msg to box: <127.0.0.1> 2011-02-03 17:33:11 [5608] [15] DEBUG: boxc_sender: sent message to <127.0.0.1>
2011-02-03 17:33:11 [5608] [14] DEBUG: boxc_receiver: got ack
2011-02-03 17:33:25 [5608] [13] DEBUG: Dumping 0 messages to store
2011-02-03 17:33:36 [5608] [14] DEBUG: boxc_receiver: heartbeat with load value 0 received

smsbox.log
----------------------
2011-02-03 17:33:11 [5635] [4] INFO: Starting delivery report <client3> from <+421XXXXXXXXX> 2011-02-03 17:33:11 [5635] [4] DEBUG: Started thread 8 (gwlib/fdset.c:poller) 2011-02-03 17:33:11 [5635] [4] DEBUG: Started thread 9 (gwlib/http.c:write_request_thread) 2011-02-03 17:33:11 [5635] [8] DEBUG: Thread 8 (gwlib/fdset.c:poller) maps to pid 5635. 2011-02-03 17:33:11 [5635] [9] DEBUG: Thread 9 (gwlib/http.c:write_request_thread) maps to pid 5635.
2011-02-03 17:33:11 [5635] [9] DEBUG: Queue contains 0 pending requests.
2011-02-03 17:33:11 [5635] [9] ERROR: URL <3b7d2e56> doesn't start with `http://' nor `https://'
2011-02-03 17:33:11 [5635] [9] ERROR: Couldn't send request to <3b7d2e56>

Any IDEA why that (for me misteriouse) DLR routing could happed?

Slavoj.

Dňa 2. 2. 2011 15:31, XEN-Housing s.r.o.  wrote / napísal(a):
Connection setup:

SMPP_PROVIDER <--> bearer box <--> opensmppbox <--> smpp_client

bbox and opensmppbox using mysql storage, both of them have own tables.

Test case:

1) smpp_client open connections to opensmppbox and bind as transciever
2) opensmppbox make connection to bbox
3) smpp_client send sms with registered_delivery=1
4) smpp_client got ACK from opensmppbox
5) opensmppbox sent message to bbox, bbox send to SMPP_provider (opensmppbox and bbox creates DLR record in theyr own tables) 6) smpp_client disconnect from opensmppbox (simulation of connection problems)
7) SMPP_provider send DLR (succes delivery)
8) bbox find correct DLR and did not find connected opensmppbox, so it delete DLR record from it's table.
9) smpp_client make reconnection, opensmppbox reconect to bbox.
10) opensmppbox will never get info about delivered sms and smpp_client too.

So, in final state, when client make any recconection to opensmppbox, any DLRs that came meanwhile outage are lost.

Used latest kannel (1.5.0 from SVN) and latest opensmppbox from SVN. Any idea how to correct this situation?

Slavoj.




Reply via email to