Wireshark 4.4.2 version (latest one) seems to decode degreesLongitude incorrectly. Please find below the parameter and issue details:
Parameter is present inside NR RRC message as shown in below heirarchy:
NR Radio Resource Control (RRC) protocol->UL-DCCH message ->ueInformationResponse-r16->coarseLocationInfo-r17->Ellipsoid-Point->degreesLongitude
Here, as per specification 3gpp 23032 (v18.01.00) section 6.1 -> Coding of Point -> The longitude, expressed in the range -180°, +180°, is coded as a number between -223 and 223-1, coded in 2's complement binary on 24 bits. The relation between the coded number N and the range of longitude X it encodes is the following (X in degrees):
2^24 * X
N <= ----------- < N+1
360
Issue:
Here if we want to send a longitude in degrees with a positive value, msb is always set with "1" even though it is a positive number and in case of a negative longitude value, 2's complement is calculated and MSB is always set as "0" even though it should be "1" as it's a negative number.
For e.g. In case of -4.9 degrees, if we calculate value of N using above formula, it should be -233013. 2's complement of -233013 is 1111 1100 0111 0001 1100 1010
i.e. FC 71 CB but in wireshark it is 7C 71 CB i.e. msb is set to 0 instead of 1 as its a negative number
and similarly wrong msb in case of positive number.