From cdfcbee53b705d136dbfbd7959d1b8b516e98522 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Mon, 10 Jan 2011 15:34:09 +0100 Subject: [PATCH] sms: Allow to specify the DCS for the SMS. --- openbsc/include/openbsc/gsm_04_11.h | 2 +- openbsc/src/gsm_04_11.c | 4 ++-- openbsc/src/token_auth.c | 2 +- openbsc/src/vty_interface_layer3.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/openbsc/include/openbsc/gsm_04_11.h b/openbsc/include/openbsc/gsm_04_11.h index 06fd04e60..5969788d5 100644 --- a/openbsc/include/openbsc/gsm_04_11.h +++ b/openbsc/include/openbsc/gsm_04_11.h @@ -29,7 +29,7 @@ int gsm0411_rcv_sms(struct gsm_subscriber_connection *conn, struct msgb *msg); struct gsm_sms *sms_alloc(void); void sms_free(struct gsm_sms *sms); -struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, const char *text); +struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, int dcs, const char *text); void _gsm411_sms_trans_free(struct gsm_trans *trans); int gsm411_send_sms_subscr(struct gsm_subscriber *subscr, diff --git a/openbsc/src/gsm_04_11.c b/openbsc/src/gsm_04_11.c index a7c6f667d..812e758cd 100644 --- a/openbsc/src/gsm_04_11.c +++ b/openbsc/src/gsm_04_11.c @@ -117,7 +117,7 @@ void sms_free(struct gsm_sms *sms) talloc_free(sms); } -struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, const char *text) +struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, int dcs, const char *text) { struct gsm_sms *sms = sms_alloc(); @@ -133,7 +133,7 @@ struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, const char *text) sms->status_rep_req = 0; sms->ud_hdr_ind = 0; sms->protocol_id = 0; /* implicit */ - sms->data_coding_scheme = 0; /* default 7bit */ + sms->data_coding_scheme = dcs; strncpy(sms->dest_addr, receiver->extension, sizeof(sms->dest_addr)-1); /* Generate user_data */ sms->user_data_len = gsm_7bit_encode(sms->user_data, sms->text); diff --git a/openbsc/src/token_auth.c b/openbsc/src/token_auth.c index 733ea7173..3404dd4ee 100644 --- a/openbsc/src/token_auth.c +++ b/openbsc/src/token_auth.c @@ -79,7 +79,7 @@ static int token_subscr_cb(unsigned int subsys, unsigned int signal, goto unauth; } - sms = sms_from_text(subscr, sms_str); + sms = sms_from_text(subscr, 0, sms_str); talloc_free(sms_str); if (!sms) { rc = -ENOMEM; diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c index d13031ba1..56b496678 100644 --- a/openbsc/src/vty_interface_layer3.c +++ b/openbsc/src/vty_interface_layer3.c @@ -146,7 +146,7 @@ static int _send_sms_str(struct gsm_subscriber *receiver, char *str, { struct gsm_sms *sms; - sms = sms_from_text(receiver, str); + sms = sms_from_text(receiver, 0, str); sms->protocol_id = tp_pid; /* store in database for the queue */