diff --git a/openair2/COMMON/commonDef.h b/openair2/COMMON/commonDef.h index ae1bdaf994a46f76fa7981756381a195f1f64590..cfd5d68e40a9a92d8b09b533f316430c00373c99 100644 --- a/openair2/COMMON/commonDef.h +++ b/openair2/COMMON/commonDef.h @@ -119,7 +119,7 @@ typedef struct { Byte_t digit14:4; Byte_t digit13:4; #define EVEN_PARITY 0 -#define ODD_PARITY 0xf +#define ODD_PARITY 1 Byte_t parity:4; Byte_t digit15:4; } num; diff --git a/openair3/NAS/COMMON/IES/MobileIdentity.h b/openair3/NAS/COMMON/IES/MobileIdentity.h index 9c082c12df0dfe9ddcce626fb1f75ca468c88a89..72abcb9ed47774178e509301717ffde8d5680a2f 100644 --- a/openair3/NAS/COMMON/IES/MobileIdentity.h +++ b/openair3/NAS/COMMON/IES/MobileIdentity.h @@ -93,7 +93,7 @@ typedef struct imeisv_s{ uint8_t digit15:4; uint8_t digit16:4; #define EVEN_PARITY 0 -#define ODD_PARITY 1 +#define IMEI_ODD_PARITY 0xf uint8_t parity:4; } imeisv_t; @@ -119,7 +119,7 @@ typedef struct imeisv_s { uint8_t svn2:4; uint8_t svn1:4; #define EVEN_PARITY 0 -#define ODD_PARITY 1 +#define IMEI_ODD_PARITY 0xf uint8_t parity:4; } num; #define IMEISV_BCD8_SIZE 9 diff --git a/openair3/NAS/UE/EMM/SAP/emm_send.c b/openair3/NAS/UE/EMM/SAP/emm_send.c index 554c55693283851e9578291f7dad1c1cf54851e8..e3fc4fa7f990622aa6a78f922d863e6ca2074669 100644 --- a/openair3/NAS/UE/EMM/SAP/emm_send.c +++ b/openair3/NAS/UE/EMM/SAP/emm_send.c @@ -879,7 +879,7 @@ int emm_send_security_mode_complete(const emm_as_security_t *msg, emm_msg->imeisv.imeisv.digit14 = 0x3; emm_msg->imeisv.imeisv.digit15 = 0x0; emm_msg->imeisv.imeisv.digit16 = 0x0; - emm_msg->imeisv.imeisv.parity = ODD_PARITY; + emm_msg->imeisv.imeisv.parity = IMEI_ODD_PARITY; size += SECURITY_MODE_COMPLETE_MAXIMUM_LENGTH; } diff --git a/openair3/NAS/UE/EMM/emm_main.c b/openair3/NAS/UE/EMM/emm_main.c index 82946a634e603ae118d76880139967065c04c2f4..2eb4d8fa24d6b18c1d7e8f88d01bbfc00961c2ca 100644 --- a/openair3/NAS/UE/EMM/emm_main.c +++ b/openair3/NAS/UE/EMM/emm_main.c @@ -40,6 +40,7 @@ Description Defines the EPS Mobility Management procedure call manager, #include "emm_main.h" #include "nas_log.h" #include "emmData.h" +#include "MobileIdentity.h" #include "memory.h" #include "usim_api.h" @@ -919,7 +920,7 @@ static int _emm_main_get_imei(imei_t *imei, const char *imei_str) int len = strlen(imei_str); if (len % 2) { - imei->u.num.parity = ODD_PARITY; + imei->u.num.parity = IMEI_ODD_PARITY; } else { imei->u.num.parity = EVEN_PARITY; }