Ensure BcdMccMnc is encoded as 24.008 10.5.5.15
PCU is using BcdMccMnc as it's encoded as 24.008.
But SGSN code is using it as it would be byte by byte
sorted.
Fixes: OS#3878
Change-Id: Ie8f67f16f18e4c5090bc5a4c46a866a7e7e00206
diff --git a/library/L3_Common.ttcn b/library/L3_Common.ttcn
index 57db6b3..01f0a34 100644
--- a/library/L3_Common.ttcn
+++ b/library/L3_Common.ttcn
@@ -106,9 +106,9 @@
rai.mccDigit1
& rai.mccDigit2
& rai.mccDigit3
+ & rai.mncDigit3
& rai.mncDigit1
- & rai.mncDigit2
- & rai.mncDigit3;
+ & rai.mncDigit2;
return plmn;
}
diff --git a/library/Osmocom_Gb_Types.ttcn b/library/Osmocom_Gb_Types.ttcn
index 95d3028..55a2816 100644
--- a/library/Osmocom_Gb_Types.ttcn
+++ b/library/Osmocom_Gb_Types.ttcn
@@ -868,8 +868,8 @@
ret.mccDigit2 := cid.ra_id.lai.mcc_mnc[1];
ret.mccDigit3 := cid.ra_id.lai.mcc_mnc[2];
ret.mncDigit3 := cid.ra_id.lai.mcc_mnc[3];
- ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[5];
ret.mncDigit1 := cid.ra_id.lai.mcc_mnc[4];
+ ret.mncDigit2 := cid.ra_id.lai.mcc_mnc[5];
}
if (isvalue(cid.ra_id.lai.lac)) {
ret.lac := f_oct_or_wc(cid.ra_id.lai.lac, 2);