aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-lcsap.c
diff options
context:
space:
mode:
authorJonas Falkevik <jonas.falkevik@gmail.com>2020-10-10 00:07:36 +0200
committerJonas Falkevik <jonas.falkevik@gmail.com>2020-10-29 00:53:13 +0100
commit156f9e81fc3121722f72e4ef9486720bbaa9b1d0 (patch)
tree44a94da3171c5a51e2f19f54a83d5c3c89abd21d /epan/dissectors/packet-lcsap.c
parent7c178d752f1911382b89ab53518e10314f43d4f1 (diff)
lcsap: fix decode of plmnIdentity
Corretly decode MNC if it consists of 3 digits Change to what is called big endinan MNC 8 7 6 5 4 3 2 1 +---+---+---+---+---+---+---+---+ | MCC digit 2 | MCC digit 1 | octet x +---------------+---------------+ | Filler | MCC digit 3 | octet x+1 +---------------+---------------+ | MNC digit 2 | MNC digit 1 | octet x+2 +---------------+---------------+ MNC of length 3: 8 7 6 5 4 3 2 1 +---+---+---+---+---+---+---+---+ | MCC digit 2 | MCC digit 1 | octet x +---------------+---------------+ | MNC digit 1 | MCC digit 3 | octet x+1 +---------------+---------------+ | MNC digit 3 | MNC digit 2 | octet x+2 +---------------+---------------+ From 3GPP TS 29.171 7.4.27 PLMN Identity - digits 0 to 9, encoded 0000 to 1001, - 1111 used as filler digit, two digits per octet, - bits 4 to 1 of octet n encoding digit 2n-1 - bits 8 to 5 of octet n encoding digit 2n The Selected PLMN identity consists of 3 digits from MCC followed by either - a filler digit plus 2 digits from MNC (in case of 2 digit MNC) or - 3 digits from MNC (in case of a 3 digit MNC).
Diffstat (limited to 'epan/dissectors/packet-lcsap.c')
-rw-r--r--epan/dissectors/packet-lcsap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/epan/dissectors/packet-lcsap.c b/epan/dissectors/packet-lcsap.c
index 5224692d9d..8af6b403a6 100644
--- a/epan/dissectors/packet-lcsap.c
+++ b/epan/dissectors/packet-lcsap.c
@@ -1073,7 +1073,7 @@ dissect_lcsap_PLMN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
if (!parameter_tvb)
return offset;
subtree = proto_item_add_subtree(actx->created_item, ett_lcsap_plmnd_id);
- dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, TRUE);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
return offset;