Hi, I've configure Kannel to store the DLR with a remote PostGresql and all works fine..
Because I do not want to be concern with the availability of this remote postgresql DB, I'm trying to change to a local sqlite db (the SMS volume is low... around 6k in a week) Change the configuration as explained in the example http://kannel.org/download/1.4.4/gateway-1.4.4/doc/examples/dlr-sqlite3.conf First problem 2016-12-16 12:27:01 [22051] [6] DEBUG: DLR[sqlite3]: Looking for DLR smsc=xxxxx, ts=161216122710, dst=xxxxxx, type=1 2016-12-16 12:27:01 [22051] [6] PANIC: octstr_format format string syntax error. Then I do a correction in dlr_sqlite3.c line 227 like = octstr_format("AND %S LIKE '%%?3'", fields->field_dst); Then 2016-12-16 14:24:13 [22784] [6] DEBUG: sql: SELECT mask, service, url, source, destination, boxc FROM dlr WHERE smsc=?1 AND ts=?2 AND destination LIKE '%?3' LIMIT 1 2016-12-16 14:24:13 [22784] [6] ERROR: SQLite3: bind or column index out of range 2016-12-16 14:24:13 [22784] [6] WARNING: DLR[sqlite3]: DLR from SMSC<XXXX> for DST<XXXX> not found. Changing to double quotes... 2016-12-16 14:26:11 [23135] [6] DEBUG: DLR[sqlite3]: Looking for DLR smsc=XXXX, ts=161216142619, dst=XXX, type=1 2016-12-16 14:26:11 [23135] [6] DEBUG: sql: SELECT mask, service, url, source, destination, boxc FROM dlr WHERE smsc=?1 AND ts=?2 AND destination LIKE "%?3" LIMIT 1 2016-12-16 14:26:11 [23135] [6] ERROR: SQLite3: bind or column index out of range 2016-12-16 14:26:11 [23135] [6] WARNING: DLR[sqlite3]: DLR from SMSC<XXXXX> for DST<XXXX> not found. Then I've try the same logic as pgsql code if (dst) like = octstr_format("AND %S LIKE '%%%S'", fields->field_dst,dst); else like = octstr_imm(""); (...) gwlist_append(binds, (Octstr *)smsc); /* ?1 */ gwlist_append(binds, (Octstr *)ts); /* ?2 */ // if (dst) // gwlist_append(binds, (Octstr *)dst); /* ?3 */ It works, but another problem: 2016-12-16 14:32:34 [23479] [6] DEBUG: DLR[sqlite3]: Looking for DLR smsc=XXXXX, ts=161216143243, dst=XXXX, type=1 2016-12-16 14:32:34 [23479] [6] DEBUG: sql: SELECT mask, service, url, source, destination, boxc FROM dlr WHERE smsc=?1 AND ts=?2 AND destination LIKE '%XXXX' LIMIT 1 2016-12-16 14:32:34 [23479] [6] DEBUG: DLR[sqlite3]: created DLR message for URL <http://127.0.0.1:9000/?sms=%a&ts=%T&sender=%q&receiver=%Q&smsc-id=%i&dlr-value=%d&fid=%F> 2016-12-16 14:32:34 [23479] [6] DEBUG: removing DLR from database 2016-12-16 14:32:34 [23479] [6] PANIC: octstr_format format string syntax error. I can continue to making this kind of changes... but this happens just with me? Does anyone have this working fine? So useful information: Kannel 1.4.4 CentOS release 6.6 (Final) sqlite-devel-3.6.20-1.el6.x86_64 Best Regards,