[PATCH 1/2] Add defines for MM and CC message type bitmasks
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
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
participants (1)
-
Neels Hofmeyr