The bitmasks are 0xbf according to ETSI 3GPP TS 100 940 chapter 10.4
---
include/osmocom/gsm/protocol/gsm_04_08.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h
b/include/osmocom/gsm/protocol/gsm_04_08.h
index 9fcdddc..43571b9 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -820,6 +820,7 @@ struct gsm48_rr_status {
#define GSM48_MT_RR_APP_INFO 0x38
/* Table 10.2/3GPP TS 04.08 */
+#define GSM48_MT_MM_MSG_TYPE_MASK 0xbf
#define GSM48_MT_MM_IMSI_DETACH_IND 0x01
#define GSM48_MT_MM_LOC_UPD_ACCEPT 0x02
#define GSM48_MT_MM_LOC_UPD_REJECT 0x04
@@ -846,6 +847,7 @@ struct gsm48_rr_status {
#define GSM48_MT_MM_INFO 0x32
/* Table 10.3/3GPP TS 04.08 */
+#define GSM48_MT_CC_MSG_TYPE_MASK 0xbf
#define GSM48_MT_CC_ALERTING 0x01
#define GSM48_MT_CC_CALL_CONF 0x08
#define GSM48_MT_CC_CALL_PROC 0x02
--
2.1.4
Show replies by date
Though ETSI 3GPP TS 100 940 chapter 10.4 defines the message bitmask to be
0xbf, the message types observed in the field need a bitmask of 0x3f instead.
Our 3G UE as well as the wireshark bisector for MM messages both agree that
the upper bits (bit 8 and 7 == 0xc0) are used as sequence number.
---
include/osmocom/gsm/protocol/gsm_04_08.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/osmocom/gsm/protocol/gsm_04_08.h
b/include/osmocom/gsm/protocol/gsm_04_08.h
index 43571b9..2a6f348 100644
--- a/include/osmocom/gsm/protocol/gsm_04_08.h
+++ b/include/osmocom/gsm/protocol/gsm_04_08.h
@@ -820,7 +820,7 @@ struct gsm48_rr_status {
#define GSM48_MT_RR_APP_INFO 0x38
/* Table 10.2/3GPP TS 04.08 */
-#define GSM48_MT_MM_MSG_TYPE_MASK 0xbf
+#define GSM48_MT_MM_MSG_TYPE_MASK 0x3f
#define GSM48_MT_MM_IMSI_DETACH_IND 0x01
#define GSM48_MT_MM_LOC_UPD_ACCEPT 0x02
#define GSM48_MT_MM_LOC_UPD_REJECT 0x04
--
2.1.4