It is not an smpp smsc, there's no pdu. Nevertheless the problem is
that kannel is not setting the dlr-mask for the sms it sends as a
response to the service request, hence no DLR is created when the
message is sent, then when the delivery status is received back from
the smsc, there is no DLR to update. The system-type is an http
protocol which I added to kannel on gw/smsc/smsc_http.c so I just
modified it to always add a dlr-mask to the message so that the DLR
gets created. I don't like this solution very much, but it's the best
I can do if kannel does not set the mask for a service response (I'm
wondering if this could have anything to do with user or smsc
settings). Thanks.
Nicolás
On Oct 31, 2006, at 3:14 AM, Cavit Dolgun wrote:
Can you paste the deliver_sm pdu from your logs?
I was facing the same problem. I used to get code 8 saying that the
message
has been submitted to smsc and then no updates. I checked the logs and
realized that I had a mistake in one of the database fields in my
kannel
configuration file. So kannel was receiving the delivery report but
it was
not updating since there was a mistake in the name of the field and
it was
not able to match the destination number and the timestamp so it
would not
update anything.
Check your logs to be sure that you are not receiving any dlrs or
if you are
receiving the dlr but it could not find the matching message.
Regards,
Cavit Dolgun
-----Original Message-----
From: Nico Brenner [mailto:[EMAIL PROTECTED]
Sent: Monday, October 30, 2006 17:55
To: [email protected]
Subject: DLR for service
Hi, I'm having the following problem:
I have a service configured like this:
group = sms-service
accepted-smsc = ENTEL
allowed-receiver-prefix = 6539
keyword = prueba
keyword-regex = ^prueba
text = "Servicio de prueba"
max-messages = 3
concatenation = true
accept-x-kannel-headers = false
omit-empty = true
forced-smsc = ENTEL
faked-sender = 6539
When I send the word 'prueba' to Kannel, I get the response:
"Servicio de prueba", up to there, everything ok. But the problem is
Kannel doesn't create a DLR for the message "Servicio de prueba" that
sends back to me, so when it gets a message from the SMSC confirming
the delivery, it can't find it and so it's not able to update de
status of the message it sent.
I have one bearerbox with 3 smsboxes and 3 sqlboxes, the
configuration of all the smsboxes and sqlboxes is the same (except
the ports they use). I'd very much appreciate any help I can get,
thanks!
My SMSC conf file is:
group = smsc
smsc = http
smsc-id = ENTEL
port = 13010
system-type = entel
send-url = "http://x.x.x.x/cgi"
log-level = 0
log-file = /var/log/kannel/entel.log
throughput = 60
reconnect-delay = 15
connect-allow-ip = "127.0.0.1;x.x.x.x"
unified-prefix = 5699,+5699,005699;5698,+5698,005698;
# Prefijos Entel PCS y Entel Movil
allowed-prefix-regex = ^569((815)|(819)|(82)|(847(5|6|7|8|9))|(87(5|
6))|(881)|(888(1|2))|(889)|(91(2|3|5)|9140|9141|9142)|(93(0|1|5))|
(9382)|(947)|(951)|(959)|(960(1|7))|(961[0-4]{1})|(97(1|7))|(978[4-9]
{1})|(979)|(98(7|8|9))|(991[0-4]{1})|(993)|(996(5|6|7|8|9))|(999(1|2|
3))|(818)|(84[0-6]{1})|(847[0-4]{1})|(87(2|3|4))|(88(2|3))|(888(0|3|5|
6|7|8|9))|(90(7|8|9))|(92(1|9))|(9289)|(9383)|(941)|(948[3-9]{1})|
(949)|(95(0|7))|(96080|96081|96082|96083|96084)|(961[5-9]{1})|(96(7|
9))|(98(1|2|3))|(991[5-9]{1})|(994)|(994)|(999[4-9]{1}))
group = sendsms-user
username = xxxxx
password = yyyyy
forced-smsc = ENTEL
default-sender = 6539
dlr-url = http://127.0.0.1/sms/dlr_url.php?t=%T&from=%p&to=%P&keyword=
%k&allWords=%a&smsMessage=%b&senderMSISDN=%p&receivingMSISDN=%
P&receivingSMSID=%T&dlrValue=%d&dlrSMSCReply=%A&smsc=%i&svc=%n&act=%
A&binf=%B&c=%c:%C&udh=%u&text=%a&id=%I
And just in case, my smsbox configuration is (in a file called
smsbox.conf):
group = core
admin-port = 13000
smsbox-port = 13001
wapbox-port = 13002
admin-password = bar
log-level = 0
log-file = "/var/log/kannel/bearerbox.log"
box-deny-ip = "*.*.*.*"
box-allow-ip = "127.0.0.1;201.246.117.225"
access-log = "/var/log/kannel/core_access.log"
dlr-storage = mysql
sms-resend-freq = 15
sms-resend-retry = 3
# SMSBOX SETUP
group = smsbox
reply-requestfailed = "No existe un servicio asociado"
bearerbox-host = localhost
bearerbox-port = 13004
sendsms-port = 13014
log-file = "/var/log/kannel/smsbox1.log"
access-log = "/var/log/kannel/access1.log"
log-level = 0
http-request-retry = 3
http-queue-delay = 15
sendsms-chars = "0123456789 +-"
include = "ppg.conf" # file with ppg configuration
include = "servicios.conf" # file with services configuration
Regards,
Nicolás Brenner