Hi guys, I've been dealing with an SMSC using SMPP protocol. What happens is that Kannel is not able to correlate the DR with the submitted SMS. It's because the Comverse SMSC sets the timestamp in hex format when the submit is done but when the delivery report is sent it comes as a decimal string possibly with zero padding, i.e.
submit_sm phase:
Adding DLR smsc=smppconn, ts=13bc6b1, src=yyyyy, dst=xxxx,
mask=19, boxc=KANNELSMSC
dlr phase:
Looking for DLR smsc=smppconn, ts=0020694705, dst=xxxx, type=1
and subsequently it states that it doesn't find the message associated
with the id!! I've in a quick and dirty manner fixed this by using
mysql as a dlr storage so the select and the delete from dlr are now
like this
sql = octstr_format("SELECT %s, %s, %s, %s, %s, %s FROM %s WHERE %s='%s'
AND (%s='%s' or %s=conv('%s', 10,16));",
octstr_get_cstr(fields->field_mask),
octstr_get_cstr(fields->field_serv),
octstr_get_cstr(fields->field_url),
octstr_get_cstr(fields->field_src),
octstr_get_cstr(fields->field_dst),
octstr_get_cstr(fields->field_boxc),
octstr_get_cstr(fields->table),
octstr_get_cstr(fields->field_smsc),
octstr_get_cstr(smsc),
octstr_get_cstr(fields->field_ts), octstr_get_cstr(ts),
octstr_get_cstr(fields->field_ts),
octstr_get_cstr(ts));
sql = octstr_format("DELETE FROM %s WHERE %s='%s' AND (%s='%s' or %
s=conv('%s',10,16)) LIMIT 1;",
octstr_get_cstr(fields->table),
octstr_get_cstr(fields->field_smsc),
octstr_get_cstr(smsc),
octstr_get_cstr(fields->field_ts), octstr_get_cstr(ts),
octstr_get_cstr(fields->field_ts),
octstr_get_cstr(ts));
This is as stated quick and dirty but solves my problem right now. What
I would like to know is if others are stumbling into the same problem
and also if some sort of more elegant solution shouldn't be included
into kannel, possibly with configuration directive, thus instead of
or-ing use conv only when needed.
BR. Arnar
Arnar Gestsson
Amivox ehf.
aeBeat: arnargestsson
Phone: +4520617605
Email: [EMAIL PROTECTED]
------------------------------
Non-intrusive voice messaging
smime.p7s
Description: S/MIME cryptographic signature
