aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/include/openbsc/gsm_04_11.h
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2009-07-27 20:11:35 +0200
committerHarald Welte <laforge@gnumonks.org>2009-07-27 20:11:35 +0200
commitf3efc597d162e6e5f80e926c992dafe4e9f7dfc6 (patch)
tree7acebe2810e9753faee39affef87d074d2584588 /openbsc/include/openbsc/gsm_04_11.h
parent0803b98cc089b499cbaea8cd3284eba60bd71f43 (diff)
further steps towards better, transaction based SMS
Diffstat (limited to 'openbsc/include/openbsc/gsm_04_11.h')
-rw-r--r--openbsc/include/openbsc/gsm_04_11.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/openbsc/include/openbsc/gsm_04_11.h b/openbsc/include/openbsc/gsm_04_11.h
index 4f4535786..54b44c003 100644
--- a/openbsc/include/openbsc/gsm_04_11.h
+++ b/openbsc/include/openbsc/gsm_04_11.h
@@ -3,6 +3,21 @@
/* GSM TS 04.11 definitions */
+/* Chapter 5.2.3: SMC-CS states at the network side */
+enum gsm411_cp_state {
+ GSM411_CPS_IDLE = 0,
+ GSM411_CPS_MM_CONN_PENDING = 1, /* only MT ! */
+ GSM411_CPS_WAIT_CP_ACK = 2,
+ GSM411_CPS_MM_ESTABLISHED = 3,
+};
+
+/* Chapter 6.2.2: SMR states at the network side */
+enum gsm411_rp_state {
+ GSM411_RPS_IDLE = 0,
+ GSM411_RPS_WAIT_FOR_RP_ACK = 1,
+ GSM411_RPS_WAIT_TO_TX_RP_ACK = 3,
+};
+
/* Chapter 8.1.2 (refers to GSM 04.07 Chapter 11.2.3.1.1 */
#define GSM411_PDISC_SMS 0x09
@@ -73,6 +88,11 @@ enum gsm411_rp_cause {
GSM411_RP_CAUSE_PROTOCOL_ERR = 111,
};
+/* Chapter 10: Timers */
+#define GSM411_TMR_TR1M 40 /* 35 < x < 45 seconds */
+#define GSM411_TMR_TRAM 30 /* 25 < x < 35 seconds */
+#define GSM411_TMR_TR2M 15 /* 12 < x < 20 seconds */
+
/* Chapter 8.2.1 */
struct gsm411_rp_hdr {
u_int8_t len;
@@ -184,7 +204,6 @@ struct sms_submit {
#define GSM338_DCS_1111_CLASS2_SIM 2
#define GSM338_DCS_1111_CLASS3_TE 3 /* See TS 07.05 */
-
/* SMS deliver PDU */
struct sms_deliver {
u_int8_t mti:2; /* message type indicator */