Dear All

Things seem to work fine, except that the Timestamp in the dlr table
is never found as it seems to be different. Please have a look at this
snippet of the log file:

2012-11-13 13:44:01 [30951] [16] DEBUG: boxc_receiver: sms received
2012-11-13 13:44:01 [30951] [16] DEBUG: send_msg: sending msg to box:
<127.0.0.1>
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]:
throughput (0.00,0.00)
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]: Manually
forced source addr ton = 0, source add npi = 1
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]: Manually
forced dest addr ton = 1, dest add npi = 1
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]: Sending PDU:
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP PDU 0x7f3bcc000a10 dump:
2012-11-13 13:44:01 [30951] [12] DEBUG:   type_name: submit_sm
2012-11-13 13:44:01 [30951] [12] DEBUG:   command_id: 4 = 0x00000004
2012-11-13 13:44:01 [30951] [12] DEBUG:   command_status: 0 = 0x00000000
2012-11-13 13:44:01 [30951] [12] DEBUG:   sequence_number: 14 = 0x0000000e
2012-11-13 13:44:01 [30951] [12] DEBUG:   service_type: "5978"
2012-11-13 13:44:01 [30951] [12] DEBUG:   source_addr_ton: 0 = 0x00000000
2012-11-13 13:44:01 [30951] [12] DEBUG:   source_addr_npi: 1 = 0x00000001
2012-11-13 13:44:01 [30951] [12] DEBUG:   source_addr: "5978"
2012-11-13 13:44:01 [30951] [12] DEBUG:   dest_addr_ton: 1 = 0x00000001
2012-11-13 13:44:01 [30951] [12] DEBUG:   dest_addr_npi: 1 = 0x00000001
2012-11-13 13:44:01 [30951] [12] DEBUG:   destination_addr: "123456789012"
2012-11-13 13:44:01 [30951] [12] DEBUG:   esm_class: 3 = 0x00000003
2012-11-13 13:44:01 [30951] [12] DEBUG:   protocol_id: 0 = 0x00000000
2012-11-13 13:44:01 [30951] [12] DEBUG:   priority_flag: 2 = 0x00000002
2012-11-13 13:44:01 [30951] [12] DEBUG:   schedule_delivery_time: NULL
2012-11-13 13:44:01 [30951] [12] DEBUG:   validity_period: NULL
2012-11-13 13:44:01 [30951] [12] DEBUG:   registered_delivery: 1 = 0x00000001
2012-11-13 13:44:01 [30951] [12] DEBUG:   replace_if_present_flag: 0 =
0x00000000
2012-11-13 13:44:01 [30951] [12] DEBUG:   data_coding: 0 = 0x00000000
2012-11-13 13:44:01 [30951] [12] DEBUG:   sm_default_msg_id: 0 = 0x00000000
2012-11-13 13:44:01 [30951] [12] DEBUG:   sm_length: 8 = 0x00000008
2012-11-13 13:44:01 [30951] [12] DEBUG:   short_message: "TEST DLR"
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP PDU dump ends.
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]:
throughput (1.00,0.00)
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]:
throughput (1.00,0.00)
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]: Got PDU:
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP PDU 0x7f3bcc000a10 dump:
2012-11-13 13:44:01 [30951] [12] DEBUG:   type_name: submit_sm_resp
2012-11-13 13:44:01 [30951] [12] DEBUG:   command_id: 2147483652 = 0x80000004
2012-11-13 13:44:01 [30951] [12] DEBUG:   command_status: 0 = 0x00000000
2012-11-13 13:44:01 [30951] [12] DEBUG:   sequence_number: 14 = 0x0000000e
2012-11-13 13:44:01 [30951] [12] DEBUG:   message_id: "1686190692"
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP PDU dump ends.
2012-11-13 13:44:01 [30951] [12] DEBUG: DLR[mysql]: Adding DLR
smsc=smsc_sender01, ts=1686190692, src=5978, dst=123456789012,
mask=31, boxc=
2012-11-13 13:44:01 [30951] [12] DEBUG: adding DLR entry into database
2012-11-13 13:44:01 [30951] [12] DEBUG: sql: INSERT INTO `dlr`
(`smsc`, `ts`, `source`, `destination`, `service`, `url`, `mask`,
`boxc`, `status`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, 0)
2012-11-13 13:44:01 [30951] [12] DEBUG: SMSC[smsc_sender01]: creating
DLR message
2012-11-13 13:44:01 [30951] [12] DEBUG: SMSC[smsc_sender01]: DLR =
http://127.0.0.1:80/h2/dlr.php?type=%d&msg_id=401150
2012-11-13 13:44:01 [30951] [12] DEBUG: SMPP[smsc_sender01]:
throughput (1.00,0.00)
2012-11-13 13:44:01 [30951] [17] DEBUG: send_msg: sending msg to box:
<127.0.0.1>
2012-11-13 13:44:01 [30951] [17] DEBUG: boxc_sender: sent message to <127.0.0.1>
2012-11-13 13:44:06 [30951] [16] DEBUG: boxc_receiver: heartbeat with
load value 0 received
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter tag (0x001e)
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter length read as 11
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter tag (0x0427)
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter length read as 1
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter tag (0x0606)
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter length read as 1
2012-11-13 13:44:07 [30951] [6] WARNING: SMPP: Unknown
TLV(0x0606,0x0001,00) for PDU type (deliver_sm) received!
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter tag (0x1501)
2012-11-13 13:44:07 [30951] [6] DEBUG: Optional parameter length read as 13
2012-11-13 13:44:07 [30951] [6] WARNING: SMPP: Unknown
TLV(0x1501,0x000d,32353437323235303036313200) for PDU type
(deliver_sm) received!
2012-11-13 13:44:07 [30951] [6] DEBUG: SMPP[smsc_receiver01]: Got PDU:
2012-11-13 13:44:07 [30951] [6] DEBUG: SMPP PDU 0x7f3be0001520 dump:
2012-11-13 13:44:07 [30951] [6] DEBUG:   type_name: deliver_sm
2012-11-13 13:44:07 [30951] [6] DEBUG:   command_id: 5 = 0x00000005
2012-11-13 13:44:07 [30951] [6] DEBUG:   command_status: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   sequence_number: 64 = 0x00000040
2012-11-13 13:44:07 [30951] [6] DEBUG:   service_type: "5978"
2012-11-13 13:44:07 [30951] [6] DEBUG:   source_addr_ton: 1 = 0x00000001
2012-11-13 13:44:07 [30951] [6] DEBUG:   source_addr_npi: 1 = 0x00000001
2012-11-13 13:44:07 [30951] [6] DEBUG:   source_addr: "123456789012"
2012-11-13 13:44:07 [30951] [6] DEBUG:   dest_addr_ton: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   dest_addr_npi: 1 = 0x00000001
2012-11-13 13:44:07 [30951] [6] DEBUG:   destination_addr: "5978"
2012-11-13 13:44:07 [30951] [6] DEBUG:   esm_class: 4 = 0x00000004
2012-11-13 13:44:07 [30951] [6] DEBUG:   protocol_id: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   priority_flag: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   schedule_delivery_time: NULL
2012-11-13 13:44:07 [30951] [6] DEBUG:   validity_period: NULL
2012-11-13 13:44:07 [30951] [6] DEBUG:   registered_delivery: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   replace_if_present_flag: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   data_coding: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   sm_default_msg_id: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   sm_length: 110 = 0x0000006e
2012-11-13 13:44:07 [30951] [6] DEBUG:   short_message:
2012-11-13 13:44:07 [30951] [6] DEBUG:    Octet string at 0x7f3be0000b60:
2012-11-13 13:44:07 [30951] [6] DEBUG:      len:  110
2012-11-13 13:44:07 [30951] [6] DEBUG:      size: 111
2012-11-13 13:44:07 [30951] [6] DEBUG:      immutable: 0
2012-11-13 13:44:07 [30951] [6] DEBUG:      data: 69 64 3a 31 36 38 36
31 39 30 36 39 32 20 73 75   id:1686190692 su
2012-11-13 13:44:07 [30951] [6] DEBUG:      data: 62 3a 30 30 31 20 64
6c 76 72 64 3a 30 30 31 20   b:001 dlvrd:001
2012-11-13 13:44:07 [30951] [6] DEBUG:      data: 73 75 62 6d 69 74 20
64 61 74 65 3a 31 32 31 31   submit date:1211
2012-11-13 13:44:07 [30951] [6] DEBUG:      data: 31 33 31 33 34 33 20
64 6f 6e 65 20 64 61 74 65   131343 done date
2012-11-13 13:44:07 [30951] [6] DEBUG:      data: 3a 31 32 31 31 31 33
31 33 34 33 20 73 74 61 74   :1211131343 stat
2012-11-13 13:44:07 [30951] [6] DEBUG:      data: 3a 44 45 4c 49 56 52
44 20 65 72 72 3a 30 30 30   :DELIVRD err:000
2012-11-13 13:44:07 [30951] [6] DEBUG:      data: 20 74 65 78 74 3a 54
45 53 54 20 44 4c 52          text:TEST DLR
2012-11-13 13:44:07 [30951] [6] DEBUG:    Octet string dump ends.
2012-11-13 13:44:07 [30951] [6] DEBUG:   message_state: 2 = 0x00000002
2012-11-13 13:44:07 [30951] [6] DEBUG:   receipted_message_id: "1686190692"
2012-11-13 13:44:07 [30951] [6] DEBUG: SMPP PDU dump ends.
2012-11-13 13:44:07 [30951] [6] DEBUG: SMPP[smsc_receiver01] handle_pdu, got DLR
2012-11-13 13:44:07 [30951] [6] DEBUG: DLR[mysql]: Looking for DLR
smsc=smsc_receiver01, ts=96739067538, dst=123456789012, type=1
2012-11-13 13:44:07 [30951] [6] DEBUG: sql: SELECT `mask`, `service`,
`url`, `source`, `destination`, `boxc` FROM `dlr` WHERE `smsc`=? AND
`ts`=?  LIMIT 1
2012-11-13 13:44:07 [30951] [6] DEBUG: column=mask buffer_type=3
max_length=0 length=10
2012-11-13 13:44:07 [30951] [6] DEBUG: column=service buffer_type=253
max_length=0 length=40
2012-11-13 13:44:07 [30951] [6] DEBUG: column=url buffer_type=253
max_length=0 length=255
2012-11-13 13:44:07 [30951] [6] DEBUG: column=source buffer_type=253
max_length=0 length=40
2012-11-13 13:44:07 [30951] [6] DEBUG: column=destination
buffer_type=253 max_length=0 length=40
2012-11-13 13:44:07 [30951] [6] DEBUG: column=boxc buffer_type=253
max_length=0 length=40
2012-11-13 13:44:07 [30951] [6] WARNING: DLR[mysql]: DLR from
SMSC<smsc_receiver01> for DST<123456789012> not found.
2012-11-13 13:44:07 [30951] [6] ERROR: SMPP[smsc_receiver01]: got DLR
but could not find message or was not interested in it id<96739067538>
dst<123456789012>, type<1>
2012-11-13 13:44:07 [30951] [6] DEBUG: SMPP[smsc_receiver01]: Sending PDU:
2012-11-13 13:44:07 [30951] [6] DEBUG: SMPP PDU 0x7f3be0001790 dump:
2012-11-13 13:44:07 [30951] [6] DEBUG:   type_name: deliver_sm_resp
2012-11-13 13:44:07 [30951] [6] DEBUG:   command_id: 2147483653 = 0x80000005
2012-11-13 13:44:07 [30951] [6] DEBUG:   command_status: 0 = 0x00000000
2012-11-13 13:44:07 [30951] [6] DEBUG:   sequence_number: 64 = 0x00000040
2012-11-13 13:44:07 [30951] [6] DEBUG:   message_id: NULL
2012-11-13 13:44:07 [30951] [6] DEBUG: SMPP PDU dump ends.

The SQL query: SELECT smsc, ts, destination, source from dlr.dlr WHERE
destination = '123456789012';  yields this:

+-----------------+------------+--------------+------------+
| smsc            | ts         | destination  | source     |
+-----------------+------------+--------------+------------+
| smsc_receiver01 | 1686190692 | 123456789012 | 5978       |
+-----------------+------------+--------------+------------+

Why is Kannel looking for message id <96739067538> and not <1686190692>

Some background information:

a) I have 10Tx Short Codes, 1Rx connection (all incoming connections
come in via one Rx) and 1 special Rx for Bulk Messaging.

b) All the 10 Tx Short Codes have the same login credentials which are
different from those of the Rx and Bulk connections. Each short code
is configured as a separate SMSC. We use mysql dlr.

c) Because the incoming connection is different incoming from the
outgoing, DLRs are always mismatched. As a workaround we have created
a trigger that alters the smsc (converts all outgoing smsc to the Rx
smsc):

DELIMITER $$
CREATE TRIGGER dlr_replace_smscid BEFORE INSERT ON dlr.dlr FOR EACH ROW
BEGIN
  IF NEW.smsc LIKE 'smsc_sender%' THEN
    SET NEW.smsc = 'smsc_receiver01';
  END IF;
END
$$
DELIMITER

Reply via email to