diff --git a/openbsc/src/db.c b/openbsc/src/db.c
index 57c5c85..03b281a 100644
--- a/openbsc/src/db.c
+++ b/openbsc/src/db.c
@@ -77,6 +77,11 @@
 		"id INTEGER PRIMARY KEY AUTOINCREMENT, "
 		"created TIMESTAMP NOT NULL, "
 		"sent TIMESTAMP, "
+		"valid_until TIMESTAMP, "
+		"reply_path_req NUMERIC NOT NULL, "
+		"status_rep_req NUMERIC NOT NULL, "
+		"protocol_id NUMERIC NOT NULL, "
+		"data_coding_scheme NUMERIC NOT NULL, "
 		"sender_id NUMERIC NOT NULL, "
 		"receiver_id NUMERIC NOT NULL, "
 		"header BLOB, "
@@ -458,13 +463,18 @@
 	dbi_conn_quote_string_copy(conn, (char *)sms->text, &q_text);
 	dbi_conn_quote_binary_copy(conn, sms->header, sms->header_len,
 				   &q_header);
+	/* FIXME: correct validity period */
 	result = dbi_conn_queryf(conn,
 		"INSERT INTO SMS "
-		"(created,sender_id,receiver_id,header,text) VALUES "
-		"(datetime('now'),%llu,%llu,%s,%s)",
+		"(created,sender_id,receiver_id,header,text,"
+		 "valid_until,reply_path_req,status_rep_req,"
+		 "protocol_id,data_coding_scheme) VALUES "
+		"(datetime('now'),%llu,%llu,%s,%s,%s,%u,%u,%u,%u)",
 		sms->sender->id,
 		sms->receiver ? sms->receiver->id : 0,
-		q_header, q_text);
+		q_header, q_text, '2222-2-2', sms->reply_path_req,
+		sms->status_rep_req, sms->protocol_id,
+		sms->data_coding_scheme);
 	free(q_text);
 	free(q_header);
 
@@ -481,7 +491,8 @@
 	dbi_result result;
 	long long unsigned int sender_id, receiver_id;
 	struct gsm_sms *sms = malloc(sizeof(*sms));
-	char *text;
+	const char *text;
+	const unsigned char *header;
 	char buf[32];
 
 	if (!sms) {
@@ -506,7 +517,16 @@
 	sprintf(buf, "%llu", receiver_id);
 	sms->receiver = db_get_subscriber(net, GSM_SUBSCRIBER_ID, buf); 
 
-	/* FIXME: fill header */
+	/* FIXME: validity */
+	sms->reply_path_req = dbi_result_get_uchar(result, "reply_path_req");
+	sms->status_rep_req = dbi_result_get_uchar(result, "status_rep_req");
+	sms->protocol_id = dbi_result_get_uchar(result, "protocol_id");
+	sms->data_coding_scheme = dbi_result_get_uchar(result,
+						  "data_coding_scheme");
+
+	sms->header_len = dbi_result_get_field_length(result, "header");
+	header = dbi_result_get_binary(result, "header");
+	memcpy(sms->header, header, sms->header_len);
 
 	text = dbi_result_get_string(result, "text");
 	if (text)
