GSM_Types: Fix MobileIdentity
diff --git a/library/GSM_Types.ttcn b/library/GSM_Types.ttcn
index 7275101..a08edb2 100644
--- a/library/GSM_Types.ttcn
+++ b/library/GSM_Types.ttcn
@@ -176,30 +176,34 @@
 		MobileIdentityType	mi_type (MI_TYPE_IMSI, MI_TYPE_IMEI, MI_TYPE_IMEISV),
 		boolean			odd,
 		hexstring		digits
-	} with { variant "" };
+	} with { variant "FIELDORDER(lsb)" };
 
 	type record MobileIdentityTMSI {
 		BIT4			pad ('1111'B),
 		boolean			odd (false),
 		MobileIdentityType	mi_type (MI_TYPE_TMSI),
 		GsmTmsi			tmsi
-	} with { variant "" };
+	} with { variant "FIELDORDER(lsb)" };
 
 	type record MobileIdentityNone {
 		BIT4			pad ('1111'B),
 		boolean			odd (false),
 		MobileIdentityType	mi_type (MI_TYPE_NONE)
-	} with { variant "" };
+	} with { variant "FIELDORDER(lsb)" };
 
 	type union MobileIdentity {
-		MobileIdentityBCD	bcd,
+		MobileIdentityBCD	imsi,
+		MobileIdentityBCD	imei,
+		MobileIdentityBCD	imeisv,
 		MobileIdentityTMSI	tmsi,
 		MobileIdentityNone	unused
-	} with { variant "TAG(bcd, mi_type = MI_TYPE_IMSI;
-			      bcd, mi_type = MI_TYPE_IMEI;
-			      bcd, mi_type = MI_TYPE_IMEISV;
+	} with { variant "TAG(imsi, mi_type = MI_TYPE_IMSI;
+			      imei, mi_type = MI_TYPE_IMEI;
+			      imeisv, mi_type = MI_TYPE_IMEISV;
 			      tmsi, mi_type = MI_TYPE_TMSI;
-			      unused, mi_type = MI_TYPE_NONE)" };
+			      unused, mi_type = MI_TYPE_NONE)"
+		 variant "FIELDORDER(lsb)"
+	};
 
 	type record MobileIdentityLV {
 		uint8_t		len,