aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include
diff options
context:
space:
mode:
Diffstat (limited to 'openbsc/include')
-rw-r--r--openbsc/include/openbsc/gsm_04_80.h10
-rw-r--r--openbsc/include/openbsc/gsm_subscriber.h7
2 files changed, 10 insertions, 7 deletions
diff --git a/openbsc/include/openbsc/gsm_04_80.h b/openbsc/include/openbsc/gsm_04_80.h
index 9bdf2c200..c240bbe94 100644
--- a/openbsc/include/openbsc/gsm_04_80.h
+++ b/openbsc/include/openbsc/gsm_04_80.h
@@ -125,17 +125,19 @@
#include <openbsc/msgb.h>
+#define MAX_LEN_USSD_STRING 31
+
struct ussd_request {
- char text[32];
+ char text[MAX_LEN_USSD_STRING + 1];
u_int8_t transaction_id;
u_int8_t invoke_id;
};
-int gsm0480_decode_ussd_request(struct msgb *msg,
+int gsm0480_decode_ussd_request(const struct msgb *msg,
struct ussd_request *request);
-int gsm0480_send_ussd_response(struct msgb *in_msg, const char* response_text,
+int gsm0480_send_ussd_response(const struct msgb *in_msg, const char* response_text,
const struct ussd_request *req);
-int gsm0480_send_ussd_reject(struct msgb *msg,
+int gsm0480_send_ussd_reject(const struct msgb *msg,
const struct ussd_request *request);
#endif
diff --git a/openbsc/include/openbsc/gsm_subscriber.h b/openbsc/include/openbsc/gsm_subscriber.h
index ea70c3aa2..d612ed566 100644
--- a/openbsc/include/openbsc/gsm_subscriber.h
+++ b/openbsc/include/openbsc/gsm_subscriber.h
@@ -8,13 +8,14 @@
#define GSM_IMEI_LENGTH 17
#define GSM_IMSI_LENGTH 17
#define GSM_NAME_LENGTH 128
-#define GSM_EXTENSION_LENGTH 128
+
+#define GSM_EXTENSION_LENGTH 15 /* MSISDN can only be 15 digits length */
+#define GSM_MIN_EXTEN 20000
+#define GSM_MAX_EXTEN 49999
/* reserved according to GSM 03.03 ยง 2.4 */
#define GSM_RESERVED_TMSI 0xFFFFFFFF
-#define GSM_MIN_EXTEN 20000
-#define GSM_MAX_EXTEN 49999
#define GSM_SUBSCRIBER_FIRST_CONTACT 0x00000001
#define tmsi_from_string(str) strtoul(str, NULL, 10)