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