I have configured kannel with smsc. The problem is I get delivery reports for some messages and for some others I get:
ERROR: SMPP[XXX]: got DLR but could not find message or was not interested in it id<2691146294> dst<98XXXXXXXXXX>, type<1>
here is my configuration:
group = core
admin-port = 13000
admin-password = 123456
status-password = 654321
admin-deny-ip = "*.*.*.*"
admin-allow-ip = "127.0.0.1"
smsbox-port = 13001
box-deny-ip = "*.*.*.*"
box-allow-ip = "127.0.0.1"
log-file = "/var/log/kannel/bearerbox.log"
log-level = 1
store-type = spool
store-location = "/var/lib/kannel"
store-dump-freq = 60
sms-incoming-queue-limit = 10000000
sms-outgoing-queue-limit = 10000000
sms-resend-freq = 10
sms-resend-retry = -1
access-log = "/var/log/kannel/bearerbox-access.log"
group = smsc
smsc = smpp
smsc-id = my-smsc
host = XXX.XXX.XXX.XXX
port = 5019
receive-port = 5019
system-type = VMA
smsc-username = XXX
smsc-password = XXX
throughput = 1
reconnect-delay = 10
msg-id-type = 0x01
group = smsbox
smsbox-id = my-smsbox
bearerbox-host = 127.0.0.1
sendsms-port = 13013
log-file = "/var/log/kannel/smsbox.log"
log-level = 1
group = smsbox-route
smsbox-id = my-smsbox
smsc-id = my-smsc
group = sendsms-user
username = username
password = password
concatenation = true
max-messages = 100
I'm sending each message with dlr-mask
set to 3 and dlr-url
like this:
http://10.0.0.1/delivery?id=12345687&type=%d"
id
is message id in database. can anyone help?
from http://www.kannel.org/pipermail/users/2011-July/016183.html
"I am not a Kannel Guru, but I've seen it many times, could happen due to at least 4 reasons:
(1) You sent a message through a different connection with different SMSC ID, the callback DLR won't get a match e.g. The transmit connection uses a different SMSC ID than the receiver connection, because kannel matches the SMSC ID, too !!
(2) You sent a message without asking for DLR e.g. dlr_mask = 0, kannel then won't store a reference for the sent message. But the carrier sent you a DLR !! this case may happen because some carriers send you a DLR even if you don't ask for it.
(3) When you send a concatenated MT, kannel keeps a reference for the first part only and ignores the other parts, but some operators send you the DLRs for all the parts, the other parts won't find a match.
(4) This case is the most critical, some carriers send you the DLR before sending the ACK ! the DLR won't get a match because kannel didn't save the message reference yet ! it waits for the submit_sm_resp (ACK,NACK,...) before storing the reference in the store, Alex had a fix for this but it has performance penalties."
Well, i hope this help you :)
You kannel might not be able to process the dlr, as it might be busy. You can use mysql database for dlr storage, none of your dlr's get lost. refer