more SMS improvements
* describe data structures in gsm_04_11.h
* increae LCHAN RELEASE TIMEOUT for case of long SMS
* convert header field in sql table from NUMERIC to BLOB
* initial handling for validity period
* send RP ERROR messages with meaningful RP CAUSE in case of error
diff --git a/openbsc/src/db.c b/openbsc/src/db.c
index 600699a..1bcd101 100644
--- a/openbsc/src/db.c
+++ b/openbsc/src/db.c
@@ -75,7 +75,7 @@
"sent TIMESTAMP, "
"sender_id NUMERIC NOT NULL, "
"receiver_id NUMERIC NOT NULL, "
- "header NUMERIC, "
+ "header BLOB, "
"text TEXT NOT NULL "
")",
"CREATE TABLE IF NOT EXISTS VLR ("
@@ -402,16 +402,20 @@
{
dbi_result result;
char *q_text;
+ unsigned char *q_header;
dbi_conn_quote_string_copy(conn, (char *)sms->text, &q_text);
+ dbi_conn_quote_binary_copy(conn, sms->header, sms->header_len,
+ &q_header);
result = dbi_conn_queryf(conn,
"INSERT INTO SMS "
"(created,sender_id,receiver_id,header,text) VALUES "
"(datetime('now'),%llu,%llu,%s,%s)",
sms->sender->id,
sms->receiver ? sms->receiver->id : 0,
- NULL, q_text);
+ q_header, q_text);
free(q_text);
+ free(q_header);
if (!result)
return -EIO;