Wireshark-dev: Re: [Wireshark-dev] exported_pdu 3GPP Cell identity, question on PLMN encoding

From: Pascal Quantin <pascal@xxxxxxxxxxxxx>
Date: Fri, 28 Jun 2024 17:03:44 +0200
Hi Mauro,

Le ven. 28 juin 2024 à 16:55, Mauro Levra via Wireshark-dev <wireshark-dev@xxxxxxxxxxxxx> a écrit :
Hi,

I am working on adding a 3GPP Cell Identity tag to the
exported_pdu header. A single-octet type field precedes the
actual value and specifies if the identity is the CGI, ECGI,
or NCGI.

I have a question about the PLMN component at the beginning of
each global identity field. There are several ways to encode it.
In our application, we chose the one described in [3GPP TS 36.455]
(paragraph 9.2.6, ECGI; paragraph 9.2.26, NR CGI).
Is it ok if I define the exported_pdu header following 3GPP
Information Element encoding?

The Selected PLMN identity consists of 3 digits from MCC
followed by either a filler digit plus 2 digits from MNC
(in case of a 2-digit MNC) or 3 digits from MNC (in case of a
3-digit MNC).

[0] MCC digit 2, MCC digit 1
[1] MNC digit 1, MCC digit 3
[2] MNC digit 3, MNC digit 2

Examples:

MCC: 321
MNC: 987
PLMN: [0] 0x21, [1] 0x73, [2] 0x98

MCC: 321
MNC: 98
PLMN: [0] 0x21, [1] 0xF3, [2] 0x98

This does not seem correct. Using your encoding rules, you should instead have PLMN: [0] 0x23, [1] 0x71, [2] 0x89 and PLMN: [0] 0x32, [1] 0xF1, [2] 0x89 which would be the traditional BCD encoding used in 3GPP specs.

Best regards,
Pascal.