1 /* Do not modify this file. Changes will be overwritten.                      */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler       */
3 /* packet-rrlp.c                                                              */
4 /* asn2wrs.py -p rrlp -c ./rrlp.cnf -s ./packet-rrlp-template -D . -O ../.. ../gsm_map/MAP-ExtensionDataTypes.asn ../gsm_map/MAP-LCS-DataTypes.asn RRLP-Messages.asn RRLP-Components.asn */
5 
6 /* Input file: packet-rrlp-template.c */
7 
8 #line 1 "./asn1/rrlp/packet-rrlp-template.c"
9 /* packet-rrlp.c
10  * Routines for 3GPP Radio Resource LCS Protocol (RRLP) packet dissection
11  * Copyright 2006, Anders Broman <anders.broman@ericsson.com>
12  *
13  * Wireshark - Network traffic analyzer
14  * By Gerald Combs <gerald@wireshark.org>
15  * Copyright 1998 Gerald Combs
16  *
17  * SPDX-License-Identifier: GPL-2.0-or-later
18  *
19  * Ref 3GPP TS 44.031 version 11.0.0 Release 11
20  * http://www.3gpp.org
21  */
22 
23 #include "config.h"
24 
25 #include <epan/packet.h>
26 #include <epan/asn1.h>
27 
28 #include "packet-ber.h"
29 #include "packet-per.h"
30 #include "packet-gsm_a_common.h"
31 
32 #define PNAME  "Radio Resource LCS Protocol (RRLP)"
33 #define PSNAME "RRLP"
34 #define PFNAME "rrlp"
35 
36 
37 
38 #ifdef _MSC_VER
39 /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */
40 #pragma warning(disable:4146)
41 #endif
42 
43 void proto_register_rrlp(void);
44 void proto_reg_handoff_rrlp(void);
45 
46 /* Initialize the protocol and registered fields */
47 static int proto_rrlp = -1;
48 
49 
50 
51 /*--- Included file: packet-rrlp-hf.c ---*/
52 #line 1 "./asn1/rrlp/packet-rrlp-hf.c"
53 static int hf_rrlp_PDU_PDU = -1;                  /* PDU */
54 static int hf_rrlp_privateExtensionList = -1;     /* PrivateExtensionList */
55 static int hf_rrlp_pcs_Extensions = -1;           /* PCS_Extensions */
56 static int hf_rrlp_PrivateExtensionList_item = -1;  /* PrivateExtension */
57 static int hf_rrlp_extId = -1;                    /* OBJECT_IDENTIFIER */
58 static int hf_rrlp_extType = -1;                  /* T_extType */
59 static int hf_rrlp_referenceNumber = -1;          /* INTEGER_0_7 */
60 static int hf_rrlp_component = -1;                /* RRLP_Component */
61 static int hf_rrlp_msrPositionReq = -1;           /* MsrPosition_Req */
62 static int hf_rrlp_msrPositionRsp = -1;           /* MsrPosition_Rsp */
63 static int hf_rrlp_assistanceData = -1;           /* AssistanceData */
64 static int hf_rrlp_assistanceDataAck = -1;        /* NULL */
65 static int hf_rrlp_protocolError = -1;            /* ProtocolError */
66 static int hf_rrlp_posCapabilityReq = -1;         /* PosCapability_Req */
67 static int hf_rrlp_posCapabilityRsp = -1;         /* PosCapability_Rsp */
68 static int hf_rrlp_positionInstruct = -1;         /* PositionInstruct */
69 static int hf_rrlp_referenceAssistData = -1;      /* ReferenceAssistData */
70 static int hf_rrlp_msrAssistData = -1;            /* MsrAssistData */
71 static int hf_rrlp_systemInfoAssistData = -1;     /* SystemInfoAssistData */
72 static int hf_rrlp_gps_AssistData = -1;           /* GPS_AssistData */
73 static int hf_rrlp_extensionContainer = -1;       /* ExtensionContainer */
74 static int hf_rrlp_rel98_MsrPosition_Req_extension = -1;  /* Rel98_MsrPosition_Req_Extension */
75 static int hf_rrlp_rel5_MsrPosition_Req_extension = -1;  /* Rel5_MsrPosition_Req_Extension */
76 static int hf_rrlp_rel7_MsrPosition_Req_extension = -1;  /* Rel7_MsrPosition_Req_Extension */
77 static int hf_rrlp_multipleSets = -1;             /* MultipleSets */
78 static int hf_rrlp_referenceIdentity = -1;        /* ReferenceIdentity */
79 static int hf_rrlp_otd_MeasureInfo = -1;          /* OTD_MeasureInfo */
80 static int hf_rrlp_locationInfo = -1;             /* LocationInfo */
81 static int hf_rrlp_gps_MeasureInfo = -1;          /* GPS_MeasureInfo */
82 static int hf_rrlp_locationError = -1;            /* LocationError */
83 static int hf_rrlp_rel_98_MsrPosition_Rsp_Extension = -1;  /* Rel_98_MsrPosition_Rsp_Extension */
84 static int hf_rrlp_rel_5_MsrPosition_Rsp_Extension = -1;  /* Rel_5_MsrPosition_Rsp_Extension */
85 static int hf_rrlp_rel_7_MsrPosition_Rsp_Extension = -1;  /* Rel_7_MsrPosition_Rsp_Extension */
86 static int hf_rrlp_moreAssDataToBeSent = -1;      /* MoreAssDataToBeSent */
87 static int hf_rrlp_rel98_AssistanceData_Extension = -1;  /* Rel98_AssistanceData_Extension */
88 static int hf_rrlp_rel5_AssistanceData_Extension = -1;  /* Rel5_AssistanceData_Extension */
89 static int hf_rrlp_rel7_AssistanceData_Extension = -1;  /* Rel7_AssistanceData_Extension */
90 static int hf_rrlp_errorCause = -1;               /* ErrorCodes */
91 static int hf_rrlp_rel_5_ProtocolError_Extension = -1;  /* Rel_5_ProtocolError_Extension */
92 static int hf_rrlp_extended_reference = -1;       /* Extended_reference */
93 static int hf_rrlp_gANSSPositionMethods = -1;     /* GANSSPositionMethods */
94 static int hf_rrlp_posCapabilities = -1;          /* PosCapabilities */
95 static int hf_rrlp_assistanceSupported = -1;      /* AssistanceSupported */
96 static int hf_rrlp_assistanceNeeded = -1;         /* AssistanceNeeded */
97 static int hf_rrlp_methodType = -1;               /* MethodType */
98 static int hf_rrlp_positionMethod = -1;           /* PositionMethod */
99 static int hf_rrlp_measureResponseTime = -1;      /* MeasureResponseTime */
100 static int hf_rrlp_useMultipleSets = -1;          /* UseMultipleSets */
101 static int hf_rrlp_environmentCharacter = -1;     /* EnvironmentCharacter */
102 static int hf_rrlp_msAssisted = -1;               /* AccuracyOpt */
103 static int hf_rrlp_msBased = -1;                  /* Accuracy */
104 static int hf_rrlp_msBasedPref = -1;              /* Accuracy */
105 static int hf_rrlp_msAssistedPref = -1;           /* Accuracy */
106 static int hf_rrlp_accuracy = -1;                 /* Accuracy */
107 static int hf_rrlp_bcchCarrier = -1;              /* BCCHCarrier */
108 static int hf_rrlp_bsic = -1;                     /* BSIC */
109 static int hf_rrlp_timeSlotScheme = -1;           /* TimeSlotScheme */
110 static int hf_rrlp_btsPosition = -1;              /* BTSPosition */
111 static int hf_rrlp_msrAssistList = -1;            /* SeqOfMsrAssistBTS */
112 static int hf_rrlp_SeqOfMsrAssistBTS_item = -1;   /* MsrAssistBTS */
113 static int hf_rrlp_multiFrameOffset = -1;         /* MultiFrameOffset */
114 static int hf_rrlp_roughRTD = -1;                 /* RoughRTD */
115 static int hf_rrlp_calcAssistanceBTS = -1;        /* CalcAssistanceBTS */
116 static int hf_rrlp_systemInfoAssistList = -1;     /* SeqOfSystemInfoAssistBTS */
117 static int hf_rrlp_SeqOfSystemInfoAssistBTS_item = -1;  /* SystemInfoAssistBTS */
118 static int hf_rrlp_notPresent = -1;               /* NULL */
119 static int hf_rrlp_present = -1;                  /* AssistBTSData */
120 static int hf_rrlp_fineRTD = -1;                  /* FineRTD */
121 static int hf_rrlp_referenceWGS84 = -1;           /* ReferenceWGS84 */
122 static int hf_rrlp_relativeNorth = -1;            /* RelDistance */
123 static int hf_rrlp_relativeEast = -1;             /* RelDistance */
124 static int hf_rrlp_relativeAlt = -1;              /* RelativeAlt */
125 static int hf_rrlp_nbrOfSets = -1;                /* INTEGER_2_3 */
126 static int hf_rrlp_nbrOfReferenceBTSs = -1;       /* INTEGER_1_3 */
127 static int hf_rrlp_referenceRelation = -1;        /* ReferenceRelation */
128 static int hf_rrlp_refBTSList = -1;               /* SeqOfReferenceIdentityType */
129 static int hf_rrlp_SeqOfReferenceIdentityType_item = -1;  /* ReferenceIdentityType */
130 static int hf_rrlp_bsicAndCarrier = -1;           /* BSICAndCarrier */
131 static int hf_rrlp_ci = -1;                       /* CellID */
132 static int hf_rrlp_requestIndex = -1;             /* RequestIndex */
133 static int hf_rrlp_systemInfoIndex = -1;          /* SystemInfoIndex */
134 static int hf_rrlp_ciAndLAC = -1;                 /* CellIDAndLAC */
135 static int hf_rrlp_carrier = -1;                  /* BCCHCarrier */
136 static int hf_rrlp_referenceLAC = -1;             /* LAC */
137 static int hf_rrlp_referenceCI = -1;              /* CellID */
138 static int hf_rrlp_otdMsrFirstSets = -1;          /* OTD_MsrElementFirst */
139 static int hf_rrlp_otdMsrRestSets = -1;           /* SeqOfOTD_MsrElementRest */
140 static int hf_rrlp_SeqOfOTD_MsrElementRest_item = -1;  /* OTD_MsrElementRest */
141 static int hf_rrlp_refFrameNumber = -1;           /* INTEGER_0_42431 */
142 static int hf_rrlp_referenceTimeSlot = -1;        /* ModuloTimeSlot */
143 static int hf_rrlp_toaMeasurementsOfRef = -1;     /* TOA_MeasurementsOfRef */
144 static int hf_rrlp_stdResolution = -1;            /* StdResolution */
145 static int hf_rrlp_taCorrection = -1;             /* INTEGER_0_960 */
146 static int hf_rrlp_otd_FirstSetMsrs = -1;         /* SeqOfOTD_FirstSetMsrs */
147 static int hf_rrlp_SeqOfOTD_FirstSetMsrs_item = -1;  /* OTD_FirstSetMsrs */
148 static int hf_rrlp_otd_MsrsOfOtherSets = -1;      /* SeqOfOTD_MsrsOfOtherSets */
149 static int hf_rrlp_SeqOfOTD_MsrsOfOtherSets_item = -1;  /* OTD_MsrsOfOtherSets */
150 static int hf_rrlp_refQuality = -1;               /* RefQuality */
151 static int hf_rrlp_numOfMeasurements = -1;        /* NumOfMeasurements */
152 static int hf_rrlp_identityNotPresent = -1;       /* OTD_Measurement */
153 static int hf_rrlp_identityPresent = -1;          /* OTD_MeasurementWithID */
154 static int hf_rrlp_nborTimeSlot = -1;             /* ModuloTimeSlot */
155 static int hf_rrlp_eotdQuality = -1;              /* EOTDQuality */
156 static int hf_rrlp_otdValue = -1;                 /* OTDValue */
157 static int hf_rrlp_neighborIdentity = -1;         /* NeighborIdentity */
158 static int hf_rrlp_nbrOfMeasurements = -1;        /* INTEGER_0_7 */
159 static int hf_rrlp_stdOfEOTD = -1;                /* INTEGER_0_31 */
160 static int hf_rrlp_multiFrameCarrier = -1;        /* MultiFrameCarrier */
161 static int hf_rrlp_refFrame = -1;                 /* INTEGER_0_65535 */
162 static int hf_rrlp_gpsTOW = -1;                   /* INTEGER_0_14399999 */
163 static int hf_rrlp_fixType = -1;                  /* FixType */
164 static int hf_rrlp_posEstimate = -1;              /* Ext_GeographicalInformation */
165 static int hf_rrlp_gpsMsrSetList = -1;            /* SeqOfGPS_MsrSetElement */
166 static int hf_rrlp_SeqOfGPS_MsrSetElement_item = -1;  /* GPS_MsrSetElement */
167 static int hf_rrlp_gpsTOW_01 = -1;                /* GPSTOW24b */
168 static int hf_rrlp_gps_msrList = -1;              /* SeqOfGPS_MsrElement */
169 static int hf_rrlp_SeqOfGPS_MsrElement_item = -1;  /* GPS_MsrElement */
170 static int hf_rrlp_satelliteID = -1;              /* SatelliteID */
171 static int hf_rrlp_cNo = -1;                      /* INTEGER_0_63 */
172 static int hf_rrlp_doppler = -1;                  /* INTEGER_M32768_32767 */
173 static int hf_rrlp_wholeChips = -1;               /* INTEGER_0_1022 */
174 static int hf_rrlp_fracChips = -1;                /* INTEGER_0_1024 */
175 static int hf_rrlp_mpathIndic = -1;               /* MpathIndic */
176 static int hf_rrlp_pseuRangeRMSErr = -1;          /* INTEGER_0_63 */
177 static int hf_rrlp_locErrorReason = -1;           /* LocErrorReason */
178 static int hf_rrlp_additionalAssistanceData = -1;  /* AdditionalAssistanceData */
179 static int hf_rrlp_gpsAssistanceData = -1;        /* GPSAssistanceData */
180 static int hf_rrlp_ganssAssistanceData = -1;      /* GANSSAssistanceData */
181 static int hf_rrlp_controlHeader = -1;            /* ControlHeader */
182 static int hf_rrlp_referenceTime = -1;            /* ReferenceTime */
183 static int hf_rrlp_refLocation = -1;              /* RefLocation */
184 static int hf_rrlp_dgpsCorrections = -1;          /* DGPSCorrections */
185 static int hf_rrlp_navigationModel = -1;          /* NavigationModel */
186 static int hf_rrlp_ionosphericModel = -1;         /* IonosphericModel */
187 static int hf_rrlp_utcModel = -1;                 /* UTCModel */
188 static int hf_rrlp_almanac = -1;                  /* Almanac */
189 static int hf_rrlp_acquisAssist = -1;             /* AcquisAssist */
190 static int hf_rrlp_realTimeIntegrity = -1;        /* SeqOf_BadSatelliteSet */
191 static int hf_rrlp_gpsTime = -1;                  /* GPSTime */
192 static int hf_rrlp_gsmTime = -1;                  /* GSMTime */
193 static int hf_rrlp_gpsTowAssist = -1;             /* GPSTOWAssist */
194 static int hf_rrlp_gpsTOW23b = -1;                /* GPSTOW23b */
195 static int hf_rrlp_gpsWeek = -1;                  /* GPSWeek */
196 static int hf_rrlp_GPSTOWAssist_item = -1;        /* GPSTOWAssistElement */
197 static int hf_rrlp_tlmWord = -1;                  /* TLMWord */
198 static int hf_rrlp_antiSpoof = -1;                /* AntiSpoofFlag */
199 static int hf_rrlp_alert = -1;                    /* AlertFlag */
200 static int hf_rrlp_tlmRsvdBits = -1;              /* TLMReservedBits */
201 static int hf_rrlp_frameNumber = -1;              /* FrameNumber */
202 static int hf_rrlp_timeSlot = -1;                 /* TimeSlot */
203 static int hf_rrlp_bitNumber = -1;                /* BitNumber */
204 static int hf_rrlp_threeDLocation = -1;           /* Ext_GeographicalInformation */
205 static int hf_rrlp_gpsTOW_02 = -1;                /* INTEGER_0_604799 */
206 static int hf_rrlp_status = -1;                   /* INTEGER_0_7 */
207 static int hf_rrlp_satList = -1;                  /* SeqOfSatElement */
208 static int hf_rrlp_SeqOfSatElement_item = -1;     /* SatElement */
209 static int hf_rrlp_iode = -1;                     /* INTEGER_0_239 */
210 static int hf_rrlp_udre = -1;                     /* INTEGER_0_3 */
211 static int hf_rrlp_pseudoRangeCor = -1;           /* INTEGER_M2047_2047 */
212 static int hf_rrlp_rangeRateCor = -1;             /* INTEGER_M127_127 */
213 static int hf_rrlp_deltaPseudoRangeCor2 = -1;     /* INTEGER_M127_127 */
214 static int hf_rrlp_deltaRangeRateCor2 = -1;       /* INTEGER_M7_7 */
215 static int hf_rrlp_deltaPseudoRangeCor3 = -1;     /* INTEGER_M127_127 */
216 static int hf_rrlp_deltaRangeRateCor3 = -1;       /* INTEGER_M7_7 */
217 static int hf_rrlp_navModelList = -1;             /* SeqOfNavModelElement */
218 static int hf_rrlp_SeqOfNavModelElement_item = -1;  /* NavModelElement */
219 static int hf_rrlp_satStatus = -1;                /* SatStatus */
220 static int hf_rrlp_newSatelliteAndModelUC = -1;   /* UncompressedEphemeris */
221 static int hf_rrlp_oldSatelliteAndModel = -1;     /* NULL */
222 static int hf_rrlp_newNaviModelUC = -1;           /* UncompressedEphemeris */
223 static int hf_rrlp_ephemCodeOnL2 = -1;            /* INTEGER_0_3 */
224 static int hf_rrlp_ephemURA = -1;                 /* INTEGER_0_15 */
225 static int hf_rrlp_ephemSVhealth = -1;            /* INTEGER_0_63 */
226 static int hf_rrlp_ephemIODC = -1;                /* INTEGER_0_1023 */
227 static int hf_rrlp_ephemL2Pflag = -1;             /* INTEGER_0_1 */
228 static int hf_rrlp_ephemSF1Rsvd = -1;             /* EphemerisSubframe1Reserved */
229 static int hf_rrlp_ephemTgd = -1;                 /* INTEGER_M128_127 */
230 static int hf_rrlp_ephemToc = -1;                 /* INTEGER_0_37799 */
231 static int hf_rrlp_ephemAF2 = -1;                 /* INTEGER_M128_127 */
232 static int hf_rrlp_ephemAF1 = -1;                 /* INTEGER_M32768_32767 */
233 static int hf_rrlp_ephemAF0 = -1;                 /* INTEGER_M2097152_2097151 */
234 static int hf_rrlp_ephemCrs = -1;                 /* INTEGER_M32768_32767 */
235 static int hf_rrlp_ephemDeltaN = -1;              /* INTEGER_M32768_32767 */
236 static int hf_rrlp_ephemM0 = -1;                  /* INTEGER_M2147483648_2147483647 */
237 static int hf_rrlp_ephemCuc = -1;                 /* INTEGER_M32768_32767 */
238 static int hf_rrlp_ephemE = -1;                   /* INTEGER_0_4294967295 */
239 static int hf_rrlp_ephemCus = -1;                 /* INTEGER_M32768_32767 */
240 static int hf_rrlp_ephemAPowerHalf = -1;          /* INTEGER_0_4294967295 */
241 static int hf_rrlp_ephemToe = -1;                 /* INTEGER_0_37799 */
242 static int hf_rrlp_ephemFitFlag = -1;             /* INTEGER_0_1 */
243 static int hf_rrlp_ephemAODA = -1;                /* INTEGER_0_31 */
244 static int hf_rrlp_ephemCic = -1;                 /* INTEGER_M32768_32767 */
245 static int hf_rrlp_ephemOmegaA0 = -1;             /* INTEGER_M2147483648_2147483647 */
246 static int hf_rrlp_ephemCis = -1;                 /* INTEGER_M32768_32767 */
247 static int hf_rrlp_ephemI0 = -1;                  /* INTEGER_M2147483648_2147483647 */
248 static int hf_rrlp_ephemCrc = -1;                 /* INTEGER_M32768_32767 */
249 static int hf_rrlp_ephemW = -1;                   /* INTEGER_M2147483648_2147483647 */
250 static int hf_rrlp_ephemOmegaADot = -1;           /* INTEGER_M8388608_8388607 */
251 static int hf_rrlp_ephemIDot = -1;                /* INTEGER_M8192_8191 */
252 static int hf_rrlp_reserved1 = -1;                /* INTEGER_0_8388607 */
253 static int hf_rrlp_reserved2 = -1;                /* INTEGER_0_16777215 */
254 static int hf_rrlp_reserved3 = -1;                /* INTEGER_0_16777215 */
255 static int hf_rrlp_reserved4 = -1;                /* INTEGER_0_65535 */
256 static int hf_rrlp_alfa0 = -1;                    /* INTEGER_M128_127 */
257 static int hf_rrlp_alfa1 = -1;                    /* INTEGER_M128_127 */
258 static int hf_rrlp_alfa2 = -1;                    /* INTEGER_M128_127 */
259 static int hf_rrlp_alfa3 = -1;                    /* INTEGER_M128_127 */
260 static int hf_rrlp_beta0 = -1;                    /* INTEGER_M128_127 */
261 static int hf_rrlp_beta1 = -1;                    /* INTEGER_M128_127 */
262 static int hf_rrlp_beta2 = -1;                    /* INTEGER_M128_127 */
263 static int hf_rrlp_beta3 = -1;                    /* INTEGER_M128_127 */
264 static int hf_rrlp_utcA1 = -1;                    /* INTEGER_M8388608_8388607 */
265 static int hf_rrlp_utcA0 = -1;                    /* INTEGER_M2147483648_2147483647 */
266 static int hf_rrlp_utcTot = -1;                   /* INTEGER_0_255 */
267 static int hf_rrlp_utcWNt = -1;                   /* INTEGER_0_255 */
268 static int hf_rrlp_utcDeltaTls = -1;              /* INTEGER_M128_127 */
269 static int hf_rrlp_utcWNlsf = -1;                 /* INTEGER_0_255 */
270 static int hf_rrlp_utcDN = -1;                    /* INTEGER_M128_127 */
271 static int hf_rrlp_utcDeltaTlsf = -1;             /* INTEGER_M128_127 */
272 static int hf_rrlp_alamanacWNa = -1;              /* INTEGER_0_255 */
273 static int hf_rrlp_almanacList = -1;              /* SeqOfAlmanacElement */
274 static int hf_rrlp_SeqOfAlmanacElement_item = -1;  /* AlmanacElement */
275 static int hf_rrlp_almanacE = -1;                 /* INTEGER_0_65535 */
276 static int hf_rrlp_alamanacToa = -1;              /* INTEGER_0_255 */
277 static int hf_rrlp_almanacKsii = -1;              /* INTEGER_M32768_32767 */
278 static int hf_rrlp_almanacOmegaDot = -1;          /* INTEGER_M32768_32767 */
279 static int hf_rrlp_almanacSVhealth = -1;          /* INTEGER_0_255 */
280 static int hf_rrlp_almanacAPowerHalf = -1;        /* INTEGER_0_16777215 */
281 static int hf_rrlp_almanacOmega0 = -1;            /* INTEGER_M8388608_8388607 */
282 static int hf_rrlp_almanacW = -1;                 /* INTEGER_M8388608_8388607 */
283 static int hf_rrlp_almanacM0 = -1;                /* INTEGER_M8388608_8388607 */
284 static int hf_rrlp_almanacAF0 = -1;               /* INTEGER_M1024_1023 */
285 static int hf_rrlp_almanacAF1 = -1;               /* INTEGER_M1024_1023 */
286 static int hf_rrlp_timeRelation = -1;             /* TimeRelation */
287 static int hf_rrlp_acquisList = -1;               /* SeqOfAcquisElement */
288 static int hf_rrlp_SeqOfAcquisElement_item = -1;  /* AcquisElement */
289 static int hf_rrlp_gpsTOW_03 = -1;                /* GPSTOW23b */
290 static int hf_rrlp_svid = -1;                     /* SatelliteID */
291 static int hf_rrlp_doppler0 = -1;                 /* INTEGER_M2048_2047 */
292 static int hf_rrlp_addionalDoppler = -1;          /* AddionalDopplerFields */
293 static int hf_rrlp_codePhase = -1;                /* INTEGER_0_1022 */
294 static int hf_rrlp_intCodePhase = -1;             /* INTEGER_0_19 */
295 static int hf_rrlp_gpsBitNumber = -1;             /* INTEGER_0_3 */
296 static int hf_rrlp_codePhaseSearchWindow = -1;    /* INTEGER_0_15 */
297 static int hf_rrlp_addionalAngle = -1;            /* AddionalAngleFields */
298 static int hf_rrlp_doppler1 = -1;                 /* INTEGER_0_63 */
299 static int hf_rrlp_dopplerUncertainty = -1;       /* INTEGER_0_7 */
300 static int hf_rrlp_azimuth = -1;                  /* INTEGER_0_31 */
301 static int hf_rrlp_elevation = -1;                /* INTEGER_0_7 */
302 static int hf_rrlp_SeqOf_BadSatelliteSet_item = -1;  /* SatelliteID */
303 static int hf_rrlp_rel98_Ext_ExpOTD = -1;         /* Rel98_Ext_ExpOTD */
304 static int hf_rrlp_gpsTimeAssistanceMeasurementRequest = -1;  /* NULL */
305 static int hf_rrlp_gpsReferenceTimeUncertainty = -1;  /* GPSReferenceTimeUncertainty */
306 static int hf_rrlp_msrAssistData_R98_ExpOTD = -1;  /* MsrAssistData_R98_ExpOTD */
307 static int hf_rrlp_systemInfoAssistData_R98_ExpOTD = -1;  /* SystemInfoAssistData_R98_ExpOTD */
308 static int hf_rrlp_msrAssistList_R98_ExpOTD = -1;  /* SeqOfMsrAssistBTS_R98_ExpOTD */
309 static int hf_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD_item = -1;  /* MsrAssistBTS_R98_ExpOTD */
310 static int hf_rrlp_expectedOTD = -1;              /* ExpectedOTD */
311 static int hf_rrlp_expOTDUncertainty = -1;        /* ExpOTDUncertainty */
312 static int hf_rrlp_systemInfoAssistListR98_ExpOTD = -1;  /* SeqOfSystemInfoAssistBTS_R98_ExpOTD */
313 static int hf_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD_item = -1;  /* SystemInfoAssistBTS_R98_ExpOTD */
314 static int hf_rrlp_present_01 = -1;               /* AssistBTSData_R98_ExpOTD */
315 static int hf_rrlp_expOTDuncertainty = -1;        /* ExpOTDUncertainty */
316 static int hf_rrlp_referenceFrameMSB = -1;        /* INTEGER_0_63 */
317 static int hf_rrlp_gpsTowSubms = -1;              /* INTEGER_0_9999 */
318 static int hf_rrlp_deltaTow = -1;                 /* INTEGER_0_127 */
319 static int hf_rrlp_rel_98_Ext_MeasureInfo = -1;   /* T_rel_98_Ext_MeasureInfo */
320 static int hf_rrlp_otd_MeasureInfo_R98_Ext = -1;  /* OTD_MeasureInfo_R98_Ext */
321 static int hf_rrlp_timeAssistanceMeasurements = -1;  /* GPSTimeAssistanceMeasurements */
322 static int hf_rrlp_otdMsrFirstSets_R98_Ext = -1;  /* OTD_MsrElementFirst_R98_Ext */
323 static int hf_rrlp_otd_FirstSetMsrs_R98_Ext = -1;  /* SeqOfOTD_FirstSetMsrs_R98_Ext */
324 static int hf_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext_item = -1;  /* OTD_FirstSetMsrs */
325 static int hf_rrlp_otd_MeasureInfo_5_Ext = -1;    /* OTD_MeasureInfo_5_Ext */
326 static int hf_rrlp_ulPseudoSegInd = -1;           /* UlPseudoSegInd */
327 static int hf_rrlp_smlc_code = -1;                /* INTEGER_0_63 */
328 static int hf_rrlp_transaction_ID = -1;           /* INTEGER_0_262143 */
329 static int hf_rrlp_velocityRequested = -1;        /* NULL */
330 static int hf_rrlp_ganssPositionMethod = -1;      /* GANSSPositioningMethod */
331 static int hf_rrlp_ganss_AssistData = -1;         /* GANSS_AssistData */
332 static int hf_rrlp_ganssCarrierPhaseMeasurementRequest = -1;  /* NULL */
333 static int hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest = -1;  /* NULL */
334 static int hf_rrlp_requiredResponseTime = -1;     /* RequiredResponseTime */
335 static int hf_rrlp_add_GPS_AssistData = -1;       /* Add_GPS_AssistData */
336 static int hf_rrlp_ganssMultiFreqMeasurementRequest = -1;  /* NULL */
337 static int hf_rrlp_ganss_controlHeader = -1;      /* GANSS_ControlHeader */
338 static int hf_rrlp_ganssCommonAssistData = -1;    /* GANSSCommonAssistData */
339 static int hf_rrlp_ganssGenericAssistDataList = -1;  /* SeqOfGANSSGenericAssistDataElement */
340 static int hf_rrlp_ganssReferenceTime = -1;       /* GANSSReferenceTime */
341 static int hf_rrlp_ganssRefLocation = -1;         /* GANSSRefLocation */
342 static int hf_rrlp_ganssIonosphericModel = -1;    /* GANSSIonosphericModel */
343 static int hf_rrlp_ganssAddIonosphericModel = -1;  /* GANSSAddIonosphericModel */
344 static int hf_rrlp_ganssEarthOrientParam = -1;    /* GANSSEarthOrientParam */
345 static int hf_rrlp_ganssReferenceTime_R10_Ext = -1;  /* GANSSReferenceTime_R10_Ext */
346 static int hf_rrlp_SeqOfGANSSGenericAssistDataElement_item = -1;  /* GANSSGenericAssistDataElement */
347 static int hf_rrlp_ganssID = -1;                  /* INTEGER_0_7 */
348 static int hf_rrlp_ganssTimeModel = -1;           /* SeqOfGANSSTimeModel */
349 static int hf_rrlp_ganssDiffCorrections = -1;     /* GANSSDiffCorrections */
350 static int hf_rrlp_ganssNavigationModel = -1;     /* GANSSNavModel */
351 static int hf_rrlp_ganssRealTimeIntegrity = -1;   /* GANSSRealTimeIntegrity */
352 static int hf_rrlp_ganssDataBitAssist = -1;       /* GANSSDataBitAssist */
353 static int hf_rrlp_ganssRefMeasurementAssist = -1;  /* GANSSRefMeasurementAssist */
354 static int hf_rrlp_ganssAlmanacModel = -1;        /* GANSSAlmanacModel */
355 static int hf_rrlp_ganssUTCModel = -1;            /* GANSSUTCModel */
356 static int hf_rrlp_ganssEphemerisExtension = -1;  /* GANSSEphemerisExtension */
357 static int hf_rrlp_ganssEphemerisExtCheck = -1;   /* GANSSEphemerisExtensionCheck */
358 static int hf_rrlp_sbasID = -1;                   /* INTEGER_0_7 */
359 static int hf_rrlp_ganssAddUTCModel = -1;         /* GANSSAddUTCModel */
360 static int hf_rrlp_ganssAuxiliaryInfo = -1;       /* GANSSAuxiliaryInformation */
361 static int hf_rrlp_ganssDiffCorrectionsValidityPeriod = -1;  /* GANSSDiffCorrectionsValidityPeriod */
362 static int hf_rrlp_ganssTimeModel_R10_Ext = -1;   /* SeqOfGANSSTimeModel_R10_Ext */
363 static int hf_rrlp_ganssRefMeasurementAssist_R10_Ext = -1;  /* GANSSRefMeasurementAssist_R10_Ext */
364 static int hf_rrlp_ganssAlmanacModel_R10_Ext = -1;  /* GANSSAlmanacModel_R10_Ext */
365 static int hf_rrlp_ganssRefTimeInfo = -1;         /* GANSSRefTimeInfo */
366 static int hf_rrlp_ganssTOD_GSMTimeAssociation = -1;  /* GANSSTOD_GSMTimeAssociation */
367 static int hf_rrlp_ganssDay = -1;                 /* INTEGER_0_8191 */
368 static int hf_rrlp_ganssTOD = -1;                 /* GANSSTOD */
369 static int hf_rrlp_ganssTODUncertainty = -1;      /* GANSSTODUncertainty */
370 static int hf_rrlp_ganssTimeID = -1;              /* INTEGER_0_7 */
371 static int hf_rrlp_ganssDayCycleNumber = -1;      /* INTEGER_0_7 */
372 static int hf_rrlp_frameDrift = -1;               /* FrameDrift */
373 static int hf_rrlp_ganssIonoModel = -1;           /* GANSSIonosphereModel */
374 static int hf_rrlp_ganssIonoStormFlags = -1;      /* GANSSIonoStormFlags */
375 static int hf_rrlp_ai0 = -1;                      /* INTEGER_0_4095 */
376 static int hf_rrlp_ai1 = -1;                      /* INTEGER_0_4095 */
377 static int hf_rrlp_ai2 = -1;                      /* INTEGER_0_4095 */
378 static int hf_rrlp_ionoStormFlag1 = -1;           /* INTEGER_0_1 */
379 static int hf_rrlp_ionoStormFlag2 = -1;           /* INTEGER_0_1 */
380 static int hf_rrlp_ionoStormFlag3 = -1;           /* INTEGER_0_1 */
381 static int hf_rrlp_ionoStormFlag4 = -1;           /* INTEGER_0_1 */
382 static int hf_rrlp_ionoStormFlag5 = -1;           /* INTEGER_0_1 */
383 static int hf_rrlp_dataID = -1;                   /* BIT_STRING_SIZE_2 */
384 static int hf_rrlp_ionoModel = -1;                /* IonosphericModel */
385 static int hf_rrlp_teop = -1;                     /* INTEGER_0_65535 */
386 static int hf_rrlp_pmX = -1;                      /* INTEGER_M1048576_1048575 */
387 static int hf_rrlp_pmXdot = -1;                   /* INTEGER_M16384_16383 */
388 static int hf_rrlp_pmY = -1;                      /* INTEGER_M1048576_1048575 */
389 static int hf_rrlp_pmYdot = -1;                   /* INTEGER_M16384_16383 */
390 static int hf_rrlp_deltaUT1 = -1;                 /* INTEGER_M1073741824_1073741823 */
391 static int hf_rrlp_deltaUT1dot = -1;              /* INTEGER_M262144_262143 */
392 static int hf_rrlp_SeqOfGANSSTimeModel_item = -1;  /* GANSSTimeModelElement */
393 static int hf_rrlp_ganssTimeModelRefTime = -1;    /* INTEGER_0_65535 */
394 static int hf_rrlp_tA0 = -1;                      /* TA0 */
395 static int hf_rrlp_tA1 = -1;                      /* TA1 */
396 static int hf_rrlp_tA2 = -1;                      /* TA2 */
397 static int hf_rrlp_gnssTOID = -1;                 /* INTEGER_0_7 */
398 static int hf_rrlp_weekNumber = -1;               /* INTEGER_0_8191 */
399 static int hf_rrlp_SeqOfGANSSTimeModel_R10_Ext_item = -1;  /* GANSSTimeModelElement_R10_Ext */
400 static int hf_rrlp_deltaT = -1;                   /* INTEGER_M128_127 */
401 static int hf_rrlp_dganssRefTime = -1;            /* INTEGER_0_119 */
402 static int hf_rrlp_sgnTypeList = -1;              /* SeqOfSgnTypeElement */
403 static int hf_rrlp_SeqOfSgnTypeElement_item = -1;  /* SgnTypeElement */
404 static int hf_rrlp_ganssSignalID = -1;            /* GANSSSignalID */
405 static int hf_rrlp_ganssStatusHealth = -1;        /* INTEGER_0_7 */
406 static int hf_rrlp_dganssSgnList = -1;            /* SeqOfDGANSSSgnElement */
407 static int hf_rrlp_SeqOfDGANSSSgnElement_item = -1;  /* DGANSSSgnElement */
408 static int hf_rrlp_svID = -1;                     /* SVID */
409 static int hf_rrlp_iod = -1;                      /* INTEGER_0_1023 */
410 static int hf_rrlp_nonBroadcastIndFlag = -1;      /* INTEGER_0_1 */
411 static int hf_rrlp_ganssSatelliteList = -1;       /* SeqOfGANSSSatelliteElement */
412 static int hf_rrlp_SeqOfGANSSSatelliteElement_item = -1;  /* GANSSSatelliteElement */
413 static int hf_rrlp_svHealth = -1;                 /* BIT_STRING_SIZE_5 */
414 static int hf_rrlp_ganssClockModel = -1;          /* GANSSClockModel */
415 static int hf_rrlp_ganssOrbitModel = -1;          /* GANSSOrbitModel */
416 static int hf_rrlp_svHealthMSB = -1;              /* BIT_STRING_SIZE_1 */
417 static int hf_rrlp_iodMSB = -1;                   /* INTEGER_0_1 */
418 static int hf_rrlp_keplerianSet = -1;             /* NavModel_KeplerianSet */
419 static int hf_rrlp_navKeplerianSet = -1;          /* NavModel_NAVKeplerianSet */
420 static int hf_rrlp_cnavKeplerianSet = -1;         /* NavModel_CNAVKeplerianSet */
421 static int hf_rrlp_glonassECEF = -1;              /* NavModel_GLONASSecef */
422 static int hf_rrlp_sbasECEF = -1;                 /* NavModel_SBASecef */
423 static int hf_rrlp_keplerToe = -1;                /* INTEGER_0_16383 */
424 static int hf_rrlp_keplerW = -1;                  /* INTEGER_M2147483648_2147483647 */
425 static int hf_rrlp_keplerDeltaN = -1;             /* INTEGER_M32768_32767 */
426 static int hf_rrlp_keplerM0 = -1;                 /* INTEGER_M2147483648_2147483647 */
427 static int hf_rrlp_keplerOmegaDot = -1;           /* INTEGER_M8388608_8388607 */
428 static int hf_rrlp_keplerE = -1;                  /* INTEGER_0_4294967295 */
429 static int hf_rrlp_keplerIDot = -1;               /* INTEGER_M8192_8191 */
430 static int hf_rrlp_keplerAPowerHalf = -1;         /* INTEGER_0_4294967295 */
431 static int hf_rrlp_keplerI0 = -1;                 /* INTEGER_M2147483648_2147483647 */
432 static int hf_rrlp_keplerOmega0 = -1;             /* INTEGER_M2147483648_2147483647 */
433 static int hf_rrlp_keplerCrs = -1;                /* INTEGER_M32768_32767 */
434 static int hf_rrlp_keplerCis = -1;                /* INTEGER_M32768_32767 */
435 static int hf_rrlp_keplerCus = -1;                /* INTEGER_M32768_32767 */
436 static int hf_rrlp_keplerCrc = -1;                /* INTEGER_M32768_32767 */
437 static int hf_rrlp_keplerCic = -1;                /* INTEGER_M32768_32767 */
438 static int hf_rrlp_keplerCuc = -1;                /* INTEGER_M32768_32767 */
439 static int hf_rrlp_navURA = -1;                   /* INTEGER_0_15 */
440 static int hf_rrlp_navFitFlag = -1;               /* INTEGER_0_1 */
441 static int hf_rrlp_navToe = -1;                   /* INTEGER_0_37799 */
442 static int hf_rrlp_navOmega = -1;                 /* INTEGER_M2147483648_2147483647 */
443 static int hf_rrlp_navDeltaN = -1;                /* INTEGER_M32768_32767 */
444 static int hf_rrlp_navM0 = -1;                    /* INTEGER_M2147483648_2147483647 */
445 static int hf_rrlp_navOmegaADot = -1;             /* INTEGER_M8388608_8388607 */
446 static int hf_rrlp_navE = -1;                     /* INTEGER_0_4294967295 */
447 static int hf_rrlp_navIDot = -1;                  /* INTEGER_M8192_8191 */
448 static int hf_rrlp_navAPowerHalf = -1;            /* INTEGER_0_4294967295 */
449 static int hf_rrlp_navI0 = -1;                    /* INTEGER_M2147483648_2147483647 */
450 static int hf_rrlp_navOmegaA0 = -1;               /* INTEGER_M2147483648_2147483647 */
451 static int hf_rrlp_navCrs = -1;                   /* INTEGER_M32768_32767 */
452 static int hf_rrlp_navCis = -1;                   /* INTEGER_M32768_32767 */
453 static int hf_rrlp_navCus = -1;                   /* INTEGER_M32768_32767 */
454 static int hf_rrlp_navCrc = -1;                   /* INTEGER_M32768_32767 */
455 static int hf_rrlp_navCic = -1;                   /* INTEGER_M32768_32767 */
456 static int hf_rrlp_navCuc = -1;                   /* INTEGER_M32768_32767 */
457 static int hf_rrlp_cnavTop = -1;                  /* INTEGER_0_2015 */
458 static int hf_rrlp_cnavURAindex = -1;             /* INTEGER_M16_15 */
459 static int hf_rrlp_cnavDeltaA = -1;               /* INTEGER_M33554432_33554431 */
460 static int hf_rrlp_cnavAdot = -1;                 /* INTEGER_M16777216_16777215 */
461 static int hf_rrlp_cnavDeltaNo = -1;              /* INTEGER_M65536_65535 */
462 static int hf_rrlp_cnavDeltaNoDot = -1;           /* INTEGER_M4194304_4194303 */
463 static int hf_rrlp_cnavMo = -1;                   /* INTEGER_M4294967296_4294967295 */
464 static int hf_rrlp_cnavE = -1;                    /* INTEGER_0_8589934591 */
465 static int hf_rrlp_cnavOmega = -1;                /* INTEGER_M4294967296_4294967295 */
466 static int hf_rrlp_cnavOMEGA0 = -1;               /* INTEGER_M4294967296_4294967295 */
467 static int hf_rrlp_cnavDeltaOmegaDot = -1;        /* INTEGER_M65536_65535 */
468 static int hf_rrlp_cnavIo = -1;                   /* INTEGER_M4294967296_4294967295 */
469 static int hf_rrlp_cnavIoDot = -1;                /* INTEGER_M16384_16383 */
470 static int hf_rrlp_cnavCis = -1;                  /* INTEGER_M32768_32767 */
471 static int hf_rrlp_cnavCic = -1;                  /* INTEGER_M32768_32767 */
472 static int hf_rrlp_cnavCrs = -1;                  /* INTEGER_M8388608_8388607 */
473 static int hf_rrlp_cnavCrc = -1;                  /* INTEGER_M8388608_8388607 */
474 static int hf_rrlp_cnavCus = -1;                  /* INTEGER_M1048576_1048575 */
475 static int hf_rrlp_cnavCuc = -1;                  /* INTEGER_M1048576_1048575 */
476 static int hf_rrlp_gloEn = -1;                    /* INTEGER_0_31 */
477 static int hf_rrlp_gloP1 = -1;                    /* BIT_STRING_SIZE_2 */
478 static int hf_rrlp_gloP2 = -1;                    /* BOOLEAN */
479 static int hf_rrlp_gloM = -1;                     /* INTEGER_0_3 */
480 static int hf_rrlp_gloX = -1;                     /* INTEGER_M67108864_67108863 */
481 static int hf_rrlp_gloXdot = -1;                  /* INTEGER_M8388608_8388607 */
482 static int hf_rrlp_gloXdotdot = -1;               /* INTEGER_M16_15 */
483 static int hf_rrlp_gloY = -1;                     /* INTEGER_M67108864_67108863 */
484 static int hf_rrlp_gloYdot = -1;                  /* INTEGER_M8388608_8388607 */
485 static int hf_rrlp_gloYdotdot = -1;               /* INTEGER_M16_15 */
486 static int hf_rrlp_gloZ = -1;                     /* INTEGER_M67108864_67108863 */
487 static int hf_rrlp_gloZdot = -1;                  /* INTEGER_M8388608_8388607 */
488 static int hf_rrlp_gloZdotdot = -1;               /* INTEGER_M16_15 */
489 static int hf_rrlp_sbasTo = -1;                   /* INTEGER_0_5399 */
490 static int hf_rrlp_sbasAccuracy = -1;             /* BIT_STRING_SIZE_4 */
491 static int hf_rrlp_sbasXg = -1;                   /* INTEGER_M536870912_536870911 */
492 static int hf_rrlp_sbasYg = -1;                   /* INTEGER_M536870912_536870911 */
493 static int hf_rrlp_sbasZg = -1;                   /* INTEGER_M16777216_16777215 */
494 static int hf_rrlp_sbasXgDot = -1;                /* INTEGER_M65536_65535 */
495 static int hf_rrlp_sbasYgDot = -1;                /* INTEGER_M65536_65535 */
496 static int hf_rrlp_sbasZgDot = -1;                /* INTEGER_M131072_131071 */
497 static int hf_rrlp_sbasXgDotDot = -1;             /* INTEGER_M512_511 */
498 static int hf_rrlp_sbagYgDotDot = -1;             /* INTEGER_M512_511 */
499 static int hf_rrlp_sbasZgDotDot = -1;             /* INTEGER_M512_511 */
500 static int hf_rrlp_standardClockModelList = -1;   /* SeqOfStandardClockModelElement */
501 static int hf_rrlp_navClockModel = -1;            /* NAVclockModel */
502 static int hf_rrlp_cnavClockModel = -1;           /* CNAVclockModel */
503 static int hf_rrlp_glonassClockModel = -1;        /* GLONASSclockModel */
504 static int hf_rrlp_sbasClockModel = -1;           /* SBASclockModel */
505 static int hf_rrlp_SeqOfStandardClockModelElement_item = -1;  /* StandardClockModelElement */
506 static int hf_rrlp_stanClockToc = -1;             /* INTEGER_0_16383 */
507 static int hf_rrlp_stanClockAF2 = -1;             /* INTEGER_M2048_2047 */
508 static int hf_rrlp_stanClockAF1 = -1;             /* INTEGER_M131072_131071 */
509 static int hf_rrlp_stanClockAF0 = -1;             /* INTEGER_M134217728_134217727 */
510 static int hf_rrlp_stanClockTgd = -1;             /* INTEGER_M512_511 */
511 static int hf_rrlp_stanModelID = -1;              /* INTEGER_0_1 */
512 static int hf_rrlp_navToc = -1;                   /* INTEGER_0_37799 */
513 static int hf_rrlp_navaf2 = -1;                   /* INTEGER_M128_127 */
514 static int hf_rrlp_navaf1 = -1;                   /* INTEGER_M32768_32767 */
515 static int hf_rrlp_navaf0 = -1;                   /* INTEGER_M2097152_2097151 */
516 static int hf_rrlp_navTgd = -1;                   /* INTEGER_M128_127 */
517 static int hf_rrlp_cnavToc = -1;                  /* INTEGER_0_2015 */
518 static int hf_rrlp_cnavURA0 = -1;                 /* INTEGER_M16_15 */
519 static int hf_rrlp_cnavURA1 = -1;                 /* INTEGER_0_7 */
520 static int hf_rrlp_cnavURA2 = -1;                 /* INTEGER_0_7 */
521 static int hf_rrlp_cnavAf2 = -1;                  /* INTEGER_M512_511 */
522 static int hf_rrlp_cnavAf1 = -1;                  /* INTEGER_M524288_524287 */
523 static int hf_rrlp_cnavAf0 = -1;                  /* INTEGER_M33554432_33554431 */
524 static int hf_rrlp_cnavTgd = -1;                  /* INTEGER_M4096_4095 */
525 static int hf_rrlp_cnavISCl1cp = -1;              /* INTEGER_M4096_4095 */
526 static int hf_rrlp_cnavISCl1cd = -1;              /* INTEGER_M4096_4095 */
527 static int hf_rrlp_cnavISCl1ca = -1;              /* INTEGER_M4096_4095 */
528 static int hf_rrlp_cnavISCl2c = -1;               /* INTEGER_M4096_4095 */
529 static int hf_rrlp_cnavISCl5i5 = -1;              /* INTEGER_M4096_4095 */
530 static int hf_rrlp_cnavISCl5q5 = -1;              /* INTEGER_M4096_4095 */
531 static int hf_rrlp_gloTau = -1;                   /* INTEGER_M2097152_2097151 */
532 static int hf_rrlp_gloGamma = -1;                 /* INTEGER_M1024_1023 */
533 static int hf_rrlp_gloDeltaTau = -1;              /* INTEGER_M16_15 */
534 static int hf_rrlp_sbasAgfo = -1;                 /* INTEGER_M2048_2047 */
535 static int hf_rrlp_sbasAgf1 = -1;                 /* INTEGER_M128_127 */
536 static int hf_rrlp_ganssBadSignalList = -1;       /* SeqOfBadSignalElement */
537 static int hf_rrlp_SeqOfBadSignalElement_item = -1;  /* BadSignalElement */
538 static int hf_rrlp_badSVID = -1;                  /* SVID */
539 static int hf_rrlp_badSignalID = -1;              /* GANSSSignals */
540 static int hf_rrlp_ganssTOD_01 = -1;              /* INTEGER_0_59 */
541 static int hf_rrlp_ganssDataBitsSatList = -1;     /* SeqOfGanssDataBitsElement */
542 static int hf_rrlp_SeqOfGanssDataBitsElement_item = -1;  /* GanssDataBitsElement */
543 static int hf_rrlp_ganssDataBitsSgnList = -1;     /* Seq_OfGANSSDataBitsSgn */
544 static int hf_rrlp_Seq_OfGANSSDataBitsSgn_item = -1;  /* GANSSDataBitsSgnElement */
545 static int hf_rrlp_ganssSignalType = -1;          /* GANSSSignalID */
546 static int hf_rrlp_ganssDataBits = -1;            /* SeqOf_GANSSDataBits */
547 static int hf_rrlp_SeqOf_GANSSDataBits_item = -1;  /* GANSSDataBit */
548 static int hf_rrlp_ganssRefMeasAssistList = -1;   /* SeqOfGANSSRefMeasurementElement */
549 static int hf_rrlp_SeqOfGANSSRefMeasurementElement_item = -1;  /* GANSSRefMeasurementElement */
550 static int hf_rrlp_additionalDoppler = -1;        /* AdditionalDopplerFields */
551 static int hf_rrlp_intCodePhase_01 = -1;          /* INTEGER_0_127 */
552 static int hf_rrlp_codePhaseSearchWindow_01 = -1;  /* INTEGER_0_31 */
553 static int hf_rrlp_additionalAngle = -1;          /* AddionalAngleFields */
554 static int hf_rrlp_dopplerUncertainty_01 = -1;    /* INTEGER_0_4 */
555 static int hf_rrlp_GANSSRefMeasurementAssist_R10_Ext_item = -1;  /* GANSSRefMeasurement_R10_Ext_Element */
556 static int hf_rrlp_azimuthLSB = -1;               /* INTEGER_0_15 */
557 static int hf_rrlp_elevationLSB = -1;             /* INTEGER_0_15 */
558 static int hf_rrlp_weekNumber_01 = -1;            /* INTEGER_0_255 */
559 static int hf_rrlp_toa = -1;                      /* INTEGER_0_255 */
560 static int hf_rrlp_ioda = -1;                     /* INTEGER_0_3 */
561 static int hf_rrlp_ganssAlmanacList = -1;         /* SeqOfGANSSAlmanacElement */
562 static int hf_rrlp_SeqOfGANSSAlmanacElement_item = -1;  /* GANSSAlmanacElement */
563 static int hf_rrlp_keplerianAlmanacSet = -1;      /* Almanac_KeplerianSet */
564 static int hf_rrlp_keplerianNAVAlmanac = -1;      /* Almanac_NAVKeplerianSet */
565 static int hf_rrlp_keplerianReducedAlmanac = -1;  /* Almanac_ReducedKeplerianSet */
566 static int hf_rrlp_keplerianMidiAlmanac = -1;     /* Almanac_MidiAlmanacSet */
567 static int hf_rrlp_keplerianGLONASS = -1;         /* Almanac_GlonassAlmanacSet */
568 static int hf_rrlp_ecefSBASAlmanac = -1;          /* Almanac_ECEFsbasAlmanacSet */
569 static int hf_rrlp_kepAlmanacE = -1;              /* INTEGER_0_2047 */
570 static int hf_rrlp_kepAlmanacDeltaI = -1;         /* INTEGER_M1024_1023 */
571 static int hf_rrlp_kepAlmanacOmegaDot = -1;       /* INTEGER_M1024_1023 */
572 static int hf_rrlp_kepSVHealth = -1;              /* INTEGER_0_15 */
573 static int hf_rrlp_kepAlmanacAPowerHalf = -1;     /* INTEGER_M65536_65535 */
574 static int hf_rrlp_kepAlmanacOmega0 = -1;         /* INTEGER_M32768_32767 */
575 static int hf_rrlp_kepAlmanacW = -1;              /* INTEGER_M32768_32767 */
576 static int hf_rrlp_kepAlmanacM0 = -1;             /* INTEGER_M32768_32767 */
577 static int hf_rrlp_kepAlmanacAF0 = -1;            /* INTEGER_M8192_8191 */
578 static int hf_rrlp_kepAlmanacAF1 = -1;            /* INTEGER_M1024_1023 */
579 static int hf_rrlp_navAlmE = -1;                  /* INTEGER_0_65535 */
580 static int hf_rrlp_navAlmDeltaI = -1;             /* INTEGER_M32768_32767 */
581 static int hf_rrlp_navAlmOMEGADOT = -1;           /* INTEGER_M32768_32767 */
582 static int hf_rrlp_navAlmSVHealth = -1;           /* INTEGER_0_255 */
583 static int hf_rrlp_navAlmSqrtA = -1;              /* INTEGER_0_16777215 */
584 static int hf_rrlp_navAlmOMEGAo = -1;             /* INTEGER_M8388608_8388607 */
585 static int hf_rrlp_navAlmOmega = -1;              /* INTEGER_M8388608_8388607 */
586 static int hf_rrlp_navAlmMo = -1;                 /* INTEGER_M8388608_8388607 */
587 static int hf_rrlp_navAlmaf0 = -1;                /* INTEGER_M1024_1023 */
588 static int hf_rrlp_navAlmaf1 = -1;                /* INTEGER_M1024_1023 */
589 static int hf_rrlp_redAlmDeltaA = -1;             /* INTEGER_M128_127 */
590 static int hf_rrlp_redAlmOmega0 = -1;             /* INTEGER_M64_63 */
591 static int hf_rrlp_redAlmPhi0 = -1;               /* INTEGER_M64_63 */
592 static int hf_rrlp_redAlmL1Health = -1;           /* BOOLEAN */
593 static int hf_rrlp_redAlmL2Health = -1;           /* BOOLEAN */
594 static int hf_rrlp_redAlmL5Health = -1;           /* BOOLEAN */
595 static int hf_rrlp_midiAlmE = -1;                 /* INTEGER_0_2047 */
596 static int hf_rrlp_midiAlmDeltaI = -1;            /* INTEGER_M1024_1023 */
597 static int hf_rrlp_midiAlmOmegaDot = -1;          /* INTEGER_M1024_1023 */
598 static int hf_rrlp_midiAlmSqrtA = -1;             /* INTEGER_0_131071 */
599 static int hf_rrlp_midiAlmOmega0 = -1;            /* INTEGER_M32768_32767 */
600 static int hf_rrlp_midiAlmOmega = -1;             /* INTEGER_M32768_32767 */
601 static int hf_rrlp_midiAlmMo = -1;                /* INTEGER_M32768_32767 */
602 static int hf_rrlp_midiAlmaf0 = -1;               /* INTEGER_M1024_1023 */
603 static int hf_rrlp_midiAlmaf1 = -1;               /* INTEGER_M512_511 */
604 static int hf_rrlp_midiAlmL1Health = -1;          /* BOOLEAN */
605 static int hf_rrlp_midiAlmL2Health = -1;          /* BOOLEAN */
606 static int hf_rrlp_midiAlmL5Health = -1;          /* BOOLEAN */
607 static int hf_rrlp_gloAlmNA = -1;                 /* INTEGER_1_1461 */
608 static int hf_rrlp_gloAlmnA = -1;                 /* INTEGER_1_24 */
609 static int hf_rrlp_gloAlmHA = -1;                 /* INTEGER_0_31 */
610 static int hf_rrlp_gloAlmLambdaA = -1;            /* INTEGER_M1048576_1048575 */
611 static int hf_rrlp_gloAlmtlambdaA = -1;           /* INTEGER_0_2097151 */
612 static int hf_rrlp_gloAlmDeltaIa = -1;            /* INTEGER_M131072_131071 */
613 static int hf_rrlp_gloAlmDeltaTA = -1;            /* INTEGER_M2097152_2097151 */
614 static int hf_rrlp_gloAlmDeltaTdotA = -1;         /* INTEGER_M64_63 */
615 static int hf_rrlp_gloAlmEpsilonA = -1;           /* INTEGER_0_32767 */
616 static int hf_rrlp_gloAlmOmegaA = -1;             /* INTEGER_M32768_32767 */
617 static int hf_rrlp_gloAlmTauA = -1;               /* INTEGER_M512_511 */
618 static int hf_rrlp_gloAlmCA = -1;                 /* INTEGER_0_1 */
619 static int hf_rrlp_gloAlmMA = -1;                 /* BIT_STRING_SIZE_2 */
620 static int hf_rrlp_sbasAlmDataID = -1;            /* INTEGER_0_3 */
621 static int hf_rrlp_sbasAlmHealth = -1;            /* BIT_STRING_SIZE_8 */
622 static int hf_rrlp_sbasAlmXg = -1;                /* INTEGER_M16384_16383 */
623 static int hf_rrlp_sbasAlmYg = -1;                /* INTEGER_M16384_16383 */
624 static int hf_rrlp_sbasAlmZg = -1;                /* INTEGER_M256_255 */
625 static int hf_rrlp_sbasAlmXgdot = -1;             /* INTEGER_M4_3 */
626 static int hf_rrlp_sbasAlmYgDot = -1;             /* INTEGER_M4_3 */
627 static int hf_rrlp_sbasAlmZgDot = -1;             /* INTEGER_M8_7 */
628 static int hf_rrlp_sbasAlmTo = -1;                /* INTEGER_0_2047 */
629 static int hf_rrlp_completeAlmanacProvided = -1;  /* BOOLEAN */
630 static int hf_rrlp_ganssUtcA1 = -1;               /* INTEGER_M8388608_8388607 */
631 static int hf_rrlp_ganssUtcA0 = -1;               /* INTEGER_M2147483648_2147483647 */
632 static int hf_rrlp_ganssUtcTot = -1;              /* INTEGER_0_255 */
633 static int hf_rrlp_ganssUtcWNt = -1;              /* INTEGER_0_255 */
634 static int hf_rrlp_ganssUtcDeltaTls = -1;         /* INTEGER_M128_127 */
635 static int hf_rrlp_ganssUtcWNlsf = -1;            /* INTEGER_0_255 */
636 static int hf_rrlp_ganssUtcDN = -1;               /* INTEGER_M128_127 */
637 static int hf_rrlp_ganssUtcDeltaTlsf = -1;        /* INTEGER_M128_127 */
638 static int hf_rrlp_ganssEphemerisHeader = -1;     /* GANSSEphemerisExtensionHeader */
639 static int hf_rrlp_ganssReferenceSet = -1;        /* SeqOfGANSSRefOrbit */
640 static int hf_rrlp_ganssephemerisDeltasMatrix = -1;  /* GANSSEphemerisDeltaMatrix */
641 static int hf_rrlp_timeAtEstimation = -1;         /* GANSSEphemerisExtensionTime */
642 static int hf_rrlp_validityPeriod = -1;           /* INTEGER_1_8 */
643 static int hf_rrlp_ephemerisExtensionDuration = -1;  /* INTEGER_1_512 */
644 static int hf_rrlp_ganssEphExtDay = -1;           /* INTEGER_0_8191 */
645 static int hf_rrlp_ganssEphExtTOD = -1;           /* GANSSTOD */
646 static int hf_rrlp_keplerToe_01 = -1;             /* INTEGER_0_37799 */
647 static int hf_rrlp_SeqOfGANSSRefOrbit_item = -1;  /* GANSSReferenceOrbit */
648 static int hf_rrlp_ganssOrbitModel_01 = -1;       /* ReferenceNavModel */
649 static int hf_rrlp_GANSSEphemerisDeltaMatrix_item = -1;  /* GANSSEphemerisDeltaEpoch */
650 static int hf_rrlp_ganssDeltaEpochHeader = -1;    /* GANSSDeltaEpochHeader */
651 static int hf_rrlp_ganssDeltaElementList = -1;    /* GANSSDeltaElementList */
652 static int hf_rrlp_ephemerisDeltaSizes = -1;      /* GANSSEphemerisDeltaBitSizes */
653 static int hf_rrlp_ephemerisDeltaScales = -1;     /* GANSSEphemerisDeltaScales */
654 static int hf_rrlp_GANSSDeltaElementList_item = -1;  /* OCTET_STRING_SIZE_1_49 */
655 static int hf_rrlp_bitsize_delta_omega = -1;      /* INTEGER_1_32 */
656 static int hf_rrlp_bitsize_delta_deltaN = -1;     /* INTEGER_1_16 */
657 static int hf_rrlp_bitsize_delta_m0 = -1;         /* INTEGER_1_32 */
658 static int hf_rrlp_bitsize_delta_omegadot = -1;   /* INTEGER_1_24 */
659 static int hf_rrlp_bitsize_delta_e = -1;          /* INTEGER_1_32 */
660 static int hf_rrlp_bitsize_delta_idot = -1;       /* INTEGER_1_14 */
661 static int hf_rrlp_bitsize_delta_sqrtA = -1;      /* INTEGER_1_32 */
662 static int hf_rrlp_bitsize_delta_i0 = -1;         /* INTEGER_1_32 */
663 static int hf_rrlp_bitsize_delta_omega0 = -1;     /* INTEGER_1_32 */
664 static int hf_rrlp_bitsize_delta_crs = -1;        /* INTEGER_1_16 */
665 static int hf_rrlp_bitsize_delta_cis = -1;        /* INTEGER_1_16 */
666 static int hf_rrlp_bitsize_delta_cus = -1;        /* INTEGER_1_16 */
667 static int hf_rrlp_bitsize_delta_crc = -1;        /* INTEGER_1_16 */
668 static int hf_rrlp_bitsize_delta_cic = -1;        /* INTEGER_1_16 */
669 static int hf_rrlp_bitsize_delta_cuc = -1;        /* INTEGER_1_16 */
670 static int hf_rrlp_bitsize_delta_tgd1 = -1;       /* INTEGER_1_10 */
671 static int hf_rrlp_bitsize_delta_tgd2 = -1;       /* INTEGER_1_10 */
672 static int hf_rrlp_scale_delta_omega = -1;        /* INTEGER_M16_15 */
673 static int hf_rrlp_scale_delta_deltaN = -1;       /* INTEGER_M16_15 */
674 static int hf_rrlp_scale_delta_m0 = -1;           /* INTEGER_M16_15 */
675 static int hf_rrlp_scale_delta_omegadot = -1;     /* INTEGER_M16_15 */
676 static int hf_rrlp_scale_delta_e = -1;            /* INTEGER_M16_15 */
677 static int hf_rrlp_scale_delta_idot = -1;         /* INTEGER_M16_15 */
678 static int hf_rrlp_scale_delta_sqrtA = -1;        /* INTEGER_M16_15 */
679 static int hf_rrlp_scale_delta_i0 = -1;           /* INTEGER_M16_15 */
680 static int hf_rrlp_scale_delta_omega0 = -1;       /* INTEGER_M16_15 */
681 static int hf_rrlp_scale_delta_crs = -1;          /* INTEGER_M16_15 */
682 static int hf_rrlp_scale_delta_cis = -1;          /* INTEGER_M16_15 */
683 static int hf_rrlp_scale_delta_cus = -1;          /* INTEGER_M16_15 */
684 static int hf_rrlp_scale_delta_crc = -1;          /* INTEGER_M16_15 */
685 static int hf_rrlp_scale_delta_cic = -1;          /* INTEGER_M16_15 */
686 static int hf_rrlp_scale_delta_cuc = -1;          /* INTEGER_M16_15 */
687 static int hf_rrlp_scale_delta_tgd1 = -1;         /* INTEGER_M16_15 */
688 static int hf_rrlp_scale_delta_tgd2 = -1;         /* INTEGER_M16_15 */
689 static int hf_rrlp_ganssBeginTime = -1;           /* GANSSEphemerisExtensionTime */
690 static int hf_rrlp_ganssEndTime = -1;             /* GANSSEphemerisExtensionTime */
691 static int hf_rrlp_ganssSatEventsInfo = -1;       /* GANSSSatEventsInfo */
692 static int hf_rrlp_eventOccured = -1;             /* BIT_STRING_SIZE_64 */
693 static int hf_rrlp_futureEventNoted = -1;         /* BIT_STRING_SIZE_64 */
694 static int hf_rrlp_utcModel2 = -1;                /* UTCmodelSet2 */
695 static int hf_rrlp_utcModel3 = -1;                /* UTCmodelSet3 */
696 static int hf_rrlp_utcModel4 = -1;                /* UTCmodelSet4 */
697 static int hf_rrlp_utcA0_01 = -1;                 /* INTEGER_M32768_32767 */
698 static int hf_rrlp_utcA1_01 = -1;                 /* INTEGER_M4096_4095 */
699 static int hf_rrlp_utcA2 = -1;                    /* INTEGER_M64_63 */
700 static int hf_rrlp_utcTot_01 = -1;                /* INTEGER_0_65535 */
701 static int hf_rrlp_utcWNot = -1;                  /* INTEGER_0_8191 */
702 static int hf_rrlp_utcDN_01 = -1;                 /* BIT_STRING_SIZE_4 */
703 static int hf_rrlp_nA = -1;                       /* INTEGER_1_1461 */
704 static int hf_rrlp_tauC = -1;                     /* INTEGER_M2147483648_2147483647 */
705 static int hf_rrlp_b1 = -1;                       /* INTEGER_M1024_1023 */
706 static int hf_rrlp_b2 = -1;                       /* INTEGER_M512_511 */
707 static int hf_rrlp_kp = -1;                       /* BIT_STRING_SIZE_2 */
708 static int hf_rrlp_utcA1wnt = -1;                 /* INTEGER_M8388608_8388607 */
709 static int hf_rrlp_utcA0wnt = -1;                 /* INTEGER_M2147483648_2147483647 */
710 static int hf_rrlp_utcStandardID = -1;            /* INTEGER_0_7 */
711 static int hf_rrlp_ganssID1 = -1;                 /* GANSS_ID1 */
712 static int hf_rrlp_ganssID3 = -1;                 /* GANSS_ID3 */
713 static int hf_rrlp_GANSS_ID1_item = -1;           /* GANSS_ID1_element */
714 static int hf_rrlp_signalsAvailable = -1;         /* GANSSSignals */
715 static int hf_rrlp_GANSS_ID3_item = -1;           /* GANSS_ID3_element */
716 static int hf_rrlp_channelNumber = -1;            /* INTEGER_M7_13 */
717 static int hf_rrlp_GANSSDiffCorrectionsValidityPeriod_item = -1;  /* DGANSSExtensionSgnTypeElement */
718 static int hf_rrlp_dganssExtensionSgnList = -1;   /* SeqOfDGANSSExtensionSgnElement */
719 static int hf_rrlp_SeqOfDGANSSExtensionSgnElement_item = -1;  /* DGANSSExtensionSgnElement */
720 static int hf_rrlp_udreGrowthRate = -1;           /* INTEGER_0_7 */
721 static int hf_rrlp_udreValidityTime = -1;         /* INTEGER_0_7 */
722 static int hf_rrlp_add_GPS_controlHeader = -1;    /* Add_GPS_ControlHeader */
723 static int hf_rrlp_gpsEphemerisExtension = -1;    /* GPSEphemerisExtension */
724 static int hf_rrlp_gpsEphemerisExtensionCheck = -1;  /* GPSEphemerisExtensionCheck */
725 static int hf_rrlp_dgpsCorrectionsValidityPeriod = -1;  /* DGPSCorrectionsValidityPeriod */
726 static int hf_rrlp_gpsReferenceTime_R10_Ext = -1;  /* GPSReferenceTime_R10_Ext */
727 static int hf_rrlp_gpsAcquisAssist_R10_Ext = -1;  /* GPSAcquisAssist_R10_Ext */
728 static int hf_rrlp_gpsAlmanac_R10_Ext = -1;       /* GPSAlmanac_R10_Ext */
729 static int hf_rrlp_af2 = -1;                      /* INTEGER_M128_127 */
730 static int hf_rrlp_af1 = -1;                      /* INTEGER_M32768_32767 */
731 static int hf_rrlp_af0 = -1;                      /* INTEGER_M2097152_2097151 */
732 static int hf_rrlp_tgd = -1;                      /* INTEGER_M128_127 */
733 static int hf_rrlp_gpsEphemerisHeader = -1;       /* GPSEphemerisExtensionHeader */
734 static int hf_rrlp_gpsReferenceSet = -1;          /* SeqOfGPSRefOrbit */
735 static int hf_rrlp_gpsephemerisDeltaMatrix = -1;  /* GPSEphemerisDeltaMatrix */
736 static int hf_rrlp_timeofEstimation = -1;         /* GPSEphemerisExtensionTime */
737 static int hf_rrlp_SeqOfGPSRefOrbit_item = -1;    /* GPSReferenceOrbit */
738 static int hf_rrlp_gpsOrbitModel = -1;            /* ReferenceNavModel */
739 static int hf_rrlp_gpsClockModel = -1;            /* GPSClockModel */
740 static int hf_rrlp_GPSEphemerisDeltaMatrix_item = -1;  /* GPSEphemerisDeltaEpoch */
741 static int hf_rrlp_gpsDeltaEpochHeader = -1;      /* GPSDeltaEpochHeader */
742 static int hf_rrlp_gpsDeltaElementList = -1;      /* GPSDeltaElementList */
743 static int hf_rrlp_ephemerisDeltaSizes_01 = -1;   /* GPSEphemerisDeltaBitSizes */
744 static int hf_rrlp_ephemerisDeltaScales_01 = -1;  /* GPSEphemerisDeltaScales */
745 static int hf_rrlp_GPSDeltaElementList_item = -1;  /* OCTET_STRING_SIZE_1_47 */
746 static int hf_rrlp_bitsize_delta_tgd = -1;        /* INTEGER_1_10 */
747 static int hf_rrlp_scale_delta_tgd = -1;          /* INTEGER_M16_15 */
748 static int hf_rrlp_gpsBeginTime = -1;             /* GPSEphemerisExtensionTime */
749 static int hf_rrlp_gpsEndTime = -1;               /* GPSEphemerisExtensionTime */
750 static int hf_rrlp_gpsSatEventsInfo = -1;         /* GPSSatEventsInfo */
751 static int hf_rrlp_eventOccured_01 = -1;          /* BIT_STRING_SIZE_32 */
752 static int hf_rrlp_futureEventNoted_01 = -1;      /* BIT_STRING_SIZE_32 */
753 static int hf_rrlp_DGPSCorrectionsValidityPeriod_item = -1;  /* DGPSExtensionSatElement */
754 static int hf_rrlp_gpsWeekCycleNumber = -1;       /* INTEGER_0_7 */
755 static int hf_rrlp_GPSAcquisAssist_R10_Ext_item = -1;  /* GPSAcquisAssist_R10_Ext_Element */
756 static int hf_rrlp_velEstimate = -1;              /* VelocityEstimate */
757 static int hf_rrlp_ganssLocationInfo = -1;        /* GANSSLocationInfo */
758 static int hf_rrlp_ganssMeasureInfo = -1;         /* GANSSMeasureInfo */
759 static int hf_rrlp_referenceFrame = -1;           /* ReferenceFrame */
760 static int hf_rrlp_ganssTODm = -1;                /* GANSSTODm */
761 static int hf_rrlp_ganssTODFrac = -1;             /* INTEGER_0_16384 */
762 static int hf_rrlp_posData = -1;                  /* PositionData */
763 static int hf_rrlp_stationaryIndication = -1;     /* INTEGER_0_1 */
764 static int hf_rrlp_referenceFN = -1;              /* INTEGER_0_65535 */
765 static int hf_rrlp_referenceFNMSB = -1;           /* INTEGER_0_63 */
766 static int hf_rrlp_ganssMsrSetList = -1;          /* SeqOfGANSS_MsrSetElement */
767 static int hf_rrlp_SeqOfGANSS_MsrSetElement_item = -1;  /* GANSS_MsrSetElement */
768 static int hf_rrlp_deltaGANSSTOD = -1;            /* INTEGER_0_127 */
769 static int hf_rrlp_ganss_MsrElementList = -1;     /* SeqOfGANSS_MsrElement */
770 static int hf_rrlp_SeqOfGANSS_MsrElement_item = -1;  /* GANSS_MsrElement */
771 static int hf_rrlp_ganss_SgnTypeList = -1;        /* SeqOfGANSS_SgnTypeElement */
772 static int hf_rrlp_SeqOfGANSS_SgnTypeElement_item = -1;  /* GANSS_SgnTypeElement */
773 static int hf_rrlp_ganssCodePhaseAmbiguity = -1;  /* INTEGER_0_127 */
774 static int hf_rrlp_ganss_SgnList = -1;            /* SeqOfGANSS_SgnElement */
775 static int hf_rrlp_SeqOfGANSS_SgnElement_item = -1;  /* GANSS_SgnElement */
776 static int hf_rrlp_mpathDet = -1;                 /* MpathIndic */
777 static int hf_rrlp_carrierQualityInd = -1;        /* INTEGER_0_3 */
778 static int hf_rrlp_codePhase_01 = -1;             /* INTEGER_0_2097151 */
779 static int hf_rrlp_integerCodePhase = -1;         /* INTEGER_0_127 */
780 static int hf_rrlp_codePhaseRMSError = -1;        /* INTEGER_0_63 */
781 static int hf_rrlp_adr = -1;                      /* INTEGER_0_33554431 */
782 static int hf_rrlp_nonGANSSpositionMethods = -1;  /* NonGANSSPositionMethods */
783 static int hf_rrlp_multipleMeasurementSets = -1;  /* MultipleMeasurementSets */
784 static int hf_rrlp_GANSSPositionMethods_item = -1;  /* GANSSPositionMethod */
785 static int hf_rrlp_gANSSPositioningMethodTypes = -1;  /* GANSSPositioningMethodTypes */
786 static int hf_rrlp_gANSSSignals = -1;             /* GANSSSignals */
787 static int hf_rrlp_sbasID_01 = -1;                /* SBASID */
788 static int hf_rrlp_gpsAssistance = -1;            /* GPSAssistance */
789 static int hf_rrlp_gANSSAssistanceSet = -1;       /* GANSSAssistanceSet */
790 static int hf_rrlp_gANSSAdditionalAssistanceChoices = -1;  /* GANSSAdditionalAssistanceChoices */
791 static int hf_rrlp_commonGANSSAssistance = -1;    /* CommonGANSSAssistance */
792 static int hf_rrlp_specificGANSSAssistance = -1;  /* SpecificGANSSAssistance */
793 static int hf_rrlp_SpecificGANSSAssistance_item = -1;  /* GANSSAssistanceForOneGANSS */
794 static int hf_rrlp_gANSSAssistance = -1;          /* GANSSAssistance */
795 static int hf_rrlp_GANSSAdditionalAssistanceChoices_item = -1;  /* GANSSAdditionalAssistanceChoicesForOneGANSS */
796 static int hf_rrlp_ganssClockModelChoice = -1;    /* GANSSModelID */
797 static int hf_rrlp_gannsOrbitModelChoice = -1;    /* GANSSModelID */
798 static int hf_rrlp_ganssAlmanacModelChoice = -1;  /* GANSSModelID */
799 static int hf_rrlp_ganssAdditionalUTCModelChoice = -1;  /* GANSSModelID */
800 /* named bits */
801 static int hf_rrlp_GANSSPositioningMethod_gps = -1;
802 static int hf_rrlp_GANSSPositioningMethod_galileo = -1;
803 static int hf_rrlp_GANSSPositioningMethod_sbas = -1;
804 static int hf_rrlp_GANSSPositioningMethod_modernizedGPS = -1;
805 static int hf_rrlp_GANSSPositioningMethod_qzss = -1;
806 static int hf_rrlp_GANSSPositioningMethod_glonass = -1;
807 static int hf_rrlp_PositionData_e_otd = -1;
808 static int hf_rrlp_PositionData_gps = -1;
809 static int hf_rrlp_PositionData_galileo = -1;
810 static int hf_rrlp_PositionData_sbas = -1;
811 static int hf_rrlp_PositionData_modernizedGPS = -1;
812 static int hf_rrlp_PositionData_qzss = -1;
813 static int hf_rrlp_PositionData_glonass = -1;
814 static int hf_rrlp_NonGANSSPositionMethods_msAssistedEOTD = -1;
815 static int hf_rrlp_NonGANSSPositionMethods_msBasedEOTD = -1;
816 static int hf_rrlp_NonGANSSPositionMethods_msAssistedGPS = -1;
817 static int hf_rrlp_NonGANSSPositionMethods_msBasedGPS = -1;
818 static int hf_rrlp_NonGANSSPositionMethods_standaloneGPS = -1;
819 static int hf_rrlp_GANSSPositioningMethodTypes_msAssisted = -1;
820 static int hf_rrlp_GANSSPositioningMethodTypes_msBased = -1;
821 static int hf_rrlp_GANSSPositioningMethodTypes_standalone = -1;
822 static int hf_rrlp_GANSSSignals_signal1 = -1;
823 static int hf_rrlp_GANSSSignals_signal2 = -1;
824 static int hf_rrlp_GANSSSignals_signal3 = -1;
825 static int hf_rrlp_GANSSSignals_signal4 = -1;
826 static int hf_rrlp_GANSSSignals_signal5 = -1;
827 static int hf_rrlp_GANSSSignals_signal6 = -1;
828 static int hf_rrlp_GANSSSignals_signal7 = -1;
829 static int hf_rrlp_GANSSSignals_signal8 = -1;
830 static int hf_rrlp_SBASID_waas = -1;
831 static int hf_rrlp_SBASID_egnos = -1;
832 static int hf_rrlp_SBASID_masas = -1;
833 static int hf_rrlp_SBASID_gagan = -1;
834 static int hf_rrlp_MultipleMeasurementSets_eotd = -1;
835 static int hf_rrlp_MultipleMeasurementSets_gps = -1;
836 static int hf_rrlp_MultipleMeasurementSets_ganss = -1;
837 static int hf_rrlp_GPSAssistance_almanac = -1;
838 static int hf_rrlp_GPSAssistance_uTCmodel = -1;
839 static int hf_rrlp_GPSAssistance_ionosphericModel = -1;
840 static int hf_rrlp_GPSAssistance_navigationmodel = -1;
841 static int hf_rrlp_GPSAssistance_dGPScorrections = -1;
842 static int hf_rrlp_GPSAssistance_referenceLocation = -1;
843 static int hf_rrlp_GPSAssistance_referenceTime = -1;
844 static int hf_rrlp_GPSAssistance_acquisitionAssistance = -1;
845 static int hf_rrlp_GPSAssistance_realTimeIntegrity = -1;
846 static int hf_rrlp_GPSAssistance_ephemerisExtension = -1;
847 static int hf_rrlp_GPSAssistance_ephemerisExtensionCheck = -1;
848 static int hf_rrlp_CommonGANSSAssistance_referenceTime = -1;
849 static int hf_rrlp_CommonGANSSAssistance_referenceLocation = -1;
850 static int hf_rrlp_CommonGANSSAssistance_spare_bit2 = -1;
851 static int hf_rrlp_CommonGANSSAssistance_ionosphericModel = -1;
852 static int hf_rrlp_CommonGANSSAssistance_addIonosphericModel = -1;
853 static int hf_rrlp_CommonGANSSAssistance_earthOrientationParam = -1;
854 static int hf_rrlp_GANSSAssistance_realTimeIntegrity = -1;
855 static int hf_rrlp_GANSSAssistance_differentialCorrections = -1;
856 static int hf_rrlp_GANSSAssistance_almanac = -1;
857 static int hf_rrlp_GANSSAssistance_referenceMeasurementInformation = -1;
858 static int hf_rrlp_GANSSAssistance_navigationModel = -1;
859 static int hf_rrlp_GANSSAssistance_timeModelGNSS_UTC = -1;
860 static int hf_rrlp_GANSSAssistance_timeModelGNSS_GNSS = -1;
861 static int hf_rrlp_GANSSAssistance_databitassistance = -1;
862 static int hf_rrlp_GANSSAssistance_ephemerisExtension = -1;
863 static int hf_rrlp_GANSSAssistance_ephemerisExtensionCheck = -1;
864 static int hf_rrlp_GANSSAssistance_addUTCmodel = -1;
865 static int hf_rrlp_GANSSAssistance_auxiliaryInformation = -1;
866 static int hf_rrlp_GANSSModelID_model1 = -1;
867 static int hf_rrlp_GANSSModelID_model2 = -1;
868 static int hf_rrlp_GANSSModelID_model3 = -1;
869 static int hf_rrlp_GANSSModelID_model4 = -1;
870 static int hf_rrlp_GANSSModelID_model5 = -1;
871 static int hf_rrlp_GANSSModelID_model6 = -1;
872 static int hf_rrlp_GANSSModelID_model7 = -1;
873 static int hf_rrlp_GANSSModelID_model8 = -1;
874 
875 /*--- End of included file: packet-rrlp-hf.c ---*/
876 #line 43 "./asn1/rrlp/packet-rrlp-template.c"
877 
878 /* Initialize the subtree pointers */
879 static gint ett_rrlp = -1;
880 
881 /*--- Included file: packet-rrlp-ett.c ---*/
882 #line 1 "./asn1/rrlp/packet-rrlp-ett.c"
883 static gint ett_rrlp_ExtensionContainer = -1;
884 static gint ett_rrlp_PrivateExtensionList = -1;
885 static gint ett_rrlp_PrivateExtension = -1;
886 static gint ett_rrlp_PCS_Extensions = -1;
887 static gint ett_rrlp_PDU = -1;
888 static gint ett_rrlp_RRLP_Component = -1;
889 static gint ett_rrlp_MsrPosition_Req = -1;
890 static gint ett_rrlp_MsrPosition_Rsp = -1;
891 static gint ett_rrlp_AssistanceData = -1;
892 static gint ett_rrlp_ProtocolError = -1;
893 static gint ett_rrlp_PosCapability_Req = -1;
894 static gint ett_rrlp_PosCapability_Rsp = -1;
895 static gint ett_rrlp_PositionInstruct = -1;
896 static gint ett_rrlp_MethodType = -1;
897 static gint ett_rrlp_AccuracyOpt = -1;
898 static gint ett_rrlp_ReferenceAssistData = -1;
899 static gint ett_rrlp_MsrAssistData = -1;
900 static gint ett_rrlp_SeqOfMsrAssistBTS = -1;
901 static gint ett_rrlp_MsrAssistBTS = -1;
902 static gint ett_rrlp_SystemInfoAssistData = -1;
903 static gint ett_rrlp_SeqOfSystemInfoAssistBTS = -1;
904 static gint ett_rrlp_SystemInfoAssistBTS = -1;
905 static gint ett_rrlp_AssistBTSData = -1;
906 static gint ett_rrlp_CalcAssistanceBTS = -1;
907 static gint ett_rrlp_ReferenceWGS84 = -1;
908 static gint ett_rrlp_MultipleSets = -1;
909 static gint ett_rrlp_ReferenceIdentity = -1;
910 static gint ett_rrlp_SeqOfReferenceIdentityType = -1;
911 static gint ett_rrlp_ReferenceIdentityType = -1;
912 static gint ett_rrlp_BSICAndCarrier = -1;
913 static gint ett_rrlp_CellIDAndLAC = -1;
914 static gint ett_rrlp_OTD_MeasureInfo = -1;
915 static gint ett_rrlp_SeqOfOTD_MsrElementRest = -1;
916 static gint ett_rrlp_OTD_MsrElementFirst = -1;
917 static gint ett_rrlp_SeqOfOTD_FirstSetMsrs = -1;
918 static gint ett_rrlp_OTD_MsrElementRest = -1;
919 static gint ett_rrlp_SeqOfOTD_MsrsOfOtherSets = -1;
920 static gint ett_rrlp_TOA_MeasurementsOfRef = -1;
921 static gint ett_rrlp_OTD_MsrsOfOtherSets = -1;
922 static gint ett_rrlp_OTD_Measurement = -1;
923 static gint ett_rrlp_OTD_MeasurementWithID = -1;
924 static gint ett_rrlp_EOTDQuality = -1;
925 static gint ett_rrlp_NeighborIdentity = -1;
926 static gint ett_rrlp_MultiFrameCarrier = -1;
927 static gint ett_rrlp_LocationInfo = -1;
928 static gint ett_rrlp_GPS_MeasureInfo = -1;
929 static gint ett_rrlp_SeqOfGPS_MsrSetElement = -1;
930 static gint ett_rrlp_GPS_MsrSetElement = -1;
931 static gint ett_rrlp_SeqOfGPS_MsrElement = -1;
932 static gint ett_rrlp_GPS_MsrElement = -1;
933 static gint ett_rrlp_LocationError = -1;
934 static gint ett_rrlp_AdditionalAssistanceData = -1;
935 static gint ett_rrlp_GPS_AssistData = -1;
936 static gint ett_rrlp_ControlHeader = -1;
937 static gint ett_rrlp_ReferenceTime = -1;
938 static gint ett_rrlp_GPSTime = -1;
939 static gint ett_rrlp_GPSTOWAssist = -1;
940 static gint ett_rrlp_GPSTOWAssistElement = -1;
941 static gint ett_rrlp_GSMTime = -1;
942 static gint ett_rrlp_RefLocation = -1;
943 static gint ett_rrlp_DGPSCorrections = -1;
944 static gint ett_rrlp_SeqOfSatElement = -1;
945 static gint ett_rrlp_SatElement = -1;
946 static gint ett_rrlp_NavigationModel = -1;
947 static gint ett_rrlp_SeqOfNavModelElement = -1;
948 static gint ett_rrlp_NavModelElement = -1;
949 static gint ett_rrlp_SatStatus = -1;
950 static gint ett_rrlp_UncompressedEphemeris = -1;
951 static gint ett_rrlp_EphemerisSubframe1Reserved = -1;
952 static gint ett_rrlp_IonosphericModel = -1;
953 static gint ett_rrlp_UTCModel = -1;
954 static gint ett_rrlp_Almanac = -1;
955 static gint ett_rrlp_SeqOfAlmanacElement = -1;
956 static gint ett_rrlp_AlmanacElement = -1;
957 static gint ett_rrlp_AcquisAssist = -1;
958 static gint ett_rrlp_SeqOfAcquisElement = -1;
959 static gint ett_rrlp_TimeRelation = -1;
960 static gint ett_rrlp_AcquisElement = -1;
961 static gint ett_rrlp_AddionalDopplerFields = -1;
962 static gint ett_rrlp_AddionalAngleFields = -1;
963 static gint ett_rrlp_SeqOf_BadSatelliteSet = -1;
964 static gint ett_rrlp_Rel98_MsrPosition_Req_Extension = -1;
965 static gint ett_rrlp_Rel98_AssistanceData_Extension = -1;
966 static gint ett_rrlp_Rel98_Ext_ExpOTD = -1;
967 static gint ett_rrlp_MsrAssistData_R98_ExpOTD = -1;
968 static gint ett_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD = -1;
969 static gint ett_rrlp_MsrAssistBTS_R98_ExpOTD = -1;
970 static gint ett_rrlp_SystemInfoAssistData_R98_ExpOTD = -1;
971 static gint ett_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD = -1;
972 static gint ett_rrlp_SystemInfoAssistBTS_R98_ExpOTD = -1;
973 static gint ett_rrlp_AssistBTSData_R98_ExpOTD = -1;
974 static gint ett_rrlp_GPSTimeAssistanceMeasurements = -1;
975 static gint ett_rrlp_Rel_98_MsrPosition_Rsp_Extension = -1;
976 static gint ett_rrlp_T_rel_98_Ext_MeasureInfo = -1;
977 static gint ett_rrlp_OTD_MeasureInfo_R98_Ext = -1;
978 static gint ett_rrlp_OTD_MsrElementFirst_R98_Ext = -1;
979 static gint ett_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext = -1;
980 static gint ett_rrlp_Rel_5_MsrPosition_Rsp_Extension = -1;
981 static gint ett_rrlp_Extended_reference = -1;
982 static gint ett_rrlp_Rel5_MsrPosition_Req_Extension = -1;
983 static gint ett_rrlp_Rel5_AssistanceData_Extension = -1;
984 static gint ett_rrlp_Rel_5_ProtocolError_Extension = -1;
985 static gint ett_rrlp_Rel7_MsrPosition_Req_Extension = -1;
986 static gint ett_rrlp_GANSSPositioningMethod = -1;
987 static gint ett_rrlp_GANSS_AssistData = -1;
988 static gint ett_rrlp_GANSS_ControlHeader = -1;
989 static gint ett_rrlp_GANSSCommonAssistData = -1;
990 static gint ett_rrlp_SeqOfGANSSGenericAssistDataElement = -1;
991 static gint ett_rrlp_GANSSGenericAssistDataElement = -1;
992 static gint ett_rrlp_GANSSReferenceTime = -1;
993 static gint ett_rrlp_GANSSRefTimeInfo = -1;
994 static gint ett_rrlp_GANSSReferenceTime_R10_Ext = -1;
995 static gint ett_rrlp_GANSSTOD_GSMTimeAssociation = -1;
996 static gint ett_rrlp_GANSSRefLocation = -1;
997 static gint ett_rrlp_GANSSIonosphericModel = -1;
998 static gint ett_rrlp_GANSSIonosphereModel = -1;
999 static gint ett_rrlp_GANSSIonoStormFlags = -1;
1000 static gint ett_rrlp_GANSSAddIonosphericModel = -1;
1001 static gint ett_rrlp_GANSSEarthOrientParam = -1;
1002 static gint ett_rrlp_SeqOfGANSSTimeModel = -1;
1003 static gint ett_rrlp_GANSSTimeModelElement = -1;
1004 static gint ett_rrlp_SeqOfGANSSTimeModel_R10_Ext = -1;
1005 static gint ett_rrlp_GANSSTimeModelElement_R10_Ext = -1;
1006 static gint ett_rrlp_GANSSDiffCorrections = -1;
1007 static gint ett_rrlp_SeqOfSgnTypeElement = -1;
1008 static gint ett_rrlp_SgnTypeElement = -1;
1009 static gint ett_rrlp_SeqOfDGANSSSgnElement = -1;
1010 static gint ett_rrlp_DGANSSSgnElement = -1;
1011 static gint ett_rrlp_GANSSNavModel = -1;
1012 static gint ett_rrlp_SeqOfGANSSSatelliteElement = -1;
1013 static gint ett_rrlp_GANSSSatelliteElement = -1;
1014 static gint ett_rrlp_GANSSOrbitModel = -1;
1015 static gint ett_rrlp_NavModel_KeplerianSet = -1;
1016 static gint ett_rrlp_NavModel_NAVKeplerianSet = -1;
1017 static gint ett_rrlp_NavModel_CNAVKeplerianSet = -1;
1018 static gint ett_rrlp_NavModel_GLONASSecef = -1;
1019 static gint ett_rrlp_NavModel_SBASecef = -1;
1020 static gint ett_rrlp_GANSSClockModel = -1;
1021 static gint ett_rrlp_SeqOfStandardClockModelElement = -1;
1022 static gint ett_rrlp_StandardClockModelElement = -1;
1023 static gint ett_rrlp_NAVclockModel = -1;
1024 static gint ett_rrlp_CNAVclockModel = -1;
1025 static gint ett_rrlp_GLONASSclockModel = -1;
1026 static gint ett_rrlp_SBASclockModel = -1;
1027 static gint ett_rrlp_GANSSRealTimeIntegrity = -1;
1028 static gint ett_rrlp_SeqOfBadSignalElement = -1;
1029 static gint ett_rrlp_BadSignalElement = -1;
1030 static gint ett_rrlp_GANSSDataBitAssist = -1;
1031 static gint ett_rrlp_SeqOfGanssDataBitsElement = -1;
1032 static gint ett_rrlp_GanssDataBitsElement = -1;
1033 static gint ett_rrlp_Seq_OfGANSSDataBitsSgn = -1;
1034 static gint ett_rrlp_GANSSDataBitsSgnElement = -1;
1035 static gint ett_rrlp_SeqOf_GANSSDataBits = -1;
1036 static gint ett_rrlp_GANSSRefMeasurementAssist = -1;
1037 static gint ett_rrlp_SeqOfGANSSRefMeasurementElement = -1;
1038 static gint ett_rrlp_GANSSRefMeasurementElement = -1;
1039 static gint ett_rrlp_AdditionalDopplerFields = -1;
1040 static gint ett_rrlp_GANSSRefMeasurementAssist_R10_Ext = -1;
1041 static gint ett_rrlp_GANSSRefMeasurement_R10_Ext_Element = -1;
1042 static gint ett_rrlp_GANSSAlmanacModel = -1;
1043 static gint ett_rrlp_SeqOfGANSSAlmanacElement = -1;
1044 static gint ett_rrlp_GANSSAlmanacElement = -1;
1045 static gint ett_rrlp_Almanac_KeplerianSet = -1;
1046 static gint ett_rrlp_Almanac_NAVKeplerianSet = -1;
1047 static gint ett_rrlp_Almanac_ReducedKeplerianSet = -1;
1048 static gint ett_rrlp_Almanac_MidiAlmanacSet = -1;
1049 static gint ett_rrlp_Almanac_GlonassAlmanacSet = -1;
1050 static gint ett_rrlp_Almanac_ECEFsbasAlmanacSet = -1;
1051 static gint ett_rrlp_GANSSAlmanacModel_R10_Ext = -1;
1052 static gint ett_rrlp_GANSSUTCModel = -1;
1053 static gint ett_rrlp_GANSSEphemerisExtension = -1;
1054 static gint ett_rrlp_GANSSEphemerisExtensionHeader = -1;
1055 static gint ett_rrlp_GANSSEphemerisExtensionTime = -1;
1056 static gint ett_rrlp_ReferenceNavModel = -1;
1057 static gint ett_rrlp_SeqOfGANSSRefOrbit = -1;
1058 static gint ett_rrlp_GANSSReferenceOrbit = -1;
1059 static gint ett_rrlp_GANSSEphemerisDeltaMatrix = -1;
1060 static gint ett_rrlp_GANSSEphemerisDeltaEpoch = -1;
1061 static gint ett_rrlp_GANSSDeltaEpochHeader = -1;
1062 static gint ett_rrlp_GANSSDeltaElementList = -1;
1063 static gint ett_rrlp_GANSSEphemerisDeltaBitSizes = -1;
1064 static gint ett_rrlp_GANSSEphemerisDeltaScales = -1;
1065 static gint ett_rrlp_GANSSEphemerisExtensionCheck = -1;
1066 static gint ett_rrlp_GANSSSatEventsInfo = -1;
1067 static gint ett_rrlp_GANSSAddUTCModel = -1;
1068 static gint ett_rrlp_UTCmodelSet2 = -1;
1069 static gint ett_rrlp_UTCmodelSet3 = -1;
1070 static gint ett_rrlp_UTCmodelSet4 = -1;
1071 static gint ett_rrlp_GANSSAuxiliaryInformation = -1;
1072 static gint ett_rrlp_GANSS_ID1 = -1;
1073 static gint ett_rrlp_GANSS_ID1_element = -1;
1074 static gint ett_rrlp_GANSS_ID3 = -1;
1075 static gint ett_rrlp_GANSS_ID3_element = -1;
1076 static gint ett_rrlp_GANSSDiffCorrectionsValidityPeriod = -1;
1077 static gint ett_rrlp_DGANSSExtensionSgnTypeElement = -1;
1078 static gint ett_rrlp_SeqOfDGANSSExtensionSgnElement = -1;
1079 static gint ett_rrlp_DGANSSExtensionSgnElement = -1;
1080 static gint ett_rrlp_Add_GPS_AssistData = -1;
1081 static gint ett_rrlp_Add_GPS_ControlHeader = -1;
1082 static gint ett_rrlp_GPSClockModel = -1;
1083 static gint ett_rrlp_GPSEphemerisExtension = -1;
1084 static gint ett_rrlp_GPSEphemerisExtensionHeader = -1;
1085 static gint ett_rrlp_GPSEphemerisExtensionTime = -1;
1086 static gint ett_rrlp_SeqOfGPSRefOrbit = -1;
1087 static gint ett_rrlp_GPSReferenceOrbit = -1;
1088 static gint ett_rrlp_GPSEphemerisDeltaMatrix = -1;
1089 static gint ett_rrlp_GPSEphemerisDeltaEpoch = -1;
1090 static gint ett_rrlp_GPSDeltaEpochHeader = -1;
1091 static gint ett_rrlp_GPSDeltaElementList = -1;
1092 static gint ett_rrlp_GPSEphemerisDeltaBitSizes = -1;
1093 static gint ett_rrlp_GPSEphemerisDeltaScales = -1;
1094 static gint ett_rrlp_GPSEphemerisExtensionCheck = -1;
1095 static gint ett_rrlp_GPSSatEventsInfo = -1;
1096 static gint ett_rrlp_DGPSCorrectionsValidityPeriod = -1;
1097 static gint ett_rrlp_DGPSExtensionSatElement = -1;
1098 static gint ett_rrlp_GPSReferenceTime_R10_Ext = -1;
1099 static gint ett_rrlp_GPSAcquisAssist_R10_Ext = -1;
1100 static gint ett_rrlp_GPSAcquisAssist_R10_Ext_Element = -1;
1101 static gint ett_rrlp_GPSAlmanac_R10_Ext = -1;
1102 static gint ett_rrlp_Rel_7_MsrPosition_Rsp_Extension = -1;
1103 static gint ett_rrlp_GANSSLocationInfo = -1;
1104 static gint ett_rrlp_PositionData = -1;
1105 static gint ett_rrlp_ReferenceFrame = -1;
1106 static gint ett_rrlp_GANSSMeasureInfo = -1;
1107 static gint ett_rrlp_SeqOfGANSS_MsrSetElement = -1;
1108 static gint ett_rrlp_GANSS_MsrSetElement = -1;
1109 static gint ett_rrlp_SeqOfGANSS_MsrElement = -1;
1110 static gint ett_rrlp_GANSS_MsrElement = -1;
1111 static gint ett_rrlp_SeqOfGANSS_SgnTypeElement = -1;
1112 static gint ett_rrlp_GANSS_SgnTypeElement = -1;
1113 static gint ett_rrlp_SeqOfGANSS_SgnElement = -1;
1114 static gint ett_rrlp_GANSS_SgnElement = -1;
1115 static gint ett_rrlp_Rel7_AssistanceData_Extension = -1;
1116 static gint ett_rrlp_PosCapabilities = -1;
1117 static gint ett_rrlp_NonGANSSPositionMethods = -1;
1118 static gint ett_rrlp_GANSSPositionMethods = -1;
1119 static gint ett_rrlp_GANSSPositionMethod = -1;
1120 static gint ett_rrlp_GANSSPositioningMethodTypes = -1;
1121 static gint ett_rrlp_GANSSSignals = -1;
1122 static gint ett_rrlp_SBASID = -1;
1123 static gint ett_rrlp_MultipleMeasurementSets = -1;
1124 static gint ett_rrlp_AssistanceSupported = -1;
1125 static gint ett_rrlp_GPSAssistance = -1;
1126 static gint ett_rrlp_GANSSAssistanceSet = -1;
1127 static gint ett_rrlp_CommonGANSSAssistance = -1;
1128 static gint ett_rrlp_SpecificGANSSAssistance = -1;
1129 static gint ett_rrlp_GANSSAssistanceForOneGANSS = -1;
1130 static gint ett_rrlp_GANSSAssistance = -1;
1131 static gint ett_rrlp_GANSSAdditionalAssistanceChoices = -1;
1132 static gint ett_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS = -1;
1133 static gint ett_rrlp_GANSSModelID = -1;
1134 static gint ett_rrlp_AssistanceNeeded = -1;
1135 
1136 /*--- End of included file: packet-rrlp-ett.c ---*/
1137 #line 47 "./asn1/rrlp/packet-rrlp-template.c"
1138 
1139 /* Include constants */
1140 
1141 /*--- Included file: packet-rrlp-val.h ---*/
1142 #line 1 "./asn1/rrlp/packet-rrlp-val.h"
1143 #define maxNumOfPrivateExtensions      10
1144 #define maxExt_GeographicalInformation 20
1145 #define maxGPSAssistanceData           40
1146 #define maxGANSSAssistanceData         40
1147 
1148 /*--- End of included file: packet-rrlp-val.h ---*/
1149 #line 50 "./asn1/rrlp/packet-rrlp-template.c"
1150 
1151 
1152 
1153 /*--- Included file: packet-rrlp-fn.c ---*/
1154 #line 1 "./asn1/rrlp/packet-rrlp-fn.c"
1155 
1156 
1157 static int
1158 dissect_rrlp_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1159   offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
1160 
1161   return offset;
1162 }
1163 
1164 
1165 
1166 static int
1167 dissect_rrlp_T_extType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1168   offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
1169 
1170   return offset;
1171 }
1172 
1173 
1174 static const per_sequence_t PrivateExtension_sequence[] = {
1175   { &hf_rrlp_extId          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OBJECT_IDENTIFIER },
1176   { &hf_rrlp_extType        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_T_extType },
1177   { NULL, 0, 0, NULL }
1178 };
1179 
1180 static int
1181 dissect_rrlp_PrivateExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1182   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1183                                    ett_rrlp_PrivateExtension, PrivateExtension_sequence);
1184 
1185   return offset;
1186 }
1187 
1188 
1189 static const per_sequence_t PrivateExtensionList_sequence_of[1] = {
1190   { &hf_rrlp_PrivateExtensionList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_PrivateExtension },
1191 };
1192 
1193 static int
1194 dissect_rrlp_PrivateExtensionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1195   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1196                                                   ett_rrlp_PrivateExtensionList, PrivateExtensionList_sequence_of,
1197                                                   1, maxNumOfPrivateExtensions, FALSE);
1198 
1199   return offset;
1200 }
1201 
1202 
1203 static const per_sequence_t PCS_Extensions_sequence[] = {
1204   { NULL, ASN1_EXTENSION_ROOT, 0, NULL }
1205 };
1206 
1207 static int
1208 dissect_rrlp_PCS_Extensions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1209   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1210                                    ett_rrlp_PCS_Extensions, PCS_Extensions_sequence);
1211 
1212   return offset;
1213 }
1214 
1215 
1216 static const per_sequence_t ExtensionContainer_sequence[] = {
1217   { &hf_rrlp_privateExtensionList, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_PrivateExtensionList },
1218   { &hf_rrlp_pcs_Extensions , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_PCS_Extensions },
1219   { NULL, 0, 0, NULL }
1220 };
1221 
1222 static int
1223 dissect_rrlp_ExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1224   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1225                                    ett_rrlp_ExtensionContainer, ExtensionContainer_sequence);
1226 
1227   return offset;
1228 }
1229 
1230 
1231 
1232 static int
1233 dissect_rrlp_Ext_GeographicalInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1234 #line 33 "./asn1/rrlp/rrlp.cnf"
1235 
1236 tvbuff_t *parameter_tvb = NULL;
1237 
1238     offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1239                                        1, maxExt_GeographicalInformation, FALSE, &parameter_tvb);
1240 
1241 
1242   if(parameter_tvb)
1243 	dissect_geographical_description(parameter_tvb, actx->pinfo, tree);
1244 
1245 
1246   return offset;
1247 }
1248 
1249 
1250 
1251 static int
1252 dissect_rrlp_VelocityEstimate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1253   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1254                                        4, 7, FALSE, NULL);
1255 
1256   return offset;
1257 }
1258 
1259 
1260 
1261 static int
1262 dissect_rrlp_INTEGER_0_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1263   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1264                                                             0U, 7U, NULL, FALSE);
1265 
1266   return offset;
1267 }
1268 
1269 
1270 
1271 static int
1272 dissect_rrlp_Accuracy(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1273   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1274                                                             0U, 127U, NULL, FALSE);
1275 
1276   return offset;
1277 }
1278 
1279 
1280 static const per_sequence_t AccuracyOpt_sequence[] = {
1281   { &hf_rrlp_accuracy       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_Accuracy },
1282   { NULL, 0, 0, NULL }
1283 };
1284 
1285 static int
1286 dissect_rrlp_AccuracyOpt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1287   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1288                                    ett_rrlp_AccuracyOpt, AccuracyOpt_sequence);
1289 
1290   return offset;
1291 }
1292 
1293 
1294 static const value_string rrlp_MethodType_vals[] = {
1295   {   0, "msAssisted" },
1296   {   1, "msBased" },
1297   {   2, "msBasedPref" },
1298   {   3, "msAssistedPref" },
1299   { 0, NULL }
1300 };
1301 
1302 static const per_choice_t MethodType_choice[] = {
1303   {   0, &hf_rrlp_msAssisted     , ASN1_NO_EXTENSIONS     , dissect_rrlp_AccuracyOpt },
1304   {   1, &hf_rrlp_msBased        , ASN1_NO_EXTENSIONS     , dissect_rrlp_Accuracy },
1305   {   2, &hf_rrlp_msBasedPref    , ASN1_NO_EXTENSIONS     , dissect_rrlp_Accuracy },
1306   {   3, &hf_rrlp_msAssistedPref , ASN1_NO_EXTENSIONS     , dissect_rrlp_Accuracy },
1307   { 0, NULL, 0, NULL }
1308 };
1309 
1310 static int
1311 dissect_rrlp_MethodType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1312   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1313                                  ett_rrlp_MethodType, MethodType_choice,
1314                                  NULL);
1315 
1316   return offset;
1317 }
1318 
1319 
1320 static const value_string rrlp_PositionMethod_vals[] = {
1321   {   0, "eotd" },
1322   {   1, "gps" },
1323   {   2, "gpsOrEOTD" },
1324   { 0, NULL }
1325 };
1326 
1327 
1328 static int
1329 dissect_rrlp_PositionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1330   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1331                                      3, NULL, FALSE, 0, NULL);
1332 
1333   return offset;
1334 }
1335 
1336 
1337 
1338 static int
1339 dissect_rrlp_MeasureResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1340   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1341                                                             0U, 7U, NULL, FALSE);
1342 
1343   return offset;
1344 }
1345 
1346 
1347 static const value_string rrlp_UseMultipleSets_vals[] = {
1348   {   0, "multipleSets" },
1349   {   1, "oneSet" },
1350   { 0, NULL }
1351 };
1352 
1353 
1354 static int
1355 dissect_rrlp_UseMultipleSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1356   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1357                                      2, NULL, FALSE, 0, NULL);
1358 
1359   return offset;
1360 }
1361 
1362 
1363 static const value_string rrlp_EnvironmentCharacter_vals[] = {
1364   {   0, "badArea" },
1365   {   1, "notBadArea" },
1366   {   2, "mixedArea" },
1367   { 0, NULL }
1368 };
1369 
1370 
1371 static int
1372 dissect_rrlp_EnvironmentCharacter(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1373   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1374                                      3, NULL, TRUE, 0, NULL);
1375 
1376   return offset;
1377 }
1378 
1379 
1380 static const per_sequence_t PositionInstruct_sequence[] = {
1381   { &hf_rrlp_methodType     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MethodType },
1382   { &hf_rrlp_positionMethod , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_PositionMethod },
1383   { &hf_rrlp_measureResponseTime, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MeasureResponseTime },
1384   { &hf_rrlp_useMultipleSets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_UseMultipleSets },
1385   { &hf_rrlp_environmentCharacter, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_EnvironmentCharacter },
1386   { NULL, 0, 0, NULL }
1387 };
1388 
1389 static int
1390 dissect_rrlp_PositionInstruct(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1391   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1392                                    ett_rrlp_PositionInstruct, PositionInstruct_sequence);
1393 
1394   return offset;
1395 }
1396 
1397 
1398 
1399 static int
1400 dissect_rrlp_BCCHCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1401   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1402                                                             0U, 1023U, NULL, FALSE);
1403 
1404   return offset;
1405 }
1406 
1407 
1408 
1409 static int
1410 dissect_rrlp_BSIC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1411   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1412                                                             0U, 63U, NULL, FALSE);
1413 
1414   return offset;
1415 }
1416 
1417 
1418 static const value_string rrlp_TimeSlotScheme_vals[] = {
1419   {   0, "equalLength" },
1420   {   1, "variousLength" },
1421   { 0, NULL }
1422 };
1423 
1424 
1425 static int
1426 dissect_rrlp_TimeSlotScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1427   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
1428                                      2, NULL, FALSE, 0, NULL);
1429 
1430   return offset;
1431 }
1432 
1433 
1434 
1435 static int
1436 dissect_rrlp_BTSPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1437   offset = dissect_rrlp_Ext_GeographicalInformation(tvb, offset, actx, tree, hf_index);
1438 
1439   return offset;
1440 }
1441 
1442 
1443 static const per_sequence_t ReferenceAssistData_sequence[] = {
1444   { &hf_rrlp_bcchCarrier    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
1445   { &hf_rrlp_bsic           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1446   { &hf_rrlp_timeSlotScheme , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlotScheme },
1447   { &hf_rrlp_btsPosition    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_BTSPosition },
1448   { NULL, 0, 0, NULL }
1449 };
1450 
1451 static int
1452 dissect_rrlp_ReferenceAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1453   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1454                                    ett_rrlp_ReferenceAssistData, ReferenceAssistData_sequence);
1455 
1456   return offset;
1457 }
1458 
1459 
1460 
1461 static int
1462 dissect_rrlp_MultiFrameOffset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1463   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1464                                                             0U, 51U, NULL, FALSE);
1465 
1466   return offset;
1467 }
1468 
1469 
1470 
1471 static int
1472 dissect_rrlp_RoughRTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1473   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1474                                                             0U, 1250U, NULL, FALSE);
1475 
1476   return offset;
1477 }
1478 
1479 
1480 
1481 static int
1482 dissect_rrlp_FineRTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1483   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1484                                                             0U, 255U, NULL, FALSE);
1485 
1486   return offset;
1487 }
1488 
1489 
1490 
1491 static int
1492 dissect_rrlp_RelDistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1493   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1494                                                             -200000, 200000U, NULL, FALSE);
1495 
1496   return offset;
1497 }
1498 
1499 
1500 
1501 static int
1502 dissect_rrlp_RelativeAlt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1503   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1504                                                             -4000, 4000U, NULL, FALSE);
1505 
1506   return offset;
1507 }
1508 
1509 
1510 static const per_sequence_t ReferenceWGS84_sequence[] = {
1511   { &hf_rrlp_relativeNorth  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_RelDistance },
1512   { &hf_rrlp_relativeEast   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_RelDistance },
1513   { &hf_rrlp_relativeAlt    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_RelativeAlt },
1514   { NULL, 0, 0, NULL }
1515 };
1516 
1517 static int
1518 dissect_rrlp_ReferenceWGS84(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1519   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1520                                    ett_rrlp_ReferenceWGS84, ReferenceWGS84_sequence);
1521 
1522   return offset;
1523 }
1524 
1525 
1526 static const per_sequence_t CalcAssistanceBTS_sequence[] = {
1527   { &hf_rrlp_fineRTD        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_FineRTD },
1528   { &hf_rrlp_referenceWGS84 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceWGS84 },
1529   { NULL, 0, 0, NULL }
1530 };
1531 
1532 static int
1533 dissect_rrlp_CalcAssistanceBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1534   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1535                                    ett_rrlp_CalcAssistanceBTS, CalcAssistanceBTS_sequence);
1536 
1537   return offset;
1538 }
1539 
1540 
1541 static const per_sequence_t MsrAssistBTS_sequence[] = {
1542   { &hf_rrlp_bcchCarrier    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
1543   { &hf_rrlp_bsic           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1544   { &hf_rrlp_multiFrameOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MultiFrameOffset },
1545   { &hf_rrlp_timeSlotScheme , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlotScheme },
1546   { &hf_rrlp_roughRTD       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_RoughRTD },
1547   { &hf_rrlp_calcAssistanceBTS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_CalcAssistanceBTS },
1548   { NULL, 0, 0, NULL }
1549 };
1550 
1551 static int
1552 dissect_rrlp_MsrAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1553   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1554                                    ett_rrlp_MsrAssistBTS, MsrAssistBTS_sequence);
1555 
1556   return offset;
1557 }
1558 
1559 
1560 static const per_sequence_t SeqOfMsrAssistBTS_sequence_of[1] = {
1561   { &hf_rrlp_SeqOfMsrAssistBTS_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MsrAssistBTS },
1562 };
1563 
1564 static int
1565 dissect_rrlp_SeqOfMsrAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1566   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1567                                                   ett_rrlp_SeqOfMsrAssistBTS, SeqOfMsrAssistBTS_sequence_of,
1568                                                   1, 15, FALSE);
1569 
1570   return offset;
1571 }
1572 
1573 
1574 static const per_sequence_t MsrAssistData_sequence[] = {
1575   { &hf_rrlp_msrAssistList  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfMsrAssistBTS },
1576   { NULL, 0, 0, NULL }
1577 };
1578 
1579 static int
1580 dissect_rrlp_MsrAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1581   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1582                                    ett_rrlp_MsrAssistData, MsrAssistData_sequence);
1583 
1584   return offset;
1585 }
1586 
1587 
1588 
1589 static int
1590 dissect_rrlp_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1591   offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
1592 
1593   return offset;
1594 }
1595 
1596 
1597 static const per_sequence_t AssistBTSData_sequence[] = {
1598   { &hf_rrlp_bsic           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1599   { &hf_rrlp_multiFrameOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MultiFrameOffset },
1600   { &hf_rrlp_timeSlotScheme , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlotScheme },
1601   { &hf_rrlp_roughRTD       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_RoughRTD },
1602   { &hf_rrlp_calcAssistanceBTS, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_CalcAssistanceBTS },
1603   { NULL, 0, 0, NULL }
1604 };
1605 
1606 static int
1607 dissect_rrlp_AssistBTSData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1608   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1609                                    ett_rrlp_AssistBTSData, AssistBTSData_sequence);
1610 
1611   return offset;
1612 }
1613 
1614 
1615 static const value_string rrlp_SystemInfoAssistBTS_vals[] = {
1616   {   0, "notPresent" },
1617   {   1, "present" },
1618   { 0, NULL }
1619 };
1620 
1621 static const per_choice_t SystemInfoAssistBTS_choice[] = {
1622   {   0, &hf_rrlp_notPresent     , ASN1_NO_EXTENSIONS     , dissect_rrlp_NULL },
1623   {   1, &hf_rrlp_present        , ASN1_NO_EXTENSIONS     , dissect_rrlp_AssistBTSData },
1624   { 0, NULL, 0, NULL }
1625 };
1626 
1627 static int
1628 dissect_rrlp_SystemInfoAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1629   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
1630                                  ett_rrlp_SystemInfoAssistBTS, SystemInfoAssistBTS_choice,
1631                                  NULL);
1632 
1633   return offset;
1634 }
1635 
1636 
1637 static const per_sequence_t SeqOfSystemInfoAssistBTS_sequence_of[1] = {
1638   { &hf_rrlp_SeqOfSystemInfoAssistBTS_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SystemInfoAssistBTS },
1639 };
1640 
1641 static int
1642 dissect_rrlp_SeqOfSystemInfoAssistBTS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1643   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1644                                                   ett_rrlp_SeqOfSystemInfoAssistBTS, SeqOfSystemInfoAssistBTS_sequence_of,
1645                                                   1, 32, FALSE);
1646 
1647   return offset;
1648 }
1649 
1650 
1651 static const per_sequence_t SystemInfoAssistData_sequence[] = {
1652   { &hf_rrlp_systemInfoAssistList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSystemInfoAssistBTS },
1653   { NULL, 0, 0, NULL }
1654 };
1655 
1656 static int
1657 dissect_rrlp_SystemInfoAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1658   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1659                                    ett_rrlp_SystemInfoAssistData, SystemInfoAssistData_sequence);
1660 
1661   return offset;
1662 }
1663 
1664 
1665 
1666 static int
1667 dissect_rrlp_GPSTOW23b(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1668   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1669                                                             0U, 7559999U, NULL, FALSE);
1670 
1671   return offset;
1672 }
1673 
1674 
1675 
1676 static int
1677 dissect_rrlp_GPSWeek(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1678   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1679                                                             0U, 1023U, NULL, FALSE);
1680 
1681   return offset;
1682 }
1683 
1684 
1685 static const per_sequence_t GPSTime_sequence[] = {
1686   { &hf_rrlp_gpsTOW23b      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOW23b },
1687   { &hf_rrlp_gpsWeek        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSWeek },
1688   { NULL, 0, 0, NULL }
1689 };
1690 
1691 static int
1692 dissect_rrlp_GPSTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1693   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1694                                    ett_rrlp_GPSTime, GPSTime_sequence);
1695 
1696   return offset;
1697 }
1698 
1699 
1700 
1701 static int
1702 dissect_rrlp_FrameNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1703   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1704                                                             0U, 2097151U, NULL, FALSE);
1705 
1706   return offset;
1707 }
1708 
1709 
1710 
1711 static int
1712 dissect_rrlp_TimeSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1713   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1714                                                             0U, 7U, NULL, FALSE);
1715 
1716   return offset;
1717 }
1718 
1719 
1720 
1721 static int
1722 dissect_rrlp_BitNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1723   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1724                                                             0U, 156U, NULL, FALSE);
1725 
1726   return offset;
1727 }
1728 
1729 
1730 static const per_sequence_t GSMTime_sequence[] = {
1731   { &hf_rrlp_bcchCarrier    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
1732   { &hf_rrlp_bsic           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
1733   { &hf_rrlp_frameNumber    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_FrameNumber },
1734   { &hf_rrlp_timeSlot       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlot },
1735   { &hf_rrlp_bitNumber      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BitNumber },
1736   { NULL, 0, 0, NULL }
1737 };
1738 
1739 static int
1740 dissect_rrlp_GSMTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1741   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1742                                    ett_rrlp_GSMTime, GSMTime_sequence);
1743 
1744   return offset;
1745 }
1746 
1747 
1748 
1749 static int
1750 dissect_rrlp_SatelliteID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1751   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1752                                                             0U, 63U, NULL, FALSE);
1753 
1754   return offset;
1755 }
1756 
1757 
1758 
1759 static int
1760 dissect_rrlp_TLMWord(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1761   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1762                                                             0U, 16383U, NULL, FALSE);
1763 
1764   return offset;
1765 }
1766 
1767 
1768 
1769 static int
1770 dissect_rrlp_AntiSpoofFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1771   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1772                                                             0U, 1U, NULL, FALSE);
1773 
1774   return offset;
1775 }
1776 
1777 
1778 
1779 static int
1780 dissect_rrlp_AlertFlag(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1781   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1782                                                             0U, 1U, NULL, FALSE);
1783 
1784   return offset;
1785 }
1786 
1787 
1788 
1789 static int
1790 dissect_rrlp_TLMReservedBits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1791   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1792                                                             0U, 3U, NULL, FALSE);
1793 
1794   return offset;
1795 }
1796 
1797 
1798 static const per_sequence_t GPSTOWAssistElement_sequence[] = {
1799   { &hf_rrlp_satelliteID    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
1800   { &hf_rrlp_tlmWord        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TLMWord },
1801   { &hf_rrlp_antiSpoof      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_AntiSpoofFlag },
1802   { &hf_rrlp_alert          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_AlertFlag },
1803   { &hf_rrlp_tlmRsvdBits    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TLMReservedBits },
1804   { NULL, 0, 0, NULL }
1805 };
1806 
1807 static int
1808 dissect_rrlp_GPSTOWAssistElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1809   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1810                                    ett_rrlp_GPSTOWAssistElement, GPSTOWAssistElement_sequence);
1811 
1812   return offset;
1813 }
1814 
1815 
1816 static const per_sequence_t GPSTOWAssist_sequence_of[1] = {
1817   { &hf_rrlp_GPSTOWAssist_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOWAssistElement },
1818 };
1819 
1820 static int
1821 dissect_rrlp_GPSTOWAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1822   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1823                                                   ett_rrlp_GPSTOWAssist, GPSTOWAssist_sequence_of,
1824                                                   1, 12, FALSE);
1825 
1826   return offset;
1827 }
1828 
1829 
1830 static const per_sequence_t ReferenceTime_sequence[] = {
1831   { &hf_rrlp_gpsTime        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTime },
1832   { &hf_rrlp_gsmTime        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GSMTime },
1833   { &hf_rrlp_gpsTowAssist   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GPSTOWAssist },
1834   { NULL, 0, 0, NULL }
1835 };
1836 
1837 static int
1838 dissect_rrlp_ReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1839   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1840                                    ett_rrlp_ReferenceTime, ReferenceTime_sequence);
1841 
1842   return offset;
1843 }
1844 
1845 
1846 static const per_sequence_t RefLocation_sequence[] = {
1847   { &hf_rrlp_threeDLocation , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
1848   { NULL, 0, 0, NULL }
1849 };
1850 
1851 static int
1852 dissect_rrlp_RefLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1853   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1854                                    ett_rrlp_RefLocation, RefLocation_sequence);
1855 
1856   return offset;
1857 }
1858 
1859 
1860 
1861 static int
1862 dissect_rrlp_INTEGER_0_604799(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1863   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1864                                                             0U, 604799U, NULL, FALSE);
1865 
1866   return offset;
1867 }
1868 
1869 
1870 
1871 static int
1872 dissect_rrlp_INTEGER_0_239(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1873   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1874                                                             0U, 239U, NULL, FALSE);
1875 
1876   return offset;
1877 }
1878 
1879 
1880 
1881 static int
1882 dissect_rrlp_INTEGER_0_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1883   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1884                                                             0U, 3U, NULL, FALSE);
1885 
1886   return offset;
1887 }
1888 
1889 
1890 
1891 static int
1892 dissect_rrlp_INTEGER_M2047_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1893   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1894                                                             -2047, 2047U, NULL, FALSE);
1895 
1896   return offset;
1897 }
1898 
1899 
1900 
1901 static int
1902 dissect_rrlp_INTEGER_M127_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1903   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1904                                                             -127, 127U, NULL, FALSE);
1905 
1906   return offset;
1907 }
1908 
1909 
1910 
1911 static int
1912 dissect_rrlp_INTEGER_M7_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1913   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1914                                                             -7, 7U, NULL, FALSE);
1915 
1916   return offset;
1917 }
1918 
1919 
1920 static const per_sequence_t SatElement_sequence[] = {
1921   { &hf_rrlp_satelliteID    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
1922   { &hf_rrlp_iode           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_239 },
1923   { &hf_rrlp_udre           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
1924   { &hf_rrlp_pseudoRangeCor , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2047_2047 },
1925   { &hf_rrlp_rangeRateCor   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
1926   { &hf_rrlp_deltaPseudoRangeCor2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
1927   { &hf_rrlp_deltaRangeRateCor2, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M7_7 },
1928   { &hf_rrlp_deltaPseudoRangeCor3, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
1929   { &hf_rrlp_deltaRangeRateCor3, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M7_7 },
1930   { NULL, 0, 0, NULL }
1931 };
1932 
1933 static int
1934 dissect_rrlp_SatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1935   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1936                                    ett_rrlp_SatElement, SatElement_sequence);
1937 
1938   return offset;
1939 }
1940 
1941 
1942 static const per_sequence_t SeqOfSatElement_sequence_of[1] = {
1943   { &hf_rrlp_SeqOfSatElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatElement },
1944 };
1945 
1946 static int
1947 dissect_rrlp_SeqOfSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1948   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
1949                                                   ett_rrlp_SeqOfSatElement, SeqOfSatElement_sequence_of,
1950                                                   1, 16, FALSE);
1951 
1952   return offset;
1953 }
1954 
1955 
1956 static const per_sequence_t DGPSCorrections_sequence[] = {
1957   { &hf_rrlp_gpsTOW_02      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_604799 },
1958   { &hf_rrlp_status         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
1959   { &hf_rrlp_satList        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSatElement },
1960   { NULL, 0, 0, NULL }
1961 };
1962 
1963 static int
1964 dissect_rrlp_DGPSCorrections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1965   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
1966                                    ett_rrlp_DGPSCorrections, DGPSCorrections_sequence);
1967 
1968   return offset;
1969 }
1970 
1971 
1972 
1973 static int
1974 dissect_rrlp_INTEGER_0_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1975   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1976                                                             0U, 15U, NULL, FALSE);
1977 
1978   return offset;
1979 }
1980 
1981 
1982 
1983 static int
1984 dissect_rrlp_INTEGER_0_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1985   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1986                                                             0U, 63U, NULL, FALSE);
1987 
1988   return offset;
1989 }
1990 
1991 
1992 
1993 static int
1994 dissect_rrlp_INTEGER_0_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1995   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1996                                                             0U, 1023U, NULL, FALSE);
1997 
1998   return offset;
1999 }
2000 
2001 
2002 
2003 static int
2004 dissect_rrlp_INTEGER_0_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2005   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2006                                                             0U, 1U, NULL, FALSE);
2007 
2008   return offset;
2009 }
2010 
2011 
2012 
2013 static int
2014 dissect_rrlp_INTEGER_0_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2015   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2016                                                             0U, 8388607U, NULL, FALSE);
2017 
2018   return offset;
2019 }
2020 
2021 
2022 
2023 static int
2024 dissect_rrlp_INTEGER_0_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2025   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2026                                                             0U, 16777215U, NULL, FALSE);
2027 
2028   return offset;
2029 }
2030 
2031 
2032 
2033 static int
2034 dissect_rrlp_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2035   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2036                                                             0U, 65535U, NULL, FALSE);
2037 
2038   return offset;
2039 }
2040 
2041 
2042 static const per_sequence_t EphemerisSubframe1Reserved_sequence[] = {
2043   { &hf_rrlp_reserved1      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8388607 },
2044   { &hf_rrlp_reserved2      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
2045   { &hf_rrlp_reserved3      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
2046   { &hf_rrlp_reserved4      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
2047   { NULL, 0, 0, NULL }
2048 };
2049 
2050 static int
2051 dissect_rrlp_EphemerisSubframe1Reserved(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2052   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2053                                    ett_rrlp_EphemerisSubframe1Reserved, EphemerisSubframe1Reserved_sequence);
2054 
2055   return offset;
2056 }
2057 
2058 
2059 
2060 static int
2061 dissect_rrlp_INTEGER_M128_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2062   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2063                                                             -128, 127U, NULL, FALSE);
2064 
2065   return offset;
2066 }
2067 
2068 
2069 
2070 static int
2071 dissect_rrlp_INTEGER_0_37799(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2072   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2073                                                             0U, 37799U, NULL, FALSE);
2074 
2075   return offset;
2076 }
2077 
2078 
2079 
2080 static int
2081 dissect_rrlp_INTEGER_M32768_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2082   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2083                                                             -32768, 32767U, NULL, FALSE);
2084 
2085   return offset;
2086 }
2087 
2088 
2089 
2090 static int
2091 dissect_rrlp_INTEGER_M2097152_2097151(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2092   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2093                                                             -2097152, 2097151U, NULL, FALSE);
2094 
2095   return offset;
2096 }
2097 
2098 
2099 
2100 static int
2101 dissect_rrlp_INTEGER_M2147483648_2147483647(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2102   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2103                                                             G_MININT32, 2147483647U, NULL, FALSE);
2104 
2105   return offset;
2106 }
2107 
2108 
2109 
2110 static int
2111 dissect_rrlp_INTEGER_0_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2112   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2113                                                             0U, 4294967295U, NULL, FALSE);
2114 
2115   return offset;
2116 }
2117 
2118 
2119 
2120 static int
2121 dissect_rrlp_INTEGER_0_31(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2122   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2123                                                             0U, 31U, NULL, FALSE);
2124 
2125   return offset;
2126 }
2127 
2128 
2129 
2130 static int
2131 dissect_rrlp_INTEGER_M8388608_8388607(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2132   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2133                                                             -8388608, 8388607U, NULL, FALSE);
2134 
2135   return offset;
2136 }
2137 
2138 
2139 
2140 static int
2141 dissect_rrlp_INTEGER_M8192_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2142   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2143                                                             -8192, 8191U, NULL, FALSE);
2144 
2145   return offset;
2146 }
2147 
2148 
2149 static const per_sequence_t UncompressedEphemeris_sequence[] = {
2150   { &hf_rrlp_ephemCodeOnL2  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
2151   { &hf_rrlp_ephemURA       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
2152   { &hf_rrlp_ephemSVhealth  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
2153   { &hf_rrlp_ephemIODC      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
2154   { &hf_rrlp_ephemL2Pflag   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2155   { &hf_rrlp_ephemSF1Rsvd   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_EphemerisSubframe1Reserved },
2156   { &hf_rrlp_ephemTgd       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2157   { &hf_rrlp_ephemToc       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
2158   { &hf_rrlp_ephemAF2       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2159   { &hf_rrlp_ephemAF1       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2160   { &hf_rrlp_ephemAF0       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
2161   { &hf_rrlp_ephemCrs       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2162   { &hf_rrlp_ephemDeltaN    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2163   { &hf_rrlp_ephemM0        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2164   { &hf_rrlp_ephemCuc       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2165   { &hf_rrlp_ephemE         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
2166   { &hf_rrlp_ephemCus       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2167   { &hf_rrlp_ephemAPowerHalf, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
2168   { &hf_rrlp_ephemToe       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
2169   { &hf_rrlp_ephemFitFlag   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2170   { &hf_rrlp_ephemAODA      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
2171   { &hf_rrlp_ephemCic       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2172   { &hf_rrlp_ephemOmegaA0   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2173   { &hf_rrlp_ephemCis       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2174   { &hf_rrlp_ephemI0        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2175   { &hf_rrlp_ephemCrc       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2176   { &hf_rrlp_ephemW         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2177   { &hf_rrlp_ephemOmegaADot , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2178   { &hf_rrlp_ephemIDot      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
2179   { NULL, 0, 0, NULL }
2180 };
2181 
2182 static int
2183 dissect_rrlp_UncompressedEphemeris(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2184   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2185                                    ett_rrlp_UncompressedEphemeris, UncompressedEphemeris_sequence);
2186 
2187   return offset;
2188 }
2189 
2190 
2191 static const value_string rrlp_SatStatus_vals[] = {
2192   {   0, "newSatelliteAndModelUC" },
2193   {   1, "oldSatelliteAndModel" },
2194   {   2, "newNaviModelUC" },
2195   { 0, NULL }
2196 };
2197 
2198 static const per_choice_t SatStatus_choice[] = {
2199   {   0, &hf_rrlp_newSatelliteAndModelUC, ASN1_EXTENSION_ROOT    , dissect_rrlp_UncompressedEphemeris },
2200   {   1, &hf_rrlp_oldSatelliteAndModel, ASN1_EXTENSION_ROOT    , dissect_rrlp_NULL },
2201   {   2, &hf_rrlp_newNaviModelUC , ASN1_EXTENSION_ROOT    , dissect_rrlp_UncompressedEphemeris },
2202   { 0, NULL, 0, NULL }
2203 };
2204 
2205 static int
2206 dissect_rrlp_SatStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2207   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2208                                  ett_rrlp_SatStatus, SatStatus_choice,
2209                                  NULL);
2210 
2211   return offset;
2212 }
2213 
2214 
2215 static const per_sequence_t NavModelElement_sequence[] = {
2216   { &hf_rrlp_satelliteID    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2217   { &hf_rrlp_satStatus      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatStatus },
2218   { NULL, 0, 0, NULL }
2219 };
2220 
2221 static int
2222 dissect_rrlp_NavModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2223   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2224                                    ett_rrlp_NavModelElement, NavModelElement_sequence);
2225 
2226   return offset;
2227 }
2228 
2229 
2230 static const per_sequence_t SeqOfNavModelElement_sequence_of[1] = {
2231   { &hf_rrlp_SeqOfNavModelElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_NavModelElement },
2232 };
2233 
2234 static int
2235 dissect_rrlp_SeqOfNavModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2236   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2237                                                   ett_rrlp_SeqOfNavModelElement, SeqOfNavModelElement_sequence_of,
2238                                                   1, 16, FALSE);
2239 
2240   return offset;
2241 }
2242 
2243 
2244 static const per_sequence_t NavigationModel_sequence[] = {
2245   { &hf_rrlp_navModelList   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfNavModelElement },
2246   { NULL, 0, 0, NULL }
2247 };
2248 
2249 static int
2250 dissect_rrlp_NavigationModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2251   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2252                                    ett_rrlp_NavigationModel, NavigationModel_sequence);
2253 
2254   return offset;
2255 }
2256 
2257 
2258 static const per_sequence_t IonosphericModel_sequence[] = {
2259   { &hf_rrlp_alfa0          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2260   { &hf_rrlp_alfa1          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2261   { &hf_rrlp_alfa2          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2262   { &hf_rrlp_alfa3          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2263   { &hf_rrlp_beta0          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2264   { &hf_rrlp_beta1          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2265   { &hf_rrlp_beta2          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2266   { &hf_rrlp_beta3          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2267   { NULL, 0, 0, NULL }
2268 };
2269 
2270 static int
2271 dissect_rrlp_IonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2272   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2273                                    ett_rrlp_IonosphericModel, IonosphericModel_sequence);
2274 
2275   return offset;
2276 }
2277 
2278 
2279 
2280 static int
2281 dissect_rrlp_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2282   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2283                                                             0U, 255U, NULL, FALSE);
2284 
2285   return offset;
2286 }
2287 
2288 
2289 static const per_sequence_t UTCModel_sequence[] = {
2290   { &hf_rrlp_utcA1          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2291   { &hf_rrlp_utcA0          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
2292   { &hf_rrlp_utcTot         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2293   { &hf_rrlp_utcWNt         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2294   { &hf_rrlp_utcDeltaTls    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2295   { &hf_rrlp_utcWNlsf       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2296   { &hf_rrlp_utcDN          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2297   { &hf_rrlp_utcDeltaTlsf   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
2298   { NULL, 0, 0, NULL }
2299 };
2300 
2301 static int
2302 dissect_rrlp_UTCModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2303   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2304                                    ett_rrlp_UTCModel, UTCModel_sequence);
2305 
2306   return offset;
2307 }
2308 
2309 
2310 
2311 static int
2312 dissect_rrlp_INTEGER_M1024_1023(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2313   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2314                                                             -1024, 1023U, NULL, FALSE);
2315 
2316   return offset;
2317 }
2318 
2319 
2320 static const per_sequence_t AlmanacElement_sequence[] = {
2321   { &hf_rrlp_satelliteID    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2322   { &hf_rrlp_almanacE       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
2323   { &hf_rrlp_alamanacToa    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2324   { &hf_rrlp_almanacKsii    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2325   { &hf_rrlp_almanacOmegaDot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
2326   { &hf_rrlp_almanacSVhealth, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2327   { &hf_rrlp_almanacAPowerHalf, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
2328   { &hf_rrlp_almanacOmega0  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2329   { &hf_rrlp_almanacW       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2330   { &hf_rrlp_almanacM0      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
2331   { &hf_rrlp_almanacAF0     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
2332   { &hf_rrlp_almanacAF1     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
2333   { NULL, 0, 0, NULL }
2334 };
2335 
2336 static int
2337 dissect_rrlp_AlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2338   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2339                                    ett_rrlp_AlmanacElement, AlmanacElement_sequence);
2340 
2341   return offset;
2342 }
2343 
2344 
2345 static const per_sequence_t SeqOfAlmanacElement_sequence_of[1] = {
2346   { &hf_rrlp_SeqOfAlmanacElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_AlmanacElement },
2347 };
2348 
2349 static int
2350 dissect_rrlp_SeqOfAlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2351   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2352                                                   ett_rrlp_SeqOfAlmanacElement, SeqOfAlmanacElement_sequence_of,
2353                                                   1, 64, FALSE);
2354 
2355   return offset;
2356 }
2357 
2358 
2359 static const per_sequence_t Almanac_sequence[] = {
2360   { &hf_rrlp_alamanacWNa    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
2361   { &hf_rrlp_almanacList    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfAlmanacElement },
2362   { NULL, 0, 0, NULL }
2363 };
2364 
2365 static int
2366 dissect_rrlp_Almanac(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2367   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2368                                    ett_rrlp_Almanac, Almanac_sequence);
2369 
2370   return offset;
2371 }
2372 
2373 
2374 static const per_sequence_t TimeRelation_sequence[] = {
2375   { &hf_rrlp_gpsTOW_03      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOW23b },
2376   { &hf_rrlp_gsmTime        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GSMTime },
2377   { NULL, 0, 0, NULL }
2378 };
2379 
2380 static int
2381 dissect_rrlp_TimeRelation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2382   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2383                                    ett_rrlp_TimeRelation, TimeRelation_sequence);
2384 
2385   return offset;
2386 }
2387 
2388 
2389 
2390 static int
2391 dissect_rrlp_INTEGER_M2048_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2392   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2393                                                             -2048, 2047U, NULL, FALSE);
2394 
2395   return offset;
2396 }
2397 
2398 
2399 static const per_sequence_t AddionalDopplerFields_sequence[] = {
2400   { &hf_rrlp_doppler1       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
2401   { &hf_rrlp_dopplerUncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
2402   { NULL, 0, 0, NULL }
2403 };
2404 
2405 static int
2406 dissect_rrlp_AddionalDopplerFields(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2407   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2408                                    ett_rrlp_AddionalDopplerFields, AddionalDopplerFields_sequence);
2409 
2410   return offset;
2411 }
2412 
2413 
2414 
2415 static int
2416 dissect_rrlp_INTEGER_0_1022(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2417   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2418                                                             0U, 1022U, NULL, FALSE);
2419 
2420   return offset;
2421 }
2422 
2423 
2424 
2425 static int
2426 dissect_rrlp_INTEGER_0_19(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2427   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2428                                                             0U, 19U, NULL, FALSE);
2429 
2430   return offset;
2431 }
2432 
2433 
2434 static const per_sequence_t AddionalAngleFields_sequence[] = {
2435   { &hf_rrlp_azimuth        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
2436   { &hf_rrlp_elevation      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
2437   { NULL, 0, 0, NULL }
2438 };
2439 
2440 static int
2441 dissect_rrlp_AddionalAngleFields(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2442   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2443                                    ett_rrlp_AddionalAngleFields, AddionalAngleFields_sequence);
2444 
2445   return offset;
2446 }
2447 
2448 
2449 static const per_sequence_t AcquisElement_sequence[] = {
2450   { &hf_rrlp_svid           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2451   { &hf_rrlp_doppler0       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2048_2047 },
2452   { &hf_rrlp_addionalDoppler, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_AddionalDopplerFields },
2453   { &hf_rrlp_codePhase      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1022 },
2454   { &hf_rrlp_intCodePhase   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_19 },
2455   { &hf_rrlp_gpsBitNumber   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
2456   { &hf_rrlp_codePhaseSearchWindow, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
2457   { &hf_rrlp_addionalAngle  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_AddionalAngleFields },
2458   { NULL, 0, 0, NULL }
2459 };
2460 
2461 static int
2462 dissect_rrlp_AcquisElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2463   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2464                                    ett_rrlp_AcquisElement, AcquisElement_sequence);
2465 
2466   return offset;
2467 }
2468 
2469 
2470 static const per_sequence_t SeqOfAcquisElement_sequence_of[1] = {
2471   { &hf_rrlp_SeqOfAcquisElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_AcquisElement },
2472 };
2473 
2474 static int
2475 dissect_rrlp_SeqOfAcquisElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2476   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2477                                                   ett_rrlp_SeqOfAcquisElement, SeqOfAcquisElement_sequence_of,
2478                                                   1, 16, FALSE);
2479 
2480   return offset;
2481 }
2482 
2483 
2484 static const per_sequence_t AcquisAssist_sequence[] = {
2485   { &hf_rrlp_timeRelation   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeRelation },
2486   { &hf_rrlp_acquisList     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfAcquisElement },
2487   { NULL, 0, 0, NULL }
2488 };
2489 
2490 static int
2491 dissect_rrlp_AcquisAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2492   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2493                                    ett_rrlp_AcquisAssist, AcquisAssist_sequence);
2494 
2495   return offset;
2496 }
2497 
2498 
2499 static const per_sequence_t SeqOf_BadSatelliteSet_sequence_of[1] = {
2500   { &hf_rrlp_SeqOf_BadSatelliteSet_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
2501 };
2502 
2503 static int
2504 dissect_rrlp_SeqOf_BadSatelliteSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2505   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2506                                                   ett_rrlp_SeqOf_BadSatelliteSet, SeqOf_BadSatelliteSet_sequence_of,
2507                                                   1, 16, FALSE);
2508 
2509   return offset;
2510 }
2511 
2512 
2513 static const per_sequence_t ControlHeader_sequence[] = {
2514   { &hf_rrlp_referenceTime  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_ReferenceTime },
2515   { &hf_rrlp_refLocation    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_RefLocation },
2516   { &hf_rrlp_dgpsCorrections, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_DGPSCorrections },
2517   { &hf_rrlp_navigationModel, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_NavigationModel },
2518   { &hf_rrlp_ionosphericModel, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_IonosphericModel },
2519   { &hf_rrlp_utcModel       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_UTCModel },
2520   { &hf_rrlp_almanac        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_Almanac },
2521   { &hf_rrlp_acquisAssist   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_AcquisAssist },
2522   { &hf_rrlp_realTimeIntegrity, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_SeqOf_BadSatelliteSet },
2523   { NULL, 0, 0, NULL }
2524 };
2525 
2526 static int
2527 dissect_rrlp_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2528   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2529                                    ett_rrlp_ControlHeader, ControlHeader_sequence);
2530 
2531   return offset;
2532 }
2533 
2534 
2535 static const per_sequence_t GPS_AssistData_sequence[] = {
2536   { &hf_rrlp_controlHeader  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ControlHeader },
2537   { NULL, 0, 0, NULL }
2538 };
2539 
2540 static int
2541 dissect_rrlp_GPS_AssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2542   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2543                                    ett_rrlp_GPS_AssistData, GPS_AssistData_sequence);
2544 
2545   return offset;
2546 }
2547 
2548 
2549 
2550 static int
2551 dissect_rrlp_ExpectedOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2552   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2553                                                             0U, 1250U, NULL, FALSE);
2554 
2555   return offset;
2556 }
2557 
2558 
2559 
2560 static int
2561 dissect_rrlp_ExpOTDUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2562   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2563                                                             0U, 7U, NULL, FALSE);
2564 
2565   return offset;
2566 }
2567 
2568 
2569 static const per_sequence_t MsrAssistBTS_R98_ExpOTD_sequence[] = {
2570   { &hf_rrlp_expectedOTD    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpectedOTD },
2571   { &hf_rrlp_expOTDUncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpOTDUncertainty },
2572   { NULL, 0, 0, NULL }
2573 };
2574 
2575 static int
2576 dissect_rrlp_MsrAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2577   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2578                                    ett_rrlp_MsrAssistBTS_R98_ExpOTD, MsrAssistBTS_R98_ExpOTD_sequence);
2579 
2580   return offset;
2581 }
2582 
2583 
2584 static const per_sequence_t SeqOfMsrAssistBTS_R98_ExpOTD_sequence_of[1] = {
2585   { &hf_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MsrAssistBTS_R98_ExpOTD },
2586 };
2587 
2588 static int
2589 dissect_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2590   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2591                                                   ett_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD, SeqOfMsrAssistBTS_R98_ExpOTD_sequence_of,
2592                                                   1, 15, FALSE);
2593 
2594   return offset;
2595 }
2596 
2597 
2598 static const per_sequence_t MsrAssistData_R98_ExpOTD_sequence[] = {
2599   { &hf_rrlp_msrAssistList_R98_ExpOTD, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD },
2600   { NULL, 0, 0, NULL }
2601 };
2602 
2603 static int
2604 dissect_rrlp_MsrAssistData_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2605   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2606                                    ett_rrlp_MsrAssistData_R98_ExpOTD, MsrAssistData_R98_ExpOTD_sequence);
2607 
2608   return offset;
2609 }
2610 
2611 
2612 static const per_sequence_t AssistBTSData_R98_ExpOTD_sequence[] = {
2613   { &hf_rrlp_expectedOTD    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpectedOTD },
2614   { &hf_rrlp_expOTDuncertainty, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ExpOTDUncertainty },
2615   { NULL, 0, 0, NULL }
2616 };
2617 
2618 static int
2619 dissect_rrlp_AssistBTSData_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2620   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2621                                    ett_rrlp_AssistBTSData_R98_ExpOTD, AssistBTSData_R98_ExpOTD_sequence);
2622 
2623   return offset;
2624 }
2625 
2626 
2627 static const value_string rrlp_SystemInfoAssistBTS_R98_ExpOTD_vals[] = {
2628   {   0, "notPresent" },
2629   {   1, "present" },
2630   { 0, NULL }
2631 };
2632 
2633 static const per_choice_t SystemInfoAssistBTS_R98_ExpOTD_choice[] = {
2634   {   0, &hf_rrlp_notPresent     , ASN1_NO_EXTENSIONS     , dissect_rrlp_NULL },
2635   {   1, &hf_rrlp_present_01     , ASN1_NO_EXTENSIONS     , dissect_rrlp_AssistBTSData_R98_ExpOTD },
2636   { 0, NULL, 0, NULL }
2637 };
2638 
2639 static int
2640 dissect_rrlp_SystemInfoAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2641   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
2642                                  ett_rrlp_SystemInfoAssistBTS_R98_ExpOTD, SystemInfoAssistBTS_R98_ExpOTD_choice,
2643                                  NULL);
2644 
2645   return offset;
2646 }
2647 
2648 
2649 static const per_sequence_t SeqOfSystemInfoAssistBTS_R98_ExpOTD_sequence_of[1] = {
2650   { &hf_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SystemInfoAssistBTS_R98_ExpOTD },
2651 };
2652 
2653 static int
2654 dissect_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2655   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
2656                                                   ett_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD, SeqOfSystemInfoAssistBTS_R98_ExpOTD_sequence_of,
2657                                                   1, 32, FALSE);
2658 
2659   return offset;
2660 }
2661 
2662 
2663 static const per_sequence_t SystemInfoAssistData_R98_ExpOTD_sequence[] = {
2664   { &hf_rrlp_systemInfoAssistListR98_ExpOTD, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD },
2665   { NULL, 0, 0, NULL }
2666 };
2667 
2668 static int
2669 dissect_rrlp_SystemInfoAssistData_R98_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2670   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2671                                    ett_rrlp_SystemInfoAssistData_R98_ExpOTD, SystemInfoAssistData_R98_ExpOTD_sequence);
2672 
2673   return offset;
2674 }
2675 
2676 
2677 static const per_sequence_t Rel98_Ext_ExpOTD_sequence[] = {
2678   { &hf_rrlp_msrAssistData_R98_ExpOTD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_MsrAssistData_R98_ExpOTD },
2679   { &hf_rrlp_systemInfoAssistData_R98_ExpOTD, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_SystemInfoAssistData_R98_ExpOTD },
2680   { NULL, 0, 0, NULL }
2681 };
2682 
2683 static int
2684 dissect_rrlp_Rel98_Ext_ExpOTD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2685   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2686                                    ett_rrlp_Rel98_Ext_ExpOTD, Rel98_Ext_ExpOTD_sequence);
2687 
2688   return offset;
2689 }
2690 
2691 
2692 
2693 static int
2694 dissect_rrlp_GPSReferenceTimeUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2695   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2696                                                             0U, 127U, NULL, FALSE);
2697 
2698   return offset;
2699 }
2700 
2701 
2702 static const per_sequence_t Rel98_MsrPosition_Req_Extension_sequence[] = {
2703   { &hf_rrlp_rel98_Ext_ExpOTD, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_Rel98_Ext_ExpOTD },
2704   { &hf_rrlp_gpsTimeAssistanceMeasurementRequest, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_NULL },
2705   { &hf_rrlp_gpsReferenceTimeUncertainty, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GPSReferenceTimeUncertainty },
2706   { NULL, 0, 0, NULL }
2707 };
2708 
2709 static int
2710 dissect_rrlp_Rel98_MsrPosition_Req_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2711   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2712                                    ett_rrlp_Rel98_MsrPosition_Req_Extension, Rel98_MsrPosition_Req_Extension_sequence);
2713 
2714   return offset;
2715 }
2716 
2717 
2718 
2719 static int
2720 dissect_rrlp_INTEGER_0_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2721   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2722                                                             0U, 262143U, NULL, FALSE);
2723 
2724   return offset;
2725 }
2726 
2727 
2728 static const per_sequence_t Extended_reference_sequence[] = {
2729   { &hf_rrlp_smlc_code      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
2730   { &hf_rrlp_transaction_ID , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_262143 },
2731   { NULL, 0, 0, NULL }
2732 };
2733 
2734 static int
2735 dissect_rrlp_Extended_reference(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2736   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2737                                    ett_rrlp_Extended_reference, Extended_reference_sequence);
2738 
2739   return offset;
2740 }
2741 
2742 
2743 static const per_sequence_t Rel5_MsrPosition_Req_Extension_sequence[] = {
2744   { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
2745   { NULL, 0, 0, NULL }
2746 };
2747 
2748 static int
2749 dissect_rrlp_Rel5_MsrPosition_Req_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2750   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2751                                    ett_rrlp_Rel5_MsrPosition_Req_Extension, Rel5_MsrPosition_Req_Extension_sequence);
2752 
2753   return offset;
2754 }
2755 
2756 
2757 static int * const GANSSPositioningMethod_bits[] = {
2758   &hf_rrlp_GANSSPositioningMethod_gps,
2759   &hf_rrlp_GANSSPositioningMethod_galileo,
2760   &hf_rrlp_GANSSPositioningMethod_sbas,
2761   &hf_rrlp_GANSSPositioningMethod_modernizedGPS,
2762   &hf_rrlp_GANSSPositioningMethod_qzss,
2763   &hf_rrlp_GANSSPositioningMethod_glonass,
2764   NULL
2765 };
2766 
2767 static int
2768 dissect_rrlp_GANSSPositioningMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2769   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2770                                      2, 16, FALSE, GANSSPositioningMethod_bits, 6, NULL, NULL);
2771 
2772   return offset;
2773 }
2774 
2775 
2776 
2777 static int
2778 dissect_rrlp_INTEGER_0_8191(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2779   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2780                                                             0U, 8191U, NULL, FALSE);
2781 
2782   return offset;
2783 }
2784 
2785 
2786 
2787 static int
2788 dissect_rrlp_GANSSTOD(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2789   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2790                                                             0U, 86399U, NULL, FALSE);
2791 
2792   return offset;
2793 }
2794 
2795 
2796 
2797 static int
2798 dissect_rrlp_GANSSTODUncertainty(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2799   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2800                                                             0U, 127U, NULL, FALSE);
2801 
2802   return offset;
2803 }
2804 
2805 
2806 static const per_sequence_t GANSSRefTimeInfo_sequence[] = {
2807   { &hf_rrlp_ganssDay       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_8191 },
2808   { &hf_rrlp_ganssTOD       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTOD },
2809   { &hf_rrlp_ganssTODUncertainty, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GANSSTODUncertainty },
2810   { &hf_rrlp_ganssTimeID    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
2811   { NULL, 0, 0, NULL }
2812 };
2813 
2814 static int
2815 dissect_rrlp_GANSSRefTimeInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2816   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2817                                    ett_rrlp_GANSSRefTimeInfo, GANSSRefTimeInfo_sequence);
2818 
2819   return offset;
2820 }
2821 
2822 
2823 
2824 static int
2825 dissect_rrlp_FrameDrift(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2826   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2827                                                             -64, 63U, NULL, FALSE);
2828 
2829   return offset;
2830 }
2831 
2832 
2833 static const per_sequence_t GANSSTOD_GSMTimeAssociation_sequence[] = {
2834   { &hf_rrlp_bcchCarrier    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
2835   { &hf_rrlp_bsic           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
2836   { &hf_rrlp_frameNumber    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_FrameNumber },
2837   { &hf_rrlp_timeSlot       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TimeSlot },
2838   { &hf_rrlp_bitNumber      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BitNumber },
2839   { &hf_rrlp_frameDrift     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_FrameDrift },
2840   { NULL, 0, 0, NULL }
2841 };
2842 
2843 static int
2844 dissect_rrlp_GANSSTOD_GSMTimeAssociation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2845   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2846                                    ett_rrlp_GANSSTOD_GSMTimeAssociation, GANSSTOD_GSMTimeAssociation_sequence);
2847 
2848   return offset;
2849 }
2850 
2851 
2852 static const per_sequence_t GANSSReferenceTime_sequence[] = {
2853   { &hf_rrlp_ganssRefTimeInfo, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSRefTimeInfo },
2854   { &hf_rrlp_ganssTOD_GSMTimeAssociation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GANSSTOD_GSMTimeAssociation },
2855   { NULL, 0, 0, NULL }
2856 };
2857 
2858 static int
2859 dissect_rrlp_GANSSReferenceTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2860   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2861                                    ett_rrlp_GANSSReferenceTime, GANSSReferenceTime_sequence);
2862 
2863   return offset;
2864 }
2865 
2866 
2867 static const per_sequence_t GANSSRefLocation_sequence[] = {
2868   { &hf_rrlp_threeDLocation , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
2869   { NULL, 0, 0, NULL }
2870 };
2871 
2872 static int
2873 dissect_rrlp_GANSSRefLocation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2874   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2875                                    ett_rrlp_GANSSRefLocation, GANSSRefLocation_sequence);
2876 
2877   return offset;
2878 }
2879 
2880 
2881 
2882 static int
2883 dissect_rrlp_INTEGER_0_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2884   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2885                                                             0U, 4095U, NULL, FALSE);
2886 
2887   return offset;
2888 }
2889 
2890 
2891 static const per_sequence_t GANSSIonosphereModel_sequence[] = {
2892   { &hf_rrlp_ai0            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4095 },
2893   { &hf_rrlp_ai1            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4095 },
2894   { &hf_rrlp_ai2            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4095 },
2895   { NULL, 0, 0, NULL }
2896 };
2897 
2898 static int
2899 dissect_rrlp_GANSSIonosphereModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2900   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2901                                    ett_rrlp_GANSSIonosphereModel, GANSSIonosphereModel_sequence);
2902 
2903   return offset;
2904 }
2905 
2906 
2907 static const per_sequence_t GANSSIonoStormFlags_sequence[] = {
2908   { &hf_rrlp_ionoStormFlag1 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2909   { &hf_rrlp_ionoStormFlag2 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2910   { &hf_rrlp_ionoStormFlag3 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2911   { &hf_rrlp_ionoStormFlag4 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2912   { &hf_rrlp_ionoStormFlag5 , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
2913   { NULL, 0, 0, NULL }
2914 };
2915 
2916 static int
2917 dissect_rrlp_GANSSIonoStormFlags(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2918   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2919                                    ett_rrlp_GANSSIonoStormFlags, GANSSIonoStormFlags_sequence);
2920 
2921   return offset;
2922 }
2923 
2924 
2925 static const per_sequence_t GANSSIonosphericModel_sequence[] = {
2926   { &hf_rrlp_ganssIonoModel , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSIonosphereModel },
2927   { &hf_rrlp_ganssIonoStormFlags, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSIonoStormFlags },
2928   { NULL, 0, 0, NULL }
2929 };
2930 
2931 static int
2932 dissect_rrlp_GANSSIonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2933   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2934                                    ett_rrlp_GANSSIonosphericModel, GANSSIonosphericModel_sequence);
2935 
2936   return offset;
2937 }
2938 
2939 
2940 
2941 static int
2942 dissect_rrlp_BIT_STRING_SIZE_2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2943   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
2944                                      2, 2, FALSE, NULL, 0, NULL, NULL);
2945 
2946   return offset;
2947 }
2948 
2949 
2950 static const per_sequence_t GANSSAddIonosphericModel_sequence[] = {
2951   { &hf_rrlp_dataID         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_2 },
2952   { &hf_rrlp_ionoModel      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_IonosphericModel },
2953   { NULL, 0, 0, NULL }
2954 };
2955 
2956 static int
2957 dissect_rrlp_GANSSAddIonosphericModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2958   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
2959                                    ett_rrlp_GANSSAddIonosphericModel, GANSSAddIonosphericModel_sequence);
2960 
2961   return offset;
2962 }
2963 
2964 
2965 
2966 static int
2967 dissect_rrlp_INTEGER_M1048576_1048575(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2968   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2969                                                             -1048576, 1048575U, NULL, FALSE);
2970 
2971   return offset;
2972 }
2973 
2974 
2975 
2976 static int
2977 dissect_rrlp_INTEGER_M16384_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2978   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2979                                                             -16384, 16383U, NULL, FALSE);
2980 
2981   return offset;
2982 }
2983 
2984 
2985 
2986 static int
2987 dissect_rrlp_INTEGER_M1073741824_1073741823(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2988   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2989                                                             -1073741824, 1073741823U, NULL, FALSE);
2990 
2991   return offset;
2992 }
2993 
2994 
2995 
2996 static int
2997 dissect_rrlp_INTEGER_M262144_262143(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2998   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
2999                                                             -262144, 262143U, NULL, FALSE);
3000 
3001   return offset;
3002 }
3003 
3004 
3005 static const per_sequence_t GANSSEarthOrientParam_sequence[] = {
3006   { &hf_rrlp_teop           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
3007   { &hf_rrlp_pmX            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3008   { &hf_rrlp_pmXdot         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
3009   { &hf_rrlp_pmY            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3010   { &hf_rrlp_pmYdot         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
3011   { &hf_rrlp_deltaUT1       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1073741824_1073741823 },
3012   { &hf_rrlp_deltaUT1dot    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M262144_262143 },
3013   { NULL, 0, 0, NULL }
3014 };
3015 
3016 static int
3017 dissect_rrlp_GANSSEarthOrientParam(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3018   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3019                                    ett_rrlp_GANSSEarthOrientParam, GANSSEarthOrientParam_sequence);
3020 
3021   return offset;
3022 }
3023 
3024 
3025 static const per_sequence_t GANSSReferenceTime_R10_Ext_sequence[] = {
3026   { &hf_rrlp_ganssDayCycleNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3027   { NULL, 0, 0, NULL }
3028 };
3029 
3030 static int
3031 dissect_rrlp_GANSSReferenceTime_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3032   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3033                                    ett_rrlp_GANSSReferenceTime_R10_Ext, GANSSReferenceTime_R10_Ext_sequence);
3034 
3035   return offset;
3036 }
3037 
3038 
3039 static const per_sequence_t GANSSCommonAssistData_sequence[] = {
3040   { &hf_rrlp_ganssReferenceTime, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSReferenceTime },
3041   { &hf_rrlp_ganssRefLocation, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSRefLocation },
3042   { &hf_rrlp_ganssIonosphericModel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSIonosphericModel },
3043   { &hf_rrlp_ganssAddIonosphericModel, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSAddIonosphericModel },
3044   { &hf_rrlp_ganssEarthOrientParam, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSEarthOrientParam },
3045   { &hf_rrlp_ganssReferenceTime_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSReferenceTime_R10_Ext },
3046   { NULL, 0, 0, NULL }
3047 };
3048 
3049 static int
3050 dissect_rrlp_GANSSCommonAssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3051   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3052                                    ett_rrlp_GANSSCommonAssistData, GANSSCommonAssistData_sequence);
3053 
3054   return offset;
3055 }
3056 
3057 
3058 
3059 static int
3060 dissect_rrlp_TA0(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3061   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3062                                                             G_MININT32, 2147483647U, NULL, FALSE);
3063 
3064   return offset;
3065 }
3066 
3067 
3068 
3069 static int
3070 dissect_rrlp_TA1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3071   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3072                                                             -8388608, 8388607U, NULL, FALSE);
3073 
3074   return offset;
3075 }
3076 
3077 
3078 
3079 static int
3080 dissect_rrlp_TA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3081   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3082                                                             -64, 63U, NULL, FALSE);
3083 
3084   return offset;
3085 }
3086 
3087 
3088 static const per_sequence_t GANSSTimeModelElement_sequence[] = {
3089   { &hf_rrlp_ganssTimeModelRefTime, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
3090   { &hf_rrlp_tA0            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_TA0 },
3091   { &hf_rrlp_tA1            , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_TA1 },
3092   { &hf_rrlp_tA2            , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_TA2 },
3093   { &hf_rrlp_gnssTOID       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3094   { &hf_rrlp_weekNumber     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_8191 },
3095   { NULL, 0, 0, NULL }
3096 };
3097 
3098 static int
3099 dissect_rrlp_GANSSTimeModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3100   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3101                                    ett_rrlp_GANSSTimeModelElement, GANSSTimeModelElement_sequence);
3102 
3103   return offset;
3104 }
3105 
3106 
3107 static const per_sequence_t SeqOfGANSSTimeModel_sequence_of[1] = {
3108   { &hf_rrlp_SeqOfGANSSTimeModel_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTimeModelElement },
3109 };
3110 
3111 static int
3112 dissect_rrlp_SeqOfGANSSTimeModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3113   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3114                                                   ett_rrlp_SeqOfGANSSTimeModel, SeqOfGANSSTimeModel_sequence_of,
3115                                                   1, 7, FALSE);
3116 
3117   return offset;
3118 }
3119 
3120 
3121 
3122 static int
3123 dissect_rrlp_INTEGER_0_119(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3124   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3125                                                             0U, 119U, NULL, FALSE);
3126 
3127   return offset;
3128 }
3129 
3130 
3131 
3132 static int
3133 dissect_rrlp_GANSSSignalID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3134   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3135                                                             0U, 7U, NULL, FALSE);
3136 
3137   return offset;
3138 }
3139 
3140 
3141 
3142 static int
3143 dissect_rrlp_SVID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3144   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3145                                                             0U, 63U, NULL, FALSE);
3146 
3147   return offset;
3148 }
3149 
3150 
3151 static const per_sequence_t DGANSSSgnElement_sequence[] = {
3152   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
3153   { &hf_rrlp_iod            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
3154   { &hf_rrlp_udre           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
3155   { &hf_rrlp_pseudoRangeCor , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2047_2047 },
3156   { &hf_rrlp_rangeRateCor   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M127_127 },
3157   { NULL, 0, 0, NULL }
3158 };
3159 
3160 static int
3161 dissect_rrlp_DGANSSSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3162   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3163                                    ett_rrlp_DGANSSSgnElement, DGANSSSgnElement_sequence);
3164 
3165   return offset;
3166 }
3167 
3168 
3169 static const per_sequence_t SeqOfDGANSSSgnElement_sequence_of[1] = {
3170   { &hf_rrlp_SeqOfDGANSSSgnElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_DGANSSSgnElement },
3171 };
3172 
3173 static int
3174 dissect_rrlp_SeqOfDGANSSSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3175   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3176                                                   ett_rrlp_SeqOfDGANSSSgnElement, SeqOfDGANSSSgnElement_sequence_of,
3177                                                   1, 16, FALSE);
3178 
3179   return offset;
3180 }
3181 
3182 
3183 static const per_sequence_t SgnTypeElement_sequence[] = {
3184   { &hf_rrlp_ganssSignalID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
3185   { &hf_rrlp_ganssStatusHealth, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3186   { &hf_rrlp_dganssSgnList  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfDGANSSSgnElement },
3187   { NULL, 0, 0, NULL }
3188 };
3189 
3190 static int
3191 dissect_rrlp_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3192   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3193                                    ett_rrlp_SgnTypeElement, SgnTypeElement_sequence);
3194 
3195   return offset;
3196 }
3197 
3198 
3199 static const per_sequence_t SeqOfSgnTypeElement_sequence_of[1] = {
3200   { &hf_rrlp_SeqOfSgnTypeElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SgnTypeElement },
3201 };
3202 
3203 static int
3204 dissect_rrlp_SeqOfSgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3205   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3206                                                   ett_rrlp_SeqOfSgnTypeElement, SeqOfSgnTypeElement_sequence_of,
3207                                                   1, 3, FALSE);
3208 
3209   return offset;
3210 }
3211 
3212 
3213 static const per_sequence_t GANSSDiffCorrections_sequence[] = {
3214   { &hf_rrlp_dganssRefTime  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_119 },
3215   { &hf_rrlp_sgnTypeList    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfSgnTypeElement },
3216   { NULL, 0, 0, NULL }
3217 };
3218 
3219 static int
3220 dissect_rrlp_GANSSDiffCorrections(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3221   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3222                                    ett_rrlp_GANSSDiffCorrections, GANSSDiffCorrections_sequence);
3223 
3224   return offset;
3225 }
3226 
3227 
3228 
3229 static int
3230 dissect_rrlp_BIT_STRING_SIZE_5(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3231   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3232                                      5, 5, FALSE, NULL, 0, NULL, NULL);
3233 
3234   return offset;
3235 }
3236 
3237 
3238 
3239 static int
3240 dissect_rrlp_INTEGER_0_16383(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3241   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3242                                                             0U, 16383U, NULL, FALSE);
3243 
3244   return offset;
3245 }
3246 
3247 
3248 
3249 static int
3250 dissect_rrlp_INTEGER_M131072_131071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3251   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3252                                                             -131072, 131071U, NULL, FALSE);
3253 
3254   return offset;
3255 }
3256 
3257 
3258 
3259 static int
3260 dissect_rrlp_INTEGER_M134217728_134217727(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3261   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3262                                                             -134217728, 134217727U, NULL, FALSE);
3263 
3264   return offset;
3265 }
3266 
3267 
3268 
3269 static int
3270 dissect_rrlp_INTEGER_M512_511(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3271   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3272                                                             -512, 511U, NULL, FALSE);
3273 
3274   return offset;
3275 }
3276 
3277 
3278 static const per_sequence_t StandardClockModelElement_sequence[] = {
3279   { &hf_rrlp_stanClockToc   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16383 },
3280   { &hf_rrlp_stanClockAF2   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2048_2047 },
3281   { &hf_rrlp_stanClockAF1   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3282   { &hf_rrlp_stanClockAF0   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M134217728_134217727 },
3283   { &hf_rrlp_stanClockTgd   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M512_511 },
3284   { &hf_rrlp_stanModelID    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_1 },
3285   { NULL, 0, 0, NULL }
3286 };
3287 
3288 static int
3289 dissect_rrlp_StandardClockModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3290   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3291                                    ett_rrlp_StandardClockModelElement, StandardClockModelElement_sequence);
3292 
3293   return offset;
3294 }
3295 
3296 
3297 static const per_sequence_t SeqOfStandardClockModelElement_sequence_of[1] = {
3298   { &hf_rrlp_SeqOfStandardClockModelElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_StandardClockModelElement },
3299 };
3300 
3301 static int
3302 dissect_rrlp_SeqOfStandardClockModelElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3303   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3304                                                   ett_rrlp_SeqOfStandardClockModelElement, SeqOfStandardClockModelElement_sequence_of,
3305                                                   1, 2, FALSE);
3306 
3307   return offset;
3308 }
3309 
3310 
3311 static const per_sequence_t NAVclockModel_sequence[] = {
3312   { &hf_rrlp_navToc         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
3313   { &hf_rrlp_navaf2         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
3314   { &hf_rrlp_navaf1         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3315   { &hf_rrlp_navaf0         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
3316   { &hf_rrlp_navTgd         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
3317   { NULL, 0, 0, NULL }
3318 };
3319 
3320 static int
3321 dissect_rrlp_NAVclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3322   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3323                                    ett_rrlp_NAVclockModel, NAVclockModel_sequence);
3324 
3325   return offset;
3326 }
3327 
3328 
3329 
3330 static int
3331 dissect_rrlp_INTEGER_0_2015(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3332   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3333                                                             0U, 2015U, NULL, FALSE);
3334 
3335   return offset;
3336 }
3337 
3338 
3339 
3340 static int
3341 dissect_rrlp_INTEGER_M16_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3342   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3343                                                             -16, 15U, NULL, FALSE);
3344 
3345   return offset;
3346 }
3347 
3348 
3349 
3350 static int
3351 dissect_rrlp_INTEGER_M524288_524287(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3352   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3353                                                             -524288, 524287U, NULL, FALSE);
3354 
3355   return offset;
3356 }
3357 
3358 
3359 
3360 static int
3361 dissect_rrlp_INTEGER_M33554432_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3362   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3363                                                             -33554432, 33554431U, NULL, FALSE);
3364 
3365   return offset;
3366 }
3367 
3368 
3369 
3370 static int
3371 dissect_rrlp_INTEGER_M4096_4095(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3372   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3373                                                             -4096, 4095U, NULL, FALSE);
3374 
3375   return offset;
3376 }
3377 
3378 
3379 static const per_sequence_t CNAVclockModel_sequence[] = {
3380   { &hf_rrlp_cnavToc        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2015 },
3381   { &hf_rrlp_cnavTop        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2015 },
3382   { &hf_rrlp_cnavURA0       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3383   { &hf_rrlp_cnavURA1       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3384   { &hf_rrlp_cnavURA2       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
3385   { &hf_rrlp_cnavAf2        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3386   { &hf_rrlp_cnavAf1        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M524288_524287 },
3387   { &hf_rrlp_cnavAf0        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M33554432_33554431 },
3388   { &hf_rrlp_cnavTgd        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4096_4095 },
3389   { &hf_rrlp_cnavISCl1cp    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M4096_4095 },
3390   { &hf_rrlp_cnavISCl1cd    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M4096_4095 },
3391   { &hf_rrlp_cnavISCl1ca    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M4096_4095 },
3392   { &hf_rrlp_cnavISCl2c     , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M4096_4095 },
3393   { &hf_rrlp_cnavISCl5i5    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M4096_4095 },
3394   { &hf_rrlp_cnavISCl5q5    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M4096_4095 },
3395   { NULL, 0, 0, NULL }
3396 };
3397 
3398 static int
3399 dissect_rrlp_CNAVclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3400   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3401                                    ett_rrlp_CNAVclockModel, CNAVclockModel_sequence);
3402 
3403   return offset;
3404 }
3405 
3406 
3407 static const per_sequence_t GLONASSclockModel_sequence[] = {
3408   { &hf_rrlp_gloTau         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
3409   { &hf_rrlp_gloGamma       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
3410   { &hf_rrlp_gloDeltaTau    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M16_15 },
3411   { NULL, 0, 0, NULL }
3412 };
3413 
3414 static int
3415 dissect_rrlp_GLONASSclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3416   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3417                                    ett_rrlp_GLONASSclockModel, GLONASSclockModel_sequence);
3418 
3419   return offset;
3420 }
3421 
3422 
3423 
3424 static int
3425 dissect_rrlp_INTEGER_0_5399(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3426   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3427                                                             0U, 5399U, NULL, FALSE);
3428 
3429   return offset;
3430 }
3431 
3432 
3433 static const per_sequence_t SBASclockModel_sequence[] = {
3434   { &hf_rrlp_sbasTo         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_5399 },
3435   { &hf_rrlp_sbasAgfo       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2048_2047 },
3436   { &hf_rrlp_sbasAgf1       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
3437   { NULL, 0, 0, NULL }
3438 };
3439 
3440 static int
3441 dissect_rrlp_SBASclockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3442   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3443                                    ett_rrlp_SBASclockModel, SBASclockModel_sequence);
3444 
3445   return offset;
3446 }
3447 
3448 
3449 static const value_string rrlp_GANSSClockModel_vals[] = {
3450   {   0, "standardClockModelList" },
3451   {   1, "navClockModel" },
3452   {   2, "cnavClockModel" },
3453   {   3, "glonassClockModel" },
3454   {   4, "sbasClockModel" },
3455   { 0, NULL }
3456 };
3457 
3458 static const per_choice_t GANSSClockModel_choice[] = {
3459   {   0, &hf_rrlp_standardClockModelList, ASN1_EXTENSION_ROOT    , dissect_rrlp_SeqOfStandardClockModelElement },
3460   {   1, &hf_rrlp_navClockModel  , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NAVclockModel },
3461   {   2, &hf_rrlp_cnavClockModel , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_CNAVclockModel },
3462   {   3, &hf_rrlp_glonassClockModel, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_GLONASSclockModel },
3463   {   4, &hf_rrlp_sbasClockModel , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_SBASclockModel },
3464   { 0, NULL, 0, NULL }
3465 };
3466 
3467 static int
3468 dissect_rrlp_GANSSClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3469   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3470                                  ett_rrlp_GANSSClockModel, GANSSClockModel_choice,
3471                                  NULL);
3472 
3473   return offset;
3474 }
3475 
3476 
3477 static const per_sequence_t NavModel_KeplerianSet_sequence[] = {
3478   { &hf_rrlp_keplerToe      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16383 },
3479   { &hf_rrlp_keplerW        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3480   { &hf_rrlp_keplerDeltaN   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3481   { &hf_rrlp_keplerM0       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3482   { &hf_rrlp_keplerOmegaDot , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3483   { &hf_rrlp_keplerE        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3484   { &hf_rrlp_keplerIDot     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
3485   { &hf_rrlp_keplerAPowerHalf, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3486   { &hf_rrlp_keplerI0       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3487   { &hf_rrlp_keplerOmega0   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3488   { &hf_rrlp_keplerCrs      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3489   { &hf_rrlp_keplerCis      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3490   { &hf_rrlp_keplerCus      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3491   { &hf_rrlp_keplerCrc      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3492   { &hf_rrlp_keplerCic      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3493   { &hf_rrlp_keplerCuc      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3494   { NULL, 0, 0, NULL }
3495 };
3496 
3497 static int
3498 dissect_rrlp_NavModel_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3499   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3500                                    ett_rrlp_NavModel_KeplerianSet, NavModel_KeplerianSet_sequence);
3501 
3502   return offset;
3503 }
3504 
3505 
3506 static const per_sequence_t NavModel_NAVKeplerianSet_sequence[] = {
3507   { &hf_rrlp_navURA         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
3508   { &hf_rrlp_navFitFlag     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3509   { &hf_rrlp_navToe         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
3510   { &hf_rrlp_navOmega       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3511   { &hf_rrlp_navDeltaN      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3512   { &hf_rrlp_navM0          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3513   { &hf_rrlp_navOmegaADot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3514   { &hf_rrlp_navE           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3515   { &hf_rrlp_navIDot        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
3516   { &hf_rrlp_navAPowerHalf  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
3517   { &hf_rrlp_navI0          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3518   { &hf_rrlp_navOmegaA0     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
3519   { &hf_rrlp_navCrs         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3520   { &hf_rrlp_navCis         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3521   { &hf_rrlp_navCus         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3522   { &hf_rrlp_navCrc         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3523   { &hf_rrlp_navCic         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3524   { &hf_rrlp_navCuc         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3525   { NULL, 0, 0, NULL }
3526 };
3527 
3528 static int
3529 dissect_rrlp_NavModel_NAVKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3530   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3531                                    ett_rrlp_NavModel_NAVKeplerianSet, NavModel_NAVKeplerianSet_sequence);
3532 
3533   return offset;
3534 }
3535 
3536 
3537 
3538 static int
3539 dissect_rrlp_INTEGER_M16777216_16777215(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3540   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3541                                                             -16777216, 16777215U, NULL, FALSE);
3542 
3543   return offset;
3544 }
3545 
3546 
3547 
3548 static int
3549 dissect_rrlp_INTEGER_M65536_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3550   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3551                                                             -65536, 65535U, NULL, FALSE);
3552 
3553   return offset;
3554 }
3555 
3556 
3557 
3558 static int
3559 dissect_rrlp_INTEGER_M4194304_4194303(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3560   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3561                                                             -4194304, 4194303U, NULL, FALSE);
3562 
3563   return offset;
3564 }
3565 
3566 
3567 
3568 static int
3569 dissect_rrlp_INTEGER_M4294967296_4294967295(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3570   offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3571                                                             G_GINT64_CONSTANT(-4294967296), 4294967295U, NULL, FALSE);
3572 
3573   return offset;
3574 }
3575 
3576 
3577 
3578 static int
3579 dissect_rrlp_INTEGER_0_8589934591(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3580   offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
3581                                                             0U, G_GUINT64_CONSTANT(8589934591), NULL, FALSE);
3582 
3583   return offset;
3584 }
3585 
3586 
3587 static const per_sequence_t NavModel_CNAVKeplerianSet_sequence[] = {
3588   { &hf_rrlp_cnavTop        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2015 },
3589   { &hf_rrlp_cnavURAindex   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3590   { &hf_rrlp_cnavDeltaA     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M33554432_33554431 },
3591   { &hf_rrlp_cnavAdot       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16777216_16777215 },
3592   { &hf_rrlp_cnavDeltaNo    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3593   { &hf_rrlp_cnavDeltaNoDot , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4194304_4194303 },
3594   { &hf_rrlp_cnavMo         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3595   { &hf_rrlp_cnavE          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8589934591 },
3596   { &hf_rrlp_cnavOmega      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3597   { &hf_rrlp_cnavOMEGA0     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3598   { &hf_rrlp_cnavDeltaOmegaDot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3599   { &hf_rrlp_cnavIo         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4294967296_4294967295 },
3600   { &hf_rrlp_cnavIoDot      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
3601   { &hf_rrlp_cnavCis        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3602   { &hf_rrlp_cnavCic        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
3603   { &hf_rrlp_cnavCrs        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3604   { &hf_rrlp_cnavCrc        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3605   { &hf_rrlp_cnavCus        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3606   { &hf_rrlp_cnavCuc        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
3607   { NULL, 0, 0, NULL }
3608 };
3609 
3610 static int
3611 dissect_rrlp_NavModel_CNAVKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3612   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3613                                    ett_rrlp_NavModel_CNAVKeplerianSet, NavModel_CNAVKeplerianSet_sequence);
3614 
3615   return offset;
3616 }
3617 
3618 
3619 
3620 static int
3621 dissect_rrlp_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3622   offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
3623 
3624   return offset;
3625 }
3626 
3627 
3628 
3629 static int
3630 dissect_rrlp_INTEGER_M67108864_67108863(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3631   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3632                                                             -67108864, 67108863U, NULL, FALSE);
3633 
3634   return offset;
3635 }
3636 
3637 
3638 static const per_sequence_t NavModel_GLONASSecef_sequence[] = {
3639   { &hf_rrlp_gloEn          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
3640   { &hf_rrlp_gloP1          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_2 },
3641   { &hf_rrlp_gloP2          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
3642   { &hf_rrlp_gloM           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
3643   { &hf_rrlp_gloX           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M67108864_67108863 },
3644   { &hf_rrlp_gloXdot        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3645   { &hf_rrlp_gloXdotdot     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3646   { &hf_rrlp_gloY           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M67108864_67108863 },
3647   { &hf_rrlp_gloYdot        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3648   { &hf_rrlp_gloYdotdot     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3649   { &hf_rrlp_gloZ           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M67108864_67108863 },
3650   { &hf_rrlp_gloZdot        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
3651   { &hf_rrlp_gloZdotdot     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
3652   { NULL, 0, 0, NULL }
3653 };
3654 
3655 static int
3656 dissect_rrlp_NavModel_GLONASSecef(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3657   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3658                                    ett_rrlp_NavModel_GLONASSecef, NavModel_GLONASSecef_sequence);
3659 
3660   return offset;
3661 }
3662 
3663 
3664 
3665 static int
3666 dissect_rrlp_BIT_STRING_SIZE_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3667   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3668                                      4, 4, FALSE, NULL, 0, NULL, NULL);
3669 
3670   return offset;
3671 }
3672 
3673 
3674 
3675 static int
3676 dissect_rrlp_INTEGER_M536870912_536870911(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3677   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3678                                                             -536870912, 536870911U, NULL, FALSE);
3679 
3680   return offset;
3681 }
3682 
3683 
3684 static const per_sequence_t NavModel_SBASecef_sequence[] = {
3685   { &hf_rrlp_sbasTo         , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_5399 },
3686   { &hf_rrlp_sbasAccuracy   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_4 },
3687   { &hf_rrlp_sbasXg         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M536870912_536870911 },
3688   { &hf_rrlp_sbasYg         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M536870912_536870911 },
3689   { &hf_rrlp_sbasZg         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16777216_16777215 },
3690   { &hf_rrlp_sbasXgDot      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3691   { &hf_rrlp_sbasYgDot      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
3692   { &hf_rrlp_sbasZgDot      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
3693   { &hf_rrlp_sbasXgDotDot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3694   { &hf_rrlp_sbagYgDotDot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3695   { &hf_rrlp_sbasZgDotDot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
3696   { NULL, 0, 0, NULL }
3697 };
3698 
3699 static int
3700 dissect_rrlp_NavModel_SBASecef(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3701   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3702                                    ett_rrlp_NavModel_SBASecef, NavModel_SBASecef_sequence);
3703 
3704   return offset;
3705 }
3706 
3707 
3708 static const value_string rrlp_GANSSOrbitModel_vals[] = {
3709   {   0, "keplerianSet" },
3710   {   1, "navKeplerianSet" },
3711   {   2, "cnavKeplerianSet" },
3712   {   3, "glonassECEF" },
3713   {   4, "sbasECEF" },
3714   { 0, NULL }
3715 };
3716 
3717 static const per_choice_t GANSSOrbitModel_choice[] = {
3718   {   0, &hf_rrlp_keplerianSet   , ASN1_EXTENSION_ROOT    , dissect_rrlp_NavModel_KeplerianSet },
3719   {   1, &hf_rrlp_navKeplerianSet, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_NAVKeplerianSet },
3720   {   2, &hf_rrlp_cnavKeplerianSet, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_CNAVKeplerianSet },
3721   {   3, &hf_rrlp_glonassECEF    , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_GLONASSecef },
3722   {   4, &hf_rrlp_sbasECEF       , ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_NavModel_SBASecef },
3723   { 0, NULL, 0, NULL }
3724 };
3725 
3726 static int
3727 dissect_rrlp_GANSSOrbitModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3728   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
3729                                  ett_rrlp_GANSSOrbitModel, GANSSOrbitModel_choice,
3730                                  NULL);
3731 
3732   return offset;
3733 }
3734 
3735 
3736 
3737 static int
3738 dissect_rrlp_BIT_STRING_SIZE_1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3739   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3740                                      1, 1, FALSE, NULL, 0, NULL, NULL);
3741 
3742   return offset;
3743 }
3744 
3745 
3746 static const per_sequence_t GANSSSatelliteElement_sequence[] = {
3747   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
3748   { &hf_rrlp_svHealth       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_5 },
3749   { &hf_rrlp_iod            , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1023 },
3750   { &hf_rrlp_ganssClockModel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSClockModel },
3751   { &hf_rrlp_ganssOrbitModel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSOrbitModel },
3752   { &hf_rrlp_svHealthMSB    , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_BIT_STRING_SIZE_1 },
3753   { &hf_rrlp_iodMSB         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_1 },
3754   { NULL, 0, 0, NULL }
3755 };
3756 
3757 static int
3758 dissect_rrlp_GANSSSatelliteElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3759   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3760                                    ett_rrlp_GANSSSatelliteElement, GANSSSatelliteElement_sequence);
3761 
3762   return offset;
3763 }
3764 
3765 
3766 static const per_sequence_t SeqOfGANSSSatelliteElement_sequence_of[1] = {
3767   { &hf_rrlp_SeqOfGANSSSatelliteElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSatelliteElement },
3768 };
3769 
3770 static int
3771 dissect_rrlp_SeqOfGANSSSatelliteElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3772   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3773                                                   ett_rrlp_SeqOfGANSSSatelliteElement, SeqOfGANSSSatelliteElement_sequence_of,
3774                                                   1, 32, FALSE);
3775 
3776   return offset;
3777 }
3778 
3779 
3780 static const per_sequence_t GANSSNavModel_sequence[] = {
3781   { &hf_rrlp_nonBroadcastIndFlag, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
3782   { &hf_rrlp_ganssSatelliteList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSSSatelliteElement },
3783   { NULL, 0, 0, NULL }
3784 };
3785 
3786 static int
3787 dissect_rrlp_GANSSNavModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3788   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3789                                    ett_rrlp_GANSSNavModel, GANSSNavModel_sequence);
3790 
3791   return offset;
3792 }
3793 
3794 
3795 static int * const GANSSSignals_bits[] = {
3796   &hf_rrlp_GANSSSignals_signal1,
3797   &hf_rrlp_GANSSSignals_signal2,
3798   &hf_rrlp_GANSSSignals_signal3,
3799   &hf_rrlp_GANSSSignals_signal4,
3800   &hf_rrlp_GANSSSignals_signal5,
3801   &hf_rrlp_GANSSSignals_signal6,
3802   &hf_rrlp_GANSSSignals_signal7,
3803   &hf_rrlp_GANSSSignals_signal8,
3804   NULL
3805 };
3806 
3807 static int
3808 dissect_rrlp_GANSSSignals(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3809   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
3810                                      1, 8, FALSE, GANSSSignals_bits, 8, NULL, NULL);
3811 
3812   return offset;
3813 }
3814 
3815 
3816 static const per_sequence_t BadSignalElement_sequence[] = {
3817   { &hf_rrlp_badSVID        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
3818   { &hf_rrlp_badSignalID    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GANSSSignals },
3819   { NULL, 0, 0, NULL }
3820 };
3821 
3822 static int
3823 dissect_rrlp_BadSignalElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3824   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3825                                    ett_rrlp_BadSignalElement, BadSignalElement_sequence);
3826 
3827   return offset;
3828 }
3829 
3830 
3831 static const per_sequence_t SeqOfBadSignalElement_sequence_of[1] = {
3832   { &hf_rrlp_SeqOfBadSignalElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BadSignalElement },
3833 };
3834 
3835 static int
3836 dissect_rrlp_SeqOfBadSignalElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3837   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3838                                                   ett_rrlp_SeqOfBadSignalElement, SeqOfBadSignalElement_sequence_of,
3839                                                   1, 16, FALSE);
3840 
3841   return offset;
3842 }
3843 
3844 
3845 static const per_sequence_t GANSSRealTimeIntegrity_sequence[] = {
3846   { &hf_rrlp_ganssBadSignalList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfBadSignalElement },
3847   { NULL, 0, 0, NULL }
3848 };
3849 
3850 static int
3851 dissect_rrlp_GANSSRealTimeIntegrity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3852   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3853                                    ett_rrlp_GANSSRealTimeIntegrity, GANSSRealTimeIntegrity_sequence);
3854 
3855   return offset;
3856 }
3857 
3858 
3859 
3860 static int
3861 dissect_rrlp_INTEGER_0_59(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3862   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3863                                                             0U, 59U, NULL, FALSE);
3864 
3865   return offset;
3866 }
3867 
3868 
3869 
3870 static int
3871 dissect_rrlp_GANSSDataBit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3872   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3873                                                             0U, 1U, NULL, FALSE);
3874 
3875   return offset;
3876 }
3877 
3878 
3879 static const per_sequence_t SeqOf_GANSSDataBits_sequence_of[1] = {
3880   { &hf_rrlp_SeqOf_GANSSDataBits_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSDataBit },
3881 };
3882 
3883 static int
3884 dissect_rrlp_SeqOf_GANSSDataBits(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3885   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3886                                                   ett_rrlp_SeqOf_GANSSDataBits, SeqOf_GANSSDataBits_sequence_of,
3887                                                   1, 1024, FALSE);
3888 
3889   return offset;
3890 }
3891 
3892 
3893 static const per_sequence_t GANSSDataBitsSgnElement_sequence[] = {
3894   { &hf_rrlp_ganssSignalType, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
3895   { &hf_rrlp_ganssDataBits  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOf_GANSSDataBits },
3896   { NULL, 0, 0, NULL }
3897 };
3898 
3899 static int
3900 dissect_rrlp_GANSSDataBitsSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3901   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3902                                    ett_rrlp_GANSSDataBitsSgnElement, GANSSDataBitsSgnElement_sequence);
3903 
3904   return offset;
3905 }
3906 
3907 
3908 static const per_sequence_t Seq_OfGANSSDataBitsSgn_sequence_of[1] = {
3909   { &hf_rrlp_Seq_OfGANSSDataBitsSgn_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSDataBitsSgnElement },
3910 };
3911 
3912 static int
3913 dissect_rrlp_Seq_OfGANSSDataBitsSgn(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3914   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3915                                                   ett_rrlp_Seq_OfGANSSDataBitsSgn, Seq_OfGANSSDataBitsSgn_sequence_of,
3916                                                   1, 8, FALSE);
3917 
3918   return offset;
3919 }
3920 
3921 
3922 static const per_sequence_t GanssDataBitsElement_sequence[] = {
3923   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
3924   { &hf_rrlp_ganssDataBitsSgnList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_Seq_OfGANSSDataBitsSgn },
3925   { NULL, 0, 0, NULL }
3926 };
3927 
3928 static int
3929 dissect_rrlp_GanssDataBitsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3930   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3931                                    ett_rrlp_GanssDataBitsElement, GanssDataBitsElement_sequence);
3932 
3933   return offset;
3934 }
3935 
3936 
3937 static const per_sequence_t SeqOfGanssDataBitsElement_sequence_of[1] = {
3938   { &hf_rrlp_SeqOfGanssDataBitsElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GanssDataBitsElement },
3939 };
3940 
3941 static int
3942 dissect_rrlp_SeqOfGanssDataBitsElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3943   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
3944                                                   ett_rrlp_SeqOfGanssDataBitsElement, SeqOfGanssDataBitsElement_sequence_of,
3945                                                   1, 32, FALSE);
3946 
3947   return offset;
3948 }
3949 
3950 
3951 static const per_sequence_t GANSSDataBitAssist_sequence[] = {
3952   { &hf_rrlp_ganssTOD_01    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_59 },
3953   { &hf_rrlp_ganssDataBitsSatList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGanssDataBitsElement },
3954   { NULL, 0, 0, NULL }
3955 };
3956 
3957 static int
3958 dissect_rrlp_GANSSDataBitAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3959   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3960                                    ett_rrlp_GANSSDataBitAssist, GANSSDataBitAssist_sequence);
3961 
3962   return offset;
3963 }
3964 
3965 
3966 
3967 static int
3968 dissect_rrlp_INTEGER_0_4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3969   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3970                                                             0U, 4U, NULL, FALSE);
3971 
3972   return offset;
3973 }
3974 
3975 
3976 static const per_sequence_t AdditionalDopplerFields_sequence[] = {
3977   { &hf_rrlp_doppler1       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
3978   { &hf_rrlp_dopplerUncertainty_01, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4 },
3979   { NULL, 0, 0, NULL }
3980 };
3981 
3982 static int
3983 dissect_rrlp_AdditionalDopplerFields(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3984   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
3985                                    ett_rrlp_AdditionalDopplerFields, AdditionalDopplerFields_sequence);
3986 
3987   return offset;
3988 }
3989 
3990 
3991 
3992 static int
3993 dissect_rrlp_INTEGER_0_127(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3994   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
3995                                                             0U, 127U, NULL, FALSE);
3996 
3997   return offset;
3998 }
3999 
4000 
4001 static const per_sequence_t GANSSRefMeasurementElement_sequence[] = {
4002   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4003   { &hf_rrlp_doppler0       , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2048_2047 },
4004   { &hf_rrlp_additionalDoppler, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_AdditionalDopplerFields },
4005   { &hf_rrlp_codePhase      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1022 },
4006   { &hf_rrlp_intCodePhase_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_127 },
4007   { &hf_rrlp_codePhaseSearchWindow_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
4008   { &hf_rrlp_additionalAngle, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_AddionalAngleFields },
4009   { NULL, 0, 0, NULL }
4010 };
4011 
4012 static int
4013 dissect_rrlp_GANSSRefMeasurementElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4014   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4015                                    ett_rrlp_GANSSRefMeasurementElement, GANSSRefMeasurementElement_sequence);
4016 
4017   return offset;
4018 }
4019 
4020 
4021 static const per_sequence_t SeqOfGANSSRefMeasurementElement_sequence_of[1] = {
4022   { &hf_rrlp_SeqOfGANSSRefMeasurementElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSRefMeasurementElement },
4023 };
4024 
4025 static int
4026 dissect_rrlp_SeqOfGANSSRefMeasurementElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4027   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4028                                                   ett_rrlp_SeqOfGANSSRefMeasurementElement, SeqOfGANSSRefMeasurementElement_sequence_of,
4029                                                   1, 16, FALSE);
4030 
4031   return offset;
4032 }
4033 
4034 
4035 static const per_sequence_t GANSSRefMeasurementAssist_sequence[] = {
4036   { &hf_rrlp_ganssSignalID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
4037   { &hf_rrlp_ganssRefMeasAssistList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSSRefMeasurementElement },
4038   { NULL, 0, 0, NULL }
4039 };
4040 
4041 static int
4042 dissect_rrlp_GANSSRefMeasurementAssist(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4043   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4044                                    ett_rrlp_GANSSRefMeasurementAssist, GANSSRefMeasurementAssist_sequence);
4045 
4046   return offset;
4047 }
4048 
4049 
4050 
4051 static int
4052 dissect_rrlp_INTEGER_0_2047(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4053   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4054                                                             0U, 2047U, NULL, FALSE);
4055 
4056   return offset;
4057 }
4058 
4059 
4060 static const per_sequence_t Almanac_KeplerianSet_sequence[] = {
4061   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4062   { &hf_rrlp_kepAlmanacE    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2047 },
4063   { &hf_rrlp_kepAlmanacDeltaI, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4064   { &hf_rrlp_kepAlmanacOmegaDot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4065   { &hf_rrlp_kepSVHealth    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
4066   { &hf_rrlp_kepAlmanacAPowerHalf, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M65536_65535 },
4067   { &hf_rrlp_kepAlmanacOmega0, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4068   { &hf_rrlp_kepAlmanacW    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4069   { &hf_rrlp_kepAlmanacM0   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4070   { &hf_rrlp_kepAlmanacAF0  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
4071   { &hf_rrlp_kepAlmanacAF1  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4072   { NULL, 0, 0, NULL }
4073 };
4074 
4075 static int
4076 dissect_rrlp_Almanac_KeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4077   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4078                                    ett_rrlp_Almanac_KeplerianSet, Almanac_KeplerianSet_sequence);
4079 
4080   return offset;
4081 }
4082 
4083 
4084 static const per_sequence_t Almanac_NAVKeplerianSet_sequence[] = {
4085   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4086   { &hf_rrlp_navAlmE        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
4087   { &hf_rrlp_navAlmDeltaI   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4088   { &hf_rrlp_navAlmOMEGADOT , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4089   { &hf_rrlp_navAlmSVHealth , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4090   { &hf_rrlp_navAlmSqrtA    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_16777215 },
4091   { &hf_rrlp_navAlmOMEGAo   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4092   { &hf_rrlp_navAlmOmega    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4093   { &hf_rrlp_navAlmMo       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4094   { &hf_rrlp_navAlmaf0      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4095   { &hf_rrlp_navAlmaf1      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4096   { NULL, 0, 0, NULL }
4097 };
4098 
4099 static int
4100 dissect_rrlp_Almanac_NAVKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4101   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4102                                    ett_rrlp_Almanac_NAVKeplerianSet, Almanac_NAVKeplerianSet_sequence);
4103 
4104   return offset;
4105 }
4106 
4107 
4108 
4109 static int
4110 dissect_rrlp_INTEGER_M64_63(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4111   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4112                                                             -64, 63U, NULL, FALSE);
4113 
4114   return offset;
4115 }
4116 
4117 
4118 static const per_sequence_t Almanac_ReducedKeplerianSet_sequence[] = {
4119   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4120   { &hf_rrlp_redAlmDeltaA   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4121   { &hf_rrlp_redAlmOmega0   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
4122   { &hf_rrlp_redAlmPhi0     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
4123   { &hf_rrlp_redAlmL1Health , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4124   { &hf_rrlp_redAlmL2Health , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4125   { &hf_rrlp_redAlmL5Health , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4126   { NULL, 0, 0, NULL }
4127 };
4128 
4129 static int
4130 dissect_rrlp_Almanac_ReducedKeplerianSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4131   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4132                                    ett_rrlp_Almanac_ReducedKeplerianSet, Almanac_ReducedKeplerianSet_sequence);
4133 
4134   return offset;
4135 }
4136 
4137 
4138 
4139 static int
4140 dissect_rrlp_INTEGER_0_131071(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4141   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4142                                                             0U, 131071U, NULL, FALSE);
4143 
4144   return offset;
4145 }
4146 
4147 
4148 static const per_sequence_t Almanac_MidiAlmanacSet_sequence[] = {
4149   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4150   { &hf_rrlp_midiAlmE       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2047 },
4151   { &hf_rrlp_midiAlmDeltaI  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4152   { &hf_rrlp_midiAlmOmegaDot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4153   { &hf_rrlp_midiAlmSqrtA   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_131071 },
4154   { &hf_rrlp_midiAlmOmega0  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4155   { &hf_rrlp_midiAlmOmega   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4156   { &hf_rrlp_midiAlmMo      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4157   { &hf_rrlp_midiAlmaf0     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1024_1023 },
4158   { &hf_rrlp_midiAlmaf1     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
4159   { &hf_rrlp_midiAlmL1Health, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4160   { &hf_rrlp_midiAlmL2Health, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4161   { &hf_rrlp_midiAlmL5Health, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
4162   { NULL, 0, 0, NULL }
4163 };
4164 
4165 static int
4166 dissect_rrlp_Almanac_MidiAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4167   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4168                                    ett_rrlp_Almanac_MidiAlmanacSet, Almanac_MidiAlmanacSet_sequence);
4169 
4170   return offset;
4171 }
4172 
4173 
4174 
4175 static int
4176 dissect_rrlp_INTEGER_1_1461(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4177   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4178                                                             1U, 1461U, NULL, FALSE);
4179 
4180   return offset;
4181 }
4182 
4183 
4184 
4185 static int
4186 dissect_rrlp_INTEGER_1_24(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4187   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4188                                                             1U, 24U, NULL, FALSE);
4189 
4190   return offset;
4191 }
4192 
4193 
4194 
4195 static int
4196 dissect_rrlp_INTEGER_0_2097151(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4197   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4198                                                             0U, 2097151U, NULL, FALSE);
4199 
4200   return offset;
4201 }
4202 
4203 
4204 
4205 static int
4206 dissect_rrlp_INTEGER_0_32767(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4207   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4208                                                             0U, 32767U, NULL, FALSE);
4209 
4210   return offset;
4211 }
4212 
4213 
4214 static const per_sequence_t Almanac_GlonassAlmanacSet_sequence[] = {
4215   { &hf_rrlp_gloAlmNA       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_1461 },
4216   { &hf_rrlp_gloAlmnA       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_24 },
4217   { &hf_rrlp_gloAlmHA       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
4218   { &hf_rrlp_gloAlmLambdaA  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M1048576_1048575 },
4219   { &hf_rrlp_gloAlmtlambdaA , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2097151 },
4220   { &hf_rrlp_gloAlmDeltaIa  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M131072_131071 },
4221   { &hf_rrlp_gloAlmDeltaTA  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
4222   { &hf_rrlp_gloAlmDeltaTdotA, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
4223   { &hf_rrlp_gloAlmEpsilonA , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_32767 },
4224   { &hf_rrlp_gloAlmOmegaA   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4225   { &hf_rrlp_gloAlmTauA     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M512_511 },
4226   { &hf_rrlp_gloAlmCA       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1 },
4227   { &hf_rrlp_gloAlmMA       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_BIT_STRING_SIZE_2 },
4228   { NULL, 0, 0, NULL }
4229 };
4230 
4231 static int
4232 dissect_rrlp_Almanac_GlonassAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4233   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4234                                    ett_rrlp_Almanac_GlonassAlmanacSet, Almanac_GlonassAlmanacSet_sequence);
4235 
4236   return offset;
4237 }
4238 
4239 
4240 
4241 static int
4242 dissect_rrlp_BIT_STRING_SIZE_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4243   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4244                                      8, 8, FALSE, NULL, 0, NULL, NULL);
4245 
4246   return offset;
4247 }
4248 
4249 
4250 
4251 static int
4252 dissect_rrlp_INTEGER_M256_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4253   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4254                                                             -256, 255U, NULL, FALSE);
4255 
4256   return offset;
4257 }
4258 
4259 
4260 
4261 static int
4262 dissect_rrlp_INTEGER_M4_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4263   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4264                                                             -4, 3U, NULL, FALSE);
4265 
4266   return offset;
4267 }
4268 
4269 
4270 
4271 static int
4272 dissect_rrlp_INTEGER_M8_7(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4273   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4274                                                             -8, 7U, NULL, FALSE);
4275 
4276   return offset;
4277 }
4278 
4279 
4280 static const per_sequence_t Almanac_ECEFsbasAlmanacSet_sequence[] = {
4281   { &hf_rrlp_sbasAlmDataID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_3 },
4282   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4283   { &hf_rrlp_sbasAlmHealth  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_8 },
4284   { &hf_rrlp_sbasAlmXg      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
4285   { &hf_rrlp_sbasAlmYg      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16384_16383 },
4286   { &hf_rrlp_sbasAlmZg      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M256_255 },
4287   { &hf_rrlp_sbasAlmXgdot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4_3 },
4288   { &hf_rrlp_sbasAlmYgDot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4_3 },
4289   { &hf_rrlp_sbasAlmZgDot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8_7 },
4290   { &hf_rrlp_sbasAlmTo      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2047 },
4291   { NULL, 0, 0, NULL }
4292 };
4293 
4294 static int
4295 dissect_rrlp_Almanac_ECEFsbasAlmanacSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4296   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4297                                    ett_rrlp_Almanac_ECEFsbasAlmanacSet, Almanac_ECEFsbasAlmanacSet_sequence);
4298 
4299   return offset;
4300 }
4301 
4302 
4303 static const value_string rrlp_GANSSAlmanacElement_vals[] = {
4304   {   0, "keplerianAlmanacSet" },
4305   {   1, "keplerianNAVAlmanac" },
4306   {   2, "keplerianReducedAlmanac" },
4307   {   3, "keplerianMidiAlmanac" },
4308   {   4, "keplerianGLONASS" },
4309   {   5, "ecefSBASAlmanac" },
4310   { 0, NULL }
4311 };
4312 
4313 static const per_choice_t GANSSAlmanacElement_choice[] = {
4314   {   0, &hf_rrlp_keplerianAlmanacSet, ASN1_EXTENSION_ROOT    , dissect_rrlp_Almanac_KeplerianSet },
4315   {   1, &hf_rrlp_keplerianNAVAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_NAVKeplerianSet },
4316   {   2, &hf_rrlp_keplerianReducedAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_ReducedKeplerianSet },
4317   {   3, &hf_rrlp_keplerianMidiAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_MidiAlmanacSet },
4318   {   4, &hf_rrlp_keplerianGLONASS, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_GlonassAlmanacSet },
4319   {   5, &hf_rrlp_ecefSBASAlmanac, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_Almanac_ECEFsbasAlmanacSet },
4320   { 0, NULL, 0, NULL }
4321 };
4322 
4323 static int
4324 dissect_rrlp_GANSSAlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4325   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4326                                  ett_rrlp_GANSSAlmanacElement, GANSSAlmanacElement_choice,
4327                                  NULL);
4328 
4329   return offset;
4330 }
4331 
4332 
4333 static const per_sequence_t SeqOfGANSSAlmanacElement_sequence_of[1] = {
4334   { &hf_rrlp_SeqOfGANSSAlmanacElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAlmanacElement },
4335 };
4336 
4337 static int
4338 dissect_rrlp_SeqOfGANSSAlmanacElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4339   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4340                                                   ett_rrlp_SeqOfGANSSAlmanacElement, SeqOfGANSSAlmanacElement_sequence_of,
4341                                                   1, 36, FALSE);
4342 
4343   return offset;
4344 }
4345 
4346 
4347 static const per_sequence_t GANSSAlmanacModel_sequence[] = {
4348   { &hf_rrlp_weekNumber_01  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4349   { &hf_rrlp_toa            , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_255 },
4350   { &hf_rrlp_ioda           , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_3 },
4351   { &hf_rrlp_ganssAlmanacList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSSAlmanacElement },
4352   { NULL, 0, 0, NULL }
4353 };
4354 
4355 static int
4356 dissect_rrlp_GANSSAlmanacModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4357   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4358                                    ett_rrlp_GANSSAlmanacModel, GANSSAlmanacModel_sequence);
4359 
4360   return offset;
4361 }
4362 
4363 
4364 static const per_sequence_t GANSSUTCModel_sequence[] = {
4365   { &hf_rrlp_ganssUtcA1     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4366   { &hf_rrlp_ganssUtcA0     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4367   { &hf_rrlp_ganssUtcTot    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4368   { &hf_rrlp_ganssUtcWNt    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4369   { &hf_rrlp_ganssUtcDeltaTls, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4370   { &hf_rrlp_ganssUtcWNlsf  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4371   { &hf_rrlp_ganssUtcDN     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4372   { &hf_rrlp_ganssUtcDeltaTlsf, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4373   { NULL, 0, 0, NULL }
4374 };
4375 
4376 static int
4377 dissect_rrlp_GANSSUTCModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4378   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4379                                    ett_rrlp_GANSSUTCModel, GANSSUTCModel_sequence);
4380 
4381   return offset;
4382 }
4383 
4384 
4385 static const per_sequence_t GANSSEphemerisExtensionTime_sequence[] = {
4386   { &hf_rrlp_ganssEphExtDay , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8191 },
4387   { &hf_rrlp_ganssEphExtTOD , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTOD },
4388   { NULL, 0, 0, NULL }
4389 };
4390 
4391 static int
4392 dissect_rrlp_GANSSEphemerisExtensionTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4393   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4394                                    ett_rrlp_GANSSEphemerisExtensionTime, GANSSEphemerisExtensionTime_sequence);
4395 
4396   return offset;
4397 }
4398 
4399 
4400 
4401 static int
4402 dissect_rrlp_INTEGER_1_8(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4403   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4404                                                             1U, 8U, NULL, FALSE);
4405 
4406   return offset;
4407 }
4408 
4409 
4410 
4411 static int
4412 dissect_rrlp_INTEGER_1_512(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4413   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4414                                                             1U, 512U, NULL, FALSE);
4415 
4416   return offset;
4417 }
4418 
4419 
4420 static const per_sequence_t GANSSEphemerisExtensionHeader_sequence[] = {
4421   { &hf_rrlp_timeAtEstimation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisExtensionTime },
4422   { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_8 },
4423   { &hf_rrlp_ephemerisExtensionDuration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_512 },
4424   { NULL, 0, 0, NULL }
4425 };
4426 
4427 static int
4428 dissect_rrlp_GANSSEphemerisExtensionHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4429   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4430                                    ett_rrlp_GANSSEphemerisExtensionHeader, GANSSEphemerisExtensionHeader_sequence);
4431 
4432   return offset;
4433 }
4434 
4435 
4436 static const per_sequence_t ReferenceNavModel_sequence[] = {
4437   { &hf_rrlp_keplerToe_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_37799 },
4438   { &hf_rrlp_keplerW        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4439   { &hf_rrlp_keplerDeltaN   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4440   { &hf_rrlp_keplerM0       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4441   { &hf_rrlp_keplerOmegaDot , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4442   { &hf_rrlp_keplerE        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
4443   { &hf_rrlp_keplerIDot     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8192_8191 },
4444   { &hf_rrlp_keplerAPowerHalf, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_4294967295 },
4445   { &hf_rrlp_keplerI0       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4446   { &hf_rrlp_keplerOmega0   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4447   { &hf_rrlp_keplerCrs      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4448   { &hf_rrlp_keplerCis      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4449   { &hf_rrlp_keplerCus      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4450   { &hf_rrlp_keplerCrc      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4451   { &hf_rrlp_keplerCic      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4452   { &hf_rrlp_keplerCuc      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4453   { NULL, 0, 0, NULL }
4454 };
4455 
4456 static int
4457 dissect_rrlp_ReferenceNavModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4458   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4459                                    ett_rrlp_ReferenceNavModel, ReferenceNavModel_sequence);
4460 
4461   return offset;
4462 }
4463 
4464 
4465 static const per_sequence_t GANSSReferenceOrbit_sequence[] = {
4466   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4467   { &hf_rrlp_ganssOrbitModel_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceNavModel },
4468   { &hf_rrlp_ganssClockModel, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSClockModel },
4469   { NULL, 0, 0, NULL }
4470 };
4471 
4472 static int
4473 dissect_rrlp_GANSSReferenceOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4474   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4475                                    ett_rrlp_GANSSReferenceOrbit, GANSSReferenceOrbit_sequence);
4476 
4477   return offset;
4478 }
4479 
4480 
4481 static const per_sequence_t SeqOfGANSSRefOrbit_sequence_of[1] = {
4482   { &hf_rrlp_SeqOfGANSSRefOrbit_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSReferenceOrbit },
4483 };
4484 
4485 static int
4486 dissect_rrlp_SeqOfGANSSRefOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4487   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4488                                                   ett_rrlp_SeqOfGANSSRefOrbit, SeqOfGANSSRefOrbit_sequence_of,
4489                                                   1, 32, FALSE);
4490 
4491   return offset;
4492 }
4493 
4494 
4495 
4496 static int
4497 dissect_rrlp_INTEGER_1_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4498   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4499                                                             1U, 32U, NULL, FALSE);
4500 
4501   return offset;
4502 }
4503 
4504 
4505 
4506 static int
4507 dissect_rrlp_INTEGER_1_16(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4508   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4509                                                             1U, 16U, NULL, FALSE);
4510 
4511   return offset;
4512 }
4513 
4514 
4515 
4516 static int
4517 dissect_rrlp_INTEGER_1_14(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4518   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4519                                                             1U, 14U, NULL, FALSE);
4520 
4521   return offset;
4522 }
4523 
4524 
4525 
4526 static int
4527 dissect_rrlp_INTEGER_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4528   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4529                                                             1U, 10U, NULL, FALSE);
4530 
4531   return offset;
4532 }
4533 
4534 
4535 static const per_sequence_t GANSSEphemerisDeltaBitSizes_sequence[] = {
4536   { &hf_rrlp_bitsize_delta_omega, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4537   { &hf_rrlp_bitsize_delta_deltaN, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4538   { &hf_rrlp_bitsize_delta_m0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4539   { &hf_rrlp_bitsize_delta_omegadot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_24 },
4540   { &hf_rrlp_bitsize_delta_e, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4541   { &hf_rrlp_bitsize_delta_idot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_14 },
4542   { &hf_rrlp_bitsize_delta_sqrtA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4543   { &hf_rrlp_bitsize_delta_i0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4544   { &hf_rrlp_bitsize_delta_omega0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
4545   { &hf_rrlp_bitsize_delta_crs, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4546   { &hf_rrlp_bitsize_delta_cis, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4547   { &hf_rrlp_bitsize_delta_cus, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4548   { &hf_rrlp_bitsize_delta_crc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4549   { &hf_rrlp_bitsize_delta_cic, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4550   { &hf_rrlp_bitsize_delta_cuc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
4551   { &hf_rrlp_bitsize_delta_tgd1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_10 },
4552   { &hf_rrlp_bitsize_delta_tgd2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_10 },
4553   { NULL, 0, 0, NULL }
4554 };
4555 
4556 static int
4557 dissect_rrlp_GANSSEphemerisDeltaBitSizes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4558   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4559                                    ett_rrlp_GANSSEphemerisDeltaBitSizes, GANSSEphemerisDeltaBitSizes_sequence);
4560 
4561   return offset;
4562 }
4563 
4564 
4565 static const per_sequence_t GANSSEphemerisDeltaScales_sequence[] = {
4566   { &hf_rrlp_scale_delta_omega, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4567   { &hf_rrlp_scale_delta_deltaN, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4568   { &hf_rrlp_scale_delta_m0 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4569   { &hf_rrlp_scale_delta_omegadot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4570   { &hf_rrlp_scale_delta_e  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4571   { &hf_rrlp_scale_delta_idot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4572   { &hf_rrlp_scale_delta_sqrtA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4573   { &hf_rrlp_scale_delta_i0 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4574   { &hf_rrlp_scale_delta_omega0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4575   { &hf_rrlp_scale_delta_crs, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4576   { &hf_rrlp_scale_delta_cis, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4577   { &hf_rrlp_scale_delta_cus, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4578   { &hf_rrlp_scale_delta_crc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4579   { &hf_rrlp_scale_delta_cic, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4580   { &hf_rrlp_scale_delta_cuc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4581   { &hf_rrlp_scale_delta_tgd1, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4582   { &hf_rrlp_scale_delta_tgd2, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
4583   { NULL, 0, 0, NULL }
4584 };
4585 
4586 static int
4587 dissect_rrlp_GANSSEphemerisDeltaScales(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4588   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4589                                    ett_rrlp_GANSSEphemerisDeltaScales, GANSSEphemerisDeltaScales_sequence);
4590 
4591   return offset;
4592 }
4593 
4594 
4595 static const per_sequence_t GANSSDeltaEpochHeader_sequence[] = {
4596   { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_1_8 },
4597   { &hf_rrlp_ephemerisDeltaSizes, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSEphemerisDeltaBitSizes },
4598   { &hf_rrlp_ephemerisDeltaScales, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSEphemerisDeltaScales },
4599   { NULL, 0, 0, NULL }
4600 };
4601 
4602 static int
4603 dissect_rrlp_GANSSDeltaEpochHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4604   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4605                                    ett_rrlp_GANSSDeltaEpochHeader, GANSSDeltaEpochHeader_sequence);
4606 
4607   return offset;
4608 }
4609 
4610 
4611 
4612 static int
4613 dissect_rrlp_OCTET_STRING_SIZE_1_49(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4614   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4615                                        1, 49, FALSE, NULL);
4616 
4617   return offset;
4618 }
4619 
4620 
4621 static const per_sequence_t GANSSDeltaElementList_sequence_of[1] = {
4622   { &hf_rrlp_GANSSDeltaElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OCTET_STRING_SIZE_1_49 },
4623 };
4624 
4625 static int
4626 dissect_rrlp_GANSSDeltaElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4627   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4628                                                   ett_rrlp_GANSSDeltaElementList, GANSSDeltaElementList_sequence_of,
4629                                                   1, 32, FALSE);
4630 
4631   return offset;
4632 }
4633 
4634 
4635 static const per_sequence_t GANSSEphemerisDeltaEpoch_sequence[] = {
4636   { &hf_rrlp_ganssDeltaEpochHeader, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSDeltaEpochHeader },
4637   { &hf_rrlp_ganssDeltaElementList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSDeltaElementList },
4638   { NULL, 0, 0, NULL }
4639 };
4640 
4641 static int
4642 dissect_rrlp_GANSSEphemerisDeltaEpoch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4643   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4644                                    ett_rrlp_GANSSEphemerisDeltaEpoch, GANSSEphemerisDeltaEpoch_sequence);
4645 
4646   return offset;
4647 }
4648 
4649 
4650 static const per_sequence_t GANSSEphemerisDeltaMatrix_sequence_of[1] = {
4651   { &hf_rrlp_GANSSEphemerisDeltaMatrix_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisDeltaEpoch },
4652 };
4653 
4654 static int
4655 dissect_rrlp_GANSSEphemerisDeltaMatrix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4656   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4657                                                   ett_rrlp_GANSSEphemerisDeltaMatrix, GANSSEphemerisDeltaMatrix_sequence_of,
4658                                                   1, 128, FALSE);
4659 
4660   return offset;
4661 }
4662 
4663 
4664 static const per_sequence_t GANSSEphemerisExtension_sequence[] = {
4665   { &hf_rrlp_ganssEphemerisHeader, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSEphemerisExtensionHeader },
4666   { &hf_rrlp_ganssReferenceSet, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_SeqOfGANSSRefOrbit },
4667   { &hf_rrlp_ganssephemerisDeltasMatrix, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSEphemerisDeltaMatrix },
4668   { NULL, 0, 0, NULL }
4669 };
4670 
4671 static int
4672 dissect_rrlp_GANSSEphemerisExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4673   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4674                                    ett_rrlp_GANSSEphemerisExtension, GANSSEphemerisExtension_sequence);
4675 
4676   return offset;
4677 }
4678 
4679 
4680 
4681 static int
4682 dissect_rrlp_BIT_STRING_SIZE_64(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4683   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
4684                                      64, 64, FALSE, NULL, 0, NULL, NULL);
4685 
4686   return offset;
4687 }
4688 
4689 
4690 static const per_sequence_t GANSSSatEventsInfo_sequence[] = {
4691   { &hf_rrlp_eventOccured   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_64 },
4692   { &hf_rrlp_futureEventNoted, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_64 },
4693   { NULL, 0, 0, NULL }
4694 };
4695 
4696 static int
4697 dissect_rrlp_GANSSSatEventsInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4698   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4699                                    ett_rrlp_GANSSSatEventsInfo, GANSSSatEventsInfo_sequence);
4700 
4701   return offset;
4702 }
4703 
4704 
4705 static const per_sequence_t GANSSEphemerisExtensionCheck_sequence[] = {
4706   { &hf_rrlp_ganssBeginTime , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisExtensionTime },
4707   { &hf_rrlp_ganssEndTime   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSEphemerisExtensionTime },
4708   { &hf_rrlp_ganssSatEventsInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSatEventsInfo },
4709   { NULL, 0, 0, NULL }
4710 };
4711 
4712 static int
4713 dissect_rrlp_GANSSEphemerisExtensionCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4714   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4715                                    ett_rrlp_GANSSEphemerisExtensionCheck, GANSSEphemerisExtensionCheck_sequence);
4716 
4717   return offset;
4718 }
4719 
4720 
4721 static const per_sequence_t UTCmodelSet2_sequence[] = {
4722   { &hf_rrlp_utcA0_01       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
4723   { &hf_rrlp_utcA1_01       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M4096_4095 },
4724   { &hf_rrlp_utcA2          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M64_63 },
4725   { &hf_rrlp_utcDeltaTls    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4726   { &hf_rrlp_utcTot_01      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
4727   { &hf_rrlp_utcWNot        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_8191 },
4728   { &hf_rrlp_utcWNlsf       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4729   { &hf_rrlp_utcDN_01       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_4 },
4730   { &hf_rrlp_utcDeltaTlsf   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4731   { NULL, 0, 0, NULL }
4732 };
4733 
4734 static int
4735 dissect_rrlp_UTCmodelSet2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4736   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4737                                    ett_rrlp_UTCmodelSet2, UTCmodelSet2_sequence);
4738 
4739   return offset;
4740 }
4741 
4742 
4743 static const per_sequence_t UTCmodelSet3_sequence[] = {
4744   { &hf_rrlp_nA             , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_1461 },
4745   { &hf_rrlp_tauC           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4746   { &hf_rrlp_b1             , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M1024_1023 },
4747   { &hf_rrlp_b2             , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M512_511 },
4748   { &hf_rrlp_kp             , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_BIT_STRING_SIZE_2 },
4749   { NULL, 0, 0, NULL }
4750 };
4751 
4752 static int
4753 dissect_rrlp_UTCmodelSet3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4754   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4755                                    ett_rrlp_UTCmodelSet3, UTCmodelSet3_sequence);
4756 
4757   return offset;
4758 }
4759 
4760 
4761 static const per_sequence_t UTCmodelSet4_sequence[] = {
4762   { &hf_rrlp_utcA1wnt       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M8388608_8388607 },
4763   { &hf_rrlp_utcA0wnt       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2147483648_2147483647 },
4764   { &hf_rrlp_utcTot         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4765   { &hf_rrlp_utcWNt         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4766   { &hf_rrlp_utcDeltaTls    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4767   { &hf_rrlp_utcWNlsf       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_255 },
4768   { &hf_rrlp_utcDN          , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4769   { &hf_rrlp_utcDeltaTlsf   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4770   { &hf_rrlp_utcStandardID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
4771   { NULL, 0, 0, NULL }
4772 };
4773 
4774 static int
4775 dissect_rrlp_UTCmodelSet4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4776   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4777                                    ett_rrlp_UTCmodelSet4, UTCmodelSet4_sequence);
4778 
4779   return offset;
4780 }
4781 
4782 
4783 static const value_string rrlp_GANSSAddUTCModel_vals[] = {
4784   {   0, "utcModel2" },
4785   {   1, "utcModel3" },
4786   {   2, "utcModel4" },
4787   { 0, NULL }
4788 };
4789 
4790 static const per_choice_t GANSSAddUTCModel_choice[] = {
4791   {   0, &hf_rrlp_utcModel2      , ASN1_EXTENSION_ROOT    , dissect_rrlp_UTCmodelSet2 },
4792   {   1, &hf_rrlp_utcModel3      , ASN1_EXTENSION_ROOT    , dissect_rrlp_UTCmodelSet3 },
4793   {   2, &hf_rrlp_utcModel4      , ASN1_EXTENSION_ROOT    , dissect_rrlp_UTCmodelSet4 },
4794   { 0, NULL, 0, NULL }
4795 };
4796 
4797 static int
4798 dissect_rrlp_GANSSAddUTCModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4799   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4800                                  ett_rrlp_GANSSAddUTCModel, GANSSAddUTCModel_choice,
4801                                  NULL);
4802 
4803   return offset;
4804 }
4805 
4806 
4807 static const per_sequence_t GANSS_ID1_element_sequence[] = {
4808   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4809   { &hf_rrlp_signalsAvailable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignals },
4810   { NULL, 0, 0, NULL }
4811 };
4812 
4813 static int
4814 dissect_rrlp_GANSS_ID1_element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4815   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4816                                    ett_rrlp_GANSS_ID1_element, GANSS_ID1_element_sequence);
4817 
4818   return offset;
4819 }
4820 
4821 
4822 static const per_sequence_t GANSS_ID1_sequence_of[1] = {
4823   { &hf_rrlp_GANSS_ID1_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_ID1_element },
4824 };
4825 
4826 static int
4827 dissect_rrlp_GANSS_ID1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4828   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4829                                                   ett_rrlp_GANSS_ID1, GANSS_ID1_sequence_of,
4830                                                   1, 64, FALSE);
4831 
4832   return offset;
4833 }
4834 
4835 
4836 
4837 static int
4838 dissect_rrlp_INTEGER_M7_13(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4839   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
4840                                                             -7, 13U, NULL, FALSE);
4841 
4842   return offset;
4843 }
4844 
4845 
4846 static const per_sequence_t GANSS_ID3_element_sequence[] = {
4847   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4848   { &hf_rrlp_signalsAvailable, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignals },
4849   { &hf_rrlp_channelNumber  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M7_13 },
4850   { NULL, 0, 0, NULL }
4851 };
4852 
4853 static int
4854 dissect_rrlp_GANSS_ID3_element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4855   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4856                                    ett_rrlp_GANSS_ID3_element, GANSS_ID3_element_sequence);
4857 
4858   return offset;
4859 }
4860 
4861 
4862 static const per_sequence_t GANSS_ID3_sequence_of[1] = {
4863   { &hf_rrlp_GANSS_ID3_item , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_ID3_element },
4864 };
4865 
4866 static int
4867 dissect_rrlp_GANSS_ID3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4868   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4869                                                   ett_rrlp_GANSS_ID3, GANSS_ID3_sequence_of,
4870                                                   1, 64, FALSE);
4871 
4872   return offset;
4873 }
4874 
4875 
4876 static const value_string rrlp_GANSSAuxiliaryInformation_vals[] = {
4877   {   0, "ganssID1" },
4878   {   1, "ganssID3" },
4879   { 0, NULL }
4880 };
4881 
4882 static const per_choice_t GANSSAuxiliaryInformation_choice[] = {
4883   {   0, &hf_rrlp_ganssID1       , ASN1_EXTENSION_ROOT    , dissect_rrlp_GANSS_ID1 },
4884   {   1, &hf_rrlp_ganssID3       , ASN1_EXTENSION_ROOT    , dissect_rrlp_GANSS_ID3 },
4885   { 0, NULL, 0, NULL }
4886 };
4887 
4888 static int
4889 dissect_rrlp_GANSSAuxiliaryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4890   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
4891                                  ett_rrlp_GANSSAuxiliaryInformation, GANSSAuxiliaryInformation_choice,
4892                                  NULL);
4893 
4894   return offset;
4895 }
4896 
4897 
4898 static const per_sequence_t DGANSSExtensionSgnElement_sequence[] = {
4899   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4900   { &hf_rrlp_udreGrowthRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
4901   { &hf_rrlp_udreValidityTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
4902   { NULL, 0, 0, NULL }
4903 };
4904 
4905 static int
4906 dissect_rrlp_DGANSSExtensionSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4907   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4908                                    ett_rrlp_DGANSSExtensionSgnElement, DGANSSExtensionSgnElement_sequence);
4909 
4910   return offset;
4911 }
4912 
4913 
4914 static const per_sequence_t SeqOfDGANSSExtensionSgnElement_sequence_of[1] = {
4915   { &hf_rrlp_SeqOfDGANSSExtensionSgnElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_DGANSSExtensionSgnElement },
4916 };
4917 
4918 static int
4919 dissect_rrlp_SeqOfDGANSSExtensionSgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4920   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4921                                                   ett_rrlp_SeqOfDGANSSExtensionSgnElement, SeqOfDGANSSExtensionSgnElement_sequence_of,
4922                                                   1, 16, FALSE);
4923 
4924   return offset;
4925 }
4926 
4927 
4928 static const per_sequence_t DGANSSExtensionSgnTypeElement_sequence[] = {
4929   { &hf_rrlp_ganssSignalID  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
4930   { &hf_rrlp_dganssExtensionSgnList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfDGANSSExtensionSgnElement },
4931   { NULL, 0, 0, NULL }
4932 };
4933 
4934 static int
4935 dissect_rrlp_DGANSSExtensionSgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4936   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4937                                    ett_rrlp_DGANSSExtensionSgnTypeElement, DGANSSExtensionSgnTypeElement_sequence);
4938 
4939   return offset;
4940 }
4941 
4942 
4943 static const per_sequence_t GANSSDiffCorrectionsValidityPeriod_sequence_of[1] = {
4944   { &hf_rrlp_GANSSDiffCorrectionsValidityPeriod_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_DGANSSExtensionSgnTypeElement },
4945 };
4946 
4947 static int
4948 dissect_rrlp_GANSSDiffCorrectionsValidityPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4949   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4950                                                   ett_rrlp_GANSSDiffCorrectionsValidityPeriod, GANSSDiffCorrectionsValidityPeriod_sequence_of,
4951                                                   1, 3, FALSE);
4952 
4953   return offset;
4954 }
4955 
4956 
4957 static const per_sequence_t GANSSTimeModelElement_R10_Ext_sequence[] = {
4958   { &hf_rrlp_gnssTOID       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
4959   { &hf_rrlp_deltaT         , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
4960   { NULL, 0, 0, NULL }
4961 };
4962 
4963 static int
4964 dissect_rrlp_GANSSTimeModelElement_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4965   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4966                                    ett_rrlp_GANSSTimeModelElement_R10_Ext, GANSSTimeModelElement_R10_Ext_sequence);
4967 
4968   return offset;
4969 }
4970 
4971 
4972 static const per_sequence_t SeqOfGANSSTimeModel_R10_Ext_sequence_of[1] = {
4973   { &hf_rrlp_SeqOfGANSSTimeModel_R10_Ext_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSTimeModelElement_R10_Ext },
4974 };
4975 
4976 static int
4977 dissect_rrlp_SeqOfGANSSTimeModel_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4978   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
4979                                                   ett_rrlp_SeqOfGANSSTimeModel_R10_Ext, SeqOfGANSSTimeModel_R10_Ext_sequence_of,
4980                                                   1, 7, FALSE);
4981 
4982   return offset;
4983 }
4984 
4985 
4986 static const per_sequence_t GANSSRefMeasurement_R10_Ext_Element_sequence[] = {
4987   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
4988   { &hf_rrlp_azimuthLSB     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
4989   { &hf_rrlp_elevationLSB   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
4990   { NULL, 0, 0, NULL }
4991 };
4992 
4993 static int
4994 dissect_rrlp_GANSSRefMeasurement_R10_Ext_Element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4995   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
4996                                    ett_rrlp_GANSSRefMeasurement_R10_Ext_Element, GANSSRefMeasurement_R10_Ext_Element_sequence);
4997 
4998   return offset;
4999 }
5000 
5001 
5002 static const per_sequence_t GANSSRefMeasurementAssist_R10_Ext_sequence_of[1] = {
5003   { &hf_rrlp_GANSSRefMeasurementAssist_R10_Ext_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSRefMeasurement_R10_Ext_Element },
5004 };
5005 
5006 static int
5007 dissect_rrlp_GANSSRefMeasurementAssist_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5008   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5009                                                   ett_rrlp_GANSSRefMeasurementAssist_R10_Ext, GANSSRefMeasurementAssist_R10_Ext_sequence_of,
5010                                                   1, 16, FALSE);
5011 
5012   return offset;
5013 }
5014 
5015 
5016 static const per_sequence_t GANSSAlmanacModel_R10_Ext_sequence[] = {
5017   { &hf_rrlp_completeAlmanacProvided, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
5018   { NULL, 0, 0, NULL }
5019 };
5020 
5021 static int
5022 dissect_rrlp_GANSSAlmanacModel_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5023   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5024                                    ett_rrlp_GANSSAlmanacModel_R10_Ext, GANSSAlmanacModel_R10_Ext_sequence);
5025 
5026   return offset;
5027 }
5028 
5029 
5030 static const per_sequence_t GANSSGenericAssistDataElement_sequence[] = {
5031   { &hf_rrlp_ganssID        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
5032   { &hf_rrlp_ganssTimeModel , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_SeqOfGANSSTimeModel },
5033   { &hf_rrlp_ganssDiffCorrections, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSDiffCorrections },
5034   { &hf_rrlp_ganssNavigationModel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSNavModel },
5035   { &hf_rrlp_ganssRealTimeIntegrity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSRealTimeIntegrity },
5036   { &hf_rrlp_ganssDataBitAssist, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSDataBitAssist },
5037   { &hf_rrlp_ganssRefMeasurementAssist, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSRefMeasurementAssist },
5038   { &hf_rrlp_ganssAlmanacModel, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSAlmanacModel },
5039   { &hf_rrlp_ganssUTCModel  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSUTCModel },
5040   { &hf_rrlp_ganssEphemerisExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSEphemerisExtension },
5041   { &hf_rrlp_ganssEphemerisExtCheck, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSEphemerisExtensionCheck },
5042   { &hf_rrlp_sbasID         , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
5043   { &hf_rrlp_ganssAddUTCModel, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSAddUTCModel },
5044   { &hf_rrlp_ganssAuxiliaryInfo, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSAuxiliaryInformation },
5045   { &hf_rrlp_ganssDiffCorrectionsValidityPeriod, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSDiffCorrectionsValidityPeriod },
5046   { &hf_rrlp_ganssTimeModel_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_SeqOfGANSSTimeModel_R10_Ext },
5047   { &hf_rrlp_ganssRefMeasurementAssist_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSRefMeasurementAssist_R10_Ext },
5048   { &hf_rrlp_ganssAlmanacModel_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSAlmanacModel_R10_Ext },
5049   { NULL, 0, 0, NULL }
5050 };
5051 
5052 static int
5053 dissect_rrlp_GANSSGenericAssistDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5054   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5055                                    ett_rrlp_GANSSGenericAssistDataElement, GANSSGenericAssistDataElement_sequence);
5056 
5057   return offset;
5058 }
5059 
5060 
5061 static const per_sequence_t SeqOfGANSSGenericAssistDataElement_sequence_of[1] = {
5062   { &hf_rrlp_SeqOfGANSSGenericAssistDataElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSGenericAssistDataElement },
5063 };
5064 
5065 static int
5066 dissect_rrlp_SeqOfGANSSGenericAssistDataElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5067   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5068                                                   ett_rrlp_SeqOfGANSSGenericAssistDataElement, SeqOfGANSSGenericAssistDataElement_sequence_of,
5069                                                   1, 8, FALSE);
5070 
5071   return offset;
5072 }
5073 
5074 
5075 static const per_sequence_t GANSS_ControlHeader_sequence[] = {
5076   { &hf_rrlp_ganssCommonAssistData, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GANSSCommonAssistData },
5077   { &hf_rrlp_ganssGenericAssistDataList, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_SeqOfGANSSGenericAssistDataElement },
5078   { NULL, 0, 0, NULL }
5079 };
5080 
5081 static int
5082 dissect_rrlp_GANSS_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5083   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5084                                    ett_rrlp_GANSS_ControlHeader, GANSS_ControlHeader_sequence);
5085 
5086   return offset;
5087 }
5088 
5089 
5090 static const per_sequence_t GANSS_AssistData_sequence[] = {
5091   { &hf_rrlp_ganss_controlHeader, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_ControlHeader },
5092   { NULL, 0, 0, NULL }
5093 };
5094 
5095 static int
5096 dissect_rrlp_GANSS_AssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5097   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5098                                    ett_rrlp_GANSS_AssistData, GANSS_AssistData_sequence);
5099 
5100   return offset;
5101 }
5102 
5103 
5104 
5105 static int
5106 dissect_rrlp_RequiredResponseTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5107   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5108                                                             1U, 128U, NULL, FALSE);
5109 
5110   return offset;
5111 }
5112 
5113 
5114 static const per_sequence_t GPSEphemerisExtensionTime_sequence[] = {
5115   { &hf_rrlp_gpsWeek        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSWeek },
5116   { &hf_rrlp_gpsTOW_02      , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_604799 },
5117   { NULL, 0, 0, NULL }
5118 };
5119 
5120 static int
5121 dissect_rrlp_GPSEphemerisExtensionTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5122   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5123                                    ett_rrlp_GPSEphemerisExtensionTime, GPSEphemerisExtensionTime_sequence);
5124 
5125   return offset;
5126 }
5127 
5128 
5129 static const per_sequence_t GPSEphemerisExtensionHeader_sequence[] = {
5130   { &hf_rrlp_timeofEstimation, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisExtensionTime },
5131   { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_8 },
5132   { &hf_rrlp_ephemerisExtensionDuration, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_512 },
5133   { NULL, 0, 0, NULL }
5134 };
5135 
5136 static int
5137 dissect_rrlp_GPSEphemerisExtensionHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5138   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5139                                    ett_rrlp_GPSEphemerisExtensionHeader, GPSEphemerisExtensionHeader_sequence);
5140 
5141   return offset;
5142 }
5143 
5144 
5145 static const per_sequence_t GPSClockModel_sequence[] = {
5146   { &hf_rrlp_af2            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5147   { &hf_rrlp_af1            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
5148   { &hf_rrlp_af0            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M2097152_2097151 },
5149   { &hf_rrlp_tgd            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M128_127 },
5150   { NULL, 0, 0, NULL }
5151 };
5152 
5153 static int
5154 dissect_rrlp_GPSClockModel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5155   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5156                                    ett_rrlp_GPSClockModel, GPSClockModel_sequence);
5157 
5158   return offset;
5159 }
5160 
5161 
5162 static const per_sequence_t GPSReferenceOrbit_sequence[] = {
5163   { &hf_rrlp_svID           , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
5164   { &hf_rrlp_gpsOrbitModel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceNavModel },
5165   { &hf_rrlp_gpsClockModel  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSClockModel },
5166   { NULL, 0, 0, NULL }
5167 };
5168 
5169 static int
5170 dissect_rrlp_GPSReferenceOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5171   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5172                                    ett_rrlp_GPSReferenceOrbit, GPSReferenceOrbit_sequence);
5173 
5174   return offset;
5175 }
5176 
5177 
5178 static const per_sequence_t SeqOfGPSRefOrbit_sequence_of[1] = {
5179   { &hf_rrlp_SeqOfGPSRefOrbit_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSReferenceOrbit },
5180 };
5181 
5182 static int
5183 dissect_rrlp_SeqOfGPSRefOrbit(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5184   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5185                                                   ett_rrlp_SeqOfGPSRefOrbit, SeqOfGPSRefOrbit_sequence_of,
5186                                                   1, 32, FALSE);
5187 
5188   return offset;
5189 }
5190 
5191 
5192 static const per_sequence_t GPSEphemerisDeltaBitSizes_sequence[] = {
5193   { &hf_rrlp_bitsize_delta_omega, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5194   { &hf_rrlp_bitsize_delta_deltaN, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5195   { &hf_rrlp_bitsize_delta_m0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5196   { &hf_rrlp_bitsize_delta_omegadot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_24 },
5197   { &hf_rrlp_bitsize_delta_e, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5198   { &hf_rrlp_bitsize_delta_idot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_14 },
5199   { &hf_rrlp_bitsize_delta_sqrtA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5200   { &hf_rrlp_bitsize_delta_i0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5201   { &hf_rrlp_bitsize_delta_omega0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_32 },
5202   { &hf_rrlp_bitsize_delta_crs, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5203   { &hf_rrlp_bitsize_delta_cis, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5204   { &hf_rrlp_bitsize_delta_cus, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5205   { &hf_rrlp_bitsize_delta_crc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5206   { &hf_rrlp_bitsize_delta_cic, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5207   { &hf_rrlp_bitsize_delta_cuc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_16 },
5208   { &hf_rrlp_bitsize_delta_tgd, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_10 },
5209   { NULL, 0, 0, NULL }
5210 };
5211 
5212 static int
5213 dissect_rrlp_GPSEphemerisDeltaBitSizes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5214   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5215                                    ett_rrlp_GPSEphemerisDeltaBitSizes, GPSEphemerisDeltaBitSizes_sequence);
5216 
5217   return offset;
5218 }
5219 
5220 
5221 static const per_sequence_t GPSEphemerisDeltaScales_sequence[] = {
5222   { &hf_rrlp_scale_delta_omega, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5223   { &hf_rrlp_scale_delta_deltaN, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5224   { &hf_rrlp_scale_delta_m0 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5225   { &hf_rrlp_scale_delta_omegadot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5226   { &hf_rrlp_scale_delta_e  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5227   { &hf_rrlp_scale_delta_idot, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5228   { &hf_rrlp_scale_delta_sqrtA, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5229   { &hf_rrlp_scale_delta_i0 , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5230   { &hf_rrlp_scale_delta_omega0, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5231   { &hf_rrlp_scale_delta_crs, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5232   { &hf_rrlp_scale_delta_cis, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5233   { &hf_rrlp_scale_delta_cus, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5234   { &hf_rrlp_scale_delta_crc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5235   { &hf_rrlp_scale_delta_cic, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5236   { &hf_rrlp_scale_delta_cuc, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5237   { &hf_rrlp_scale_delta_tgd, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M16_15 },
5238   { NULL, 0, 0, NULL }
5239 };
5240 
5241 static int
5242 dissect_rrlp_GPSEphemerisDeltaScales(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5243   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5244                                    ett_rrlp_GPSEphemerisDeltaScales, GPSEphemerisDeltaScales_sequence);
5245 
5246   return offset;
5247 }
5248 
5249 
5250 static const per_sequence_t GPSDeltaEpochHeader_sequence[] = {
5251   { &hf_rrlp_validityPeriod , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_1_8 },
5252   { &hf_rrlp_ephemerisDeltaSizes_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSEphemerisDeltaBitSizes },
5253   { &hf_rrlp_ephemerisDeltaScales_01, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSEphemerisDeltaScales },
5254   { NULL, 0, 0, NULL }
5255 };
5256 
5257 static int
5258 dissect_rrlp_GPSDeltaEpochHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5259   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5260                                    ett_rrlp_GPSDeltaEpochHeader, GPSDeltaEpochHeader_sequence);
5261 
5262   return offset;
5263 }
5264 
5265 
5266 
5267 static int
5268 dissect_rrlp_OCTET_STRING_SIZE_1_47(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5269   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
5270                                        1, 47, FALSE, NULL);
5271 
5272   return offset;
5273 }
5274 
5275 
5276 static const per_sequence_t GPSDeltaElementList_sequence_of[1] = {
5277   { &hf_rrlp_GPSDeltaElementList_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OCTET_STRING_SIZE_1_47 },
5278 };
5279 
5280 static int
5281 dissect_rrlp_GPSDeltaElementList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5282   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5283                                                   ett_rrlp_GPSDeltaElementList, GPSDeltaElementList_sequence_of,
5284                                                   1, 32, FALSE);
5285 
5286   return offset;
5287 }
5288 
5289 
5290 static const per_sequence_t GPSEphemerisDeltaEpoch_sequence[] = {
5291   { &hf_rrlp_gpsDeltaEpochHeader, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSDeltaEpochHeader },
5292   { &hf_rrlp_gpsDeltaElementList, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSDeltaElementList },
5293   { NULL, 0, 0, NULL }
5294 };
5295 
5296 static int
5297 dissect_rrlp_GPSEphemerisDeltaEpoch(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5298   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5299                                    ett_rrlp_GPSEphemerisDeltaEpoch, GPSEphemerisDeltaEpoch_sequence);
5300 
5301   return offset;
5302 }
5303 
5304 
5305 static const per_sequence_t GPSEphemerisDeltaMatrix_sequence_of[1] = {
5306   { &hf_rrlp_GPSEphemerisDeltaMatrix_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisDeltaEpoch },
5307 };
5308 
5309 static int
5310 dissect_rrlp_GPSEphemerisDeltaMatrix(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5311   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5312                                                   ett_rrlp_GPSEphemerisDeltaMatrix, GPSEphemerisDeltaMatrix_sequence_of,
5313                                                   1, 128, FALSE);
5314 
5315   return offset;
5316 }
5317 
5318 
5319 static const per_sequence_t GPSEphemerisExtension_sequence[] = {
5320   { &hf_rrlp_gpsEphemerisHeader, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSEphemerisExtensionHeader },
5321   { &hf_rrlp_gpsReferenceSet, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_SeqOfGPSRefOrbit },
5322   { &hf_rrlp_gpsephemerisDeltaMatrix, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSEphemerisDeltaMatrix },
5323   { NULL, 0, 0, NULL }
5324 };
5325 
5326 static int
5327 dissect_rrlp_GPSEphemerisExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5328   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5329                                    ett_rrlp_GPSEphemerisExtension, GPSEphemerisExtension_sequence);
5330 
5331   return offset;
5332 }
5333 
5334 
5335 
5336 static int
5337 dissect_rrlp_BIT_STRING_SIZE_32(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5338   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
5339                                      32, 32, FALSE, NULL, 0, NULL, NULL);
5340 
5341   return offset;
5342 }
5343 
5344 
5345 static const per_sequence_t GPSSatEventsInfo_sequence[] = {
5346   { &hf_rrlp_eventOccured_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_32 },
5347   { &hf_rrlp_futureEventNoted_01, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_BIT_STRING_SIZE_32 },
5348   { NULL, 0, 0, NULL }
5349 };
5350 
5351 static int
5352 dissect_rrlp_GPSSatEventsInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5353   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5354                                    ett_rrlp_GPSSatEventsInfo, GPSSatEventsInfo_sequence);
5355 
5356   return offset;
5357 }
5358 
5359 
5360 static const per_sequence_t GPSEphemerisExtensionCheck_sequence[] = {
5361   { &hf_rrlp_gpsBeginTime   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisExtensionTime },
5362   { &hf_rrlp_gpsEndTime     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSEphemerisExtensionTime },
5363   { &hf_rrlp_gpsSatEventsInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSSatEventsInfo },
5364   { NULL, 0, 0, NULL }
5365 };
5366 
5367 static int
5368 dissect_rrlp_GPSEphemerisExtensionCheck(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5369   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5370                                    ett_rrlp_GPSEphemerisExtensionCheck, GPSEphemerisExtensionCheck_sequence);
5371 
5372   return offset;
5373 }
5374 
5375 
5376 static const per_sequence_t DGPSExtensionSatElement_sequence[] = {
5377   { &hf_rrlp_satelliteID    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
5378   { &hf_rrlp_udreGrowthRate , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5379   { &hf_rrlp_udreValidityTime, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5380   { NULL, 0, 0, NULL }
5381 };
5382 
5383 static int
5384 dissect_rrlp_DGPSExtensionSatElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5385   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5386                                    ett_rrlp_DGPSExtensionSatElement, DGPSExtensionSatElement_sequence);
5387 
5388   return offset;
5389 }
5390 
5391 
5392 static const per_sequence_t DGPSCorrectionsValidityPeriod_sequence_of[1] = {
5393   { &hf_rrlp_DGPSCorrectionsValidityPeriod_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_DGPSExtensionSatElement },
5394 };
5395 
5396 static int
5397 dissect_rrlp_DGPSCorrectionsValidityPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5398   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5399                                                   ett_rrlp_DGPSCorrectionsValidityPeriod, DGPSCorrectionsValidityPeriod_sequence_of,
5400                                                   1, 16, FALSE);
5401 
5402   return offset;
5403 }
5404 
5405 
5406 static const per_sequence_t GPSReferenceTime_R10_Ext_sequence[] = {
5407   { &hf_rrlp_gpsWeekCycleNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5408   { NULL, 0, 0, NULL }
5409 };
5410 
5411 static int
5412 dissect_rrlp_GPSReferenceTime_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5413   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5414                                    ett_rrlp_GPSReferenceTime_R10_Ext, GPSReferenceTime_R10_Ext_sequence);
5415 
5416   return offset;
5417 }
5418 
5419 
5420 static const per_sequence_t GPSAcquisAssist_R10_Ext_Element_sequence[] = {
5421   { &hf_rrlp_satelliteID    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
5422   { &hf_rrlp_azimuthLSB     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
5423   { &hf_rrlp_elevationLSB   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_15 },
5424   { NULL, 0, 0, NULL }
5425 };
5426 
5427 static int
5428 dissect_rrlp_GPSAcquisAssist_R10_Ext_Element(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5429   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5430                                    ett_rrlp_GPSAcquisAssist_R10_Ext_Element, GPSAcquisAssist_R10_Ext_Element_sequence);
5431 
5432   return offset;
5433 }
5434 
5435 
5436 static const per_sequence_t GPSAcquisAssist_R10_Ext_sequence_of[1] = {
5437   { &hf_rrlp_GPSAcquisAssist_R10_Ext_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSAcquisAssist_R10_Ext_Element },
5438 };
5439 
5440 static int
5441 dissect_rrlp_GPSAcquisAssist_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5442   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5443                                                   ett_rrlp_GPSAcquisAssist_R10_Ext, GPSAcquisAssist_R10_Ext_sequence_of,
5444                                                   1, 16, FALSE);
5445 
5446   return offset;
5447 }
5448 
5449 
5450 static const per_sequence_t GPSAlmanac_R10_Ext_sequence[] = {
5451   { &hf_rrlp_completeAlmanacProvided, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BOOLEAN },
5452   { NULL, 0, 0, NULL }
5453 };
5454 
5455 static int
5456 dissect_rrlp_GPSAlmanac_R10_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5457   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5458                                    ett_rrlp_GPSAlmanac_R10_Ext, GPSAlmanac_R10_Ext_sequence);
5459 
5460   return offset;
5461 }
5462 
5463 
5464 static const per_sequence_t Add_GPS_ControlHeader_sequence[] = {
5465   { &hf_rrlp_gpsEphemerisExtension, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSEphemerisExtension },
5466   { &hf_rrlp_gpsEphemerisExtensionCheck, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSEphemerisExtensionCheck },
5467   { &hf_rrlp_dgpsCorrectionsValidityPeriod, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_DGPSCorrectionsValidityPeriod },
5468   { &hf_rrlp_gpsReferenceTime_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GPSReferenceTime_R10_Ext },
5469   { &hf_rrlp_gpsAcquisAssist_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GPSAcquisAssist_R10_Ext },
5470   { &hf_rrlp_gpsAlmanac_R10_Ext, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GPSAlmanac_R10_Ext },
5471   { NULL, 0, 0, NULL }
5472 };
5473 
5474 static int
5475 dissect_rrlp_Add_GPS_ControlHeader(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5476   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5477                                    ett_rrlp_Add_GPS_ControlHeader, Add_GPS_ControlHeader_sequence);
5478 
5479   return offset;
5480 }
5481 
5482 
5483 static const per_sequence_t Add_GPS_AssistData_sequence[] = {
5484   { &hf_rrlp_add_GPS_controlHeader, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_Add_GPS_ControlHeader },
5485   { NULL, 0, 0, NULL }
5486 };
5487 
5488 static int
5489 dissect_rrlp_Add_GPS_AssistData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5490   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5491                                    ett_rrlp_Add_GPS_AssistData, Add_GPS_AssistData_sequence);
5492 
5493   return offset;
5494 }
5495 
5496 
5497 static const per_sequence_t Rel7_MsrPosition_Req_Extension_sequence[] = {
5498   { &hf_rrlp_velocityRequested, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_NULL },
5499   { &hf_rrlp_ganssPositionMethod, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSPositioningMethod },
5500   { &hf_rrlp_ganss_AssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSS_AssistData },
5501   { &hf_rrlp_ganssCarrierPhaseMeasurementRequest, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_NULL },
5502   { &hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_NULL },
5503   { &hf_rrlp_requiredResponseTime, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_RequiredResponseTime },
5504   { &hf_rrlp_add_GPS_AssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_Add_GPS_AssistData },
5505   { &hf_rrlp_ganssMultiFreqMeasurementRequest, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_NULL },
5506   { NULL, 0, 0, NULL }
5507 };
5508 
5509 static int
5510 dissect_rrlp_Rel7_MsrPosition_Req_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5511   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5512                                    ett_rrlp_Rel7_MsrPosition_Req_Extension, Rel7_MsrPosition_Req_Extension_sequence);
5513 
5514   return offset;
5515 }
5516 
5517 
5518 static const per_sequence_t MsrPosition_Req_sequence[] = {
5519   { &hf_rrlp_positionInstruct, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_PositionInstruct },
5520   { &hf_rrlp_referenceAssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ReferenceAssistData },
5521   { &hf_rrlp_msrAssistData  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_MsrAssistData },
5522   { &hf_rrlp_systemInfoAssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_SystemInfoAssistData },
5523   { &hf_rrlp_gps_AssistData , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPS_AssistData },
5524   { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ExtensionContainer },
5525   { &hf_rrlp_rel98_MsrPosition_Req_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel98_MsrPosition_Req_Extension },
5526   { &hf_rrlp_rel5_MsrPosition_Req_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel5_MsrPosition_Req_Extension },
5527   { &hf_rrlp_rel7_MsrPosition_Req_extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel7_MsrPosition_Req_Extension },
5528   { NULL, 0, 0, NULL }
5529 };
5530 
5531 static int
5532 dissect_rrlp_MsrPosition_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5533   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5534                                    ett_rrlp_MsrPosition_Req, MsrPosition_Req_sequence);
5535 
5536   return offset;
5537 }
5538 
5539 
5540 
5541 static int
5542 dissect_rrlp_INTEGER_2_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5543   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5544                                                             2U, 3U, NULL, FALSE);
5545 
5546   return offset;
5547 }
5548 
5549 
5550 
5551 static int
5552 dissect_rrlp_INTEGER_1_3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5553   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5554                                                             1U, 3U, NULL, FALSE);
5555 
5556   return offset;
5557 }
5558 
5559 
5560 static const value_string rrlp_ReferenceRelation_vals[] = {
5561   {   0, "secondBTSThirdSet" },
5562   {   1, "secondBTSSecondSet" },
5563   {   2, "firstBTSFirstSet" },
5564   { 0, NULL }
5565 };
5566 
5567 
5568 static int
5569 dissect_rrlp_ReferenceRelation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5570   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
5571                                      3, NULL, FALSE, 0, NULL);
5572 
5573   return offset;
5574 }
5575 
5576 
5577 static const per_sequence_t MultipleSets_sequence[] = {
5578   { &hf_rrlp_nbrOfSets      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_2_3 },
5579   { &hf_rrlp_nbrOfReferenceBTSs, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_1_3 },
5580   { &hf_rrlp_referenceRelation, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_ReferenceRelation },
5581   { NULL, 0, 0, NULL }
5582 };
5583 
5584 static int
5585 dissect_rrlp_MultipleSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5586   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5587                                    ett_rrlp_MultipleSets, MultipleSets_sequence);
5588 
5589   return offset;
5590 }
5591 
5592 
5593 static const per_sequence_t BSICAndCarrier_sequence[] = {
5594   { &hf_rrlp_carrier        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
5595   { &hf_rrlp_bsic           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BSIC },
5596   { NULL, 0, 0, NULL }
5597 };
5598 
5599 static int
5600 dissect_rrlp_BSICAndCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5601   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5602                                    ett_rrlp_BSICAndCarrier, BSICAndCarrier_sequence);
5603 
5604   return offset;
5605 }
5606 
5607 
5608 
5609 static int
5610 dissect_rrlp_CellID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5611   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5612                                                             0U, 65535U, NULL, FALSE);
5613 
5614   return offset;
5615 }
5616 
5617 
5618 
5619 static int
5620 dissect_rrlp_RequestIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5621   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5622                                                             1U, 16U, NULL, FALSE);
5623 
5624   return offset;
5625 }
5626 
5627 
5628 
5629 static int
5630 dissect_rrlp_SystemInfoIndex(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5631   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5632                                                             1U, 32U, NULL, FALSE);
5633 
5634   return offset;
5635 }
5636 
5637 
5638 
5639 static int
5640 dissect_rrlp_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5641   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5642                                                             0U, 65535U, NULL, FALSE);
5643 
5644   return offset;
5645 }
5646 
5647 
5648 static const per_sequence_t CellIDAndLAC_sequence[] = {
5649   { &hf_rrlp_referenceLAC   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_LAC },
5650   { &hf_rrlp_referenceCI    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_CellID },
5651   { NULL, 0, 0, NULL }
5652 };
5653 
5654 static int
5655 dissect_rrlp_CellIDAndLAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5656   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5657                                    ett_rrlp_CellIDAndLAC, CellIDAndLAC_sequence);
5658 
5659   return offset;
5660 }
5661 
5662 
5663 static const value_string rrlp_ReferenceIdentityType_vals[] = {
5664   {   0, "bsicAndCarrier" },
5665   {   1, "ci" },
5666   {   2, "requestIndex" },
5667   {   3, "systemInfoIndex" },
5668   {   4, "ciAndLAC" },
5669   { 0, NULL }
5670 };
5671 
5672 static const per_choice_t ReferenceIdentityType_choice[] = {
5673   {   0, &hf_rrlp_bsicAndCarrier , ASN1_NO_EXTENSIONS     , dissect_rrlp_BSICAndCarrier },
5674   {   1, &hf_rrlp_ci             , ASN1_NO_EXTENSIONS     , dissect_rrlp_CellID },
5675   {   2, &hf_rrlp_requestIndex   , ASN1_NO_EXTENSIONS     , dissect_rrlp_RequestIndex },
5676   {   3, &hf_rrlp_systemInfoIndex, ASN1_NO_EXTENSIONS     , dissect_rrlp_SystemInfoIndex },
5677   {   4, &hf_rrlp_ciAndLAC       , ASN1_NO_EXTENSIONS     , dissect_rrlp_CellIDAndLAC },
5678   { 0, NULL, 0, NULL }
5679 };
5680 
5681 static int
5682 dissect_rrlp_ReferenceIdentityType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5683   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5684                                  ett_rrlp_ReferenceIdentityType, ReferenceIdentityType_choice,
5685                                  NULL);
5686 
5687   return offset;
5688 }
5689 
5690 
5691 static const per_sequence_t SeqOfReferenceIdentityType_sequence_of[1] = {
5692   { &hf_rrlp_SeqOfReferenceIdentityType_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ReferenceIdentityType },
5693 };
5694 
5695 static int
5696 dissect_rrlp_SeqOfReferenceIdentityType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5697   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5698                                                   ett_rrlp_SeqOfReferenceIdentityType, SeqOfReferenceIdentityType_sequence_of,
5699                                                   1, 3, FALSE);
5700 
5701   return offset;
5702 }
5703 
5704 
5705 static const per_sequence_t ReferenceIdentity_sequence[] = {
5706   { &hf_rrlp_refBTSList     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfReferenceIdentityType },
5707   { NULL, 0, 0, NULL }
5708 };
5709 
5710 static int
5711 dissect_rrlp_ReferenceIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5712   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5713                                    ett_rrlp_ReferenceIdentity, ReferenceIdentity_sequence);
5714 
5715   return offset;
5716 }
5717 
5718 
5719 
5720 static int
5721 dissect_rrlp_INTEGER_0_42431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5722   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5723                                                             0U, 42431U, NULL, FALSE);
5724 
5725   return offset;
5726 }
5727 
5728 
5729 
5730 static int
5731 dissect_rrlp_ModuloTimeSlot(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5732   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5733                                                             0U, 3U, NULL, FALSE);
5734 
5735   return offset;
5736 }
5737 
5738 
5739 
5740 static int
5741 dissect_rrlp_RefQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5742   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5743                                                             0U, 31U, NULL, FALSE);
5744 
5745   return offset;
5746 }
5747 
5748 
5749 
5750 static int
5751 dissect_rrlp_NumOfMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5752   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5753                                                             0U, 7U, NULL, FALSE);
5754 
5755   return offset;
5756 }
5757 
5758 
5759 static const per_sequence_t TOA_MeasurementsOfRef_sequence[] = {
5760   { &hf_rrlp_refQuality     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_RefQuality },
5761   { &hf_rrlp_numOfMeasurements, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_NumOfMeasurements },
5762   { NULL, 0, 0, NULL }
5763 };
5764 
5765 static int
5766 dissect_rrlp_TOA_MeasurementsOfRef(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5767   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5768                                    ett_rrlp_TOA_MeasurementsOfRef, TOA_MeasurementsOfRef_sequence);
5769 
5770   return offset;
5771 }
5772 
5773 
5774 
5775 static int
5776 dissect_rrlp_StdResolution(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5777   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5778                                                             0U, 3U, NULL, FALSE);
5779 
5780   return offset;
5781 }
5782 
5783 
5784 
5785 static int
5786 dissect_rrlp_INTEGER_0_960(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5787   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5788                                                             0U, 960U, NULL, FALSE);
5789 
5790   return offset;
5791 }
5792 
5793 
5794 static const per_sequence_t MultiFrameCarrier_sequence[] = {
5795   { &hf_rrlp_bcchCarrier    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_BCCHCarrier },
5796   { &hf_rrlp_multiFrameOffset, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MultiFrameOffset },
5797   { NULL, 0, 0, NULL }
5798 };
5799 
5800 static int
5801 dissect_rrlp_MultiFrameCarrier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5802   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5803                                    ett_rrlp_MultiFrameCarrier, MultiFrameCarrier_sequence);
5804 
5805   return offset;
5806 }
5807 
5808 
5809 static const value_string rrlp_NeighborIdentity_vals[] = {
5810   {   0, "bsicAndCarrier" },
5811   {   1, "ci" },
5812   {   2, "multiFrameCarrier" },
5813   {   3, "requestIndex" },
5814   {   4, "systemInfoIndex" },
5815   {   5, "ciAndLAC" },
5816   { 0, NULL }
5817 };
5818 
5819 static const per_choice_t NeighborIdentity_choice[] = {
5820   {   0, &hf_rrlp_bsicAndCarrier , ASN1_NO_EXTENSIONS     , dissect_rrlp_BSICAndCarrier },
5821   {   1, &hf_rrlp_ci             , ASN1_NO_EXTENSIONS     , dissect_rrlp_CellID },
5822   {   2, &hf_rrlp_multiFrameCarrier, ASN1_NO_EXTENSIONS     , dissect_rrlp_MultiFrameCarrier },
5823   {   3, &hf_rrlp_requestIndex   , ASN1_NO_EXTENSIONS     , dissect_rrlp_RequestIndex },
5824   {   4, &hf_rrlp_systemInfoIndex, ASN1_NO_EXTENSIONS     , dissect_rrlp_SystemInfoIndex },
5825   {   5, &hf_rrlp_ciAndLAC       , ASN1_NO_EXTENSIONS     , dissect_rrlp_CellIDAndLAC },
5826   { 0, NULL, 0, NULL }
5827 };
5828 
5829 static int
5830 dissect_rrlp_NeighborIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5831   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5832                                  ett_rrlp_NeighborIdentity, NeighborIdentity_choice,
5833                                  NULL);
5834 
5835   return offset;
5836 }
5837 
5838 
5839 static const per_sequence_t EOTDQuality_sequence[] = {
5840   { &hf_rrlp_nbrOfMeasurements, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
5841   { &hf_rrlp_stdOfEOTD      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_31 },
5842   { NULL, 0, 0, NULL }
5843 };
5844 
5845 static int
5846 dissect_rrlp_EOTDQuality(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5847   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5848                                    ett_rrlp_EOTDQuality, EOTDQuality_sequence);
5849 
5850   return offset;
5851 }
5852 
5853 
5854 
5855 static int
5856 dissect_rrlp_OTDValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5857   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
5858                                                             0U, 39999U, NULL, FALSE);
5859 
5860   return offset;
5861 }
5862 
5863 
5864 static const per_sequence_t OTD_MeasurementWithID_sequence[] = {
5865   { &hf_rrlp_neighborIdentity, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_NeighborIdentity },
5866   { &hf_rrlp_nborTimeSlot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
5867   { &hf_rrlp_eotdQuality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_EOTDQuality },
5868   { &hf_rrlp_otdValue       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTDValue },
5869   { NULL, 0, 0, NULL }
5870 };
5871 
5872 static int
5873 dissect_rrlp_OTD_MeasurementWithID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5874   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5875                                    ett_rrlp_OTD_MeasurementWithID, OTD_MeasurementWithID_sequence);
5876 
5877   return offset;
5878 }
5879 
5880 
5881 
5882 static int
5883 dissect_rrlp_OTD_FirstSetMsrs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5884   offset = dissect_rrlp_OTD_MeasurementWithID(tvb, offset, actx, tree, hf_index);
5885 
5886   return offset;
5887 }
5888 
5889 
5890 static const per_sequence_t SeqOfOTD_FirstSetMsrs_sequence_of[1] = {
5891   { &hf_rrlp_SeqOfOTD_FirstSetMsrs_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_FirstSetMsrs },
5892 };
5893 
5894 static int
5895 dissect_rrlp_SeqOfOTD_FirstSetMsrs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5896   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5897                                                   ett_rrlp_SeqOfOTD_FirstSetMsrs, SeqOfOTD_FirstSetMsrs_sequence_of,
5898                                                   1, 10, FALSE);
5899 
5900   return offset;
5901 }
5902 
5903 
5904 static const per_sequence_t OTD_MsrElementFirst_sequence[] = {
5905   { &hf_rrlp_refFrameNumber , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_42431 },
5906   { &hf_rrlp_referenceTimeSlot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
5907   { &hf_rrlp_toaMeasurementsOfRef, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_TOA_MeasurementsOfRef },
5908   { &hf_rrlp_stdResolution  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_StdResolution },
5909   { &hf_rrlp_taCorrection   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_960 },
5910   { &hf_rrlp_otd_FirstSetMsrs, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_SeqOfOTD_FirstSetMsrs },
5911   { NULL, 0, 0, NULL }
5912 };
5913 
5914 static int
5915 dissect_rrlp_OTD_MsrElementFirst(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5916   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5917                                    ett_rrlp_OTD_MsrElementFirst, OTD_MsrElementFirst_sequence);
5918 
5919   return offset;
5920 }
5921 
5922 
5923 static const per_sequence_t OTD_Measurement_sequence[] = {
5924   { &hf_rrlp_nborTimeSlot   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
5925   { &hf_rrlp_eotdQuality    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_EOTDQuality },
5926   { &hf_rrlp_otdValue       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTDValue },
5927   { NULL, 0, 0, NULL }
5928 };
5929 
5930 static int
5931 dissect_rrlp_OTD_Measurement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5932   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5933                                    ett_rrlp_OTD_Measurement, OTD_Measurement_sequence);
5934 
5935   return offset;
5936 }
5937 
5938 
5939 static const value_string rrlp_OTD_MsrsOfOtherSets_vals[] = {
5940   {   0, "identityNotPresent" },
5941   {   1, "identityPresent" },
5942   { 0, NULL }
5943 };
5944 
5945 static const per_choice_t OTD_MsrsOfOtherSets_choice[] = {
5946   {   0, &hf_rrlp_identityNotPresent, ASN1_NO_EXTENSIONS     , dissect_rrlp_OTD_Measurement },
5947   {   1, &hf_rrlp_identityPresent, ASN1_NO_EXTENSIONS     , dissect_rrlp_OTD_MeasurementWithID },
5948   { 0, NULL, 0, NULL }
5949 };
5950 
5951 static int
5952 dissect_rrlp_OTD_MsrsOfOtherSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5953   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
5954                                  ett_rrlp_OTD_MsrsOfOtherSets, OTD_MsrsOfOtherSets_choice,
5955                                  NULL);
5956 
5957   return offset;
5958 }
5959 
5960 
5961 static const per_sequence_t SeqOfOTD_MsrsOfOtherSets_sequence_of[1] = {
5962   { &hf_rrlp_SeqOfOTD_MsrsOfOtherSets_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrsOfOtherSets },
5963 };
5964 
5965 static int
5966 dissect_rrlp_SeqOfOTD_MsrsOfOtherSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5967   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
5968                                                   ett_rrlp_SeqOfOTD_MsrsOfOtherSets, SeqOfOTD_MsrsOfOtherSets_sequence_of,
5969                                                   1, 10, FALSE);
5970 
5971   return offset;
5972 }
5973 
5974 
5975 static const per_sequence_t OTD_MsrElementRest_sequence[] = {
5976   { &hf_rrlp_refFrameNumber , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_42431 },
5977   { &hf_rrlp_referenceTimeSlot, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_ModuloTimeSlot },
5978   { &hf_rrlp_toaMeasurementsOfRef, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_TOA_MeasurementsOfRef },
5979   { &hf_rrlp_stdResolution  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_StdResolution },
5980   { &hf_rrlp_taCorrection   , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_960 },
5981   { &hf_rrlp_otd_MsrsOfOtherSets, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_SeqOfOTD_MsrsOfOtherSets },
5982   { NULL, 0, 0, NULL }
5983 };
5984 
5985 static int
5986 dissect_rrlp_OTD_MsrElementRest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
5987   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
5988                                    ett_rrlp_OTD_MsrElementRest, OTD_MsrElementRest_sequence);
5989 
5990   return offset;
5991 }
5992 
5993 
5994 static const per_sequence_t SeqOfOTD_MsrElementRest_sequence_of[1] = {
5995   { &hf_rrlp_SeqOfOTD_MsrElementRest_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrElementRest },
5996 };
5997 
5998 static int
5999 dissect_rrlp_SeqOfOTD_MsrElementRest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6000   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6001                                                   ett_rrlp_SeqOfOTD_MsrElementRest, SeqOfOTD_MsrElementRest_sequence_of,
6002                                                   1, 2, FALSE);
6003 
6004   return offset;
6005 }
6006 
6007 
6008 static const per_sequence_t OTD_MeasureInfo_sequence[] = {
6009   { &hf_rrlp_otdMsrFirstSets, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrElementFirst },
6010   { &hf_rrlp_otdMsrRestSets , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_SeqOfOTD_MsrElementRest },
6011   { NULL, 0, 0, NULL }
6012 };
6013 
6014 static int
6015 dissect_rrlp_OTD_MeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6016   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6017                                    ett_rrlp_OTD_MeasureInfo, OTD_MeasureInfo_sequence);
6018 
6019   return offset;
6020 }
6021 
6022 
6023 
6024 static int
6025 dissect_rrlp_INTEGER_0_14399999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6026   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6027                                                             0U, 14399999U, NULL, FALSE);
6028 
6029   return offset;
6030 }
6031 
6032 
6033 static const value_string rrlp_FixType_vals[] = {
6034   {   0, "twoDFix" },
6035   {   1, "threeDFix" },
6036   { 0, NULL }
6037 };
6038 
6039 
6040 static int
6041 dissect_rrlp_FixType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6042   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6043                                                             0U, 1U, NULL, FALSE);
6044 
6045   return offset;
6046 }
6047 
6048 
6049 static const per_sequence_t LocationInfo_sequence[] = {
6050   { &hf_rrlp_refFrame       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
6051   { &hf_rrlp_gpsTOW         , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_14399999 },
6052   { &hf_rrlp_fixType        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_FixType },
6053   { &hf_rrlp_posEstimate    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
6054   { NULL, 0, 0, NULL }
6055 };
6056 
6057 static int
6058 dissect_rrlp_LocationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6059   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6060                                    ett_rrlp_LocationInfo, LocationInfo_sequence);
6061 
6062   return offset;
6063 }
6064 
6065 
6066 
6067 static int
6068 dissect_rrlp_GPSTOW24b(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6069   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6070                                                             0U, 14399999U, NULL, FALSE);
6071 
6072   return offset;
6073 }
6074 
6075 
6076 
6077 static int
6078 dissect_rrlp_INTEGER_0_1024(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6079   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6080                                                             0U, 1024U, NULL, FALSE);
6081 
6082   return offset;
6083 }
6084 
6085 
6086 static const value_string rrlp_MpathIndic_vals[] = {
6087   {   0, "notMeasured" },
6088   {   1, "low" },
6089   {   2, "medium" },
6090   {   3, "high" },
6091   { 0, NULL }
6092 };
6093 
6094 
6095 static int
6096 dissect_rrlp_MpathIndic(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6097   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6098                                      4, NULL, FALSE, 0, NULL);
6099 
6100   return offset;
6101 }
6102 
6103 
6104 static const per_sequence_t GPS_MsrElement_sequence[] = {
6105   { &hf_rrlp_satelliteID    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SatelliteID },
6106   { &hf_rrlp_cNo            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
6107   { &hf_rrlp_doppler        , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_M32768_32767 },
6108   { &hf_rrlp_wholeChips     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1022 },
6109   { &hf_rrlp_fracChips      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_1024 },
6110   { &hf_rrlp_mpathIndic     , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MpathIndic },
6111   { &hf_rrlp_pseuRangeRMSErr, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
6112   { NULL, 0, 0, NULL }
6113 };
6114 
6115 static int
6116 dissect_rrlp_GPS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6117   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6118                                    ett_rrlp_GPS_MsrElement, GPS_MsrElement_sequence);
6119 
6120   return offset;
6121 }
6122 
6123 
6124 static const per_sequence_t SeqOfGPS_MsrElement_sequence_of[1] = {
6125   { &hf_rrlp_SeqOfGPS_MsrElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPS_MsrElement },
6126 };
6127 
6128 static int
6129 dissect_rrlp_SeqOfGPS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6130   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6131                                                   ett_rrlp_SeqOfGPS_MsrElement, SeqOfGPS_MsrElement_sequence_of,
6132                                                   1, 16, FALSE);
6133 
6134   return offset;
6135 }
6136 
6137 
6138 static const per_sequence_t GPS_MsrSetElement_sequence[] = {
6139   { &hf_rrlp_refFrame       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_65535 },
6140   { &hf_rrlp_gpsTOW_01      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPSTOW24b },
6141   { &hf_rrlp_gps_msrList    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGPS_MsrElement },
6142   { NULL, 0, 0, NULL }
6143 };
6144 
6145 static int
6146 dissect_rrlp_GPS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6147   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6148                                    ett_rrlp_GPS_MsrSetElement, GPS_MsrSetElement_sequence);
6149 
6150   return offset;
6151 }
6152 
6153 
6154 static const per_sequence_t SeqOfGPS_MsrSetElement_sequence_of[1] = {
6155   { &hf_rrlp_SeqOfGPS_MsrSetElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GPS_MsrSetElement },
6156 };
6157 
6158 static int
6159 dissect_rrlp_SeqOfGPS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6160   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6161                                                   ett_rrlp_SeqOfGPS_MsrSetElement, SeqOfGPS_MsrSetElement_sequence_of,
6162                                                   1, 3, FALSE);
6163 
6164   return offset;
6165 }
6166 
6167 
6168 static const per_sequence_t GPS_MeasureInfo_sequence[] = {
6169   { &hf_rrlp_gpsMsrSetList  , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGPS_MsrSetElement },
6170   { NULL, 0, 0, NULL }
6171 };
6172 
6173 static int
6174 dissect_rrlp_GPS_MeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6175   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6176                                    ett_rrlp_GPS_MeasureInfo, GPS_MeasureInfo_sequence);
6177 
6178   return offset;
6179 }
6180 
6181 
6182 static const value_string rrlp_LocErrorReason_vals[] = {
6183   {   0, "unDefined" },
6184   {   1, "notEnoughBTSs" },
6185   {   2, "notEnoughSats" },
6186   {   3, "eotdLocCalAssDataMissing" },
6187   {   4, "eotdAssDataMissing" },
6188   {   5, "gpsLocCalAssDataMissing" },
6189   {   6, "gpsAssDataMissing" },
6190   {   7, "methodNotSupported" },
6191   {   8, "notProcessed" },
6192   {   9, "refBTSForGPSNotServingBTS" },
6193   {  10, "refBTSForEOTDNotServingBTS" },
6194   {  11, "notEnoughGANSSSats" },
6195   {  12, "ganssAssDataMissing" },
6196   {  13, "refBTSForGANSSNotServingBTS" },
6197   { 0, NULL }
6198 };
6199 
6200 
6201 static int
6202 dissect_rrlp_LocErrorReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6203   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6204                                      11, NULL, TRUE, 3, NULL);
6205 
6206   return offset;
6207 }
6208 
6209 
6210 
6211 static int
6212 dissect_rrlp_GPSAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6213   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6214                                        1, maxGPSAssistanceData, FALSE, NULL);
6215 
6216   return offset;
6217 }
6218 
6219 
6220 
6221 static int
6222 dissect_rrlp_GANSSAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6223   offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
6224                                        1, maxGANSSAssistanceData, FALSE, NULL);
6225 
6226   return offset;
6227 }
6228 
6229 
6230 static const per_sequence_t AdditionalAssistanceData_sequence[] = {
6231   { &hf_rrlp_gpsAssistanceData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSAssistanceData },
6232   { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ExtensionContainer },
6233   { &hf_rrlp_ganssAssistanceData, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSAssistanceData },
6234   { NULL, 0, 0, NULL }
6235 };
6236 
6237 static int
6238 dissect_rrlp_AdditionalAssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6239   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6240                                    ett_rrlp_AdditionalAssistanceData, AdditionalAssistanceData_sequence);
6241 
6242   return offset;
6243 }
6244 
6245 
6246 static const per_sequence_t LocationError_sequence[] = {
6247   { &hf_rrlp_locErrorReason , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_LocErrorReason },
6248   { &hf_rrlp_additionalAssistanceData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_AdditionalAssistanceData },
6249   { NULL, 0, 0, NULL }
6250 };
6251 
6252 static int
6253 dissect_rrlp_LocationError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6254   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6255                                    ett_rrlp_LocationError, LocationError_sequence);
6256 
6257   return offset;
6258 }
6259 
6260 
6261 static const per_sequence_t SeqOfOTD_FirstSetMsrs_R98_Ext_sequence_of[1] = {
6262   { &hf_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_FirstSetMsrs },
6263 };
6264 
6265 static int
6266 dissect_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6267   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6268                                                   ett_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext, SeqOfOTD_FirstSetMsrs_R98_Ext_sequence_of,
6269                                                   1, 5, FALSE);
6270 
6271   return offset;
6272 }
6273 
6274 
6275 static const per_sequence_t OTD_MsrElementFirst_R98_Ext_sequence[] = {
6276   { &hf_rrlp_otd_FirstSetMsrs_R98_Ext, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext },
6277   { NULL, 0, 0, NULL }
6278 };
6279 
6280 static int
6281 dissect_rrlp_OTD_MsrElementFirst_R98_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6282   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6283                                    ett_rrlp_OTD_MsrElementFirst_R98_Ext, OTD_MsrElementFirst_R98_Ext_sequence);
6284 
6285   return offset;
6286 }
6287 
6288 
6289 static const per_sequence_t OTD_MeasureInfo_R98_Ext_sequence[] = {
6290   { &hf_rrlp_otdMsrFirstSets_R98_Ext, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_OTD_MsrElementFirst_R98_Ext },
6291   { NULL, 0, 0, NULL }
6292 };
6293 
6294 static int
6295 dissect_rrlp_OTD_MeasureInfo_R98_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6296   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6297                                    ett_rrlp_OTD_MeasureInfo_R98_Ext, OTD_MeasureInfo_R98_Ext_sequence);
6298 
6299   return offset;
6300 }
6301 
6302 
6303 static const per_sequence_t T_rel_98_Ext_MeasureInfo_sequence[] = {
6304   { &hf_rrlp_otd_MeasureInfo_R98_Ext, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_OTD_MeasureInfo_R98_Ext },
6305   { NULL, 0, 0, NULL }
6306 };
6307 
6308 static int
6309 dissect_rrlp_T_rel_98_Ext_MeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6310   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6311                                    ett_rrlp_T_rel_98_Ext_MeasureInfo, T_rel_98_Ext_MeasureInfo_sequence);
6312 
6313   return offset;
6314 }
6315 
6316 
6317 
6318 static int
6319 dissect_rrlp_INTEGER_0_9999(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6320   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6321                                                             0U, 9999U, NULL, FALSE);
6322 
6323   return offset;
6324 }
6325 
6326 
6327 static const per_sequence_t GPSTimeAssistanceMeasurements_sequence[] = {
6328   { &hf_rrlp_referenceFrameMSB, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_63 },
6329   { &hf_rrlp_gpsTowSubms    , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_9999 },
6330   { &hf_rrlp_deltaTow       , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_127 },
6331   { &hf_rrlp_gpsReferenceTimeUncertainty, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GPSReferenceTimeUncertainty },
6332   { NULL, 0, 0, NULL }
6333 };
6334 
6335 static int
6336 dissect_rrlp_GPSTimeAssistanceMeasurements(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6337   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6338                                    ett_rrlp_GPSTimeAssistanceMeasurements, GPSTimeAssistanceMeasurements_sequence);
6339 
6340   return offset;
6341 }
6342 
6343 
6344 static const per_sequence_t Rel_98_MsrPosition_Rsp_Extension_sequence[] = {
6345   { &hf_rrlp_rel_98_Ext_MeasureInfo, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_T_rel_98_Ext_MeasureInfo },
6346   { &hf_rrlp_timeAssistanceMeasurements, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GPSTimeAssistanceMeasurements },
6347   { NULL, 0, 0, NULL }
6348 };
6349 
6350 static int
6351 dissect_rrlp_Rel_98_MsrPosition_Rsp_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6352   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6353                                    ett_rrlp_Rel_98_MsrPosition_Rsp_Extension, Rel_98_MsrPosition_Rsp_Extension_sequence);
6354 
6355   return offset;
6356 }
6357 
6358 
6359 
6360 static int
6361 dissect_rrlp_OTD_MeasureInfo_5_Ext(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6362   offset = dissect_rrlp_SeqOfOTD_MsrElementRest(tvb, offset, actx, tree, hf_index);
6363 
6364   return offset;
6365 }
6366 
6367 
6368 static const value_string rrlp_UlPseudoSegInd_vals[] = {
6369   {   0, "firstOfMany" },
6370   {   1, "secondOfMany" },
6371   { 0, NULL }
6372 };
6373 
6374 
6375 static int
6376 dissect_rrlp_UlPseudoSegInd(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6377   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6378                                      2, NULL, FALSE, 0, NULL);
6379 
6380   return offset;
6381 }
6382 
6383 
6384 static const per_sequence_t Rel_5_MsrPosition_Rsp_Extension_sequence[] = {
6385   { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_Extended_reference },
6386   { &hf_rrlp_otd_MeasureInfo_5_Ext, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_OTD_MeasureInfo_5_Ext },
6387   { &hf_rrlp_ulPseudoSegInd , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_UlPseudoSegInd },
6388   { NULL, 0, 0, NULL }
6389 };
6390 
6391 static int
6392 dissect_rrlp_Rel_5_MsrPosition_Rsp_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6393   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6394                                    ett_rrlp_Rel_5_MsrPosition_Rsp_Extension, Rel_5_MsrPosition_Rsp_Extension_sequence);
6395 
6396   return offset;
6397 }
6398 
6399 
6400 static const per_sequence_t ReferenceFrame_sequence[] = {
6401   { &hf_rrlp_referenceFN    , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_65535 },
6402   { &hf_rrlp_referenceFNMSB , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_63 },
6403   { NULL, 0, 0, NULL }
6404 };
6405 
6406 static int
6407 dissect_rrlp_ReferenceFrame(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6408   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6409                                    ett_rrlp_ReferenceFrame, ReferenceFrame_sequence);
6410 
6411   return offset;
6412 }
6413 
6414 
6415 
6416 static int
6417 dissect_rrlp_GANSSTODm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6418   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6419                                                             0U, 3599999U, NULL, FALSE);
6420 
6421   return offset;
6422 }
6423 
6424 
6425 
6426 static int
6427 dissect_rrlp_INTEGER_0_16384(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6428   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6429                                                             0U, 16384U, NULL, FALSE);
6430 
6431   return offset;
6432 }
6433 
6434 
6435 static int * const PositionData_bits[] = {
6436   &hf_rrlp_PositionData_e_otd,
6437   &hf_rrlp_PositionData_gps,
6438   &hf_rrlp_PositionData_galileo,
6439   &hf_rrlp_PositionData_sbas,
6440   &hf_rrlp_PositionData_modernizedGPS,
6441   &hf_rrlp_PositionData_qzss,
6442   &hf_rrlp_PositionData_glonass,
6443   NULL
6444 };
6445 
6446 static int
6447 dissect_rrlp_PositionData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6448   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6449                                      3, 16, FALSE, PositionData_bits, 7, NULL, NULL);
6450 
6451   return offset;
6452 }
6453 
6454 
6455 static const per_sequence_t GANSSLocationInfo_sequence[] = {
6456   { &hf_rrlp_referenceFrame , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ReferenceFrame },
6457   { &hf_rrlp_ganssTODm      , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSTODm },
6458   { &hf_rrlp_ganssTODFrac   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_16384 },
6459   { &hf_rrlp_ganssTODUncertainty, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSTODUncertainty },
6460   { &hf_rrlp_ganssTimeID    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
6461   { &hf_rrlp_fixType        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_FixType },
6462   { &hf_rrlp_posData        , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_PositionData },
6463   { &hf_rrlp_stationaryIndication, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_1 },
6464   { &hf_rrlp_posEstimate    , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_Ext_GeographicalInformation },
6465   { NULL, 0, 0, NULL }
6466 };
6467 
6468 static int
6469 dissect_rrlp_GANSSLocationInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6470   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6471                                    ett_rrlp_GANSSLocationInfo, GANSSLocationInfo_sequence);
6472 
6473   return offset;
6474 }
6475 
6476 
6477 
6478 static int
6479 dissect_rrlp_INTEGER_0_33554431(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6480   offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
6481                                                             0U, 33554431U, NULL, FALSE);
6482 
6483   return offset;
6484 }
6485 
6486 
6487 static const per_sequence_t GANSS_SgnElement_sequence[] = {
6488   { &hf_rrlp_svID           , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SVID },
6489   { &hf_rrlp_cNo            , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
6490   { &hf_rrlp_mpathDet       , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_MpathIndic },
6491   { &hf_rrlp_carrierQualityInd, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_3 },
6492   { &hf_rrlp_codePhase_01   , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_2097151 },
6493   { &hf_rrlp_integerCodePhase, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_127 },
6494   { &hf_rrlp_codePhaseRMSError, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_63 },
6495   { &hf_rrlp_doppler        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_M32768_32767 },
6496   { &hf_rrlp_adr            , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_33554431 },
6497   { NULL, 0, 0, NULL }
6498 };
6499 
6500 static int
6501 dissect_rrlp_GANSS_SgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6502   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6503                                    ett_rrlp_GANSS_SgnElement, GANSS_SgnElement_sequence);
6504 
6505   return offset;
6506 }
6507 
6508 
6509 static const per_sequence_t SeqOfGANSS_SgnElement_sequence_of[1] = {
6510   { &hf_rrlp_SeqOfGANSS_SgnElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_SgnElement },
6511 };
6512 
6513 static int
6514 dissect_rrlp_SeqOfGANSS_SgnElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6515   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6516                                                   ett_rrlp_SeqOfGANSS_SgnElement, SeqOfGANSS_SgnElement_sequence_of,
6517                                                   1, 16, FALSE);
6518 
6519   return offset;
6520 }
6521 
6522 
6523 static const per_sequence_t GANSS_SgnTypeElement_sequence[] = {
6524   { &hf_rrlp_ganssSignalID  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignalID },
6525   { &hf_rrlp_ganssCodePhaseAmbiguity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_127 },
6526   { &hf_rrlp_ganss_SgnList  , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_SgnElement },
6527   { NULL, 0, 0, NULL }
6528 };
6529 
6530 static int
6531 dissect_rrlp_GANSS_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6532   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6533                                    ett_rrlp_GANSS_SgnTypeElement, GANSS_SgnTypeElement_sequence);
6534 
6535   return offset;
6536 }
6537 
6538 
6539 static const per_sequence_t SeqOfGANSS_SgnTypeElement_sequence_of[1] = {
6540   { &hf_rrlp_SeqOfGANSS_SgnTypeElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_SgnTypeElement },
6541 };
6542 
6543 static int
6544 dissect_rrlp_SeqOfGANSS_SgnTypeElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6545   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6546                                                   ett_rrlp_SeqOfGANSS_SgnTypeElement, SeqOfGANSS_SgnTypeElement_sequence_of,
6547                                                   1, 8, FALSE);
6548 
6549   return offset;
6550 }
6551 
6552 
6553 static const per_sequence_t GANSS_MsrElement_sequence[] = {
6554   { &hf_rrlp_ganssID        , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
6555   { &hf_rrlp_ganss_SgnTypeList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_SgnTypeElement },
6556   { NULL, 0, 0, NULL }
6557 };
6558 
6559 static int
6560 dissect_rrlp_GANSS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6561   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6562                                    ett_rrlp_GANSS_MsrElement, GANSS_MsrElement_sequence);
6563 
6564   return offset;
6565 }
6566 
6567 
6568 static const per_sequence_t SeqOfGANSS_MsrElement_sequence_of[1] = {
6569   { &hf_rrlp_SeqOfGANSS_MsrElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_MsrElement },
6570 };
6571 
6572 static int
6573 dissect_rrlp_SeqOfGANSS_MsrElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6574   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6575                                                   ett_rrlp_SeqOfGANSS_MsrElement, SeqOfGANSS_MsrElement_sequence_of,
6576                                                   1, 8, FALSE);
6577 
6578   return offset;
6579 }
6580 
6581 
6582 static const per_sequence_t GANSS_MsrSetElement_sequence[] = {
6583   { &hf_rrlp_referenceFrame , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_ReferenceFrame },
6584   { &hf_rrlp_ganssTODm      , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GANSSTODm },
6585   { &hf_rrlp_deltaGANSSTOD  , ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_127 },
6586   { &hf_rrlp_ganssTODUncertainty, ASN1_NO_EXTENSIONS     , ASN1_OPTIONAL    , dissect_rrlp_GANSSTODUncertainty },
6587   { &hf_rrlp_ganss_MsrElementList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_MsrElement },
6588   { NULL, 0, 0, NULL }
6589 };
6590 
6591 static int
6592 dissect_rrlp_GANSS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6593   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6594                                    ett_rrlp_GANSS_MsrSetElement, GANSS_MsrSetElement_sequence);
6595 
6596   return offset;
6597 }
6598 
6599 
6600 static const per_sequence_t SeqOfGANSS_MsrSetElement_sequence_of[1] = {
6601   { &hf_rrlp_SeqOfGANSS_MsrSetElement_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSS_MsrSetElement },
6602 };
6603 
6604 static int
6605 dissect_rrlp_SeqOfGANSS_MsrSetElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6606   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6607                                                   ett_rrlp_SeqOfGANSS_MsrSetElement, SeqOfGANSS_MsrSetElement_sequence_of,
6608                                                   1, 3, FALSE);
6609 
6610   return offset;
6611 }
6612 
6613 
6614 static const per_sequence_t GANSSMeasureInfo_sequence[] = {
6615   { &hf_rrlp_ganssMsrSetList, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_SeqOfGANSS_MsrSetElement },
6616   { NULL, 0, 0, NULL }
6617 };
6618 
6619 static int
6620 dissect_rrlp_GANSSMeasureInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6621   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6622                                    ett_rrlp_GANSSMeasureInfo, GANSSMeasureInfo_sequence);
6623 
6624   return offset;
6625 }
6626 
6627 
6628 static const per_sequence_t Rel_7_MsrPosition_Rsp_Extension_sequence[] = {
6629   { &hf_rrlp_velEstimate    , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_VelocityEstimate },
6630   { &hf_rrlp_ganssLocationInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSLocationInfo },
6631   { &hf_rrlp_ganssMeasureInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSMeasureInfo },
6632   { NULL, 0, 0, NULL }
6633 };
6634 
6635 static int
6636 dissect_rrlp_Rel_7_MsrPosition_Rsp_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6637   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6638                                    ett_rrlp_Rel_7_MsrPosition_Rsp_Extension, Rel_7_MsrPosition_Rsp_Extension_sequence);
6639 
6640   return offset;
6641 }
6642 
6643 
6644 static const per_sequence_t MsrPosition_Rsp_sequence[] = {
6645   { &hf_rrlp_multipleSets   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_MultipleSets },
6646   { &hf_rrlp_referenceIdentity, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ReferenceIdentity },
6647   { &hf_rrlp_otd_MeasureInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_OTD_MeasureInfo },
6648   { &hf_rrlp_locationInfo   , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_LocationInfo },
6649   { &hf_rrlp_gps_MeasureInfo, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPS_MeasureInfo },
6650   { &hf_rrlp_locationError  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_LocationError },
6651   { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ExtensionContainer },
6652   { &hf_rrlp_rel_98_MsrPosition_Rsp_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel_98_MsrPosition_Rsp_Extension },
6653   { &hf_rrlp_rel_5_MsrPosition_Rsp_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel_5_MsrPosition_Rsp_Extension },
6654   { &hf_rrlp_rel_7_MsrPosition_Rsp_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel_7_MsrPosition_Rsp_Extension },
6655   { NULL, 0, 0, NULL }
6656 };
6657 
6658 static int
6659 dissect_rrlp_MsrPosition_Rsp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6660   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6661                                    ett_rrlp_MsrPosition_Rsp, MsrPosition_Rsp_sequence);
6662 
6663   return offset;
6664 }
6665 
6666 
6667 static const value_string rrlp_MoreAssDataToBeSent_vals[] = {
6668   {   0, "noMoreMessages" },
6669   {   1, "moreMessagesOnTheWay" },
6670   { 0, NULL }
6671 };
6672 
6673 
6674 static int
6675 dissect_rrlp_MoreAssDataToBeSent(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6676   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6677                                      2, NULL, FALSE, 0, NULL);
6678 
6679   return offset;
6680 }
6681 
6682 
6683 static const per_sequence_t Rel98_AssistanceData_Extension_sequence[] = {
6684   { &hf_rrlp_rel98_Ext_ExpOTD, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_Rel98_Ext_ExpOTD },
6685   { &hf_rrlp_gpsTimeAssistanceMeasurementRequest, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_NULL },
6686   { &hf_rrlp_gpsReferenceTimeUncertainty, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GPSReferenceTimeUncertainty },
6687   { NULL, 0, 0, NULL }
6688 };
6689 
6690 static int
6691 dissect_rrlp_Rel98_AssistanceData_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6692   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6693                                    ett_rrlp_Rel98_AssistanceData_Extension, Rel98_AssistanceData_Extension_sequence);
6694 
6695   return offset;
6696 }
6697 
6698 
6699 static const per_sequence_t Rel5_AssistanceData_Extension_sequence[] = {
6700   { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
6701   { NULL, 0, 0, NULL }
6702 };
6703 
6704 static int
6705 dissect_rrlp_Rel5_AssistanceData_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6706   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6707                                    ett_rrlp_Rel5_AssistanceData_Extension, Rel5_AssistanceData_Extension_sequence);
6708 
6709   return offset;
6710 }
6711 
6712 
6713 static const per_sequence_t Rel7_AssistanceData_Extension_sequence[] = {
6714   { &hf_rrlp_ganss_AssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSS_AssistData },
6715   { &hf_rrlp_ganssCarrierPhaseMeasurementRequest, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_NULL },
6716   { &hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_NULL },
6717   { &hf_rrlp_add_GPS_AssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_Add_GPS_AssistData },
6718   { NULL, 0, 0, NULL }
6719 };
6720 
6721 static int
6722 dissect_rrlp_Rel7_AssistanceData_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6723   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6724                                    ett_rrlp_Rel7_AssistanceData_Extension, Rel7_AssistanceData_Extension_sequence);
6725 
6726   return offset;
6727 }
6728 
6729 
6730 static const per_sequence_t AssistanceData_sequence[] = {
6731   { &hf_rrlp_referenceAssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ReferenceAssistData },
6732   { &hf_rrlp_msrAssistData  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_MsrAssistData },
6733   { &hf_rrlp_systemInfoAssistData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_SystemInfoAssistData },
6734   { &hf_rrlp_gps_AssistData , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPS_AssistData },
6735   { &hf_rrlp_moreAssDataToBeSent, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_MoreAssDataToBeSent },
6736   { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ExtensionContainer },
6737   { &hf_rrlp_rel98_AssistanceData_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel98_AssistanceData_Extension },
6738   { &hf_rrlp_rel5_AssistanceData_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel5_AssistanceData_Extension },
6739   { &hf_rrlp_rel7_AssistanceData_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel7_AssistanceData_Extension },
6740   { NULL, 0, 0, NULL }
6741 };
6742 
6743 static int
6744 dissect_rrlp_AssistanceData(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6745   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6746                                    ett_rrlp_AssistanceData, AssistanceData_sequence);
6747 
6748   return offset;
6749 }
6750 
6751 
6752 static const value_string rrlp_ErrorCodes_vals[] = {
6753   {   0, "unDefined" },
6754   {   1, "missingComponet" },
6755   {   2, "incorrectData" },
6756   {   3, "missingIEorComponentElement" },
6757   {   4, "messageTooShort" },
6758   {   5, "unknowReferenceNumber" },
6759   { 0, NULL }
6760 };
6761 
6762 
6763 static int
6764 dissect_rrlp_ErrorCodes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6765   offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6766                                      6, NULL, TRUE, 0, NULL);
6767 
6768   return offset;
6769 }
6770 
6771 
6772 static const per_sequence_t Rel_5_ProtocolError_Extension_sequence[] = {
6773   { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_Extended_reference },
6774   { NULL, 0, 0, NULL }
6775 };
6776 
6777 static int
6778 dissect_rrlp_Rel_5_ProtocolError_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6779   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6780                                    ett_rrlp_Rel_5_ProtocolError_Extension, Rel_5_ProtocolError_Extension_sequence);
6781 
6782   return offset;
6783 }
6784 
6785 
6786 static const per_sequence_t ProtocolError_sequence[] = {
6787   { &hf_rrlp_errorCause     , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_ErrorCodes },
6788   { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ExtensionContainer },
6789   { &hf_rrlp_rel_5_ProtocolError_Extension, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_Rel_5_ProtocolError_Extension },
6790   { NULL, 0, 0, NULL }
6791 };
6792 
6793 static int
6794 dissect_rrlp_ProtocolError(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6795   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6796                                    ett_rrlp_ProtocolError, ProtocolError_sequence);
6797 
6798   return offset;
6799 }
6800 
6801 
6802 static int * const GANSSPositioningMethodTypes_bits[] = {
6803   &hf_rrlp_GANSSPositioningMethodTypes_msAssisted,
6804   &hf_rrlp_GANSSPositioningMethodTypes_msBased,
6805   &hf_rrlp_GANSSPositioningMethodTypes_standalone,
6806   NULL
6807 };
6808 
6809 static int
6810 dissect_rrlp_GANSSPositioningMethodTypes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6811   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6812                                      1, 8, FALSE, GANSSPositioningMethodTypes_bits, 3, NULL, NULL);
6813 
6814   return offset;
6815 }
6816 
6817 
6818 static int * const SBASID_bits[] = {
6819   &hf_rrlp_SBASID_waas,
6820   &hf_rrlp_SBASID_egnos,
6821   &hf_rrlp_SBASID_masas,
6822   &hf_rrlp_SBASID_gagan,
6823   NULL
6824 };
6825 
6826 static int
6827 dissect_rrlp_SBASID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6828   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6829                                      1, 8, FALSE, SBASID_bits, 4, NULL, NULL);
6830 
6831   return offset;
6832 }
6833 
6834 
6835 static const per_sequence_t GANSSPositionMethod_sequence[] = {
6836   { &hf_rrlp_ganssID        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
6837   { &hf_rrlp_gANSSPositioningMethodTypes, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSPositioningMethodTypes },
6838   { &hf_rrlp_gANSSSignals   , ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSSignals },
6839   { &hf_rrlp_sbasID_01      , ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_SBASID },
6840   { NULL, 0, 0, NULL }
6841 };
6842 
6843 static int
6844 dissect_rrlp_GANSSPositionMethod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6845   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6846                                    ett_rrlp_GANSSPositionMethod, GANSSPositionMethod_sequence);
6847 
6848   return offset;
6849 }
6850 
6851 
6852 static const per_sequence_t GANSSPositionMethods_sequence_of[1] = {
6853   { &hf_rrlp_GANSSPositionMethods_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSPositionMethod },
6854 };
6855 
6856 static int
6857 dissect_rrlp_GANSSPositionMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6858   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
6859                                                   ett_rrlp_GANSSPositionMethods, GANSSPositionMethods_sequence_of,
6860                                                   1, 16, FALSE);
6861 
6862   return offset;
6863 }
6864 
6865 
6866 static const per_sequence_t PosCapability_Req_sequence[] = {
6867   { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
6868   { &hf_rrlp_gANSSPositionMethods, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSPositionMethods },
6869   { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ExtensionContainer },
6870   { NULL, 0, 0, NULL }
6871 };
6872 
6873 static int
6874 dissect_rrlp_PosCapability_Req(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6875   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6876                                    ett_rrlp_PosCapability_Req, PosCapability_Req_sequence);
6877 
6878   return offset;
6879 }
6880 
6881 
6882 static int * const NonGANSSPositionMethods_bits[] = {
6883   &hf_rrlp_NonGANSSPositionMethods_msAssistedEOTD,
6884   &hf_rrlp_NonGANSSPositionMethods_msBasedEOTD,
6885   &hf_rrlp_NonGANSSPositionMethods_msAssistedGPS,
6886   &hf_rrlp_NonGANSSPositionMethods_msBasedGPS,
6887   &hf_rrlp_NonGANSSPositionMethods_standaloneGPS,
6888   NULL
6889 };
6890 
6891 static int
6892 dissect_rrlp_NonGANSSPositionMethods(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6893   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6894                                      1, 16, FALSE, NonGANSSPositionMethods_bits, 5, NULL, NULL);
6895 
6896   return offset;
6897 }
6898 
6899 
6900 static int * const MultipleMeasurementSets_bits[] = {
6901   &hf_rrlp_MultipleMeasurementSets_eotd,
6902   &hf_rrlp_MultipleMeasurementSets_gps,
6903   &hf_rrlp_MultipleMeasurementSets_ganss,
6904   NULL
6905 };
6906 
6907 static int
6908 dissect_rrlp_MultipleMeasurementSets(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6909   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6910                                      1, 8, FALSE, MultipleMeasurementSets_bits, 3, NULL, NULL);
6911 
6912   return offset;
6913 }
6914 
6915 
6916 static const per_sequence_t PosCapabilities_sequence[] = {
6917   { &hf_rrlp_nonGANSSpositionMethods, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_NonGANSSPositionMethods },
6918   { &hf_rrlp_gANSSPositionMethods, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSPositionMethods },
6919   { &hf_rrlp_multipleMeasurementSets, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_MultipleMeasurementSets },
6920   { NULL, 0, 0, NULL }
6921 };
6922 
6923 static int
6924 dissect_rrlp_PosCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6925   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
6926                                    ett_rrlp_PosCapabilities, PosCapabilities_sequence);
6927 
6928   return offset;
6929 }
6930 
6931 
6932 static int * const GPSAssistance_bits[] = {
6933   &hf_rrlp_GPSAssistance_almanac,
6934   &hf_rrlp_GPSAssistance_uTCmodel,
6935   &hf_rrlp_GPSAssistance_ionosphericModel,
6936   &hf_rrlp_GPSAssistance_navigationmodel,
6937   &hf_rrlp_GPSAssistance_dGPScorrections,
6938   &hf_rrlp_GPSAssistance_referenceLocation,
6939   &hf_rrlp_GPSAssistance_referenceTime,
6940   &hf_rrlp_GPSAssistance_acquisitionAssistance,
6941   &hf_rrlp_GPSAssistance_realTimeIntegrity,
6942   &hf_rrlp_GPSAssistance_ephemerisExtension,
6943   &hf_rrlp_GPSAssistance_ephemerisExtensionCheck,
6944   NULL
6945 };
6946 
6947 static int
6948 dissect_rrlp_GPSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6949   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6950                                      1, 16, FALSE, GPSAssistance_bits, 11, NULL, NULL);
6951 
6952   return offset;
6953 }
6954 
6955 
6956 static int * const CommonGANSSAssistance_bits[] = {
6957   &hf_rrlp_CommonGANSSAssistance_referenceTime,
6958   &hf_rrlp_CommonGANSSAssistance_referenceLocation,
6959   &hf_rrlp_CommonGANSSAssistance_spare_bit2,
6960   &hf_rrlp_CommonGANSSAssistance_ionosphericModel,
6961   &hf_rrlp_CommonGANSSAssistance_addIonosphericModel,
6962   &hf_rrlp_CommonGANSSAssistance_earthOrientationParam,
6963   NULL
6964 };
6965 
6966 static int
6967 dissect_rrlp_CommonGANSSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6968   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6969                                      1, 8, FALSE, CommonGANSSAssistance_bits, 6, NULL, NULL);
6970 
6971   return offset;
6972 }
6973 
6974 
6975 static int * const GANSSAssistance_bits[] = {
6976   &hf_rrlp_GANSSAssistance_realTimeIntegrity,
6977   &hf_rrlp_GANSSAssistance_differentialCorrections,
6978   &hf_rrlp_GANSSAssistance_almanac,
6979   &hf_rrlp_GANSSAssistance_referenceMeasurementInformation,
6980   &hf_rrlp_GANSSAssistance_navigationModel,
6981   &hf_rrlp_GANSSAssistance_timeModelGNSS_UTC,
6982   &hf_rrlp_GANSSAssistance_timeModelGNSS_GNSS,
6983   &hf_rrlp_GANSSAssistance_databitassistance,
6984   &hf_rrlp_GANSSAssistance_ephemerisExtension,
6985   &hf_rrlp_GANSSAssistance_ephemerisExtensionCheck,
6986   &hf_rrlp_GANSSAssistance_addUTCmodel,
6987   &hf_rrlp_GANSSAssistance_auxiliaryInformation,
6988   NULL
6989 };
6990 
6991 static int
6992 dissect_rrlp_GANSSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
6993   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
6994                                      1, 16, FALSE, GANSSAssistance_bits, 12, NULL, NULL);
6995 
6996   return offset;
6997 }
6998 
6999 
7000 static const per_sequence_t GANSSAssistanceForOneGANSS_sequence[] = {
7001   { &hf_rrlp_ganssID        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
7002   { &hf_rrlp_gANSSAssistance, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAssistance },
7003   { NULL, 0, 0, NULL }
7004 };
7005 
7006 static int
7007 dissect_rrlp_GANSSAssistanceForOneGANSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7008   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7009                                    ett_rrlp_GANSSAssistanceForOneGANSS, GANSSAssistanceForOneGANSS_sequence);
7010 
7011   return offset;
7012 }
7013 
7014 
7015 static const per_sequence_t SpecificGANSSAssistance_sequence_of[1] = {
7016   { &hf_rrlp_SpecificGANSSAssistance_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAssistanceForOneGANSS },
7017 };
7018 
7019 static int
7020 dissect_rrlp_SpecificGANSSAssistance(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7021   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7022                                                   ett_rrlp_SpecificGANSSAssistance, SpecificGANSSAssistance_sequence_of,
7023                                                   1, 16, FALSE);
7024 
7025   return offset;
7026 }
7027 
7028 
7029 static const per_sequence_t GANSSAssistanceSet_sequence[] = {
7030   { &hf_rrlp_commonGANSSAssistance, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_CommonGANSSAssistance },
7031   { &hf_rrlp_specificGANSSAssistance, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_SpecificGANSSAssistance },
7032   { NULL, 0, 0, NULL }
7033 };
7034 
7035 static int
7036 dissect_rrlp_GANSSAssistanceSet(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7037   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7038                                    ett_rrlp_GANSSAssistanceSet, GANSSAssistanceSet_sequence);
7039 
7040   return offset;
7041 }
7042 
7043 
7044 static int * const GANSSModelID_bits[] = {
7045   &hf_rrlp_GANSSModelID_model1,
7046   &hf_rrlp_GANSSModelID_model2,
7047   &hf_rrlp_GANSSModelID_model3,
7048   &hf_rrlp_GANSSModelID_model4,
7049   &hf_rrlp_GANSSModelID_model5,
7050   &hf_rrlp_GANSSModelID_model6,
7051   &hf_rrlp_GANSSModelID_model7,
7052   &hf_rrlp_GANSSModelID_model8,
7053   NULL
7054 };
7055 
7056 static int
7057 dissect_rrlp_GANSSModelID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7058   offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
7059                                      1, 8, FALSE, GANSSModelID_bits, 8, NULL, NULL);
7060 
7061   return offset;
7062 }
7063 
7064 
7065 static const per_sequence_t GANSSAdditionalAssistanceChoicesForOneGANSS_sequence[] = {
7066   { &hf_rrlp_ganssID        , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_INTEGER_0_7 },
7067   { &hf_rrlp_ganssClockModelChoice, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSModelID },
7068   { &hf_rrlp_gannsOrbitModelChoice, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSModelID },
7069   { &hf_rrlp_ganssAlmanacModelChoice, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSModelID },
7070   { &hf_rrlp_ganssAdditionalUTCModelChoice, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSModelID },
7071   { NULL, 0, 0, NULL }
7072 };
7073 
7074 static int
7075 dissect_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7076   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7077                                    ett_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS, GANSSAdditionalAssistanceChoicesForOneGANSS_sequence);
7078 
7079   return offset;
7080 }
7081 
7082 
7083 static const per_sequence_t GANSSAdditionalAssistanceChoices_sequence_of[1] = {
7084   { &hf_rrlp_GANSSAdditionalAssistanceChoices_item, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS },
7085 };
7086 
7087 static int
7088 dissect_rrlp_GANSSAdditionalAssistanceChoices(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7089   offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
7090                                                   ett_rrlp_GANSSAdditionalAssistanceChoices, GANSSAdditionalAssistanceChoices_sequence_of,
7091                                                   1, 16, FALSE);
7092 
7093   return offset;
7094 }
7095 
7096 
7097 static const per_sequence_t AssistanceSupported_sequence[] = {
7098   { &hf_rrlp_gpsAssistance  , ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSAssistance },
7099   { &hf_rrlp_gANSSAssistanceSet, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSAssistanceSet },
7100   { &hf_rrlp_gANSSAdditionalAssistanceChoices, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL    , dissect_rrlp_GANSSAdditionalAssistanceChoices },
7101   { NULL, 0, 0, NULL }
7102 };
7103 
7104 static int
7105 dissect_rrlp_AssistanceSupported(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7106   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7107                                    ett_rrlp_AssistanceSupported, AssistanceSupported_sequence);
7108 
7109   return offset;
7110 }
7111 
7112 
7113 static const per_sequence_t AssistanceNeeded_sequence[] = {
7114   { &hf_rrlp_gpsAssistanceData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GPSAssistanceData },
7115   { &hf_rrlp_ganssAssistanceData, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_GANSSAssistanceData },
7116   { NULL, 0, 0, NULL }
7117 };
7118 
7119 static int
7120 dissect_rrlp_AssistanceNeeded(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7121   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7122                                    ett_rrlp_AssistanceNeeded, AssistanceNeeded_sequence);
7123 
7124   return offset;
7125 }
7126 
7127 
7128 static const per_sequence_t PosCapability_Rsp_sequence[] = {
7129   { &hf_rrlp_extended_reference, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_Extended_reference },
7130   { &hf_rrlp_posCapabilities, ASN1_EXTENSION_ROOT    , ASN1_NOT_OPTIONAL, dissect_rrlp_PosCapabilities },
7131   { &hf_rrlp_assistanceSupported, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_AssistanceSupported },
7132   { &hf_rrlp_assistanceNeeded, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_AssistanceNeeded },
7133   { &hf_rrlp_extensionContainer, ASN1_EXTENSION_ROOT    , ASN1_OPTIONAL    , dissect_rrlp_ExtensionContainer },
7134   { NULL, 0, 0, NULL }
7135 };
7136 
7137 static int
7138 dissect_rrlp_PosCapability_Rsp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7139   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7140                                    ett_rrlp_PosCapability_Rsp, PosCapability_Rsp_sequence);
7141 
7142   return offset;
7143 }
7144 
7145 
7146 static const value_string rrlp_RRLP_Component_vals[] = {
7147   {   0, "msrPositionReq" },
7148   {   1, "msrPositionRsp" },
7149   {   2, "assistanceData" },
7150   {   3, "assistanceDataAck" },
7151   {   4, "protocolError" },
7152   {   5, "posCapabilityReq" },
7153   {   6, "posCapabilityRsp" },
7154   { 0, NULL }
7155 };
7156 
7157 static const per_choice_t RRLP_Component_choice[] = {
7158   {   0, &hf_rrlp_msrPositionReq , ASN1_EXTENSION_ROOT    , dissect_rrlp_MsrPosition_Req },
7159   {   1, &hf_rrlp_msrPositionRsp , ASN1_EXTENSION_ROOT    , dissect_rrlp_MsrPosition_Rsp },
7160   {   2, &hf_rrlp_assistanceData , ASN1_EXTENSION_ROOT    , dissect_rrlp_AssistanceData },
7161   {   3, &hf_rrlp_assistanceDataAck, ASN1_EXTENSION_ROOT    , dissect_rrlp_NULL },
7162   {   4, &hf_rrlp_protocolError  , ASN1_EXTENSION_ROOT    , dissect_rrlp_ProtocolError },
7163   {   5, &hf_rrlp_posCapabilityReq, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_PosCapability_Req },
7164   {   6, &hf_rrlp_posCapabilityRsp, ASN1_NOT_EXTENSION_ROOT, dissect_rrlp_PosCapability_Rsp },
7165   { 0, NULL, 0, NULL }
7166 };
7167 
7168 static int
7169 dissect_rrlp_RRLP_Component(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7170   offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
7171                                  ett_rrlp_RRLP_Component, RRLP_Component_choice,
7172                                  NULL);
7173 
7174   return offset;
7175 }
7176 
7177 
7178 static const per_sequence_t PDU_sequence[] = {
7179   { &hf_rrlp_referenceNumber, ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_INTEGER_0_7 },
7180   { &hf_rrlp_component      , ASN1_NO_EXTENSIONS     , ASN1_NOT_OPTIONAL, dissect_rrlp_RRLP_Component },
7181   { NULL, 0, 0, NULL }
7182 };
7183 
7184 static int
7185 dissect_rrlp_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
7186 #line 25 "./asn1/rrlp/rrlp.cnf"
7187 
7188 	proto_tree_add_item(tree, proto_rrlp, tvb, 0, -1, ENC_NA);
7189 
7190 	col_append_sep_str(actx->pinfo->cinfo, COL_PROTOCOL, "/", "RRLP");
7191 
7192   offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
7193                                    ett_rrlp_PDU, PDU_sequence);
7194 
7195   return offset;
7196 }
7197 
7198 /*--- PDUs ---*/
7199 
7200 static int dissect_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
7201   int offset = 0;
7202   asn1_ctx_t asn1_ctx;
7203   asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
7204   offset = dissect_rrlp_PDU(tvb, offset, &asn1_ctx, tree, hf_rrlp_PDU_PDU);
7205   offset += 7; offset >>= 3;
7206   return offset;
7207 }
7208 
7209 
7210 /*--- End of included file: packet-rrlp-fn.c ---*/
7211 #line 53 "./asn1/rrlp/packet-rrlp-template.c"
7212 
7213 
7214 /*--- proto_register_rrlp -------------------------------------------*/
7215 void proto_register_rrlp(void) {
7216 
7217   /* List of fields */
7218   static hf_register_info hf[] = {
7219 
7220 
7221 /*--- Included file: packet-rrlp-hfarr.c ---*/
7222 #line 1 "./asn1/rrlp/packet-rrlp-hfarr.c"
7223     { &hf_rrlp_PDU_PDU,
7224       { "PDU", "rrlp.PDU_element",
7225         FT_NONE, BASE_NONE, NULL, 0,
7226         NULL, HFILL }},
7227     { &hf_rrlp_privateExtensionList,
7228       { "privateExtensionList", "rrlp.privateExtensionList",
7229         FT_UINT32, BASE_DEC, NULL, 0,
7230         NULL, HFILL }},
7231     { &hf_rrlp_pcs_Extensions,
7232       { "pcs-Extensions", "rrlp.pcs_Extensions_element",
7233         FT_NONE, BASE_NONE, NULL, 0,
7234         NULL, HFILL }},
7235     { &hf_rrlp_PrivateExtensionList_item,
7236       { "PrivateExtension", "rrlp.PrivateExtension_element",
7237         FT_NONE, BASE_NONE, NULL, 0,
7238         NULL, HFILL }},
7239     { &hf_rrlp_extId,
7240       { "extId", "rrlp.extId",
7241         FT_OID, BASE_NONE, NULL, 0,
7242         "OBJECT_IDENTIFIER", HFILL }},
7243     { &hf_rrlp_extType,
7244       { "extType", "rrlp.extType_element",
7245         FT_NONE, BASE_NONE, NULL, 0,
7246         NULL, HFILL }},
7247     { &hf_rrlp_referenceNumber,
7248       { "referenceNumber", "rrlp.referenceNumber",
7249         FT_UINT32, BASE_DEC, NULL, 0,
7250         "INTEGER_0_7", HFILL }},
7251     { &hf_rrlp_component,
7252       { "component", "rrlp.component",
7253         FT_UINT32, BASE_DEC, VALS(rrlp_RRLP_Component_vals), 0,
7254         "RRLP_Component", HFILL }},
7255     { &hf_rrlp_msrPositionReq,
7256       { "msrPositionReq", "rrlp.msrPositionReq_element",
7257         FT_NONE, BASE_NONE, NULL, 0,
7258         "MsrPosition_Req", HFILL }},
7259     { &hf_rrlp_msrPositionRsp,
7260       { "msrPositionRsp", "rrlp.msrPositionRsp_element",
7261         FT_NONE, BASE_NONE, NULL, 0,
7262         "MsrPosition_Rsp", HFILL }},
7263     { &hf_rrlp_assistanceData,
7264       { "assistanceData", "rrlp.assistanceData_element",
7265         FT_NONE, BASE_NONE, NULL, 0,
7266         NULL, HFILL }},
7267     { &hf_rrlp_assistanceDataAck,
7268       { "assistanceDataAck", "rrlp.assistanceDataAck_element",
7269         FT_NONE, BASE_NONE, NULL, 0,
7270         NULL, HFILL }},
7271     { &hf_rrlp_protocolError,
7272       { "protocolError", "rrlp.protocolError_element",
7273         FT_NONE, BASE_NONE, NULL, 0,
7274         NULL, HFILL }},
7275     { &hf_rrlp_posCapabilityReq,
7276       { "posCapabilityReq", "rrlp.posCapabilityReq_element",
7277         FT_NONE, BASE_NONE, NULL, 0,
7278         "PosCapability_Req", HFILL }},
7279     { &hf_rrlp_posCapabilityRsp,
7280       { "posCapabilityRsp", "rrlp.posCapabilityRsp_element",
7281         FT_NONE, BASE_NONE, NULL, 0,
7282         "PosCapability_Rsp", HFILL }},
7283     { &hf_rrlp_positionInstruct,
7284       { "positionInstruct", "rrlp.positionInstruct_element",
7285         FT_NONE, BASE_NONE, NULL, 0,
7286         NULL, HFILL }},
7287     { &hf_rrlp_referenceAssistData,
7288       { "referenceAssistData", "rrlp.referenceAssistData_element",
7289         FT_NONE, BASE_NONE, NULL, 0,
7290         NULL, HFILL }},
7291     { &hf_rrlp_msrAssistData,
7292       { "msrAssistData", "rrlp.msrAssistData_element",
7293         FT_NONE, BASE_NONE, NULL, 0,
7294         NULL, HFILL }},
7295     { &hf_rrlp_systemInfoAssistData,
7296       { "systemInfoAssistData", "rrlp.systemInfoAssistData_element",
7297         FT_NONE, BASE_NONE, NULL, 0,
7298         NULL, HFILL }},
7299     { &hf_rrlp_gps_AssistData,
7300       { "gps-AssistData", "rrlp.gps_AssistData_element",
7301         FT_NONE, BASE_NONE, NULL, 0,
7302         NULL, HFILL }},
7303     { &hf_rrlp_extensionContainer,
7304       { "extensionContainer", "rrlp.extensionContainer_element",
7305         FT_NONE, BASE_NONE, NULL, 0,
7306         NULL, HFILL }},
7307     { &hf_rrlp_rel98_MsrPosition_Req_extension,
7308       { "rel98-MsrPosition-Req-extension", "rrlp.rel98_MsrPosition_Req_extension_element",
7309         FT_NONE, BASE_NONE, NULL, 0,
7310         NULL, HFILL }},
7311     { &hf_rrlp_rel5_MsrPosition_Req_extension,
7312       { "rel5-MsrPosition-Req-extension", "rrlp.rel5_MsrPosition_Req_extension_element",
7313         FT_NONE, BASE_NONE, NULL, 0,
7314         NULL, HFILL }},
7315     { &hf_rrlp_rel7_MsrPosition_Req_extension,
7316       { "rel7-MsrPosition-Req-extension", "rrlp.rel7_MsrPosition_Req_extension_element",
7317         FT_NONE, BASE_NONE, NULL, 0,
7318         NULL, HFILL }},
7319     { &hf_rrlp_multipleSets,
7320       { "multipleSets", "rrlp.multipleSets_element",
7321         FT_NONE, BASE_NONE, NULL, 0,
7322         NULL, HFILL }},
7323     { &hf_rrlp_referenceIdentity,
7324       { "referenceIdentity", "rrlp.referenceIdentity_element",
7325         FT_NONE, BASE_NONE, NULL, 0,
7326         NULL, HFILL }},
7327     { &hf_rrlp_otd_MeasureInfo,
7328       { "otd-MeasureInfo", "rrlp.otd_MeasureInfo_element",
7329         FT_NONE, BASE_NONE, NULL, 0,
7330         NULL, HFILL }},
7331     { &hf_rrlp_locationInfo,
7332       { "locationInfo", "rrlp.locationInfo_element",
7333         FT_NONE, BASE_NONE, NULL, 0,
7334         NULL, HFILL }},
7335     { &hf_rrlp_gps_MeasureInfo,
7336       { "gps-MeasureInfo", "rrlp.gps_MeasureInfo_element",
7337         FT_NONE, BASE_NONE, NULL, 0,
7338         NULL, HFILL }},
7339     { &hf_rrlp_locationError,
7340       { "locationError", "rrlp.locationError_element",
7341         FT_NONE, BASE_NONE, NULL, 0,
7342         NULL, HFILL }},
7343     { &hf_rrlp_rel_98_MsrPosition_Rsp_Extension,
7344       { "rel-98-MsrPosition-Rsp-Extension", "rrlp.rel_98_MsrPosition_Rsp_Extension_element",
7345         FT_NONE, BASE_NONE, NULL, 0,
7346         NULL, HFILL }},
7347     { &hf_rrlp_rel_5_MsrPosition_Rsp_Extension,
7348       { "rel-5-MsrPosition-Rsp-Extension", "rrlp.rel_5_MsrPosition_Rsp_Extension_element",
7349         FT_NONE, BASE_NONE, NULL, 0,
7350         NULL, HFILL }},
7351     { &hf_rrlp_rel_7_MsrPosition_Rsp_Extension,
7352       { "rel-7-MsrPosition-Rsp-Extension", "rrlp.rel_7_MsrPosition_Rsp_Extension_element",
7353         FT_NONE, BASE_NONE, NULL, 0,
7354         NULL, HFILL }},
7355     { &hf_rrlp_moreAssDataToBeSent,
7356       { "moreAssDataToBeSent", "rrlp.moreAssDataToBeSent",
7357         FT_UINT32, BASE_DEC, VALS(rrlp_MoreAssDataToBeSent_vals), 0,
7358         NULL, HFILL }},
7359     { &hf_rrlp_rel98_AssistanceData_Extension,
7360       { "rel98-AssistanceData-Extension", "rrlp.rel98_AssistanceData_Extension_element",
7361         FT_NONE, BASE_NONE, NULL, 0,
7362         NULL, HFILL }},
7363     { &hf_rrlp_rel5_AssistanceData_Extension,
7364       { "rel5-AssistanceData-Extension", "rrlp.rel5_AssistanceData_Extension_element",
7365         FT_NONE, BASE_NONE, NULL, 0,
7366         NULL, HFILL }},
7367     { &hf_rrlp_rel7_AssistanceData_Extension,
7368       { "rel7-AssistanceData-Extension", "rrlp.rel7_AssistanceData_Extension_element",
7369         FT_NONE, BASE_NONE, NULL, 0,
7370         NULL, HFILL }},
7371     { &hf_rrlp_errorCause,
7372       { "errorCause", "rrlp.errorCause",
7373         FT_UINT32, BASE_DEC, VALS(rrlp_ErrorCodes_vals), 0,
7374         "ErrorCodes", HFILL }},
7375     { &hf_rrlp_rel_5_ProtocolError_Extension,
7376       { "rel-5-ProtocolError-Extension", "rrlp.rel_5_ProtocolError_Extension_element",
7377         FT_NONE, BASE_NONE, NULL, 0,
7378         NULL, HFILL }},
7379     { &hf_rrlp_extended_reference,
7380       { "extended-reference", "rrlp.extended_reference_element",
7381         FT_NONE, BASE_NONE, NULL, 0,
7382         NULL, HFILL }},
7383     { &hf_rrlp_gANSSPositionMethods,
7384       { "gANSSPositionMethods", "rrlp.gANSSPositionMethods",
7385         FT_UINT32, BASE_DEC, NULL, 0,
7386         NULL, HFILL }},
7387     { &hf_rrlp_posCapabilities,
7388       { "posCapabilities", "rrlp.posCapabilities_element",
7389         FT_NONE, BASE_NONE, NULL, 0,
7390         NULL, HFILL }},
7391     { &hf_rrlp_assistanceSupported,
7392       { "assistanceSupported", "rrlp.assistanceSupported_element",
7393         FT_NONE, BASE_NONE, NULL, 0,
7394         NULL, HFILL }},
7395     { &hf_rrlp_assistanceNeeded,
7396       { "assistanceNeeded", "rrlp.assistanceNeeded_element",
7397         FT_NONE, BASE_NONE, NULL, 0,
7398         NULL, HFILL }},
7399     { &hf_rrlp_methodType,
7400       { "methodType", "rrlp.methodType",
7401         FT_UINT32, BASE_DEC, VALS(rrlp_MethodType_vals), 0,
7402         NULL, HFILL }},
7403     { &hf_rrlp_positionMethod,
7404       { "positionMethod", "rrlp.positionMethod",
7405         FT_UINT32, BASE_DEC, VALS(rrlp_PositionMethod_vals), 0,
7406         NULL, HFILL }},
7407     { &hf_rrlp_measureResponseTime,
7408       { "measureResponseTime", "rrlp.measureResponseTime",
7409         FT_UINT32, BASE_DEC, NULL, 0,
7410         NULL, HFILL }},
7411     { &hf_rrlp_useMultipleSets,
7412       { "useMultipleSets", "rrlp.useMultipleSets",
7413         FT_UINT32, BASE_DEC, VALS(rrlp_UseMultipleSets_vals), 0,
7414         NULL, HFILL }},
7415     { &hf_rrlp_environmentCharacter,
7416       { "environmentCharacter", "rrlp.environmentCharacter",
7417         FT_UINT32, BASE_DEC, VALS(rrlp_EnvironmentCharacter_vals), 0,
7418         NULL, HFILL }},
7419     { &hf_rrlp_msAssisted,
7420       { "msAssisted", "rrlp.msAssisted_element",
7421         FT_NONE, BASE_NONE, NULL, 0,
7422         "AccuracyOpt", HFILL }},
7423     { &hf_rrlp_msBased,
7424       { "msBased", "rrlp.msBased",
7425         FT_UINT32, BASE_DEC, NULL, 0,
7426         "Accuracy", HFILL }},
7427     { &hf_rrlp_msBasedPref,
7428       { "msBasedPref", "rrlp.msBasedPref",
7429         FT_UINT32, BASE_DEC, NULL, 0,
7430         "Accuracy", HFILL }},
7431     { &hf_rrlp_msAssistedPref,
7432       { "msAssistedPref", "rrlp.msAssistedPref",
7433         FT_UINT32, BASE_DEC, NULL, 0,
7434         "Accuracy", HFILL }},
7435     { &hf_rrlp_accuracy,
7436       { "accuracy", "rrlp.accuracy",
7437         FT_UINT32, BASE_DEC, NULL, 0,
7438         NULL, HFILL }},
7439     { &hf_rrlp_bcchCarrier,
7440       { "bcchCarrier", "rrlp.bcchCarrier",
7441         FT_UINT32, BASE_DEC, NULL, 0,
7442         NULL, HFILL }},
7443     { &hf_rrlp_bsic,
7444       { "bsic", "rrlp.bsic",
7445         FT_UINT32, BASE_DEC, NULL, 0,
7446         NULL, HFILL }},
7447     { &hf_rrlp_timeSlotScheme,
7448       { "timeSlotScheme", "rrlp.timeSlotScheme",
7449         FT_UINT32, BASE_DEC, VALS(rrlp_TimeSlotScheme_vals), 0,
7450         NULL, HFILL }},
7451     { &hf_rrlp_btsPosition,
7452       { "btsPosition", "rrlp.btsPosition",
7453         FT_BYTES, BASE_NONE, NULL, 0,
7454         NULL, HFILL }},
7455     { &hf_rrlp_msrAssistList,
7456       { "msrAssistList", "rrlp.msrAssistList",
7457         FT_UINT32, BASE_DEC, NULL, 0,
7458         "SeqOfMsrAssistBTS", HFILL }},
7459     { &hf_rrlp_SeqOfMsrAssistBTS_item,
7460       { "MsrAssistBTS", "rrlp.MsrAssistBTS_element",
7461         FT_NONE, BASE_NONE, NULL, 0,
7462         NULL, HFILL }},
7463     { &hf_rrlp_multiFrameOffset,
7464       { "multiFrameOffset", "rrlp.multiFrameOffset",
7465         FT_UINT32, BASE_DEC, NULL, 0,
7466         NULL, HFILL }},
7467     { &hf_rrlp_roughRTD,
7468       { "roughRTD", "rrlp.roughRTD",
7469         FT_UINT32, BASE_DEC, NULL, 0,
7470         NULL, HFILL }},
7471     { &hf_rrlp_calcAssistanceBTS,
7472       { "calcAssistanceBTS", "rrlp.calcAssistanceBTS_element",
7473         FT_NONE, BASE_NONE, NULL, 0,
7474         NULL, HFILL }},
7475     { &hf_rrlp_systemInfoAssistList,
7476       { "systemInfoAssistList", "rrlp.systemInfoAssistList",
7477         FT_UINT32, BASE_DEC, NULL, 0,
7478         "SeqOfSystemInfoAssistBTS", HFILL }},
7479     { &hf_rrlp_SeqOfSystemInfoAssistBTS_item,
7480       { "SystemInfoAssistBTS", "rrlp.SystemInfoAssistBTS",
7481         FT_UINT32, BASE_DEC, VALS(rrlp_SystemInfoAssistBTS_vals), 0,
7482         NULL, HFILL }},
7483     { &hf_rrlp_notPresent,
7484       { "notPresent", "rrlp.notPresent_element",
7485         FT_NONE, BASE_NONE, NULL, 0,
7486         NULL, HFILL }},
7487     { &hf_rrlp_present,
7488       { "present", "rrlp.present_element",
7489         FT_NONE, BASE_NONE, NULL, 0,
7490         "AssistBTSData", HFILL }},
7491     { &hf_rrlp_fineRTD,
7492       { "fineRTD", "rrlp.fineRTD",
7493         FT_UINT32, BASE_DEC, NULL, 0,
7494         NULL, HFILL }},
7495     { &hf_rrlp_referenceWGS84,
7496       { "referenceWGS84", "rrlp.referenceWGS84_element",
7497         FT_NONE, BASE_NONE, NULL, 0,
7498         NULL, HFILL }},
7499     { &hf_rrlp_relativeNorth,
7500       { "relativeNorth", "rrlp.relativeNorth",
7501         FT_INT32, BASE_DEC, NULL, 0,
7502         "RelDistance", HFILL }},
7503     { &hf_rrlp_relativeEast,
7504       { "relativeEast", "rrlp.relativeEast",
7505         FT_INT32, BASE_DEC, NULL, 0,
7506         "RelDistance", HFILL }},
7507     { &hf_rrlp_relativeAlt,
7508       { "relativeAlt", "rrlp.relativeAlt",
7509         FT_INT32, BASE_DEC, NULL, 0,
7510         NULL, HFILL }},
7511     { &hf_rrlp_nbrOfSets,
7512       { "nbrOfSets", "rrlp.nbrOfSets",
7513         FT_UINT32, BASE_DEC, NULL, 0,
7514         "INTEGER_2_3", HFILL }},
7515     { &hf_rrlp_nbrOfReferenceBTSs,
7516       { "nbrOfReferenceBTSs", "rrlp.nbrOfReferenceBTSs",
7517         FT_UINT32, BASE_DEC, NULL, 0,
7518         "INTEGER_1_3", HFILL }},
7519     { &hf_rrlp_referenceRelation,
7520       { "referenceRelation", "rrlp.referenceRelation",
7521         FT_UINT32, BASE_DEC, VALS(rrlp_ReferenceRelation_vals), 0,
7522         NULL, HFILL }},
7523     { &hf_rrlp_refBTSList,
7524       { "refBTSList", "rrlp.refBTSList",
7525         FT_UINT32, BASE_DEC, NULL, 0,
7526         "SeqOfReferenceIdentityType", HFILL }},
7527     { &hf_rrlp_SeqOfReferenceIdentityType_item,
7528       { "ReferenceIdentityType", "rrlp.ReferenceIdentityType",
7529         FT_UINT32, BASE_DEC, VALS(rrlp_ReferenceIdentityType_vals), 0,
7530         NULL, HFILL }},
7531     { &hf_rrlp_bsicAndCarrier,
7532       { "bsicAndCarrier", "rrlp.bsicAndCarrier_element",
7533         FT_NONE, BASE_NONE, NULL, 0,
7534         NULL, HFILL }},
7535     { &hf_rrlp_ci,
7536       { "ci", "rrlp.ci",
7537         FT_UINT32, BASE_DEC, NULL, 0,
7538         "CellID", HFILL }},
7539     { &hf_rrlp_requestIndex,
7540       { "requestIndex", "rrlp.requestIndex",
7541         FT_UINT32, BASE_DEC, NULL, 0,
7542         NULL, HFILL }},
7543     { &hf_rrlp_systemInfoIndex,
7544       { "systemInfoIndex", "rrlp.systemInfoIndex",
7545         FT_UINT32, BASE_DEC, NULL, 0,
7546         NULL, HFILL }},
7547     { &hf_rrlp_ciAndLAC,
7548       { "ciAndLAC", "rrlp.ciAndLAC_element",
7549         FT_NONE, BASE_NONE, NULL, 0,
7550         "CellIDAndLAC", HFILL }},
7551     { &hf_rrlp_carrier,
7552       { "carrier", "rrlp.carrier",
7553         FT_UINT32, BASE_DEC, NULL, 0,
7554         "BCCHCarrier", HFILL }},
7555     { &hf_rrlp_referenceLAC,
7556       { "referenceLAC", "rrlp.referenceLAC",
7557         FT_UINT32, BASE_DEC, NULL, 0,
7558         "LAC", HFILL }},
7559     { &hf_rrlp_referenceCI,
7560       { "referenceCI", "rrlp.referenceCI",
7561         FT_UINT32, BASE_DEC, NULL, 0,
7562         "CellID", HFILL }},
7563     { &hf_rrlp_otdMsrFirstSets,
7564       { "otdMsrFirstSets", "rrlp.otdMsrFirstSets_element",
7565         FT_NONE, BASE_NONE, NULL, 0,
7566         "OTD_MsrElementFirst", HFILL }},
7567     { &hf_rrlp_otdMsrRestSets,
7568       { "otdMsrRestSets", "rrlp.otdMsrRestSets",
7569         FT_UINT32, BASE_DEC, NULL, 0,
7570         "SeqOfOTD_MsrElementRest", HFILL }},
7571     { &hf_rrlp_SeqOfOTD_MsrElementRest_item,
7572       { "OTD-MsrElementRest", "rrlp.OTD_MsrElementRest_element",
7573         FT_NONE, BASE_NONE, NULL, 0,
7574         NULL, HFILL }},
7575     { &hf_rrlp_refFrameNumber,
7576       { "refFrameNumber", "rrlp.refFrameNumber",
7577         FT_UINT32, BASE_DEC, NULL, 0,
7578         "INTEGER_0_42431", HFILL }},
7579     { &hf_rrlp_referenceTimeSlot,
7580       { "referenceTimeSlot", "rrlp.referenceTimeSlot",
7581         FT_UINT32, BASE_DEC, NULL, 0,
7582         "ModuloTimeSlot", HFILL }},
7583     { &hf_rrlp_toaMeasurementsOfRef,
7584       { "toaMeasurementsOfRef", "rrlp.toaMeasurementsOfRef_element",
7585         FT_NONE, BASE_NONE, NULL, 0,
7586         "TOA_MeasurementsOfRef", HFILL }},
7587     { &hf_rrlp_stdResolution,
7588       { "stdResolution", "rrlp.stdResolution",
7589         FT_UINT32, BASE_DEC, NULL, 0,
7590         NULL, HFILL }},
7591     { &hf_rrlp_taCorrection,
7592       { "taCorrection", "rrlp.taCorrection",
7593         FT_UINT32, BASE_DEC, NULL, 0,
7594         "INTEGER_0_960", HFILL }},
7595     { &hf_rrlp_otd_FirstSetMsrs,
7596       { "otd-FirstSetMsrs", "rrlp.otd_FirstSetMsrs",
7597         FT_UINT32, BASE_DEC, NULL, 0,
7598         "SeqOfOTD_FirstSetMsrs", HFILL }},
7599     { &hf_rrlp_SeqOfOTD_FirstSetMsrs_item,
7600       { "OTD-FirstSetMsrs", "rrlp.OTD_FirstSetMsrs_element",
7601         FT_NONE, BASE_NONE, NULL, 0,
7602         NULL, HFILL }},
7603     { &hf_rrlp_otd_MsrsOfOtherSets,
7604       { "otd-MsrsOfOtherSets", "rrlp.otd_MsrsOfOtherSets",
7605         FT_UINT32, BASE_DEC, NULL, 0,
7606         "SeqOfOTD_MsrsOfOtherSets", HFILL }},
7607     { &hf_rrlp_SeqOfOTD_MsrsOfOtherSets_item,
7608       { "OTD-MsrsOfOtherSets", "rrlp.OTD_MsrsOfOtherSets",
7609         FT_UINT32, BASE_DEC, VALS(rrlp_OTD_MsrsOfOtherSets_vals), 0,
7610         NULL, HFILL }},
7611     { &hf_rrlp_refQuality,
7612       { "refQuality", "rrlp.refQuality",
7613         FT_UINT32, BASE_DEC, NULL, 0,
7614         NULL, HFILL }},
7615     { &hf_rrlp_numOfMeasurements,
7616       { "numOfMeasurements", "rrlp.numOfMeasurements",
7617         FT_UINT32, BASE_DEC, NULL, 0,
7618         NULL, HFILL }},
7619     { &hf_rrlp_identityNotPresent,
7620       { "identityNotPresent", "rrlp.identityNotPresent_element",
7621         FT_NONE, BASE_NONE, NULL, 0,
7622         "OTD_Measurement", HFILL }},
7623     { &hf_rrlp_identityPresent,
7624       { "identityPresent", "rrlp.identityPresent_element",
7625         FT_NONE, BASE_NONE, NULL, 0,
7626         "OTD_MeasurementWithID", HFILL }},
7627     { &hf_rrlp_nborTimeSlot,
7628       { "nborTimeSlot", "rrlp.nborTimeSlot",
7629         FT_UINT32, BASE_DEC, NULL, 0,
7630         "ModuloTimeSlot", HFILL }},
7631     { &hf_rrlp_eotdQuality,
7632       { "eotdQuality", "rrlp.eotdQuality_element",
7633         FT_NONE, BASE_NONE, NULL, 0,
7634         NULL, HFILL }},
7635     { &hf_rrlp_otdValue,
7636       { "otdValue", "rrlp.otdValue",
7637         FT_UINT32, BASE_DEC, NULL, 0,
7638         NULL, HFILL }},
7639     { &hf_rrlp_neighborIdentity,
7640       { "neighborIdentity", "rrlp.neighborIdentity",
7641         FT_UINT32, BASE_DEC, VALS(rrlp_NeighborIdentity_vals), 0,
7642         NULL, HFILL }},
7643     { &hf_rrlp_nbrOfMeasurements,
7644       { "nbrOfMeasurements", "rrlp.nbrOfMeasurements",
7645         FT_UINT32, BASE_DEC, NULL, 0,
7646         "INTEGER_0_7", HFILL }},
7647     { &hf_rrlp_stdOfEOTD,
7648       { "stdOfEOTD", "rrlp.stdOfEOTD",
7649         FT_UINT32, BASE_DEC, NULL, 0,
7650         "INTEGER_0_31", HFILL }},
7651     { &hf_rrlp_multiFrameCarrier,
7652       { "multiFrameCarrier", "rrlp.multiFrameCarrier_element",
7653         FT_NONE, BASE_NONE, NULL, 0,
7654         NULL, HFILL }},
7655     { &hf_rrlp_refFrame,
7656       { "refFrame", "rrlp.refFrame",
7657         FT_UINT32, BASE_DEC, NULL, 0,
7658         "INTEGER_0_65535", HFILL }},
7659     { &hf_rrlp_gpsTOW,
7660       { "gpsTOW", "rrlp.gpsTOW",
7661         FT_UINT32, BASE_DEC, NULL, 0,
7662         "INTEGER_0_14399999", HFILL }},
7663     { &hf_rrlp_fixType,
7664       { "fixType", "rrlp.fixType",
7665         FT_UINT32, BASE_DEC, VALS(rrlp_FixType_vals), 0,
7666         NULL, HFILL }},
7667     { &hf_rrlp_posEstimate,
7668       { "posEstimate", "rrlp.posEstimate",
7669         FT_BYTES, BASE_NONE, NULL, 0,
7670         "Ext_GeographicalInformation", HFILL }},
7671     { &hf_rrlp_gpsMsrSetList,
7672       { "gpsMsrSetList", "rrlp.gpsMsrSetList",
7673         FT_UINT32, BASE_DEC, NULL, 0,
7674         "SeqOfGPS_MsrSetElement", HFILL }},
7675     { &hf_rrlp_SeqOfGPS_MsrSetElement_item,
7676       { "GPS-MsrSetElement", "rrlp.GPS_MsrSetElement_element",
7677         FT_NONE, BASE_NONE, NULL, 0,
7678         NULL, HFILL }},
7679     { &hf_rrlp_gpsTOW_01,
7680       { "gpsTOW", "rrlp.gpsTOW",
7681         FT_UINT32, BASE_DEC, NULL, 0,
7682         "GPSTOW24b", HFILL }},
7683     { &hf_rrlp_gps_msrList,
7684       { "gps-msrList", "rrlp.gps_msrList",
7685         FT_UINT32, BASE_DEC, NULL, 0,
7686         "SeqOfGPS_MsrElement", HFILL }},
7687     { &hf_rrlp_SeqOfGPS_MsrElement_item,
7688       { "GPS-MsrElement", "rrlp.GPS_MsrElement_element",
7689         FT_NONE, BASE_NONE, NULL, 0,
7690         NULL, HFILL }},
7691     { &hf_rrlp_satelliteID,
7692       { "satelliteID", "rrlp.satelliteID",
7693         FT_UINT32, BASE_DEC, NULL, 0,
7694         NULL, HFILL }},
7695     { &hf_rrlp_cNo,
7696       { "cNo", "rrlp.cNo",
7697         FT_UINT32, BASE_DEC, NULL, 0,
7698         "INTEGER_0_63", HFILL }},
7699     { &hf_rrlp_doppler,
7700       { "doppler", "rrlp.doppler",
7701         FT_INT32, BASE_DEC, NULL, 0,
7702         "INTEGER_M32768_32767", HFILL }},
7703     { &hf_rrlp_wholeChips,
7704       { "wholeChips", "rrlp.wholeChips",
7705         FT_UINT32, BASE_DEC, NULL, 0,
7706         "INTEGER_0_1022", HFILL }},
7707     { &hf_rrlp_fracChips,
7708       { "fracChips", "rrlp.fracChips",
7709         FT_UINT32, BASE_DEC, NULL, 0,
7710         "INTEGER_0_1024", HFILL }},
7711     { &hf_rrlp_mpathIndic,
7712       { "mpathIndic", "rrlp.mpathIndic",
7713         FT_UINT32, BASE_DEC, VALS(rrlp_MpathIndic_vals), 0,
7714         NULL, HFILL }},
7715     { &hf_rrlp_pseuRangeRMSErr,
7716       { "pseuRangeRMSErr", "rrlp.pseuRangeRMSErr",
7717         FT_UINT32, BASE_DEC, NULL, 0,
7718         "INTEGER_0_63", HFILL }},
7719     { &hf_rrlp_locErrorReason,
7720       { "locErrorReason", "rrlp.locErrorReason",
7721         FT_UINT32, BASE_DEC, VALS(rrlp_LocErrorReason_vals), 0,
7722         NULL, HFILL }},
7723     { &hf_rrlp_additionalAssistanceData,
7724       { "additionalAssistanceData", "rrlp.additionalAssistanceData_element",
7725         FT_NONE, BASE_NONE, NULL, 0,
7726         NULL, HFILL }},
7727     { &hf_rrlp_gpsAssistanceData,
7728       { "gpsAssistanceData", "rrlp.gpsAssistanceData",
7729         FT_BYTES, BASE_NONE, NULL, 0,
7730         NULL, HFILL }},
7731     { &hf_rrlp_ganssAssistanceData,
7732       { "ganssAssistanceData", "rrlp.ganssAssistanceData",
7733         FT_BYTES, BASE_NONE, NULL, 0,
7734         NULL, HFILL }},
7735     { &hf_rrlp_controlHeader,
7736       { "controlHeader", "rrlp.controlHeader_element",
7737         FT_NONE, BASE_NONE, NULL, 0,
7738         NULL, HFILL }},
7739     { &hf_rrlp_referenceTime,
7740       { "referenceTime", "rrlp.referenceTime_element",
7741         FT_NONE, BASE_NONE, NULL, 0,
7742         NULL, HFILL }},
7743     { &hf_rrlp_refLocation,
7744       { "refLocation", "rrlp.refLocation_element",
7745         FT_NONE, BASE_NONE, NULL, 0,
7746         NULL, HFILL }},
7747     { &hf_rrlp_dgpsCorrections,
7748       { "dgpsCorrections", "rrlp.dgpsCorrections_element",
7749         FT_NONE, BASE_NONE, NULL, 0,
7750         NULL, HFILL }},
7751     { &hf_rrlp_navigationModel,
7752       { "navigationModel", "rrlp.navigationModel_element",
7753         FT_NONE, BASE_NONE, NULL, 0,
7754         NULL, HFILL }},
7755     { &hf_rrlp_ionosphericModel,
7756       { "ionosphericModel", "rrlp.ionosphericModel_element",
7757         FT_NONE, BASE_NONE, NULL, 0,
7758         NULL, HFILL }},
7759     { &hf_rrlp_utcModel,
7760       { "utcModel", "rrlp.utcModel_element",
7761         FT_NONE, BASE_NONE, NULL, 0,
7762         NULL, HFILL }},
7763     { &hf_rrlp_almanac,
7764       { "almanac", "rrlp.almanac_element",
7765         FT_NONE, BASE_NONE, NULL, 0,
7766         NULL, HFILL }},
7767     { &hf_rrlp_acquisAssist,
7768       { "acquisAssist", "rrlp.acquisAssist_element",
7769         FT_NONE, BASE_NONE, NULL, 0,
7770         NULL, HFILL }},
7771     { &hf_rrlp_realTimeIntegrity,
7772       { "realTimeIntegrity", "rrlp.realTimeIntegrity",
7773         FT_UINT32, BASE_DEC, NULL, 0,
7774         "SeqOf_BadSatelliteSet", HFILL }},
7775     { &hf_rrlp_gpsTime,
7776       { "gpsTime", "rrlp.gpsTime_element",
7777         FT_NONE, BASE_NONE, NULL, 0,
7778         NULL, HFILL }},
7779     { &hf_rrlp_gsmTime,
7780       { "gsmTime", "rrlp.gsmTime_element",
7781         FT_NONE, BASE_NONE, NULL, 0,
7782         NULL, HFILL }},
7783     { &hf_rrlp_gpsTowAssist,
7784       { "gpsTowAssist", "rrlp.gpsTowAssist",
7785         FT_UINT32, BASE_DEC, NULL, 0,
7786         NULL, HFILL }},
7787     { &hf_rrlp_gpsTOW23b,
7788       { "gpsTOW23b", "rrlp.gpsTOW23b",
7789         FT_UINT32, BASE_DEC, NULL, 0,
7790         NULL, HFILL }},
7791     { &hf_rrlp_gpsWeek,
7792       { "gpsWeek", "rrlp.gpsWeek",
7793         FT_UINT32, BASE_DEC, NULL, 0,
7794         NULL, HFILL }},
7795     { &hf_rrlp_GPSTOWAssist_item,
7796       { "GPSTOWAssistElement", "rrlp.GPSTOWAssistElement_element",
7797         FT_NONE, BASE_NONE, NULL, 0,
7798         NULL, HFILL }},
7799     { &hf_rrlp_tlmWord,
7800       { "tlmWord", "rrlp.tlmWord",
7801         FT_UINT32, BASE_DEC, NULL, 0,
7802         NULL, HFILL }},
7803     { &hf_rrlp_antiSpoof,
7804       { "antiSpoof", "rrlp.antiSpoof",
7805         FT_UINT32, BASE_DEC, NULL, 0,
7806         "AntiSpoofFlag", HFILL }},
7807     { &hf_rrlp_alert,
7808       { "alert", "rrlp.alert",
7809         FT_UINT32, BASE_DEC, NULL, 0,
7810         "AlertFlag", HFILL }},
7811     { &hf_rrlp_tlmRsvdBits,
7812       { "tlmRsvdBits", "rrlp.tlmRsvdBits",
7813         FT_UINT32, BASE_DEC, NULL, 0,
7814         "TLMReservedBits", HFILL }},
7815     { &hf_rrlp_frameNumber,
7816       { "frameNumber", "rrlp.frameNumber",
7817         FT_UINT32, BASE_DEC, NULL, 0,
7818         NULL, HFILL }},
7819     { &hf_rrlp_timeSlot,
7820       { "timeSlot", "rrlp.timeSlot",
7821         FT_UINT32, BASE_DEC, NULL, 0,
7822         NULL, HFILL }},
7823     { &hf_rrlp_bitNumber,
7824       { "bitNumber", "rrlp.bitNumber",
7825         FT_UINT32, BASE_DEC, NULL, 0,
7826         NULL, HFILL }},
7827     { &hf_rrlp_threeDLocation,
7828       { "threeDLocation", "rrlp.threeDLocation",
7829         FT_BYTES, BASE_NONE, NULL, 0,
7830         "Ext_GeographicalInformation", HFILL }},
7831     { &hf_rrlp_gpsTOW_02,
7832       { "gpsTOW", "rrlp.gpsTOW",
7833         FT_UINT32, BASE_DEC, NULL, 0,
7834         "INTEGER_0_604799", HFILL }},
7835     { &hf_rrlp_status,
7836       { "status", "rrlp.status",
7837         FT_UINT32, BASE_DEC, NULL, 0,
7838         "INTEGER_0_7", HFILL }},
7839     { &hf_rrlp_satList,
7840       { "satList", "rrlp.satList",
7841         FT_UINT32, BASE_DEC, NULL, 0,
7842         "SeqOfSatElement", HFILL }},
7843     { &hf_rrlp_SeqOfSatElement_item,
7844       { "SatElement", "rrlp.SatElement_element",
7845         FT_NONE, BASE_NONE, NULL, 0,
7846         NULL, HFILL }},
7847     { &hf_rrlp_iode,
7848       { "iode", "rrlp.iode",
7849         FT_UINT32, BASE_DEC, NULL, 0,
7850         "INTEGER_0_239", HFILL }},
7851     { &hf_rrlp_udre,
7852       { "udre", "rrlp.udre",
7853         FT_UINT32, BASE_DEC, NULL, 0,
7854         "INTEGER_0_3", HFILL }},
7855     { &hf_rrlp_pseudoRangeCor,
7856       { "pseudoRangeCor", "rrlp.pseudoRangeCor",
7857         FT_INT32, BASE_DEC, NULL, 0,
7858         "INTEGER_M2047_2047", HFILL }},
7859     { &hf_rrlp_rangeRateCor,
7860       { "rangeRateCor", "rrlp.rangeRateCor",
7861         FT_INT32, BASE_DEC, NULL, 0,
7862         "INTEGER_M127_127", HFILL }},
7863     { &hf_rrlp_deltaPseudoRangeCor2,
7864       { "deltaPseudoRangeCor2", "rrlp.deltaPseudoRangeCor2",
7865         FT_INT32, BASE_DEC, NULL, 0,
7866         "INTEGER_M127_127", HFILL }},
7867     { &hf_rrlp_deltaRangeRateCor2,
7868       { "deltaRangeRateCor2", "rrlp.deltaRangeRateCor2",
7869         FT_INT32, BASE_DEC, NULL, 0,
7870         "INTEGER_M7_7", HFILL }},
7871     { &hf_rrlp_deltaPseudoRangeCor3,
7872       { "deltaPseudoRangeCor3", "rrlp.deltaPseudoRangeCor3",
7873         FT_INT32, BASE_DEC, NULL, 0,
7874         "INTEGER_M127_127", HFILL }},
7875     { &hf_rrlp_deltaRangeRateCor3,
7876       { "deltaRangeRateCor3", "rrlp.deltaRangeRateCor3",
7877         FT_INT32, BASE_DEC, NULL, 0,
7878         "INTEGER_M7_7", HFILL }},
7879     { &hf_rrlp_navModelList,
7880       { "navModelList", "rrlp.navModelList",
7881         FT_UINT32, BASE_DEC, NULL, 0,
7882         "SeqOfNavModelElement", HFILL }},
7883     { &hf_rrlp_SeqOfNavModelElement_item,
7884       { "NavModelElement", "rrlp.NavModelElement_element",
7885         FT_NONE, BASE_NONE, NULL, 0,
7886         NULL, HFILL }},
7887     { &hf_rrlp_satStatus,
7888       { "satStatus", "rrlp.satStatus",
7889         FT_UINT32, BASE_DEC, VALS(rrlp_SatStatus_vals), 0,
7890         NULL, HFILL }},
7891     { &hf_rrlp_newSatelliteAndModelUC,
7892       { "newSatelliteAndModelUC", "rrlp.newSatelliteAndModelUC_element",
7893         FT_NONE, BASE_NONE, NULL, 0,
7894         "UncompressedEphemeris", HFILL }},
7895     { &hf_rrlp_oldSatelliteAndModel,
7896       { "oldSatelliteAndModel", "rrlp.oldSatelliteAndModel_element",
7897         FT_NONE, BASE_NONE, NULL, 0,
7898         NULL, HFILL }},
7899     { &hf_rrlp_newNaviModelUC,
7900       { "newNaviModelUC", "rrlp.newNaviModelUC_element",
7901         FT_NONE, BASE_NONE, NULL, 0,
7902         "UncompressedEphemeris", HFILL }},
7903     { &hf_rrlp_ephemCodeOnL2,
7904       { "ephemCodeOnL2", "rrlp.ephemCodeOnL2",
7905         FT_UINT32, BASE_DEC, NULL, 0,
7906         "INTEGER_0_3", HFILL }},
7907     { &hf_rrlp_ephemURA,
7908       { "ephemURA", "rrlp.ephemURA",
7909         FT_UINT32, BASE_DEC, NULL, 0,
7910         "INTEGER_0_15", HFILL }},
7911     { &hf_rrlp_ephemSVhealth,
7912       { "ephemSVhealth", "rrlp.ephemSVhealth",
7913         FT_UINT32, BASE_DEC, NULL, 0,
7914         "INTEGER_0_63", HFILL }},
7915     { &hf_rrlp_ephemIODC,
7916       { "ephemIODC", "rrlp.ephemIODC",
7917         FT_UINT32, BASE_DEC, NULL, 0,
7918         "INTEGER_0_1023", HFILL }},
7919     { &hf_rrlp_ephemL2Pflag,
7920       { "ephemL2Pflag", "rrlp.ephemL2Pflag",
7921         FT_UINT32, BASE_DEC, NULL, 0,
7922         "INTEGER_0_1", HFILL }},
7923     { &hf_rrlp_ephemSF1Rsvd,
7924       { "ephemSF1Rsvd", "rrlp.ephemSF1Rsvd_element",
7925         FT_NONE, BASE_NONE, NULL, 0,
7926         "EphemerisSubframe1Reserved", HFILL }},
7927     { &hf_rrlp_ephemTgd,
7928       { "ephemTgd", "rrlp.ephemTgd",
7929         FT_INT32, BASE_DEC, NULL, 0,
7930         "INTEGER_M128_127", HFILL }},
7931     { &hf_rrlp_ephemToc,
7932       { "ephemToc", "rrlp.ephemToc",
7933         FT_UINT32, BASE_DEC, NULL, 0,
7934         "INTEGER_0_37799", HFILL }},
7935     { &hf_rrlp_ephemAF2,
7936       { "ephemAF2", "rrlp.ephemAF2",
7937         FT_INT32, BASE_DEC, NULL, 0,
7938         "INTEGER_M128_127", HFILL }},
7939     { &hf_rrlp_ephemAF1,
7940       { "ephemAF1", "rrlp.ephemAF1",
7941         FT_INT32, BASE_DEC, NULL, 0,
7942         "INTEGER_M32768_32767", HFILL }},
7943     { &hf_rrlp_ephemAF0,
7944       { "ephemAF0", "rrlp.ephemAF0",
7945         FT_INT32, BASE_DEC, NULL, 0,
7946         "INTEGER_M2097152_2097151", HFILL }},
7947     { &hf_rrlp_ephemCrs,
7948       { "ephemCrs", "rrlp.ephemCrs",
7949         FT_INT32, BASE_DEC, NULL, 0,
7950         "INTEGER_M32768_32767", HFILL }},
7951     { &hf_rrlp_ephemDeltaN,
7952       { "ephemDeltaN", "rrlp.ephemDeltaN",
7953         FT_INT32, BASE_DEC, NULL, 0,
7954         "INTEGER_M32768_32767", HFILL }},
7955     { &hf_rrlp_ephemM0,
7956       { "ephemM0", "rrlp.ephemM0",
7957         FT_INT32, BASE_DEC, NULL, 0,
7958         "INTEGER_M2147483648_2147483647", HFILL }},
7959     { &hf_rrlp_ephemCuc,
7960       { "ephemCuc", "rrlp.ephemCuc",
7961         FT_INT32, BASE_DEC, NULL, 0,
7962         "INTEGER_M32768_32767", HFILL }},
7963     { &hf_rrlp_ephemE,
7964       { "ephemE", "rrlp.ephemE",
7965         FT_UINT32, BASE_DEC, NULL, 0,
7966         "INTEGER_0_4294967295", HFILL }},
7967     { &hf_rrlp_ephemCus,
7968       { "ephemCus", "rrlp.ephemCus",
7969         FT_INT32, BASE_DEC, NULL, 0,
7970         "INTEGER_M32768_32767", HFILL }},
7971     { &hf_rrlp_ephemAPowerHalf,
7972       { "ephemAPowerHalf", "rrlp.ephemAPowerHalf",
7973         FT_UINT32, BASE_DEC, NULL, 0,
7974         "INTEGER_0_4294967295", HFILL }},
7975     { &hf_rrlp_ephemToe,
7976       { "ephemToe", "rrlp.ephemToe",
7977         FT_UINT32, BASE_DEC, NULL, 0,
7978         "INTEGER_0_37799", HFILL }},
7979     { &hf_rrlp_ephemFitFlag,
7980       { "ephemFitFlag", "rrlp.ephemFitFlag",
7981         FT_UINT32, BASE_DEC, NULL, 0,
7982         "INTEGER_0_1", HFILL }},
7983     { &hf_rrlp_ephemAODA,
7984       { "ephemAODA", "rrlp.ephemAODA",
7985         FT_UINT32, BASE_DEC, NULL, 0,
7986         "INTEGER_0_31", HFILL }},
7987     { &hf_rrlp_ephemCic,
7988       { "ephemCic", "rrlp.ephemCic",
7989         FT_INT32, BASE_DEC, NULL, 0,
7990         "INTEGER_M32768_32767", HFILL }},
7991     { &hf_rrlp_ephemOmegaA0,
7992       { "ephemOmegaA0", "rrlp.ephemOmegaA0",
7993         FT_INT32, BASE_DEC, NULL, 0,
7994         "INTEGER_M2147483648_2147483647", HFILL }},
7995     { &hf_rrlp_ephemCis,
7996       { "ephemCis", "rrlp.ephemCis",
7997         FT_INT32, BASE_DEC, NULL, 0,
7998         "INTEGER_M32768_32767", HFILL }},
7999     { &hf_rrlp_ephemI0,
8000       { "ephemI0", "rrlp.ephemI0",
8001         FT_INT32, BASE_DEC, NULL, 0,
8002         "INTEGER_M2147483648_2147483647", HFILL }},
8003     { &hf_rrlp_ephemCrc,
8004       { "ephemCrc", "rrlp.ephemCrc",
8005         FT_INT32, BASE_DEC, NULL, 0,
8006         "INTEGER_M32768_32767", HFILL }},
8007     { &hf_rrlp_ephemW,
8008       { "ephemW", "rrlp.ephemW",
8009         FT_INT32, BASE_DEC, NULL, 0,
8010         "INTEGER_M2147483648_2147483647", HFILL }},
8011     { &hf_rrlp_ephemOmegaADot,
8012       { "ephemOmegaADot", "rrlp.ephemOmegaADot",
8013         FT_INT32, BASE_DEC, NULL, 0,
8014         "INTEGER_M8388608_8388607", HFILL }},
8015     { &hf_rrlp_ephemIDot,
8016       { "ephemIDot", "rrlp.ephemIDot",
8017         FT_INT32, BASE_DEC, NULL, 0,
8018         "INTEGER_M8192_8191", HFILL }},
8019     { &hf_rrlp_reserved1,
8020       { "reserved1", "rrlp.reserved1",
8021         FT_UINT32, BASE_DEC, NULL, 0,
8022         "INTEGER_0_8388607", HFILL }},
8023     { &hf_rrlp_reserved2,
8024       { "reserved2", "rrlp.reserved2",
8025         FT_UINT32, BASE_DEC, NULL, 0,
8026         "INTEGER_0_16777215", HFILL }},
8027     { &hf_rrlp_reserved3,
8028       { "reserved3", "rrlp.reserved3",
8029         FT_UINT32, BASE_DEC, NULL, 0,
8030         "INTEGER_0_16777215", HFILL }},
8031     { &hf_rrlp_reserved4,
8032       { "reserved4", "rrlp.reserved4",
8033         FT_UINT32, BASE_DEC, NULL, 0,
8034         "INTEGER_0_65535", HFILL }},
8035     { &hf_rrlp_alfa0,
8036       { "alfa0", "rrlp.alfa0",
8037         FT_INT32, BASE_DEC, NULL, 0,
8038         "INTEGER_M128_127", HFILL }},
8039     { &hf_rrlp_alfa1,
8040       { "alfa1", "rrlp.alfa1",
8041         FT_INT32, BASE_DEC, NULL, 0,
8042         "INTEGER_M128_127", HFILL }},
8043     { &hf_rrlp_alfa2,
8044       { "alfa2", "rrlp.alfa2",
8045         FT_INT32, BASE_DEC, NULL, 0,
8046         "INTEGER_M128_127", HFILL }},
8047     { &hf_rrlp_alfa3,
8048       { "alfa3", "rrlp.alfa3",
8049         FT_INT32, BASE_DEC, NULL, 0,
8050         "INTEGER_M128_127", HFILL }},
8051     { &hf_rrlp_beta0,
8052       { "beta0", "rrlp.beta0",
8053         FT_INT32, BASE_DEC, NULL, 0,
8054         "INTEGER_M128_127", HFILL }},
8055     { &hf_rrlp_beta1,
8056       { "beta1", "rrlp.beta1",
8057         FT_INT32, BASE_DEC, NULL, 0,
8058         "INTEGER_M128_127", HFILL }},
8059     { &hf_rrlp_beta2,
8060       { "beta2", "rrlp.beta2",
8061         FT_INT32, BASE_DEC, NULL, 0,
8062         "INTEGER_M128_127", HFILL }},
8063     { &hf_rrlp_beta3,
8064       { "beta3", "rrlp.beta3",
8065         FT_INT32, BASE_DEC, NULL, 0,
8066         "INTEGER_M128_127", HFILL }},
8067     { &hf_rrlp_utcA1,
8068       { "utcA1", "rrlp.utcA1",
8069         FT_INT32, BASE_DEC, NULL, 0,
8070         "INTEGER_M8388608_8388607", HFILL }},
8071     { &hf_rrlp_utcA0,
8072       { "utcA0", "rrlp.utcA0",
8073         FT_INT32, BASE_DEC, NULL, 0,
8074         "INTEGER_M2147483648_2147483647", HFILL }},
8075     { &hf_rrlp_utcTot,
8076       { "utcTot", "rrlp.utcTot",
8077         FT_UINT32, BASE_DEC, NULL, 0,
8078         "INTEGER_0_255", HFILL }},
8079     { &hf_rrlp_utcWNt,
8080       { "utcWNt", "rrlp.utcWNt",
8081         FT_UINT32, BASE_DEC, NULL, 0,
8082         "INTEGER_0_255", HFILL }},
8083     { &hf_rrlp_utcDeltaTls,
8084       { "utcDeltaTls", "rrlp.utcDeltaTls",
8085         FT_INT32, BASE_DEC, NULL, 0,
8086         "INTEGER_M128_127", HFILL }},
8087     { &hf_rrlp_utcWNlsf,
8088       { "utcWNlsf", "rrlp.utcWNlsf",
8089         FT_UINT32, BASE_DEC, NULL, 0,
8090         "INTEGER_0_255", HFILL }},
8091     { &hf_rrlp_utcDN,
8092       { "utcDN", "rrlp.utcDN",
8093         FT_INT32, BASE_DEC, NULL, 0,
8094         "INTEGER_M128_127", HFILL }},
8095     { &hf_rrlp_utcDeltaTlsf,
8096       { "utcDeltaTlsf", "rrlp.utcDeltaTlsf",
8097         FT_INT32, BASE_DEC, NULL, 0,
8098         "INTEGER_M128_127", HFILL }},
8099     { &hf_rrlp_alamanacWNa,
8100       { "alamanacWNa", "rrlp.alamanacWNa",
8101         FT_UINT32, BASE_DEC, NULL, 0,
8102         "INTEGER_0_255", HFILL }},
8103     { &hf_rrlp_almanacList,
8104       { "almanacList", "rrlp.almanacList",
8105         FT_UINT32, BASE_DEC, NULL, 0,
8106         "SeqOfAlmanacElement", HFILL }},
8107     { &hf_rrlp_SeqOfAlmanacElement_item,
8108       { "AlmanacElement", "rrlp.AlmanacElement_element",
8109         FT_NONE, BASE_NONE, NULL, 0,
8110         NULL, HFILL }},
8111     { &hf_rrlp_almanacE,
8112       { "almanacE", "rrlp.almanacE",
8113         FT_UINT32, BASE_DEC, NULL, 0,
8114         "INTEGER_0_65535", HFILL }},
8115     { &hf_rrlp_alamanacToa,
8116       { "alamanacToa", "rrlp.alamanacToa",
8117         FT_UINT32, BASE_DEC, NULL, 0,
8118         "INTEGER_0_255", HFILL }},
8119     { &hf_rrlp_almanacKsii,
8120       { "almanacKsii", "rrlp.almanacKsii",
8121         FT_INT32, BASE_DEC, NULL, 0,
8122         "INTEGER_M32768_32767", HFILL }},
8123     { &hf_rrlp_almanacOmegaDot,
8124       { "almanacOmegaDot", "rrlp.almanacOmegaDot",
8125         FT_INT32, BASE_DEC, NULL, 0,
8126         "INTEGER_M32768_32767", HFILL }},
8127     { &hf_rrlp_almanacSVhealth,
8128       { "almanacSVhealth", "rrlp.almanacSVhealth",
8129         FT_UINT32, BASE_DEC, NULL, 0,
8130         "INTEGER_0_255", HFILL }},
8131     { &hf_rrlp_almanacAPowerHalf,
8132       { "almanacAPowerHalf", "rrlp.almanacAPowerHalf",
8133         FT_UINT32, BASE_DEC, NULL, 0,
8134         "INTEGER_0_16777215", HFILL }},
8135     { &hf_rrlp_almanacOmega0,
8136       { "almanacOmega0", "rrlp.almanacOmega0",
8137         FT_INT32, BASE_DEC, NULL, 0,
8138         "INTEGER_M8388608_8388607", HFILL }},
8139     { &hf_rrlp_almanacW,
8140       { "almanacW", "rrlp.almanacW",
8141         FT_INT32, BASE_DEC, NULL, 0,
8142         "INTEGER_M8388608_8388607", HFILL }},
8143     { &hf_rrlp_almanacM0,
8144       { "almanacM0", "rrlp.almanacM0",
8145         FT_INT32, BASE_DEC, NULL, 0,
8146         "INTEGER_M8388608_8388607", HFILL }},
8147     { &hf_rrlp_almanacAF0,
8148       { "almanacAF0", "rrlp.almanacAF0",
8149         FT_INT32, BASE_DEC, NULL, 0,
8150         "INTEGER_M1024_1023", HFILL }},
8151     { &hf_rrlp_almanacAF1,
8152       { "almanacAF1", "rrlp.almanacAF1",
8153         FT_INT32, BASE_DEC, NULL, 0,
8154         "INTEGER_M1024_1023", HFILL }},
8155     { &hf_rrlp_timeRelation,
8156       { "timeRelation", "rrlp.timeRelation_element",
8157         FT_NONE, BASE_NONE, NULL, 0,
8158         NULL, HFILL }},
8159     { &hf_rrlp_acquisList,
8160       { "acquisList", "rrlp.acquisList",
8161         FT_UINT32, BASE_DEC, NULL, 0,
8162         "SeqOfAcquisElement", HFILL }},
8163     { &hf_rrlp_SeqOfAcquisElement_item,
8164       { "AcquisElement", "rrlp.AcquisElement_element",
8165         FT_NONE, BASE_NONE, NULL, 0,
8166         NULL, HFILL }},
8167     { &hf_rrlp_gpsTOW_03,
8168       { "gpsTOW", "rrlp.gpsTOW",
8169         FT_UINT32, BASE_DEC, NULL, 0,
8170         "GPSTOW23b", HFILL }},
8171     { &hf_rrlp_svid,
8172       { "svid", "rrlp.svid",
8173         FT_UINT32, BASE_DEC, NULL, 0,
8174         "SatelliteID", HFILL }},
8175     { &hf_rrlp_doppler0,
8176       { "doppler0", "rrlp.doppler0",
8177         FT_INT32, BASE_DEC, NULL, 0,
8178         "INTEGER_M2048_2047", HFILL }},
8179     { &hf_rrlp_addionalDoppler,
8180       { "addionalDoppler", "rrlp.addionalDoppler_element",
8181         FT_NONE, BASE_NONE, NULL, 0,
8182         "AddionalDopplerFields", HFILL }},
8183     { &hf_rrlp_codePhase,
8184       { "codePhase", "rrlp.codePhase",
8185         FT_UINT32, BASE_DEC, NULL, 0,
8186         "INTEGER_0_1022", HFILL }},
8187     { &hf_rrlp_intCodePhase,
8188       { "intCodePhase", "rrlp.intCodePhase",
8189         FT_UINT32, BASE_DEC, NULL, 0,
8190         "INTEGER_0_19", HFILL }},
8191     { &hf_rrlp_gpsBitNumber,
8192       { "gpsBitNumber", "rrlp.gpsBitNumber",
8193         FT_UINT32, BASE_DEC, NULL, 0,
8194         "INTEGER_0_3", HFILL }},
8195     { &hf_rrlp_codePhaseSearchWindow,
8196       { "codePhaseSearchWindow", "rrlp.codePhaseSearchWindow",
8197         FT_UINT32, BASE_DEC, NULL, 0,
8198         "INTEGER_0_15", HFILL }},
8199     { &hf_rrlp_addionalAngle,
8200       { "addionalAngle", "rrlp.addionalAngle_element",
8201         FT_NONE, BASE_NONE, NULL, 0,
8202         "AddionalAngleFields", HFILL }},
8203     { &hf_rrlp_doppler1,
8204       { "doppler1", "rrlp.doppler1",
8205         FT_UINT32, BASE_DEC, NULL, 0,
8206         "INTEGER_0_63", HFILL }},
8207     { &hf_rrlp_dopplerUncertainty,
8208       { "dopplerUncertainty", "rrlp.dopplerUncertainty",
8209         FT_UINT32, BASE_DEC, NULL, 0,
8210         "INTEGER_0_7", HFILL }},
8211     { &hf_rrlp_azimuth,
8212       { "azimuth", "rrlp.azimuth",
8213         FT_UINT32, BASE_DEC, NULL, 0,
8214         "INTEGER_0_31", HFILL }},
8215     { &hf_rrlp_elevation,
8216       { "elevation", "rrlp.elevation",
8217         FT_UINT32, BASE_DEC, NULL, 0,
8218         "INTEGER_0_7", HFILL }},
8219     { &hf_rrlp_SeqOf_BadSatelliteSet_item,
8220       { "SatelliteID", "rrlp.SatelliteID",
8221         FT_UINT32, BASE_DEC, NULL, 0,
8222         NULL, HFILL }},
8223     { &hf_rrlp_rel98_Ext_ExpOTD,
8224       { "rel98-Ext-ExpOTD", "rrlp.rel98_Ext_ExpOTD_element",
8225         FT_NONE, BASE_NONE, NULL, 0,
8226         NULL, HFILL }},
8227     { &hf_rrlp_gpsTimeAssistanceMeasurementRequest,
8228       { "gpsTimeAssistanceMeasurementRequest", "rrlp.gpsTimeAssistanceMeasurementRequest_element",
8229         FT_NONE, BASE_NONE, NULL, 0,
8230         NULL, HFILL }},
8231     { &hf_rrlp_gpsReferenceTimeUncertainty,
8232       { "gpsReferenceTimeUncertainty", "rrlp.gpsReferenceTimeUncertainty",
8233         FT_UINT32, BASE_DEC, NULL, 0,
8234         NULL, HFILL }},
8235     { &hf_rrlp_msrAssistData_R98_ExpOTD,
8236       { "msrAssistData-R98-ExpOTD", "rrlp.msrAssistData_R98_ExpOTD_element",
8237         FT_NONE, BASE_NONE, NULL, 0,
8238         NULL, HFILL }},
8239     { &hf_rrlp_systemInfoAssistData_R98_ExpOTD,
8240       { "systemInfoAssistData-R98-ExpOTD", "rrlp.systemInfoAssistData_R98_ExpOTD_element",
8241         FT_NONE, BASE_NONE, NULL, 0,
8242         NULL, HFILL }},
8243     { &hf_rrlp_msrAssistList_R98_ExpOTD,
8244       { "msrAssistList-R98-ExpOTD", "rrlp.msrAssistList_R98_ExpOTD",
8245         FT_UINT32, BASE_DEC, NULL, 0,
8246         "SeqOfMsrAssistBTS_R98_ExpOTD", HFILL }},
8247     { &hf_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD_item,
8248       { "MsrAssistBTS-R98-ExpOTD", "rrlp.MsrAssistBTS_R98_ExpOTD_element",
8249         FT_NONE, BASE_NONE, NULL, 0,
8250         NULL, HFILL }},
8251     { &hf_rrlp_expectedOTD,
8252       { "expectedOTD", "rrlp.expectedOTD",
8253         FT_UINT32, BASE_DEC, NULL, 0,
8254         NULL, HFILL }},
8255     { &hf_rrlp_expOTDUncertainty,
8256       { "expOTDUncertainty", "rrlp.expOTDUncertainty",
8257         FT_UINT32, BASE_DEC, NULL, 0,
8258         NULL, HFILL }},
8259     { &hf_rrlp_systemInfoAssistListR98_ExpOTD,
8260       { "systemInfoAssistListR98-ExpOTD", "rrlp.systemInfoAssistListR98_ExpOTD",
8261         FT_UINT32, BASE_DEC, NULL, 0,
8262         "SeqOfSystemInfoAssistBTS_R98_ExpOTD", HFILL }},
8263     { &hf_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD_item,
8264       { "SystemInfoAssistBTS-R98-ExpOTD", "rrlp.SystemInfoAssistBTS_R98_ExpOTD",
8265         FT_UINT32, BASE_DEC, VALS(rrlp_SystemInfoAssistBTS_R98_ExpOTD_vals), 0,
8266         NULL, HFILL }},
8267     { &hf_rrlp_present_01,
8268       { "present", "rrlp.present_element",
8269         FT_NONE, BASE_NONE, NULL, 0,
8270         "AssistBTSData_R98_ExpOTD", HFILL }},
8271     { &hf_rrlp_expOTDuncertainty,
8272       { "expOTDuncertainty", "rrlp.expOTDuncertainty",
8273         FT_UINT32, BASE_DEC, NULL, 0,
8274         NULL, HFILL }},
8275     { &hf_rrlp_referenceFrameMSB,
8276       { "referenceFrameMSB", "rrlp.referenceFrameMSB",
8277         FT_UINT32, BASE_DEC, NULL, 0,
8278         "INTEGER_0_63", HFILL }},
8279     { &hf_rrlp_gpsTowSubms,
8280       { "gpsTowSubms", "rrlp.gpsTowSubms",
8281         FT_UINT32, BASE_DEC, NULL, 0,
8282         "INTEGER_0_9999", HFILL }},
8283     { &hf_rrlp_deltaTow,
8284       { "deltaTow", "rrlp.deltaTow",
8285         FT_UINT32, BASE_DEC, NULL, 0,
8286         "INTEGER_0_127", HFILL }},
8287     { &hf_rrlp_rel_98_Ext_MeasureInfo,
8288       { "rel-98-Ext-MeasureInfo", "rrlp.rel_98_Ext_MeasureInfo_element",
8289         FT_NONE, BASE_NONE, NULL, 0,
8290         "T_rel_98_Ext_MeasureInfo", HFILL }},
8291     { &hf_rrlp_otd_MeasureInfo_R98_Ext,
8292       { "otd-MeasureInfo-R98-Ext", "rrlp.otd_MeasureInfo_R98_Ext_element",
8293         FT_NONE, BASE_NONE, NULL, 0,
8294         NULL, HFILL }},
8295     { &hf_rrlp_timeAssistanceMeasurements,
8296       { "timeAssistanceMeasurements", "rrlp.timeAssistanceMeasurements_element",
8297         FT_NONE, BASE_NONE, NULL, 0,
8298         "GPSTimeAssistanceMeasurements", HFILL }},
8299     { &hf_rrlp_otdMsrFirstSets_R98_Ext,
8300       { "otdMsrFirstSets-R98-Ext", "rrlp.otdMsrFirstSets_R98_Ext_element",
8301         FT_NONE, BASE_NONE, NULL, 0,
8302         "OTD_MsrElementFirst_R98_Ext", HFILL }},
8303     { &hf_rrlp_otd_FirstSetMsrs_R98_Ext,
8304       { "otd-FirstSetMsrs-R98-Ext", "rrlp.otd_FirstSetMsrs_R98_Ext",
8305         FT_UINT32, BASE_DEC, NULL, 0,
8306         "SeqOfOTD_FirstSetMsrs_R98_Ext", HFILL }},
8307     { &hf_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext_item,
8308       { "OTD-FirstSetMsrs", "rrlp.OTD_FirstSetMsrs_element",
8309         FT_NONE, BASE_NONE, NULL, 0,
8310         NULL, HFILL }},
8311     { &hf_rrlp_otd_MeasureInfo_5_Ext,
8312       { "otd-MeasureInfo-5-Ext", "rrlp.otd_MeasureInfo_5_Ext",
8313         FT_UINT32, BASE_DEC, NULL, 0,
8314         NULL, HFILL }},
8315     { &hf_rrlp_ulPseudoSegInd,
8316       { "ulPseudoSegInd", "rrlp.ulPseudoSegInd",
8317         FT_UINT32, BASE_DEC, VALS(rrlp_UlPseudoSegInd_vals), 0,
8318         NULL, HFILL }},
8319     { &hf_rrlp_smlc_code,
8320       { "smlc-code", "rrlp.smlc_code",
8321         FT_UINT32, BASE_DEC, NULL, 0,
8322         "INTEGER_0_63", HFILL }},
8323     { &hf_rrlp_transaction_ID,
8324       { "transaction-ID", "rrlp.transaction_ID",
8325         FT_UINT32, BASE_DEC, NULL, 0,
8326         "INTEGER_0_262143", HFILL }},
8327     { &hf_rrlp_velocityRequested,
8328       { "velocityRequested", "rrlp.velocityRequested_element",
8329         FT_NONE, BASE_NONE, NULL, 0,
8330         NULL, HFILL }},
8331     { &hf_rrlp_ganssPositionMethod,
8332       { "ganssPositionMethod", "rrlp.ganssPositionMethod",
8333         FT_BYTES, BASE_NONE, NULL, 0,
8334         "GANSSPositioningMethod", HFILL }},
8335     { &hf_rrlp_ganss_AssistData,
8336       { "ganss-AssistData", "rrlp.ganss_AssistData_element",
8337         FT_NONE, BASE_NONE, NULL, 0,
8338         NULL, HFILL }},
8339     { &hf_rrlp_ganssCarrierPhaseMeasurementRequest,
8340       { "ganssCarrierPhaseMeasurementRequest", "rrlp.ganssCarrierPhaseMeasurementRequest_element",
8341         FT_NONE, BASE_NONE, NULL, 0,
8342         NULL, HFILL }},
8343     { &hf_rrlp_ganssTODGSMTimeAssociationMeasurementRequest,
8344       { "ganssTODGSMTimeAssociationMeasurementRequest", "rrlp.ganssTODGSMTimeAssociationMeasurementRequest_element",
8345         FT_NONE, BASE_NONE, NULL, 0,
8346         NULL, HFILL }},
8347     { &hf_rrlp_requiredResponseTime,
8348       { "requiredResponseTime", "rrlp.requiredResponseTime",
8349         FT_UINT32, BASE_DEC, NULL, 0,
8350         NULL, HFILL }},
8351     { &hf_rrlp_add_GPS_AssistData,
8352       { "add-GPS-AssistData", "rrlp.add_GPS_AssistData_element",
8353         FT_NONE, BASE_NONE, NULL, 0,
8354         NULL, HFILL }},
8355     { &hf_rrlp_ganssMultiFreqMeasurementRequest,
8356       { "ganssMultiFreqMeasurementRequest", "rrlp.ganssMultiFreqMeasurementRequest_element",
8357         FT_NONE, BASE_NONE, NULL, 0,
8358         NULL, HFILL }},
8359     { &hf_rrlp_ganss_controlHeader,
8360       { "ganss-controlHeader", "rrlp.ganss_controlHeader_element",
8361         FT_NONE, BASE_NONE, NULL, 0,
8362         NULL, HFILL }},
8363     { &hf_rrlp_ganssCommonAssistData,
8364       { "ganssCommonAssistData", "rrlp.ganssCommonAssistData_element",
8365         FT_NONE, BASE_NONE, NULL, 0,
8366         NULL, HFILL }},
8367     { &hf_rrlp_ganssGenericAssistDataList,
8368       { "ganssGenericAssistDataList", "rrlp.ganssGenericAssistDataList",
8369         FT_UINT32, BASE_DEC, NULL, 0,
8370         "SeqOfGANSSGenericAssistDataElement", HFILL }},
8371     { &hf_rrlp_ganssReferenceTime,
8372       { "ganssReferenceTime", "rrlp.ganssReferenceTime_element",
8373         FT_NONE, BASE_NONE, NULL, 0,
8374         NULL, HFILL }},
8375     { &hf_rrlp_ganssRefLocation,
8376       { "ganssRefLocation", "rrlp.ganssRefLocation_element",
8377         FT_NONE, BASE_NONE, NULL, 0,
8378         NULL, HFILL }},
8379     { &hf_rrlp_ganssIonosphericModel,
8380       { "ganssIonosphericModel", "rrlp.ganssIonosphericModel_element",
8381         FT_NONE, BASE_NONE, NULL, 0,
8382         NULL, HFILL }},
8383     { &hf_rrlp_ganssAddIonosphericModel,
8384       { "ganssAddIonosphericModel", "rrlp.ganssAddIonosphericModel_element",
8385         FT_NONE, BASE_NONE, NULL, 0,
8386         NULL, HFILL }},
8387     { &hf_rrlp_ganssEarthOrientParam,
8388       { "ganssEarthOrientParam", "rrlp.ganssEarthOrientParam_element",
8389         FT_NONE, BASE_NONE, NULL, 0,
8390         NULL, HFILL }},
8391     { &hf_rrlp_ganssReferenceTime_R10_Ext,
8392       { "ganssReferenceTime-R10-Ext", "rrlp.ganssReferenceTime_R10_Ext_element",
8393         FT_NONE, BASE_NONE, NULL, 0,
8394         NULL, HFILL }},
8395     { &hf_rrlp_SeqOfGANSSGenericAssistDataElement_item,
8396       { "GANSSGenericAssistDataElement", "rrlp.GANSSGenericAssistDataElement_element",
8397         FT_NONE, BASE_NONE, NULL, 0,
8398         NULL, HFILL }},
8399     { &hf_rrlp_ganssID,
8400       { "ganssID", "rrlp.ganssID",
8401         FT_UINT32, BASE_DEC, NULL, 0,
8402         "INTEGER_0_7", HFILL }},
8403     { &hf_rrlp_ganssTimeModel,
8404       { "ganssTimeModel", "rrlp.ganssTimeModel",
8405         FT_UINT32, BASE_DEC, NULL, 0,
8406         "SeqOfGANSSTimeModel", HFILL }},
8407     { &hf_rrlp_ganssDiffCorrections,
8408       { "ganssDiffCorrections", "rrlp.ganssDiffCorrections_element",
8409         FT_NONE, BASE_NONE, NULL, 0,
8410         NULL, HFILL }},
8411     { &hf_rrlp_ganssNavigationModel,
8412       { "ganssNavigationModel", "rrlp.ganssNavigationModel_element",
8413         FT_NONE, BASE_NONE, NULL, 0,
8414         "GANSSNavModel", HFILL }},
8415     { &hf_rrlp_ganssRealTimeIntegrity,
8416       { "ganssRealTimeIntegrity", "rrlp.ganssRealTimeIntegrity_element",
8417         FT_NONE, BASE_NONE, NULL, 0,
8418         NULL, HFILL }},
8419     { &hf_rrlp_ganssDataBitAssist,
8420       { "ganssDataBitAssist", "rrlp.ganssDataBitAssist_element",
8421         FT_NONE, BASE_NONE, NULL, 0,
8422         NULL, HFILL }},
8423     { &hf_rrlp_ganssRefMeasurementAssist,
8424       { "ganssRefMeasurementAssist", "rrlp.ganssRefMeasurementAssist_element",
8425         FT_NONE, BASE_NONE, NULL, 0,
8426         NULL, HFILL }},
8427     { &hf_rrlp_ganssAlmanacModel,
8428       { "ganssAlmanacModel", "rrlp.ganssAlmanacModel_element",
8429         FT_NONE, BASE_NONE, NULL, 0,
8430         NULL, HFILL }},
8431     { &hf_rrlp_ganssUTCModel,
8432       { "ganssUTCModel", "rrlp.ganssUTCModel_element",
8433         FT_NONE, BASE_NONE, NULL, 0,
8434         NULL, HFILL }},
8435     { &hf_rrlp_ganssEphemerisExtension,
8436       { "ganssEphemerisExtension", "rrlp.ganssEphemerisExtension_element",
8437         FT_NONE, BASE_NONE, NULL, 0,
8438         NULL, HFILL }},
8439     { &hf_rrlp_ganssEphemerisExtCheck,
8440       { "ganssEphemerisExtCheck", "rrlp.ganssEphemerisExtCheck_element",
8441         FT_NONE, BASE_NONE, NULL, 0,
8442         "GANSSEphemerisExtensionCheck", HFILL }},
8443     { &hf_rrlp_sbasID,
8444       { "sbasID", "rrlp.sbasID",
8445         FT_UINT32, BASE_DEC, NULL, 0,
8446         "INTEGER_0_7", HFILL }},
8447     { &hf_rrlp_ganssAddUTCModel,
8448       { "ganssAddUTCModel", "rrlp.ganssAddUTCModel",
8449         FT_UINT32, BASE_DEC, VALS(rrlp_GANSSAddUTCModel_vals), 0,
8450         NULL, HFILL }},
8451     { &hf_rrlp_ganssAuxiliaryInfo,
8452       { "ganssAuxiliaryInfo", "rrlp.ganssAuxiliaryInfo",
8453         FT_UINT32, BASE_DEC, VALS(rrlp_GANSSAuxiliaryInformation_vals), 0,
8454         "GANSSAuxiliaryInformation", HFILL }},
8455     { &hf_rrlp_ganssDiffCorrectionsValidityPeriod,
8456       { "ganssDiffCorrectionsValidityPeriod", "rrlp.ganssDiffCorrectionsValidityPeriod",
8457         FT_UINT32, BASE_DEC, NULL, 0,
8458         NULL, HFILL }},
8459     { &hf_rrlp_ganssTimeModel_R10_Ext,
8460       { "ganssTimeModel-R10-Ext", "rrlp.ganssTimeModel_R10_Ext",
8461         FT_UINT32, BASE_DEC, NULL, 0,
8462         "SeqOfGANSSTimeModel_R10_Ext", HFILL }},
8463     { &hf_rrlp_ganssRefMeasurementAssist_R10_Ext,
8464       { "ganssRefMeasurementAssist-R10-Ext", "rrlp.ganssRefMeasurementAssist_R10_Ext",
8465         FT_UINT32, BASE_DEC, NULL, 0,
8466         NULL, HFILL }},
8467     { &hf_rrlp_ganssAlmanacModel_R10_Ext,
8468       { "ganssAlmanacModel-R10-Ext", "rrlp.ganssAlmanacModel_R10_Ext_element",
8469         FT_NONE, BASE_NONE, NULL, 0,
8470         NULL, HFILL }},
8471     { &hf_rrlp_ganssRefTimeInfo,
8472       { "ganssRefTimeInfo", "rrlp.ganssRefTimeInfo_element",
8473         FT_NONE, BASE_NONE, NULL, 0,
8474         NULL, HFILL }},
8475     { &hf_rrlp_ganssTOD_GSMTimeAssociation,
8476       { "ganssTOD-GSMTimeAssociation", "rrlp.ganssTOD_GSMTimeAssociation_element",
8477         FT_NONE, BASE_NONE, NULL, 0,
8478         NULL, HFILL }},
8479     { &hf_rrlp_ganssDay,
8480       { "ganssDay", "rrlp.ganssDay",
8481         FT_UINT32, BASE_DEC, NULL, 0,
8482         "INTEGER_0_8191", HFILL }},
8483     { &hf_rrlp_ganssTOD,
8484       { "ganssTOD", "rrlp.ganssTOD",
8485         FT_UINT32, BASE_DEC, NULL, 0,
8486         NULL, HFILL }},
8487     { &hf_rrlp_ganssTODUncertainty,
8488       { "ganssTODUncertainty", "rrlp.ganssTODUncertainty",
8489         FT_UINT32, BASE_DEC, NULL, 0,
8490         NULL, HFILL }},
8491     { &hf_rrlp_ganssTimeID,
8492       { "ganssTimeID", "rrlp.ganssTimeID",
8493         FT_UINT32, BASE_DEC, NULL, 0,
8494         "INTEGER_0_7", HFILL }},
8495     { &hf_rrlp_ganssDayCycleNumber,
8496       { "ganssDayCycleNumber", "rrlp.ganssDayCycleNumber",
8497         FT_UINT32, BASE_DEC, NULL, 0,
8498         "INTEGER_0_7", HFILL }},
8499     { &hf_rrlp_frameDrift,
8500       { "frameDrift", "rrlp.frameDrift",
8501         FT_INT32, BASE_DEC, NULL, 0,
8502         NULL, HFILL }},
8503     { &hf_rrlp_ganssIonoModel,
8504       { "ganssIonoModel", "rrlp.ganssIonoModel_element",
8505         FT_NONE, BASE_NONE, NULL, 0,
8506         "GANSSIonosphereModel", HFILL }},
8507     { &hf_rrlp_ganssIonoStormFlags,
8508       { "ganssIonoStormFlags", "rrlp.ganssIonoStormFlags_element",
8509         FT_NONE, BASE_NONE, NULL, 0,
8510         NULL, HFILL }},
8511     { &hf_rrlp_ai0,
8512       { "ai0", "rrlp.ai0",
8513         FT_UINT32, BASE_DEC, NULL, 0,
8514         "INTEGER_0_4095", HFILL }},
8515     { &hf_rrlp_ai1,
8516       { "ai1", "rrlp.ai1",
8517         FT_UINT32, BASE_DEC, NULL, 0,
8518         "INTEGER_0_4095", HFILL }},
8519     { &hf_rrlp_ai2,
8520       { "ai2", "rrlp.ai2",
8521         FT_UINT32, BASE_DEC, NULL, 0,
8522         "INTEGER_0_4095", HFILL }},
8523     { &hf_rrlp_ionoStormFlag1,
8524       { "ionoStormFlag1", "rrlp.ionoStormFlag1",
8525         FT_UINT32, BASE_DEC, NULL, 0,
8526         "INTEGER_0_1", HFILL }},
8527     { &hf_rrlp_ionoStormFlag2,
8528       { "ionoStormFlag2", "rrlp.ionoStormFlag2",
8529         FT_UINT32, BASE_DEC, NULL, 0,
8530         "INTEGER_0_1", HFILL }},
8531     { &hf_rrlp_ionoStormFlag3,
8532       { "ionoStormFlag3", "rrlp.ionoStormFlag3",
8533         FT_UINT32, BASE_DEC, NULL, 0,
8534         "INTEGER_0_1", HFILL }},
8535     { &hf_rrlp_ionoStormFlag4,
8536       { "ionoStormFlag4", "rrlp.ionoStormFlag4",
8537         FT_UINT32, BASE_DEC, NULL, 0,
8538         "INTEGER_0_1", HFILL }},
8539     { &hf_rrlp_ionoStormFlag5,
8540       { "ionoStormFlag5", "rrlp.ionoStormFlag5",
8541         FT_UINT32, BASE_DEC, NULL, 0,
8542         "INTEGER_0_1", HFILL }},
8543     { &hf_rrlp_dataID,
8544       { "dataID", "rrlp.dataID",
8545         FT_BYTES, BASE_NONE, NULL, 0,
8546         "BIT_STRING_SIZE_2", HFILL }},
8547     { &hf_rrlp_ionoModel,
8548       { "ionoModel", "rrlp.ionoModel_element",
8549         FT_NONE, BASE_NONE, NULL, 0,
8550         "IonosphericModel", HFILL }},
8551     { &hf_rrlp_teop,
8552       { "teop", "rrlp.teop",
8553         FT_UINT32, BASE_DEC, NULL, 0,
8554         "INTEGER_0_65535", HFILL }},
8555     { &hf_rrlp_pmX,
8556       { "pmX", "rrlp.pmX",
8557         FT_INT32, BASE_DEC, NULL, 0,
8558         "INTEGER_M1048576_1048575", HFILL }},
8559     { &hf_rrlp_pmXdot,
8560       { "pmXdot", "rrlp.pmXdot",
8561         FT_INT32, BASE_DEC, NULL, 0,
8562         "INTEGER_M16384_16383", HFILL }},
8563     { &hf_rrlp_pmY,
8564       { "pmY", "rrlp.pmY",
8565         FT_INT32, BASE_DEC, NULL, 0,
8566         "INTEGER_M1048576_1048575", HFILL }},
8567     { &hf_rrlp_pmYdot,
8568       { "pmYdot", "rrlp.pmYdot",
8569         FT_INT32, BASE_DEC, NULL, 0,
8570         "INTEGER_M16384_16383", HFILL }},
8571     { &hf_rrlp_deltaUT1,
8572       { "deltaUT1", "rrlp.deltaUT1",
8573         FT_INT32, BASE_DEC, NULL, 0,
8574         "INTEGER_M1073741824_1073741823", HFILL }},
8575     { &hf_rrlp_deltaUT1dot,
8576       { "deltaUT1dot", "rrlp.deltaUT1dot",
8577         FT_INT32, BASE_DEC, NULL, 0,
8578         "INTEGER_M262144_262143", HFILL }},
8579     { &hf_rrlp_SeqOfGANSSTimeModel_item,
8580       { "GANSSTimeModelElement", "rrlp.GANSSTimeModelElement_element",
8581         FT_NONE, BASE_NONE, NULL, 0,
8582         NULL, HFILL }},
8583     { &hf_rrlp_ganssTimeModelRefTime,
8584       { "ganssTimeModelRefTime", "rrlp.ganssTimeModelRefTime",
8585         FT_UINT32, BASE_DEC, NULL, 0,
8586         "INTEGER_0_65535", HFILL }},
8587     { &hf_rrlp_tA0,
8588       { "tA0", "rrlp.tA0",
8589         FT_INT32, BASE_DEC, NULL, 0,
8590         NULL, HFILL }},
8591     { &hf_rrlp_tA1,
8592       { "tA1", "rrlp.tA1",
8593         FT_INT32, BASE_DEC, NULL, 0,
8594         NULL, HFILL }},
8595     { &hf_rrlp_tA2,
8596       { "tA2", "rrlp.tA2",
8597         FT_INT32, BASE_DEC, NULL, 0,
8598         NULL, HFILL }},
8599     { &hf_rrlp_gnssTOID,
8600       { "gnssTOID", "rrlp.gnssTOID",
8601         FT_UINT32, BASE_DEC, NULL, 0,
8602         "INTEGER_0_7", HFILL }},
8603     { &hf_rrlp_weekNumber,
8604       { "weekNumber", "rrlp.weekNumber",
8605         FT_UINT32, BASE_DEC, NULL, 0,
8606         "INTEGER_0_8191", HFILL }},
8607     { &hf_rrlp_SeqOfGANSSTimeModel_R10_Ext_item,
8608       { "GANSSTimeModelElement-R10-Ext", "rrlp.GANSSTimeModelElement_R10_Ext_element",
8609         FT_NONE, BASE_NONE, NULL, 0,
8610         NULL, HFILL }},
8611     { &hf_rrlp_deltaT,
8612       { "deltaT", "rrlp.deltaT",
8613         FT_INT32, BASE_DEC, NULL, 0,
8614         "INTEGER_M128_127", HFILL }},
8615     { &hf_rrlp_dganssRefTime,
8616       { "dganssRefTime", "rrlp.dganssRefTime",
8617         FT_UINT32, BASE_DEC, NULL, 0,
8618         "INTEGER_0_119", HFILL }},
8619     { &hf_rrlp_sgnTypeList,
8620       { "sgnTypeList", "rrlp.sgnTypeList",
8621         FT_UINT32, BASE_DEC, NULL, 0,
8622         "SeqOfSgnTypeElement", HFILL }},
8623     { &hf_rrlp_SeqOfSgnTypeElement_item,
8624       { "SgnTypeElement", "rrlp.SgnTypeElement_element",
8625         FT_NONE, BASE_NONE, NULL, 0,
8626         NULL, HFILL }},
8627     { &hf_rrlp_ganssSignalID,
8628       { "ganssSignalID", "rrlp.ganssSignalID",
8629         FT_UINT32, BASE_DEC, NULL, 0,
8630         NULL, HFILL }},
8631     { &hf_rrlp_ganssStatusHealth,
8632       { "ganssStatusHealth", "rrlp.ganssStatusHealth",
8633         FT_UINT32, BASE_DEC, NULL, 0,
8634         "INTEGER_0_7", HFILL }},
8635     { &hf_rrlp_dganssSgnList,
8636       { "dganssSgnList", "rrlp.dganssSgnList",
8637         FT_UINT32, BASE_DEC, NULL, 0,
8638         "SeqOfDGANSSSgnElement", HFILL }},
8639     { &hf_rrlp_SeqOfDGANSSSgnElement_item,
8640       { "DGANSSSgnElement", "rrlp.DGANSSSgnElement_element",
8641         FT_NONE, BASE_NONE, NULL, 0,
8642         NULL, HFILL }},
8643     { &hf_rrlp_svID,
8644       { "svID", "rrlp.svID",
8645         FT_UINT32, BASE_DEC, NULL, 0,
8646         NULL, HFILL }},
8647     { &hf_rrlp_iod,
8648       { "iod", "rrlp.iod",
8649         FT_UINT32, BASE_DEC, NULL, 0,
8650         "INTEGER_0_1023", HFILL }},
8651     { &hf_rrlp_nonBroadcastIndFlag,
8652       { "nonBroadcastIndFlag", "rrlp.nonBroadcastIndFlag",
8653         FT_UINT32, BASE_DEC, NULL, 0,
8654         "INTEGER_0_1", HFILL }},
8655     { &hf_rrlp_ganssSatelliteList,
8656       { "ganssSatelliteList", "rrlp.ganssSatelliteList",
8657         FT_UINT32, BASE_DEC, NULL, 0,
8658         "SeqOfGANSSSatelliteElement", HFILL }},
8659     { &hf_rrlp_SeqOfGANSSSatelliteElement_item,
8660       { "GANSSSatelliteElement", "rrlp.GANSSSatelliteElement_element",
8661         FT_NONE, BASE_NONE, NULL, 0,
8662         NULL, HFILL }},
8663     { &hf_rrlp_svHealth,
8664       { "svHealth", "rrlp.svHealth",
8665         FT_BYTES, BASE_NONE, NULL, 0,
8666         "BIT_STRING_SIZE_5", HFILL }},
8667     { &hf_rrlp_ganssClockModel,
8668       { "ganssClockModel", "rrlp.ganssClockModel",
8669         FT_UINT32, BASE_DEC, VALS(rrlp_GANSSClockModel_vals), 0,
8670         NULL, HFILL }},
8671     { &hf_rrlp_ganssOrbitModel,
8672       { "ganssOrbitModel", "rrlp.ganssOrbitModel",
8673         FT_UINT32, BASE_DEC, VALS(rrlp_GANSSOrbitModel_vals), 0,
8674         NULL, HFILL }},
8675     { &hf_rrlp_svHealthMSB,
8676       { "svHealthMSB", "rrlp.svHealthMSB",
8677         FT_BYTES, BASE_NONE, NULL, 0,
8678         "BIT_STRING_SIZE_1", HFILL }},
8679     { &hf_rrlp_iodMSB,
8680       { "iodMSB", "rrlp.iodMSB",
8681         FT_UINT32, BASE_DEC, NULL, 0,
8682         "INTEGER_0_1", HFILL }},
8683     { &hf_rrlp_keplerianSet,
8684       { "keplerianSet", "rrlp.keplerianSet_element",
8685         FT_NONE, BASE_NONE, NULL, 0,
8686         "NavModel_KeplerianSet", HFILL }},
8687     { &hf_rrlp_navKeplerianSet,
8688       { "navKeplerianSet", "rrlp.navKeplerianSet_element",
8689         FT_NONE, BASE_NONE, NULL, 0,
8690         "NavModel_NAVKeplerianSet", HFILL }},
8691     { &hf_rrlp_cnavKeplerianSet,
8692       { "cnavKeplerianSet", "rrlp.cnavKeplerianSet_element",
8693         FT_NONE, BASE_NONE, NULL, 0,
8694         "NavModel_CNAVKeplerianSet", HFILL }},
8695     { &hf_rrlp_glonassECEF,
8696       { "glonassECEF", "rrlp.glonassECEF_element",
8697         FT_NONE, BASE_NONE, NULL, 0,
8698         "NavModel_GLONASSecef", HFILL }},
8699     { &hf_rrlp_sbasECEF,
8700       { "sbasECEF", "rrlp.sbasECEF_element",
8701         FT_NONE, BASE_NONE, NULL, 0,
8702         "NavModel_SBASecef", HFILL }},
8703     { &hf_rrlp_keplerToe,
8704       { "keplerToe", "rrlp.keplerToe",
8705         FT_UINT32, BASE_DEC, NULL, 0,
8706         "INTEGER_0_16383", HFILL }},
8707     { &hf_rrlp_keplerW,
8708       { "keplerW", "rrlp.keplerW",
8709         FT_INT32, BASE_DEC, NULL, 0,
8710         "INTEGER_M2147483648_2147483647", HFILL }},
8711     { &hf_rrlp_keplerDeltaN,
8712       { "keplerDeltaN", "rrlp.keplerDeltaN",
8713         FT_INT32, BASE_DEC, NULL, 0,
8714         "INTEGER_M32768_32767", HFILL }},
8715     { &hf_rrlp_keplerM0,
8716       { "keplerM0", "rrlp.keplerM0",
8717         FT_INT32, BASE_DEC, NULL, 0,
8718         "INTEGER_M2147483648_2147483647", HFILL }},
8719     { &hf_rrlp_keplerOmegaDot,
8720       { "keplerOmegaDot", "rrlp.keplerOmegaDot",
8721         FT_INT32, BASE_DEC, NULL, 0,
8722         "INTEGER_M8388608_8388607", HFILL }},
8723     { &hf_rrlp_keplerE,
8724       { "keplerE", "rrlp.keplerE",
8725         FT_UINT32, BASE_DEC, NULL, 0,
8726         "INTEGER_0_4294967295", HFILL }},
8727     { &hf_rrlp_keplerIDot,
8728       { "keplerIDot", "rrlp.keplerIDot",
8729         FT_INT32, BASE_DEC, NULL, 0,
8730         "INTEGER_M8192_8191", HFILL }},
8731     { &hf_rrlp_keplerAPowerHalf,
8732       { "keplerAPowerHalf", "rrlp.keplerAPowerHalf",
8733         FT_UINT32, BASE_DEC, NULL, 0,
8734         "INTEGER_0_4294967295", HFILL }},
8735     { &hf_rrlp_keplerI0,
8736       { "keplerI0", "rrlp.keplerI0",
8737         FT_INT32, BASE_DEC, NULL, 0,
8738         "INTEGER_M2147483648_2147483647", HFILL }},
8739     { &hf_rrlp_keplerOmega0,
8740       { "keplerOmega0", "rrlp.keplerOmega0",
8741         FT_INT32, BASE_DEC, NULL, 0,
8742         "INTEGER_M2147483648_2147483647", HFILL }},
8743     { &hf_rrlp_keplerCrs,
8744       { "keplerCrs", "rrlp.keplerCrs",
8745         FT_INT32, BASE_DEC, NULL, 0,
8746         "INTEGER_M32768_32767", HFILL }},
8747     { &hf_rrlp_keplerCis,
8748       { "keplerCis", "rrlp.keplerCis",
8749         FT_INT32, BASE_DEC, NULL, 0,
8750         "INTEGER_M32768_32767", HFILL }},
8751     { &hf_rrlp_keplerCus,
8752       { "keplerCus", "rrlp.keplerCus",
8753         FT_INT32, BASE_DEC, NULL, 0,
8754         "INTEGER_M32768_32767", HFILL }},
8755     { &hf_rrlp_keplerCrc,
8756       { "keplerCrc", "rrlp.keplerCrc",
8757         FT_INT32, BASE_DEC, NULL, 0,
8758         "INTEGER_M32768_32767", HFILL }},
8759     { &hf_rrlp_keplerCic,
8760       { "keplerCic", "rrlp.keplerCic",
8761         FT_INT32, BASE_DEC, NULL, 0,
8762         "INTEGER_M32768_32767", HFILL }},
8763     { &hf_rrlp_keplerCuc,
8764       { "keplerCuc", "rrlp.keplerCuc",
8765         FT_INT32, BASE_DEC, NULL, 0,
8766         "INTEGER_M32768_32767", HFILL }},
8767     { &hf_rrlp_navURA,
8768       { "navURA", "rrlp.navURA",
8769         FT_UINT32, BASE_DEC, NULL, 0,
8770         "INTEGER_0_15", HFILL }},
8771     { &hf_rrlp_navFitFlag,
8772       { "navFitFlag", "rrlp.navFitFlag",
8773         FT_UINT32, BASE_DEC, NULL, 0,
8774         "INTEGER_0_1", HFILL }},
8775     { &hf_rrlp_navToe,
8776       { "navToe", "rrlp.navToe",
8777         FT_UINT32, BASE_DEC, NULL, 0,
8778         "INTEGER_0_37799", HFILL }},
8779     { &hf_rrlp_navOmega,
8780       { "navOmega", "rrlp.navOmega",
8781         FT_INT32, BASE_DEC, NULL, 0,
8782         "INTEGER_M2147483648_2147483647", HFILL }},
8783     { &hf_rrlp_navDeltaN,
8784       { "navDeltaN", "rrlp.navDeltaN",
8785         FT_INT32, BASE_DEC, NULL, 0,
8786         "INTEGER_M32768_32767", HFILL }},
8787     { &hf_rrlp_navM0,
8788       { "navM0", "rrlp.navM0",
8789         FT_INT32, BASE_DEC, NULL, 0,
8790         "INTEGER_M2147483648_2147483647", HFILL }},
8791     { &hf_rrlp_navOmegaADot,
8792       { "navOmegaADot", "rrlp.navOmegaADot",
8793         FT_INT32, BASE_DEC, NULL, 0,
8794         "INTEGER_M8388608_8388607", HFILL }},
8795     { &hf_rrlp_navE,
8796       { "navE", "rrlp.navE",
8797         FT_UINT32, BASE_DEC, NULL, 0,
8798         "INTEGER_0_4294967295", HFILL }},
8799     { &hf_rrlp_navIDot,
8800       { "navIDot", "rrlp.navIDot",
8801         FT_INT32, BASE_DEC, NULL, 0,
8802         "INTEGER_M8192_8191", HFILL }},
8803     { &hf_rrlp_navAPowerHalf,
8804       { "navAPowerHalf", "rrlp.navAPowerHalf",
8805         FT_UINT32, BASE_DEC, NULL, 0,
8806         "INTEGER_0_4294967295", HFILL }},
8807     { &hf_rrlp_navI0,
8808       { "navI0", "rrlp.navI0",
8809         FT_INT32, BASE_DEC, NULL, 0,
8810         "INTEGER_M2147483648_2147483647", HFILL }},
8811     { &hf_rrlp_navOmegaA0,
8812       { "navOmegaA0", "rrlp.navOmegaA0",
8813         FT_INT32, BASE_DEC, NULL, 0,
8814         "INTEGER_M2147483648_2147483647", HFILL }},
8815     { &hf_rrlp_navCrs,
8816       { "navCrs", "rrlp.navCrs",
8817         FT_INT32, BASE_DEC, NULL, 0,
8818         "INTEGER_M32768_32767", HFILL }},
8819     { &hf_rrlp_navCis,
8820       { "navCis", "rrlp.navCis",
8821         FT_INT32, BASE_DEC, NULL, 0,
8822         "INTEGER_M32768_32767", HFILL }},
8823     { &hf_rrlp_navCus,
8824       { "navCus", "rrlp.navCus",
8825         FT_INT32, BASE_DEC, NULL, 0,
8826         "INTEGER_M32768_32767", HFILL }},
8827     { &hf_rrlp_navCrc,
8828       { "navCrc", "rrlp.navCrc",
8829         FT_INT32, BASE_DEC, NULL, 0,
8830         "INTEGER_M32768_32767", HFILL }},
8831     { &hf_rrlp_navCic,
8832       { "navCic", "rrlp.navCic",
8833         FT_INT32, BASE_DEC, NULL, 0,
8834         "INTEGER_M32768_32767", HFILL }},
8835     { &hf_rrlp_navCuc,
8836       { "navCuc", "rrlp.navCuc",
8837         FT_INT32, BASE_DEC, NULL, 0,
8838         "INTEGER_M32768_32767", HFILL }},
8839     { &hf_rrlp_cnavTop,
8840       { "cnavTop", "rrlp.cnavTop",
8841         FT_UINT32, BASE_DEC, NULL, 0,
8842         "INTEGER_0_2015", HFILL }},
8843     { &hf_rrlp_cnavURAindex,
8844       { "cnavURAindex", "rrlp.cnavURAindex",
8845         FT_INT32, BASE_DEC, NULL, 0,
8846         "INTEGER_M16_15", HFILL }},
8847     { &hf_rrlp_cnavDeltaA,
8848       { "cnavDeltaA", "rrlp.cnavDeltaA",
8849         FT_INT32, BASE_DEC, NULL, 0,
8850         "INTEGER_M33554432_33554431", HFILL }},
8851     { &hf_rrlp_cnavAdot,
8852       { "cnavAdot", "rrlp.cnavAdot",
8853         FT_INT32, BASE_DEC, NULL, 0,
8854         "INTEGER_M16777216_16777215", HFILL }},
8855     { &hf_rrlp_cnavDeltaNo,
8856       { "cnavDeltaNo", "rrlp.cnavDeltaNo",
8857         FT_INT32, BASE_DEC, NULL, 0,
8858         "INTEGER_M65536_65535", HFILL }},
8859     { &hf_rrlp_cnavDeltaNoDot,
8860       { "cnavDeltaNoDot", "rrlp.cnavDeltaNoDot",
8861         FT_INT32, BASE_DEC, NULL, 0,
8862         "INTEGER_M4194304_4194303", HFILL }},
8863     { &hf_rrlp_cnavMo,
8864       { "cnavMo", "rrlp.cnavMo",
8865         FT_INT64, BASE_DEC, NULL, 0,
8866         "INTEGER_M4294967296_4294967295", HFILL }},
8867     { &hf_rrlp_cnavE,
8868       { "cnavE", "rrlp.cnavE",
8869         FT_UINT64, BASE_DEC, NULL, 0,
8870         "INTEGER_0_8589934591", HFILL }},
8871     { &hf_rrlp_cnavOmega,
8872       { "cnavOmega", "rrlp.cnavOmega",
8873         FT_INT64, BASE_DEC, NULL, 0,
8874         "INTEGER_M4294967296_4294967295", HFILL }},
8875     { &hf_rrlp_cnavOMEGA0,
8876       { "cnavOMEGA0", "rrlp.cnavOMEGA0",
8877         FT_INT64, BASE_DEC, NULL, 0,
8878         "INTEGER_M4294967296_4294967295", HFILL }},
8879     { &hf_rrlp_cnavDeltaOmegaDot,
8880       { "cnavDeltaOmegaDot", "rrlp.cnavDeltaOmegaDot",
8881         FT_INT32, BASE_DEC, NULL, 0,
8882         "INTEGER_M65536_65535", HFILL }},
8883     { &hf_rrlp_cnavIo,
8884       { "cnavIo", "rrlp.cnavIo",
8885         FT_INT64, BASE_DEC, NULL, 0,
8886         "INTEGER_M4294967296_4294967295", HFILL }},
8887     { &hf_rrlp_cnavIoDot,
8888       { "cnavIoDot", "rrlp.cnavIoDot",
8889         FT_INT32, BASE_DEC, NULL, 0,
8890         "INTEGER_M16384_16383", HFILL }},
8891     { &hf_rrlp_cnavCis,
8892       { "cnavCis", "rrlp.cnavCis",
8893         FT_INT32, BASE_DEC, NULL, 0,
8894         "INTEGER_M32768_32767", HFILL }},
8895     { &hf_rrlp_cnavCic,
8896       { "cnavCic", "rrlp.cnavCic",
8897         FT_INT32, BASE_DEC, NULL, 0,
8898         "INTEGER_M32768_32767", HFILL }},
8899     { &hf_rrlp_cnavCrs,
8900       { "cnavCrs", "rrlp.cnavCrs",
8901         FT_INT32, BASE_DEC, NULL, 0,
8902         "INTEGER_M8388608_8388607", HFILL }},
8903     { &hf_rrlp_cnavCrc,
8904       { "cnavCrc", "rrlp.cnavCrc",
8905         FT_INT32, BASE_DEC, NULL, 0,
8906         "INTEGER_M8388608_8388607", HFILL }},
8907     { &hf_rrlp_cnavCus,
8908       { "cnavCus", "rrlp.cnavCus",
8909         FT_INT32, BASE_DEC, NULL, 0,
8910         "INTEGER_M1048576_1048575", HFILL }},
8911     { &hf_rrlp_cnavCuc,
8912       { "cnavCuc", "rrlp.cnavCuc",
8913         FT_INT32, BASE_DEC, NULL, 0,
8914         "INTEGER_M1048576_1048575", HFILL }},
8915     { &hf_rrlp_gloEn,
8916       { "gloEn", "rrlp.gloEn",
8917         FT_UINT32, BASE_DEC, NULL, 0,
8918         "INTEGER_0_31", HFILL }},
8919     { &hf_rrlp_gloP1,
8920       { "gloP1", "rrlp.gloP1",
8921         FT_BYTES, BASE_NONE, NULL, 0,
8922         "BIT_STRING_SIZE_2", HFILL }},
8923     { &hf_rrlp_gloP2,
8924       { "gloP2", "rrlp.gloP2",
8925         FT_BOOLEAN, BASE_NONE, NULL, 0,
8926         "BOOLEAN", HFILL }},
8927     { &hf_rrlp_gloM,
8928       { "gloM", "rrlp.gloM",
8929         FT_UINT32, BASE_DEC, NULL, 0,
8930         "INTEGER_0_3", HFILL }},
8931     { &hf_rrlp_gloX,
8932       { "gloX", "rrlp.gloX",
8933         FT_INT32, BASE_DEC, NULL, 0,
8934         "INTEGER_M67108864_67108863", HFILL }},
8935     { &hf_rrlp_gloXdot,
8936       { "gloXdot", "rrlp.gloXdot",
8937         FT_INT32, BASE_DEC, NULL, 0,
8938         "INTEGER_M8388608_8388607", HFILL }},
8939     { &hf_rrlp_gloXdotdot,
8940       { "gloXdotdot", "rrlp.gloXdotdot",
8941         FT_INT32, BASE_DEC, NULL, 0,
8942         "INTEGER_M16_15", HFILL }},
8943     { &hf_rrlp_gloY,
8944       { "gloY", "rrlp.gloY",
8945         FT_INT32, BASE_DEC, NULL, 0,
8946         "INTEGER_M67108864_67108863", HFILL }},
8947     { &hf_rrlp_gloYdot,
8948       { "gloYdot", "rrlp.gloYdot",
8949         FT_INT32, BASE_DEC, NULL, 0,
8950         "INTEGER_M8388608_8388607", HFILL }},
8951     { &hf_rrlp_gloYdotdot,
8952       { "gloYdotdot", "rrlp.gloYdotdot",
8953         FT_INT32, BASE_DEC, NULL, 0,
8954         "INTEGER_M16_15", HFILL }},
8955     { &hf_rrlp_gloZ,
8956       { "gloZ", "rrlp.gloZ",
8957         FT_INT32, BASE_DEC, NULL, 0,
8958         "INTEGER_M67108864_67108863", HFILL }},
8959     { &hf_rrlp_gloZdot,
8960       { "gloZdot", "rrlp.gloZdot",
8961         FT_INT32, BASE_DEC, NULL, 0,
8962         "INTEGER_M8388608_8388607", HFILL }},
8963     { &hf_rrlp_gloZdotdot,
8964       { "gloZdotdot", "rrlp.gloZdotdot",
8965         FT_INT32, BASE_DEC, NULL, 0,
8966         "INTEGER_M16_15", HFILL }},
8967     { &hf_rrlp_sbasTo,
8968       { "sbasTo", "rrlp.sbasTo",
8969         FT_UINT32, BASE_DEC, NULL, 0,
8970         "INTEGER_0_5399", HFILL }},
8971     { &hf_rrlp_sbasAccuracy,
8972       { "sbasAccuracy", "rrlp.sbasAccuracy",
8973         FT_BYTES, BASE_NONE, NULL, 0,
8974         "BIT_STRING_SIZE_4", HFILL }},
8975     { &hf_rrlp_sbasXg,
8976       { "sbasXg", "rrlp.sbasXg",
8977         FT_INT32, BASE_DEC, NULL, 0,
8978         "INTEGER_M536870912_536870911", HFILL }},
8979     { &hf_rrlp_sbasYg,
8980       { "sbasYg", "rrlp.sbasYg",
8981         FT_INT32, BASE_DEC, NULL, 0,
8982         "INTEGER_M536870912_536870911", HFILL }},
8983     { &hf_rrlp_sbasZg,
8984       { "sbasZg", "rrlp.sbasZg",
8985         FT_INT32, BASE_DEC, NULL, 0,
8986         "INTEGER_M16777216_16777215", HFILL }},
8987     { &hf_rrlp_sbasXgDot,
8988       { "sbasXgDot", "rrlp.sbasXgDot",
8989         FT_INT32, BASE_DEC, NULL, 0,
8990         "INTEGER_M65536_65535", HFILL }},
8991     { &hf_rrlp_sbasYgDot,
8992       { "sbasYgDot", "rrlp.sbasYgDot",
8993         FT_INT32, BASE_DEC, NULL, 0,
8994         "INTEGER_M65536_65535", HFILL }},
8995     { &hf_rrlp_sbasZgDot,
8996       { "sbasZgDot", "rrlp.sbasZgDot",
8997         FT_INT32, BASE_DEC, NULL, 0,
8998         "INTEGER_M131072_131071", HFILL }},
8999     { &hf_rrlp_sbasXgDotDot,
9000       { "sbasXgDotDot", "rrlp.sbasXgDotDot",
9001         FT_INT32, BASE_DEC, NULL, 0,
9002         "INTEGER_M512_511", HFILL }},
9003     { &hf_rrlp_sbagYgDotDot,
9004       { "sbagYgDotDot", "rrlp.sbagYgDotDot",
9005         FT_INT32, BASE_DEC, NULL, 0,
9006         "INTEGER_M512_511", HFILL }},
9007     { &hf_rrlp_sbasZgDotDot,
9008       { "sbasZgDotDot", "rrlp.sbasZgDotDot",
9009         FT_INT32, BASE_DEC, NULL, 0,
9010         "INTEGER_M512_511", HFILL }},
9011     { &hf_rrlp_standardClockModelList,
9012       { "standardClockModelList", "rrlp.standardClockModelList",
9013         FT_UINT32, BASE_DEC, NULL, 0,
9014         "SeqOfStandardClockModelElement", HFILL }},
9015     { &hf_rrlp_navClockModel,
9016       { "navClockModel", "rrlp.navClockModel_element",
9017         FT_NONE, BASE_NONE, NULL, 0,
9018         NULL, HFILL }},
9019     { &hf_rrlp_cnavClockModel,
9020       { "cnavClockModel", "rrlp.cnavClockModel_element",
9021         FT_NONE, BASE_NONE, NULL, 0,
9022         NULL, HFILL }},
9023     { &hf_rrlp_glonassClockModel,
9024       { "glonassClockModel", "rrlp.glonassClockModel_element",
9025         FT_NONE, BASE_NONE, NULL, 0,
9026         NULL, HFILL }},
9027     { &hf_rrlp_sbasClockModel,
9028       { "sbasClockModel", "rrlp.sbasClockModel_element",
9029         FT_NONE, BASE_NONE, NULL, 0,
9030         NULL, HFILL }},
9031     { &hf_rrlp_SeqOfStandardClockModelElement_item,
9032       { "StandardClockModelElement", "rrlp.StandardClockModelElement_element",
9033         FT_NONE, BASE_NONE, NULL, 0,
9034         NULL, HFILL }},
9035     { &hf_rrlp_stanClockToc,
9036       { "stanClockToc", "rrlp.stanClockToc",
9037         FT_UINT32, BASE_DEC, NULL, 0,
9038         "INTEGER_0_16383", HFILL }},
9039     { &hf_rrlp_stanClockAF2,
9040       { "stanClockAF2", "rrlp.stanClockAF2",
9041         FT_INT32, BASE_DEC, NULL, 0,
9042         "INTEGER_M2048_2047", HFILL }},
9043     { &hf_rrlp_stanClockAF1,
9044       { "stanClockAF1", "rrlp.stanClockAF1",
9045         FT_INT32, BASE_DEC, NULL, 0,
9046         "INTEGER_M131072_131071", HFILL }},
9047     { &hf_rrlp_stanClockAF0,
9048       { "stanClockAF0", "rrlp.stanClockAF0",
9049         FT_INT32, BASE_DEC, NULL, 0,
9050         "INTEGER_M134217728_134217727", HFILL }},
9051     { &hf_rrlp_stanClockTgd,
9052       { "stanClockTgd", "rrlp.stanClockTgd",
9053         FT_INT32, BASE_DEC, NULL, 0,
9054         "INTEGER_M512_511", HFILL }},
9055     { &hf_rrlp_stanModelID,
9056       { "stanModelID", "rrlp.stanModelID",
9057         FT_UINT32, BASE_DEC, NULL, 0,
9058         "INTEGER_0_1", HFILL }},
9059     { &hf_rrlp_navToc,
9060       { "navToc", "rrlp.navToc",
9061         FT_UINT32, BASE_DEC, NULL, 0,
9062         "INTEGER_0_37799", HFILL }},
9063     { &hf_rrlp_navaf2,
9064       { "navaf2", "rrlp.navaf2",
9065         FT_INT32, BASE_DEC, NULL, 0,
9066         "INTEGER_M128_127", HFILL }},
9067     { &hf_rrlp_navaf1,
9068       { "navaf1", "rrlp.navaf1",
9069         FT_INT32, BASE_DEC, NULL, 0,
9070         "INTEGER_M32768_32767", HFILL }},
9071     { &hf_rrlp_navaf0,
9072       { "navaf0", "rrlp.navaf0",
9073         FT_INT32, BASE_DEC, NULL, 0,
9074         "INTEGER_M2097152_2097151", HFILL }},
9075     { &hf_rrlp_navTgd,
9076       { "navTgd", "rrlp.navTgd",
9077         FT_INT32, BASE_DEC, NULL, 0,
9078         "INTEGER_M128_127", HFILL }},
9079     { &hf_rrlp_cnavToc,
9080       { "cnavToc", "rrlp.cnavToc",
9081         FT_UINT32, BASE_DEC, NULL, 0,
9082         "INTEGER_0_2015", HFILL }},
9083     { &hf_rrlp_cnavURA0,
9084       { "cnavURA0", "rrlp.cnavURA0",
9085         FT_INT32, BASE_DEC, NULL, 0,
9086         "INTEGER_M16_15", HFILL }},
9087     { &hf_rrlp_cnavURA1,
9088       { "cnavURA1", "rrlp.cnavURA1",
9089         FT_UINT32, BASE_DEC, NULL, 0,
9090         "INTEGER_0_7", HFILL }},
9091     { &hf_rrlp_cnavURA2,
9092       { "cnavURA2", "rrlp.cnavURA2",
9093         FT_UINT32, BASE_DEC, NULL, 0,
9094         "INTEGER_0_7", HFILL }},
9095     { &hf_rrlp_cnavAf2,
9096       { "cnavAf2", "rrlp.cnavAf2",
9097         FT_INT32, BASE_DEC, NULL, 0,
9098         "INTEGER_M512_511", HFILL }},
9099     { &hf_rrlp_cnavAf1,
9100       { "cnavAf1", "rrlp.cnavAf1",
9101         FT_INT32, BASE_DEC, NULL, 0,
9102         "INTEGER_M524288_524287", HFILL }},
9103     { &hf_rrlp_cnavAf0,
9104       { "cnavAf0", "rrlp.cnavAf0",
9105         FT_INT32, BASE_DEC, NULL, 0,
9106         "INTEGER_M33554432_33554431", HFILL }},
9107     { &hf_rrlp_cnavTgd,
9108       { "cnavTgd", "rrlp.cnavTgd",
9109         FT_INT32, BASE_DEC, NULL, 0,
9110         "INTEGER_M4096_4095", HFILL }},
9111     { &hf_rrlp_cnavISCl1cp,
9112       { "cnavISCl1cp", "rrlp.cnavISCl1cp",
9113         FT_INT32, BASE_DEC, NULL, 0,
9114         "INTEGER_M4096_4095", HFILL }},
9115     { &hf_rrlp_cnavISCl1cd,
9116       { "cnavISCl1cd", "rrlp.cnavISCl1cd",
9117         FT_INT32, BASE_DEC, NULL, 0,
9118         "INTEGER_M4096_4095", HFILL }},
9119     { &hf_rrlp_cnavISCl1ca,
9120       { "cnavISCl1ca", "rrlp.cnavISCl1ca",
9121         FT_INT32, BASE_DEC, NULL, 0,
9122         "INTEGER_M4096_4095", HFILL }},
9123     { &hf_rrlp_cnavISCl2c,
9124       { "cnavISCl2c", "rrlp.cnavISCl2c",
9125         FT_INT32, BASE_DEC, NULL, 0,
9126         "INTEGER_M4096_4095", HFILL }},
9127     { &hf_rrlp_cnavISCl5i5,
9128       { "cnavISCl5i5", "rrlp.cnavISCl5i5",
9129         FT_INT32, BASE_DEC, NULL, 0,
9130         "INTEGER_M4096_4095", HFILL }},
9131     { &hf_rrlp_cnavISCl5q5,
9132       { "cnavISCl5q5", "rrlp.cnavISCl5q5",
9133         FT_INT32, BASE_DEC, NULL, 0,
9134         "INTEGER_M4096_4095", HFILL }},
9135     { &hf_rrlp_gloTau,
9136       { "gloTau", "rrlp.gloTau",
9137         FT_INT32, BASE_DEC, NULL, 0,
9138         "INTEGER_M2097152_2097151", HFILL }},
9139     { &hf_rrlp_gloGamma,
9140       { "gloGamma", "rrlp.gloGamma",
9141         FT_INT32, BASE_DEC, NULL, 0,
9142         "INTEGER_M1024_1023", HFILL }},
9143     { &hf_rrlp_gloDeltaTau,
9144       { "gloDeltaTau", "rrlp.gloDeltaTau",
9145         FT_INT32, BASE_DEC, NULL, 0,
9146         "INTEGER_M16_15", HFILL }},
9147     { &hf_rrlp_sbasAgfo,
9148       { "sbasAgfo", "rrlp.sbasAgfo",
9149         FT_INT32, BASE_DEC, NULL, 0,
9150         "INTEGER_M2048_2047", HFILL }},
9151     { &hf_rrlp_sbasAgf1,
9152       { "sbasAgf1", "rrlp.sbasAgf1",
9153         FT_INT32, BASE_DEC, NULL, 0,
9154         "INTEGER_M128_127", HFILL }},
9155     { &hf_rrlp_ganssBadSignalList,
9156       { "ganssBadSignalList", "rrlp.ganssBadSignalList",
9157         FT_UINT32, BASE_DEC, NULL, 0,
9158         "SeqOfBadSignalElement", HFILL }},
9159     { &hf_rrlp_SeqOfBadSignalElement_item,
9160       { "BadSignalElement", "rrlp.BadSignalElement_element",
9161         FT_NONE, BASE_NONE, NULL, 0,
9162         NULL, HFILL }},
9163     { &hf_rrlp_badSVID,
9164       { "badSVID", "rrlp.badSVID",
9165         FT_UINT32, BASE_DEC, NULL, 0,
9166         "SVID", HFILL }},
9167     { &hf_rrlp_badSignalID,
9168       { "badSignalID", "rrlp.badSignalID",
9169         FT_BYTES, BASE_NONE, NULL, 0,
9170         "GANSSSignals", HFILL }},
9171     { &hf_rrlp_ganssTOD_01,
9172       { "ganssTOD", "rrlp.ganssTOD",
9173         FT_UINT32, BASE_DEC, NULL, 0,
9174         "INTEGER_0_59", HFILL }},
9175     { &hf_rrlp_ganssDataBitsSatList,
9176       { "ganssDataBitsSatList", "rrlp.ganssDataBitsSatList",
9177         FT_UINT32, BASE_DEC, NULL, 0,
9178         "SeqOfGanssDataBitsElement", HFILL }},
9179     { &hf_rrlp_SeqOfGanssDataBitsElement_item,
9180       { "GanssDataBitsElement", "rrlp.GanssDataBitsElement_element",
9181         FT_NONE, BASE_NONE, NULL, 0,
9182         NULL, HFILL }},
9183     { &hf_rrlp_ganssDataBitsSgnList,
9184       { "ganssDataBitsSgnList", "rrlp.ganssDataBitsSgnList",
9185         FT_UINT32, BASE_DEC, NULL, 0,
9186         "Seq_OfGANSSDataBitsSgn", HFILL }},
9187     { &hf_rrlp_Seq_OfGANSSDataBitsSgn_item,
9188       { "GANSSDataBitsSgnElement", "rrlp.GANSSDataBitsSgnElement_element",
9189         FT_NONE, BASE_NONE, NULL, 0,
9190         NULL, HFILL }},
9191     { &hf_rrlp_ganssSignalType,
9192       { "ganssSignalType", "rrlp.ganssSignalType",
9193         FT_UINT32, BASE_DEC, NULL, 0,
9194         "GANSSSignalID", HFILL }},
9195     { &hf_rrlp_ganssDataBits,
9196       { "ganssDataBits", "rrlp.ganssDataBits",
9197         FT_UINT32, BASE_DEC, NULL, 0,
9198         "SeqOf_GANSSDataBits", HFILL }},
9199     { &hf_rrlp_SeqOf_GANSSDataBits_item,
9200       { "GANSSDataBit", "rrlp.GANSSDataBit",
9201         FT_UINT32, BASE_DEC, NULL, 0,
9202         NULL, HFILL }},
9203     { &hf_rrlp_ganssRefMeasAssistList,
9204       { "ganssRefMeasAssistList", "rrlp.ganssRefMeasAssistList",
9205         FT_UINT32, BASE_DEC, NULL, 0,
9206         "SeqOfGANSSRefMeasurementElement", HFILL }},
9207     { &hf_rrlp_SeqOfGANSSRefMeasurementElement_item,
9208       { "GANSSRefMeasurementElement", "rrlp.GANSSRefMeasurementElement_element",
9209         FT_NONE, BASE_NONE, NULL, 0,
9210         NULL, HFILL }},
9211     { &hf_rrlp_additionalDoppler,
9212       { "additionalDoppler", "rrlp.additionalDoppler_element",
9213         FT_NONE, BASE_NONE, NULL, 0,
9214         "AdditionalDopplerFields", HFILL }},
9215     { &hf_rrlp_intCodePhase_01,
9216       { "intCodePhase", "rrlp.intCodePhase",
9217         FT_UINT32, BASE_DEC, NULL, 0,
9218         "INTEGER_0_127", HFILL }},
9219     { &hf_rrlp_codePhaseSearchWindow_01,
9220       { "codePhaseSearchWindow", "rrlp.codePhaseSearchWindow",
9221         FT_UINT32, BASE_DEC, NULL, 0,
9222         "INTEGER_0_31", HFILL }},
9223     { &hf_rrlp_additionalAngle,
9224       { "additionalAngle", "rrlp.additionalAngle_element",
9225         FT_NONE, BASE_NONE, NULL, 0,
9226         "AddionalAngleFields", HFILL }},
9227     { &hf_rrlp_dopplerUncertainty_01,
9228       { "dopplerUncertainty", "rrlp.dopplerUncertainty",
9229         FT_UINT32, BASE_DEC, NULL, 0,
9230         "INTEGER_0_4", HFILL }},
9231     { &hf_rrlp_GANSSRefMeasurementAssist_R10_Ext_item,
9232       { "GANSSRefMeasurement-R10-Ext-Element", "rrlp.GANSSRefMeasurement_R10_Ext_Element_element",
9233         FT_NONE, BASE_NONE, NULL, 0,
9234         NULL, HFILL }},
9235     { &hf_rrlp_azimuthLSB,
9236       { "azimuthLSB", "rrlp.azimuthLSB",
9237         FT_UINT32, BASE_DEC, NULL, 0,
9238         "INTEGER_0_15", HFILL }},
9239     { &hf_rrlp_elevationLSB,
9240       { "elevationLSB", "rrlp.elevationLSB",
9241         FT_UINT32, BASE_DEC, NULL, 0,
9242         "INTEGER_0_15", HFILL }},
9243     { &hf_rrlp_weekNumber_01,
9244       { "weekNumber", "rrlp.weekNumber",
9245         FT_UINT32, BASE_DEC, NULL, 0,
9246         "INTEGER_0_255", HFILL }},
9247     { &hf_rrlp_toa,
9248       { "toa", "rrlp.toa",
9249         FT_UINT32, BASE_DEC, NULL, 0,
9250         "INTEGER_0_255", HFILL }},
9251     { &hf_rrlp_ioda,
9252       { "ioda", "rrlp.ioda",
9253         FT_UINT32, BASE_DEC, NULL, 0,
9254         "INTEGER_0_3", HFILL }},
9255     { &hf_rrlp_ganssAlmanacList,
9256       { "ganssAlmanacList", "rrlp.ganssAlmanacList",
9257         FT_UINT32, BASE_DEC, NULL, 0,
9258         "SeqOfGANSSAlmanacElement", HFILL }},
9259     { &hf_rrlp_SeqOfGANSSAlmanacElement_item,
9260       { "GANSSAlmanacElement", "rrlp.GANSSAlmanacElement",
9261         FT_UINT32, BASE_DEC, VALS(rrlp_GANSSAlmanacElement_vals), 0,
9262         NULL, HFILL }},
9263     { &hf_rrlp_keplerianAlmanacSet,
9264       { "keplerianAlmanacSet", "rrlp.keplerianAlmanacSet_element",
9265         FT_NONE, BASE_NONE, NULL, 0,
9266         "Almanac_KeplerianSet", HFILL }},
9267     { &hf_rrlp_keplerianNAVAlmanac,
9268       { "keplerianNAVAlmanac", "rrlp.keplerianNAVAlmanac_element",
9269         FT_NONE, BASE_NONE, NULL, 0,
9270         "Almanac_NAVKeplerianSet", HFILL }},
9271     { &hf_rrlp_keplerianReducedAlmanac,
9272       { "keplerianReducedAlmanac", "rrlp.keplerianReducedAlmanac_element",
9273         FT_NONE, BASE_NONE, NULL, 0,
9274         "Almanac_ReducedKeplerianSet", HFILL }},
9275     { &hf_rrlp_keplerianMidiAlmanac,
9276       { "keplerianMidiAlmanac", "rrlp.keplerianMidiAlmanac_element",
9277         FT_NONE, BASE_NONE, NULL, 0,
9278         "Almanac_MidiAlmanacSet", HFILL }},
9279     { &hf_rrlp_keplerianGLONASS,
9280       { "keplerianGLONASS", "rrlp.keplerianGLONASS_element",
9281         FT_NONE, BASE_NONE, NULL, 0,
9282         "Almanac_GlonassAlmanacSet", HFILL }},
9283     { &hf_rrlp_ecefSBASAlmanac,
9284       { "ecefSBASAlmanac", "rrlp.ecefSBASAlmanac_element",
9285         FT_NONE, BASE_NONE, NULL, 0,
9286         "Almanac_ECEFsbasAlmanacSet", HFILL }},
9287     { &hf_rrlp_kepAlmanacE,
9288       { "kepAlmanacE", "rrlp.kepAlmanacE",
9289         FT_UINT32, BASE_DEC, NULL, 0,
9290         "INTEGER_0_2047", HFILL }},
9291     { &hf_rrlp_kepAlmanacDeltaI,
9292       { "kepAlmanacDeltaI", "rrlp.kepAlmanacDeltaI",
9293         FT_INT32, BASE_DEC, NULL, 0,
9294         "INTEGER_M1024_1023", HFILL }},
9295     { &hf_rrlp_kepAlmanacOmegaDot,
9296       { "kepAlmanacOmegaDot", "rrlp.kepAlmanacOmegaDot",
9297         FT_INT32, BASE_DEC, NULL, 0,
9298         "INTEGER_M1024_1023", HFILL }},
9299     { &hf_rrlp_kepSVHealth,
9300       { "kepSVHealth", "rrlp.kepSVHealth",
9301         FT_UINT32, BASE_DEC, NULL, 0,
9302         "INTEGER_0_15", HFILL }},
9303     { &hf_rrlp_kepAlmanacAPowerHalf,
9304       { "kepAlmanacAPowerHalf", "rrlp.kepAlmanacAPowerHalf",
9305         FT_INT32, BASE_DEC, NULL, 0,
9306         "INTEGER_M65536_65535", HFILL }},
9307     { &hf_rrlp_kepAlmanacOmega0,
9308       { "kepAlmanacOmega0", "rrlp.kepAlmanacOmega0",
9309         FT_INT32, BASE_DEC, NULL, 0,
9310         "INTEGER_M32768_32767", HFILL }},
9311     { &hf_rrlp_kepAlmanacW,
9312       { "kepAlmanacW", "rrlp.kepAlmanacW",
9313         FT_INT32, BASE_DEC, NULL, 0,
9314         "INTEGER_M32768_32767", HFILL }},
9315     { &hf_rrlp_kepAlmanacM0,
9316       { "kepAlmanacM0", "rrlp.kepAlmanacM0",
9317         FT_INT32, BASE_DEC, NULL, 0,
9318         "INTEGER_M32768_32767", HFILL }},
9319     { &hf_rrlp_kepAlmanacAF0,
9320       { "kepAlmanacAF0", "rrlp.kepAlmanacAF0",
9321         FT_INT32, BASE_DEC, NULL, 0,
9322         "INTEGER_M8192_8191", HFILL }},
9323     { &hf_rrlp_kepAlmanacAF1,
9324       { "kepAlmanacAF1", "rrlp.kepAlmanacAF1",
9325         FT_INT32, BASE_DEC, NULL, 0,
9326         "INTEGER_M1024_1023", HFILL }},
9327     { &hf_rrlp_navAlmE,
9328       { "navAlmE", "rrlp.navAlmE",
9329         FT_UINT32, BASE_DEC, NULL, 0,
9330         "INTEGER_0_65535", HFILL }},
9331     { &hf_rrlp_navAlmDeltaI,
9332       { "navAlmDeltaI", "rrlp.navAlmDeltaI",
9333         FT_INT32, BASE_DEC, NULL, 0,
9334         "INTEGER_M32768_32767", HFILL }},
9335     { &hf_rrlp_navAlmOMEGADOT,
9336       { "navAlmOMEGADOT", "rrlp.navAlmOMEGADOT",
9337         FT_INT32, BASE_DEC, NULL, 0,
9338         "INTEGER_M32768_32767", HFILL }},
9339     { &hf_rrlp_navAlmSVHealth,
9340       { "navAlmSVHealth", "rrlp.navAlmSVHealth",
9341         FT_UINT32, BASE_DEC, NULL, 0,
9342         "INTEGER_0_255", HFILL }},
9343     { &hf_rrlp_navAlmSqrtA,
9344       { "navAlmSqrtA", "rrlp.navAlmSqrtA",
9345         FT_UINT32, BASE_DEC, NULL, 0,
9346         "INTEGER_0_16777215", HFILL }},
9347     { &hf_rrlp_navAlmOMEGAo,
9348       { "navAlmOMEGAo", "rrlp.navAlmOMEGAo",
9349         FT_INT32, BASE_DEC, NULL, 0,
9350         "INTEGER_M8388608_8388607", HFILL }},
9351     { &hf_rrlp_navAlmOmega,
9352       { "navAlmOmega", "rrlp.navAlmOmega",
9353         FT_INT32, BASE_DEC, NULL, 0,
9354         "INTEGER_M8388608_8388607", HFILL }},
9355     { &hf_rrlp_navAlmMo,
9356       { "navAlmMo", "rrlp.navAlmMo",
9357         FT_INT32, BASE_DEC, NULL, 0,
9358         "INTEGER_M8388608_8388607", HFILL }},
9359     { &hf_rrlp_navAlmaf0,
9360       { "navAlmaf0", "rrlp.navAlmaf0",
9361         FT_INT32, BASE_DEC, NULL, 0,
9362         "INTEGER_M1024_1023", HFILL }},
9363     { &hf_rrlp_navAlmaf1,
9364       { "navAlmaf1", "rrlp.navAlmaf1",
9365         FT_INT32, BASE_DEC, NULL, 0,
9366         "INTEGER_M1024_1023", HFILL }},
9367     { &hf_rrlp_redAlmDeltaA,
9368       { "redAlmDeltaA", "rrlp.redAlmDeltaA",
9369         FT_INT32, BASE_DEC, NULL, 0,
9370         "INTEGER_M128_127", HFILL }},
9371     { &hf_rrlp_redAlmOmega0,
9372       { "redAlmOmega0", "rrlp.redAlmOmega0",
9373         FT_INT32, BASE_DEC, NULL, 0,
9374         "INTEGER_M64_63", HFILL }},
9375     { &hf_rrlp_redAlmPhi0,
9376       { "redAlmPhi0", "rrlp.redAlmPhi0",
9377         FT_INT32, BASE_DEC, NULL, 0,
9378         "INTEGER_M64_63", HFILL }},
9379     { &hf_rrlp_redAlmL1Health,
9380       { "redAlmL1Health", "rrlp.redAlmL1Health",
9381         FT_BOOLEAN, BASE_NONE, NULL, 0,
9382         "BOOLEAN", HFILL }},
9383     { &hf_rrlp_redAlmL2Health,
9384       { "redAlmL2Health", "rrlp.redAlmL2Health",
9385         FT_BOOLEAN, BASE_NONE, NULL, 0,
9386         "BOOLEAN", HFILL }},
9387     { &hf_rrlp_redAlmL5Health,
9388       { "redAlmL5Health", "rrlp.redAlmL5Health",
9389         FT_BOOLEAN, BASE_NONE, NULL, 0,
9390         "BOOLEAN", HFILL }},
9391     { &hf_rrlp_midiAlmE,
9392       { "midiAlmE", "rrlp.midiAlmE",
9393         FT_UINT32, BASE_DEC, NULL, 0,
9394         "INTEGER_0_2047", HFILL }},
9395     { &hf_rrlp_midiAlmDeltaI,
9396       { "midiAlmDeltaI", "rrlp.midiAlmDeltaI",
9397         FT_INT32, BASE_DEC, NULL, 0,
9398         "INTEGER_M1024_1023", HFILL }},
9399     { &hf_rrlp_midiAlmOmegaDot,
9400       { "midiAlmOmegaDot", "rrlp.midiAlmOmegaDot",
9401         FT_INT32, BASE_DEC, NULL, 0,
9402         "INTEGER_M1024_1023", HFILL }},
9403     { &hf_rrlp_midiAlmSqrtA,
9404       { "midiAlmSqrtA", "rrlp.midiAlmSqrtA",
9405         FT_UINT32, BASE_DEC, NULL, 0,
9406         "INTEGER_0_131071", HFILL }},
9407     { &hf_rrlp_midiAlmOmega0,
9408       { "midiAlmOmega0", "rrlp.midiAlmOmega0",
9409         FT_INT32, BASE_DEC, NULL, 0,
9410         "INTEGER_M32768_32767", HFILL }},
9411     { &hf_rrlp_midiAlmOmega,
9412       { "midiAlmOmega", "rrlp.midiAlmOmega",
9413         FT_INT32, BASE_DEC, NULL, 0,
9414         "INTEGER_M32768_32767", HFILL }},
9415     { &hf_rrlp_midiAlmMo,
9416       { "midiAlmMo", "rrlp.midiAlmMo",
9417         FT_INT32, BASE_DEC, NULL, 0,
9418         "INTEGER_M32768_32767", HFILL }},
9419     { &hf_rrlp_midiAlmaf0,
9420       { "midiAlmaf0", "rrlp.midiAlmaf0",
9421         FT_INT32, BASE_DEC, NULL, 0,
9422         "INTEGER_M1024_1023", HFILL }},
9423     { &hf_rrlp_midiAlmaf1,
9424       { "midiAlmaf1", "rrlp.midiAlmaf1",
9425         FT_INT32, BASE_DEC, NULL, 0,
9426         "INTEGER_M512_511", HFILL }},
9427     { &hf_rrlp_midiAlmL1Health,
9428       { "midiAlmL1Health", "rrlp.midiAlmL1Health",
9429         FT_BOOLEAN, BASE_NONE, NULL, 0,
9430         "BOOLEAN", HFILL }},
9431     { &hf_rrlp_midiAlmL2Health,
9432       { "midiAlmL2Health", "rrlp.midiAlmL2Health",
9433         FT_BOOLEAN, BASE_NONE, NULL, 0,
9434         "BOOLEAN", HFILL }},
9435     { &hf_rrlp_midiAlmL5Health,
9436       { "midiAlmL5Health", "rrlp.midiAlmL5Health",
9437         FT_BOOLEAN, BASE_NONE, NULL, 0,
9438         "BOOLEAN", HFILL }},
9439     { &hf_rrlp_gloAlmNA,
9440       { "gloAlmNA", "rrlp.gloAlmNA",
9441         FT_UINT32, BASE_DEC, NULL, 0,
9442         "INTEGER_1_1461", HFILL }},
9443     { &hf_rrlp_gloAlmnA,
9444       { "gloAlmnA", "rrlp.gloAlmnA",
9445         FT_UINT32, BASE_DEC, NULL, 0,
9446         "INTEGER_1_24", HFILL }},
9447     { &hf_rrlp_gloAlmHA,
9448       { "gloAlmHA", "rrlp.gloAlmHA",
9449         FT_UINT32, BASE_DEC, NULL, 0,
9450         "INTEGER_0_31", HFILL }},
9451     { &hf_rrlp_gloAlmLambdaA,
9452       { "gloAlmLambdaA", "rrlp.gloAlmLambdaA",
9453         FT_INT32, BASE_DEC, NULL, 0,
9454         "INTEGER_M1048576_1048575", HFILL }},
9455     { &hf_rrlp_gloAlmtlambdaA,
9456       { "gloAlmtlambdaA", "rrlp.gloAlmtlambdaA",
9457         FT_UINT32, BASE_DEC, NULL, 0,
9458         "INTEGER_0_2097151", HFILL }},
9459     { &hf_rrlp_gloAlmDeltaIa,
9460       { "gloAlmDeltaIa", "rrlp.gloAlmDeltaIa",
9461         FT_INT32, BASE_DEC, NULL, 0,
9462         "INTEGER_M131072_131071", HFILL }},
9463     { &hf_rrlp_gloAlmDeltaTA,
9464       { "gloAlmDeltaTA", "rrlp.gloAlmDeltaTA",
9465         FT_INT32, BASE_DEC, NULL, 0,
9466         "INTEGER_M2097152_2097151", HFILL }},
9467     { &hf_rrlp_gloAlmDeltaTdotA,
9468       { "gloAlmDeltaTdotA", "rrlp.gloAlmDeltaTdotA",
9469         FT_INT32, BASE_DEC, NULL, 0,
9470         "INTEGER_M64_63", HFILL }},
9471     { &hf_rrlp_gloAlmEpsilonA,
9472       { "gloAlmEpsilonA", "rrlp.gloAlmEpsilonA",
9473         FT_UINT32, BASE_DEC, NULL, 0,
9474         "INTEGER_0_32767", HFILL }},
9475     { &hf_rrlp_gloAlmOmegaA,
9476       { "gloAlmOmegaA", "rrlp.gloAlmOmegaA",
9477         FT_INT32, BASE_DEC, NULL, 0,
9478         "INTEGER_M32768_32767", HFILL }},
9479     { &hf_rrlp_gloAlmTauA,
9480       { "gloAlmTauA", "rrlp.gloAlmTauA",
9481         FT_INT32, BASE_DEC, NULL, 0,
9482         "INTEGER_M512_511", HFILL }},
9483     { &hf_rrlp_gloAlmCA,
9484       { "gloAlmCA", "rrlp.gloAlmCA",
9485         FT_UINT32, BASE_DEC, NULL, 0,
9486         "INTEGER_0_1", HFILL }},
9487     { &hf_rrlp_gloAlmMA,
9488       { "gloAlmMA", "rrlp.gloAlmMA",
9489         FT_BYTES, BASE_NONE, NULL, 0,
9490         "BIT_STRING_SIZE_2", HFILL }},
9491     { &hf_rrlp_sbasAlmDataID,
9492       { "sbasAlmDataID", "rrlp.sbasAlmDataID",
9493         FT_UINT32, BASE_DEC, NULL, 0,
9494         "INTEGER_0_3", HFILL }},
9495     { &hf_rrlp_sbasAlmHealth,
9496       { "sbasAlmHealth", "rrlp.sbasAlmHealth",
9497         FT_BYTES, BASE_NONE, NULL, 0,
9498         "BIT_STRING_SIZE_8", HFILL }},
9499     { &hf_rrlp_sbasAlmXg,
9500       { "sbasAlmXg", "rrlp.sbasAlmXg",
9501         FT_INT32, BASE_DEC, NULL, 0,
9502         "INTEGER_M16384_16383", HFILL }},
9503     { &hf_rrlp_sbasAlmYg,
9504       { "sbasAlmYg", "rrlp.sbasAlmYg",
9505         FT_INT32, BASE_DEC, NULL, 0,
9506         "INTEGER_M16384_16383", HFILL }},
9507     { &hf_rrlp_sbasAlmZg,
9508       { "sbasAlmZg", "rrlp.sbasAlmZg",
9509         FT_INT32, BASE_DEC, NULL, 0,
9510         "INTEGER_M256_255", HFILL }},
9511     { &hf_rrlp_sbasAlmXgdot,
9512       { "sbasAlmXgdot", "rrlp.sbasAlmXgdot",
9513         FT_INT32, BASE_DEC, NULL, 0,
9514         "INTEGER_M4_3", HFILL }},
9515     { &hf_rrlp_sbasAlmYgDot,
9516       { "sbasAlmYgDot", "rrlp.sbasAlmYgDot",
9517         FT_INT32, BASE_DEC, NULL, 0,
9518         "INTEGER_M4_3", HFILL }},
9519     { &hf_rrlp_sbasAlmZgDot,
9520       { "sbasAlmZgDot", "rrlp.sbasAlmZgDot",
9521         FT_INT32, BASE_DEC, NULL, 0,
9522         "INTEGER_M8_7", HFILL }},
9523     { &hf_rrlp_sbasAlmTo,
9524       { "sbasAlmTo", "rrlp.sbasAlmTo",
9525         FT_UINT32, BASE_DEC, NULL, 0,
9526         "INTEGER_0_2047", HFILL }},
9527     { &hf_rrlp_completeAlmanacProvided,
9528       { "completeAlmanacProvided", "rrlp.completeAlmanacProvided",
9529         FT_BOOLEAN, BASE_NONE, NULL, 0,
9530         "BOOLEAN", HFILL }},
9531     { &hf_rrlp_ganssUtcA1,
9532       { "ganssUtcA1", "rrlp.ganssUtcA1",
9533         FT_INT32, BASE_DEC, NULL, 0,
9534         "INTEGER_M8388608_8388607", HFILL }},
9535     { &hf_rrlp_ganssUtcA0,
9536       { "ganssUtcA0", "rrlp.ganssUtcA0",
9537         FT_INT32, BASE_DEC, NULL, 0,
9538         "INTEGER_M2147483648_2147483647", HFILL }},
9539     { &hf_rrlp_ganssUtcTot,
9540       { "ganssUtcTot", "rrlp.ganssUtcTot",
9541         FT_UINT32, BASE_DEC, NULL, 0,
9542         "INTEGER_0_255", HFILL }},
9543     { &hf_rrlp_ganssUtcWNt,
9544       { "ganssUtcWNt", "rrlp.ganssUtcWNt",
9545         FT_UINT32, BASE_DEC, NULL, 0,
9546         "INTEGER_0_255", HFILL }},
9547     { &hf_rrlp_ganssUtcDeltaTls,
9548       { "ganssUtcDeltaTls", "rrlp.ganssUtcDeltaTls",
9549         FT_INT32, BASE_DEC, NULL, 0,
9550         "INTEGER_M128_127", HFILL }},
9551     { &hf_rrlp_ganssUtcWNlsf,
9552       { "ganssUtcWNlsf", "rrlp.ganssUtcWNlsf",
9553         FT_UINT32, BASE_DEC, NULL, 0,
9554         "INTEGER_0_255", HFILL }},
9555     { &hf_rrlp_ganssUtcDN,
9556       { "ganssUtcDN", "rrlp.ganssUtcDN",
9557         FT_INT32, BASE_DEC, NULL, 0,
9558         "INTEGER_M128_127", HFILL }},
9559     { &hf_rrlp_ganssUtcDeltaTlsf,
9560       { "ganssUtcDeltaTlsf", "rrlp.ganssUtcDeltaTlsf",
9561         FT_INT32, BASE_DEC, NULL, 0,
9562         "INTEGER_M128_127", HFILL }},
9563     { &hf_rrlp_ganssEphemerisHeader,
9564       { "ganssEphemerisHeader", "rrlp.ganssEphemerisHeader_element",
9565         FT_NONE, BASE_NONE, NULL, 0,
9566         "GANSSEphemerisExtensionHeader", HFILL }},
9567     { &hf_rrlp_ganssReferenceSet,
9568       { "ganssReferenceSet", "rrlp.ganssReferenceSet",
9569         FT_UINT32, BASE_DEC, NULL, 0,
9570         "SeqOfGANSSRefOrbit", HFILL }},
9571     { &hf_rrlp_ganssephemerisDeltasMatrix,
9572       { "ganssephemerisDeltasMatrix", "rrlp.ganssephemerisDeltasMatrix",
9573         FT_UINT32, BASE_DEC, NULL, 0,
9574         "GANSSEphemerisDeltaMatrix", HFILL }},
9575     { &hf_rrlp_timeAtEstimation,
9576       { "timeAtEstimation", "rrlp.timeAtEstimation_element",
9577         FT_NONE, BASE_NONE, NULL, 0,
9578         "GANSSEphemerisExtensionTime", HFILL }},
9579     { &hf_rrlp_validityPeriod,
9580       { "validityPeriod", "rrlp.validityPeriod",
9581         FT_UINT32, BASE_DEC, NULL, 0,
9582         "INTEGER_1_8", HFILL }},
9583     { &hf_rrlp_ephemerisExtensionDuration,
9584       { "ephemerisExtensionDuration", "rrlp.ephemerisExtensionDuration",
9585         FT_UINT32, BASE_DEC, NULL, 0,
9586         "INTEGER_1_512", HFILL }},
9587     { &hf_rrlp_ganssEphExtDay,
9588       { "ganssEphExtDay", "rrlp.ganssEphExtDay",
9589         FT_UINT32, BASE_DEC, NULL, 0,
9590         "INTEGER_0_8191", HFILL }},
9591     { &hf_rrlp_ganssEphExtTOD,
9592       { "ganssEphExtTOD", "rrlp.ganssEphExtTOD",
9593         FT_UINT32, BASE_DEC, NULL, 0,
9594         "GANSSTOD", HFILL }},
9595     { &hf_rrlp_keplerToe_01,
9596       { "keplerToe", "rrlp.keplerToe",
9597         FT_UINT32, BASE_DEC, NULL, 0,
9598         "INTEGER_0_37799", HFILL }},
9599     { &hf_rrlp_SeqOfGANSSRefOrbit_item,
9600       { "GANSSReferenceOrbit", "rrlp.GANSSReferenceOrbit_element",
9601         FT_NONE, BASE_NONE, NULL, 0,
9602         NULL, HFILL }},
9603     { &hf_rrlp_ganssOrbitModel_01,
9604       { "ganssOrbitModel", "rrlp.ganssOrbitModel_element",
9605         FT_NONE, BASE_NONE, NULL, 0,
9606         "ReferenceNavModel", HFILL }},
9607     { &hf_rrlp_GANSSEphemerisDeltaMatrix_item,
9608       { "GANSSEphemerisDeltaEpoch", "rrlp.GANSSEphemerisDeltaEpoch_element",
9609         FT_NONE, BASE_NONE, NULL, 0,
9610         NULL, HFILL }},
9611     { &hf_rrlp_ganssDeltaEpochHeader,
9612       { "ganssDeltaEpochHeader", "rrlp.ganssDeltaEpochHeader_element",
9613         FT_NONE, BASE_NONE, NULL, 0,
9614         NULL, HFILL }},
9615     { &hf_rrlp_ganssDeltaElementList,
9616       { "ganssDeltaElementList", "rrlp.ganssDeltaElementList",
9617         FT_UINT32, BASE_DEC, NULL, 0,
9618         NULL, HFILL }},
9619     { &hf_rrlp_ephemerisDeltaSizes,
9620       { "ephemerisDeltaSizes", "rrlp.ephemerisDeltaSizes_element",
9621         FT_NONE, BASE_NONE, NULL, 0,
9622         "GANSSEphemerisDeltaBitSizes", HFILL }},
9623     { &hf_rrlp_ephemerisDeltaScales,
9624       { "ephemerisDeltaScales", "rrlp.ephemerisDeltaScales_element",
9625         FT_NONE, BASE_NONE, NULL, 0,
9626         "GANSSEphemerisDeltaScales", HFILL }},
9627     { &hf_rrlp_GANSSDeltaElementList_item,
9628       { "GANSSDeltaElementList item", "rrlp.GANSSDeltaElementList_item",
9629         FT_BYTES, BASE_NONE, NULL, 0,
9630         "OCTET_STRING_SIZE_1_49", HFILL }},
9631     { &hf_rrlp_bitsize_delta_omega,
9632       { "bitsize-delta-omega", "rrlp.bitsize_delta_omega",
9633         FT_UINT32, BASE_DEC, NULL, 0,
9634         "INTEGER_1_32", HFILL }},
9635     { &hf_rrlp_bitsize_delta_deltaN,
9636       { "bitsize-delta-deltaN", "rrlp.bitsize_delta_deltaN",
9637         FT_UINT32, BASE_DEC, NULL, 0,
9638         "INTEGER_1_16", HFILL }},
9639     { &hf_rrlp_bitsize_delta_m0,
9640       { "bitsize-delta-m0", "rrlp.bitsize_delta_m0",
9641         FT_UINT32, BASE_DEC, NULL, 0,
9642         "INTEGER_1_32", HFILL }},
9643     { &hf_rrlp_bitsize_delta_omegadot,
9644       { "bitsize-delta-omegadot", "rrlp.bitsize_delta_omegadot",
9645         FT_UINT32, BASE_DEC, NULL, 0,
9646         "INTEGER_1_24", HFILL }},
9647     { &hf_rrlp_bitsize_delta_e,
9648       { "bitsize-delta-e", "rrlp.bitsize_delta_e",
9649         FT_UINT32, BASE_DEC, NULL, 0,
9650         "INTEGER_1_32", HFILL }},
9651     { &hf_rrlp_bitsize_delta_idot,
9652       { "bitsize-delta-idot", "rrlp.bitsize_delta_idot",
9653         FT_UINT32, BASE_DEC, NULL, 0,
9654         "INTEGER_1_14", HFILL }},
9655     { &hf_rrlp_bitsize_delta_sqrtA,
9656       { "bitsize-delta-sqrtA", "rrlp.bitsize_delta_sqrtA",
9657         FT_UINT32, BASE_DEC, NULL, 0,
9658         "INTEGER_1_32", HFILL }},
9659     { &hf_rrlp_bitsize_delta_i0,
9660       { "bitsize-delta-i0", "rrlp.bitsize_delta_i0",
9661         FT_UINT32, BASE_DEC, NULL, 0,
9662         "INTEGER_1_32", HFILL }},
9663     { &hf_rrlp_bitsize_delta_omega0,
9664       { "bitsize-delta-omega0", "rrlp.bitsize_delta_omega0",
9665         FT_UINT32, BASE_DEC, NULL, 0,
9666         "INTEGER_1_32", HFILL }},
9667     { &hf_rrlp_bitsize_delta_crs,
9668       { "bitsize-delta-crs", "rrlp.bitsize_delta_crs",
9669         FT_UINT32, BASE_DEC, NULL, 0,
9670         "INTEGER_1_16", HFILL }},
9671     { &hf_rrlp_bitsize_delta_cis,
9672       { "bitsize-delta-cis", "rrlp.bitsize_delta_cis",
9673         FT_UINT32, BASE_DEC, NULL, 0,
9674         "INTEGER_1_16", HFILL }},
9675     { &hf_rrlp_bitsize_delta_cus,
9676       { "bitsize-delta-cus", "rrlp.bitsize_delta_cus",
9677         FT_UINT32, BASE_DEC, NULL, 0,
9678         "INTEGER_1_16", HFILL }},
9679     { &hf_rrlp_bitsize_delta_crc,
9680       { "bitsize-delta-crc", "rrlp.bitsize_delta_crc",
9681         FT_UINT32, BASE_DEC, NULL, 0,
9682         "INTEGER_1_16", HFILL }},
9683     { &hf_rrlp_bitsize_delta_cic,
9684       { "bitsize-delta-cic", "rrlp.bitsize_delta_cic",
9685         FT_UINT32, BASE_DEC, NULL, 0,
9686         "INTEGER_1_16", HFILL }},
9687     { &hf_rrlp_bitsize_delta_cuc,
9688       { "bitsize-delta-cuc", "rrlp.bitsize_delta_cuc",
9689         FT_UINT32, BASE_DEC, NULL, 0,
9690         "INTEGER_1_16", HFILL }},
9691     { &hf_rrlp_bitsize_delta_tgd1,
9692       { "bitsize-delta-tgd1", "rrlp.bitsize_delta_tgd1",
9693         FT_UINT32, BASE_DEC, NULL, 0,
9694         "INTEGER_1_10", HFILL }},
9695     { &hf_rrlp_bitsize_delta_tgd2,
9696       { "bitsize-delta-tgd2", "rrlp.bitsize_delta_tgd2",
9697         FT_UINT32, BASE_DEC, NULL, 0,
9698         "INTEGER_1_10", HFILL }},
9699     { &hf_rrlp_scale_delta_omega,
9700       { "scale-delta-omega", "rrlp.scale_delta_omega",
9701         FT_INT32, BASE_DEC, NULL, 0,
9702         "INTEGER_M16_15", HFILL }},
9703     { &hf_rrlp_scale_delta_deltaN,
9704       { "scale-delta-deltaN", "rrlp.scale_delta_deltaN",
9705         FT_INT32, BASE_DEC, NULL, 0,
9706         "INTEGER_M16_15", HFILL }},
9707     { &hf_rrlp_scale_delta_m0,
9708       { "scale-delta-m0", "rrlp.scale_delta_m0",
9709         FT_INT32, BASE_DEC, NULL, 0,
9710         "INTEGER_M16_15", HFILL }},
9711     { &hf_rrlp_scale_delta_omegadot,
9712       { "scale-delta-omegadot", "rrlp.scale_delta_omegadot",
9713         FT_INT32, BASE_DEC, NULL, 0,
9714         "INTEGER_M16_15", HFILL }},
9715     { &hf_rrlp_scale_delta_e,
9716       { "scale-delta-e", "rrlp.scale_delta_e",
9717         FT_INT32, BASE_DEC, NULL, 0,
9718         "INTEGER_M16_15", HFILL }},
9719     { &hf_rrlp_scale_delta_idot,
9720       { "scale-delta-idot", "rrlp.scale_delta_idot",
9721         FT_INT32, BASE_DEC, NULL, 0,
9722         "INTEGER_M16_15", HFILL }},
9723     { &hf_rrlp_scale_delta_sqrtA,
9724       { "scale-delta-sqrtA", "rrlp.scale_delta_sqrtA",
9725         FT_INT32, BASE_DEC, NULL, 0,
9726         "INTEGER_M16_15", HFILL }},
9727     { &hf_rrlp_scale_delta_i0,
9728       { "scale-delta-i0", "rrlp.scale_delta_i0",
9729         FT_INT32, BASE_DEC, NULL, 0,
9730         "INTEGER_M16_15", HFILL }},
9731     { &hf_rrlp_scale_delta_omega0,
9732       { "scale-delta-omega0", "rrlp.scale_delta_omega0",
9733         FT_INT32, BASE_DEC, NULL, 0,
9734         "INTEGER_M16_15", HFILL }},
9735     { &hf_rrlp_scale_delta_crs,
9736       { "scale-delta-crs", "rrlp.scale_delta_crs",
9737         FT_INT32, BASE_DEC, NULL, 0,
9738         "INTEGER_M16_15", HFILL }},
9739     { &hf_rrlp_scale_delta_cis,
9740       { "scale-delta-cis", "rrlp.scale_delta_cis",
9741         FT_INT32, BASE_DEC, NULL, 0,
9742         "INTEGER_M16_15", HFILL }},
9743     { &hf_rrlp_scale_delta_cus,
9744       { "scale-delta-cus", "rrlp.scale_delta_cus",
9745         FT_INT32, BASE_DEC, NULL, 0,
9746         "INTEGER_M16_15", HFILL }},
9747     { &hf_rrlp_scale_delta_crc,
9748       { "scale-delta-crc", "rrlp.scale_delta_crc",
9749         FT_INT32, BASE_DEC, NULL, 0,
9750         "INTEGER_M16_15", HFILL }},
9751     { &hf_rrlp_scale_delta_cic,
9752       { "scale-delta-cic", "rrlp.scale_delta_cic",
9753         FT_INT32, BASE_DEC, NULL, 0,
9754         "INTEGER_M16_15", HFILL }},
9755     { &hf_rrlp_scale_delta_cuc,
9756       { "scale-delta-cuc", "rrlp.scale_delta_cuc",
9757         FT_INT32, BASE_DEC, NULL, 0,
9758         "INTEGER_M16_15", HFILL }},
9759     { &hf_rrlp_scale_delta_tgd1,
9760       { "scale-delta-tgd1", "rrlp.scale_delta_tgd1",
9761         FT_INT32, BASE_DEC, NULL, 0,
9762         "INTEGER_M16_15", HFILL }},
9763     { &hf_rrlp_scale_delta_tgd2,
9764       { "scale-delta-tgd2", "rrlp.scale_delta_tgd2",
9765         FT_INT32, BASE_DEC, NULL, 0,
9766         "INTEGER_M16_15", HFILL }},
9767     { &hf_rrlp_ganssBeginTime,
9768       { "ganssBeginTime", "rrlp.ganssBeginTime_element",
9769         FT_NONE, BASE_NONE, NULL, 0,
9770         "GANSSEphemerisExtensionTime", HFILL }},
9771     { &hf_rrlp_ganssEndTime,
9772       { "ganssEndTime", "rrlp.ganssEndTime_element",
9773         FT_NONE, BASE_NONE, NULL, 0,
9774         "GANSSEphemerisExtensionTime", HFILL }},
9775     { &hf_rrlp_ganssSatEventsInfo,
9776       { "ganssSatEventsInfo", "rrlp.ganssSatEventsInfo_element",
9777         FT_NONE, BASE_NONE, NULL, 0,
9778         NULL, HFILL }},
9779     { &hf_rrlp_eventOccured,
9780       { "eventOccured", "rrlp.eventOccured",
9781         FT_BYTES, BASE_NONE, NULL, 0,
9782         "BIT_STRING_SIZE_64", HFILL }},
9783     { &hf_rrlp_futureEventNoted,
9784       { "futureEventNoted", "rrlp.futureEventNoted",
9785         FT_BYTES, BASE_NONE, NULL, 0,
9786         "BIT_STRING_SIZE_64", HFILL }},
9787     { &hf_rrlp_utcModel2,
9788       { "utcModel2", "rrlp.utcModel2_element",
9789         FT_NONE, BASE_NONE, NULL, 0,
9790         "UTCmodelSet2", HFILL }},
9791     { &hf_rrlp_utcModel3,
9792       { "utcModel3", "rrlp.utcModel3_element",
9793         FT_NONE, BASE_NONE, NULL, 0,
9794         "UTCmodelSet3", HFILL }},
9795     { &hf_rrlp_utcModel4,
9796       { "utcModel4", "rrlp.utcModel4_element",
9797         FT_NONE, BASE_NONE, NULL, 0,
9798         "UTCmodelSet4", HFILL }},
9799     { &hf_rrlp_utcA0_01,
9800       { "utcA0", "rrlp.utcA0",
9801         FT_INT32, BASE_DEC, NULL, 0,
9802         "INTEGER_M32768_32767", HFILL }},
9803     { &hf_rrlp_utcA1_01,
9804       { "utcA1", "rrlp.utcA1",
9805         FT_INT32, BASE_DEC, NULL, 0,
9806         "INTEGER_M4096_4095", HFILL }},
9807     { &hf_rrlp_utcA2,
9808       { "utcA2", "rrlp.utcA2",
9809         FT_INT32, BASE_DEC, NULL, 0,
9810         "INTEGER_M64_63", HFILL }},
9811     { &hf_rrlp_utcTot_01,
9812       { "utcTot", "rrlp.utcTot",
9813         FT_UINT32, BASE_DEC, NULL, 0,
9814         "INTEGER_0_65535", HFILL }},
9815     { &hf_rrlp_utcWNot,
9816       { "utcWNot", "rrlp.utcWNot",
9817         FT_UINT32, BASE_DEC, NULL, 0,
9818         "INTEGER_0_8191", HFILL }},
9819     { &hf_rrlp_utcDN_01,
9820       { "utcDN", "rrlp.utcDN",
9821         FT_BYTES, BASE_NONE, NULL, 0,
9822         "BIT_STRING_SIZE_4", HFILL }},
9823     { &hf_rrlp_nA,
9824       { "nA", "rrlp.nA",
9825         FT_UINT32, BASE_DEC, NULL, 0,
9826         "INTEGER_1_1461", HFILL }},
9827     { &hf_rrlp_tauC,
9828       { "tauC", "rrlp.tauC",
9829         FT_INT32, BASE_DEC, NULL, 0,
9830         "INTEGER_M2147483648_2147483647", HFILL }},
9831     { &hf_rrlp_b1,
9832       { "b1", "rrlp.b1",
9833         FT_INT32, BASE_DEC, NULL, 0,
9834         "INTEGER_M1024_1023", HFILL }},
9835     { &hf_rrlp_b2,
9836       { "b2", "rrlp.b2",
9837         FT_INT32, BASE_DEC, NULL, 0,
9838         "INTEGER_M512_511", HFILL }},
9839     { &hf_rrlp_kp,
9840       { "kp", "rrlp.kp",
9841         FT_BYTES, BASE_NONE, NULL, 0,
9842         "BIT_STRING_SIZE_2", HFILL }},
9843     { &hf_rrlp_utcA1wnt,
9844       { "utcA1wnt", "rrlp.utcA1wnt",
9845         FT_INT32, BASE_DEC, NULL, 0,
9846         "INTEGER_M8388608_8388607", HFILL }},
9847     { &hf_rrlp_utcA0wnt,
9848       { "utcA0wnt", "rrlp.utcA0wnt",
9849         FT_INT32, BASE_DEC, NULL, 0,
9850         "INTEGER_M2147483648_2147483647", HFILL }},
9851     { &hf_rrlp_utcStandardID,
9852       { "utcStandardID", "rrlp.utcStandardID",
9853         FT_UINT32, BASE_DEC, NULL, 0,
9854         "INTEGER_0_7", HFILL }},
9855     { &hf_rrlp_ganssID1,
9856       { "ganssID1", "rrlp.ganssID1",
9857         FT_UINT32, BASE_DEC, NULL, 0,
9858         "GANSS_ID1", HFILL }},
9859     { &hf_rrlp_ganssID3,
9860       { "ganssID3", "rrlp.ganssID3",
9861         FT_UINT32, BASE_DEC, NULL, 0,
9862         "GANSS_ID3", HFILL }},
9863     { &hf_rrlp_GANSS_ID1_item,
9864       { "GANSS-ID1-element", "rrlp.GANSS_ID1_element_element",
9865         FT_NONE, BASE_NONE, NULL, 0,
9866         NULL, HFILL }},
9867     { &hf_rrlp_signalsAvailable,
9868       { "signalsAvailable", "rrlp.signalsAvailable",
9869         FT_BYTES, BASE_NONE, NULL, 0,
9870         "GANSSSignals", HFILL }},
9871     { &hf_rrlp_GANSS_ID3_item,
9872       { "GANSS-ID3-element", "rrlp.GANSS_ID3_element_element",
9873         FT_NONE, BASE_NONE, NULL, 0,
9874         NULL, HFILL }},
9875     { &hf_rrlp_channelNumber,
9876       { "channelNumber", "rrlp.channelNumber",
9877         FT_INT32, BASE_DEC, NULL, 0,
9878         "INTEGER_M7_13", HFILL }},
9879     { &hf_rrlp_GANSSDiffCorrectionsValidityPeriod_item,
9880       { "DGANSSExtensionSgnTypeElement", "rrlp.DGANSSExtensionSgnTypeElement_element",
9881         FT_NONE, BASE_NONE, NULL, 0,
9882         NULL, HFILL }},
9883     { &hf_rrlp_dganssExtensionSgnList,
9884       { "dganssExtensionSgnList", "rrlp.dganssExtensionSgnList",
9885         FT_UINT32, BASE_DEC, NULL, 0,
9886         "SeqOfDGANSSExtensionSgnElement", HFILL }},
9887     { &hf_rrlp_SeqOfDGANSSExtensionSgnElement_item,
9888       { "DGANSSExtensionSgnElement", "rrlp.DGANSSExtensionSgnElement_element",
9889         FT_NONE, BASE_NONE, NULL, 0,
9890         NULL, HFILL }},
9891     { &hf_rrlp_udreGrowthRate,
9892       { "udreGrowthRate", "rrlp.udreGrowthRate",
9893         FT_UINT32, BASE_DEC, NULL, 0,
9894         "INTEGER_0_7", HFILL }},
9895     { &hf_rrlp_udreValidityTime,
9896       { "udreValidityTime", "rrlp.udreValidityTime",
9897         FT_UINT32, BASE_DEC, NULL, 0,
9898         "INTEGER_0_7", HFILL }},
9899     { &hf_rrlp_add_GPS_controlHeader,
9900       { "add-GPS-controlHeader", "rrlp.add_GPS_controlHeader_element",
9901         FT_NONE, BASE_NONE, NULL, 0,
9902         NULL, HFILL }},
9903     { &hf_rrlp_gpsEphemerisExtension,
9904       { "gpsEphemerisExtension", "rrlp.gpsEphemerisExtension_element",
9905         FT_NONE, BASE_NONE, NULL, 0,
9906         NULL, HFILL }},
9907     { &hf_rrlp_gpsEphemerisExtensionCheck,
9908       { "gpsEphemerisExtensionCheck", "rrlp.gpsEphemerisExtensionCheck_element",
9909         FT_NONE, BASE_NONE, NULL, 0,
9910         NULL, HFILL }},
9911     { &hf_rrlp_dgpsCorrectionsValidityPeriod,
9912       { "dgpsCorrectionsValidityPeriod", "rrlp.dgpsCorrectionsValidityPeriod",
9913         FT_UINT32, BASE_DEC, NULL, 0,
9914         NULL, HFILL }},
9915     { &hf_rrlp_gpsReferenceTime_R10_Ext,
9916       { "gpsReferenceTime-R10-Ext", "rrlp.gpsReferenceTime_R10_Ext_element",
9917         FT_NONE, BASE_NONE, NULL, 0,
9918         NULL, HFILL }},
9919     { &hf_rrlp_gpsAcquisAssist_R10_Ext,
9920       { "gpsAcquisAssist-R10-Ext", "rrlp.gpsAcquisAssist_R10_Ext",
9921         FT_UINT32, BASE_DEC, NULL, 0,
9922         NULL, HFILL }},
9923     { &hf_rrlp_gpsAlmanac_R10_Ext,
9924       { "gpsAlmanac-R10-Ext", "rrlp.gpsAlmanac_R10_Ext_element",
9925         FT_NONE, BASE_NONE, NULL, 0,
9926         NULL, HFILL }},
9927     { &hf_rrlp_af2,
9928       { "af2", "rrlp.af2",
9929         FT_INT32, BASE_DEC, NULL, 0,
9930         "INTEGER_M128_127", HFILL }},
9931     { &hf_rrlp_af1,
9932       { "af1", "rrlp.af1",
9933         FT_INT32, BASE_DEC, NULL, 0,
9934         "INTEGER_M32768_32767", HFILL }},
9935     { &hf_rrlp_af0,
9936       { "af0", "rrlp.af0",
9937         FT_INT32, BASE_DEC, NULL, 0,
9938         "INTEGER_M2097152_2097151", HFILL }},
9939     { &hf_rrlp_tgd,
9940       { "tgd", "rrlp.tgd",
9941         FT_INT32, BASE_DEC, NULL, 0,
9942         "INTEGER_M128_127", HFILL }},
9943     { &hf_rrlp_gpsEphemerisHeader,
9944       { "gpsEphemerisHeader", "rrlp.gpsEphemerisHeader_element",
9945         FT_NONE, BASE_NONE, NULL, 0,
9946         "GPSEphemerisExtensionHeader", HFILL }},
9947     { &hf_rrlp_gpsReferenceSet,
9948       { "gpsReferenceSet", "rrlp.gpsReferenceSet",
9949         FT_UINT32, BASE_DEC, NULL, 0,
9950         "SeqOfGPSRefOrbit", HFILL }},
9951     { &hf_rrlp_gpsephemerisDeltaMatrix,
9952       { "gpsephemerisDeltaMatrix", "rrlp.gpsephemerisDeltaMatrix",
9953         FT_UINT32, BASE_DEC, NULL, 0,
9954         NULL, HFILL }},
9955     { &hf_rrlp_timeofEstimation,
9956       { "timeofEstimation", "rrlp.timeofEstimation_element",
9957         FT_NONE, BASE_NONE, NULL, 0,
9958         "GPSEphemerisExtensionTime", HFILL }},
9959     { &hf_rrlp_SeqOfGPSRefOrbit_item,
9960       { "GPSReferenceOrbit", "rrlp.GPSReferenceOrbit_element",
9961         FT_NONE, BASE_NONE, NULL, 0,
9962         NULL, HFILL }},
9963     { &hf_rrlp_gpsOrbitModel,
9964       { "gpsOrbitModel", "rrlp.gpsOrbitModel_element",
9965         FT_NONE, BASE_NONE, NULL, 0,
9966         "ReferenceNavModel", HFILL }},
9967     { &hf_rrlp_gpsClockModel,
9968       { "gpsClockModel", "rrlp.gpsClockModel_element",
9969         FT_NONE, BASE_NONE, NULL, 0,
9970         NULL, HFILL }},
9971     { &hf_rrlp_GPSEphemerisDeltaMatrix_item,
9972       { "GPSEphemerisDeltaEpoch", "rrlp.GPSEphemerisDeltaEpoch_element",
9973         FT_NONE, BASE_NONE, NULL, 0,
9974         NULL, HFILL }},
9975     { &hf_rrlp_gpsDeltaEpochHeader,
9976       { "gpsDeltaEpochHeader", "rrlp.gpsDeltaEpochHeader_element",
9977         FT_NONE, BASE_NONE, NULL, 0,
9978         NULL, HFILL }},
9979     { &hf_rrlp_gpsDeltaElementList,
9980       { "gpsDeltaElementList", "rrlp.gpsDeltaElementList",
9981         FT_UINT32, BASE_DEC, NULL, 0,
9982         NULL, HFILL }},
9983     { &hf_rrlp_ephemerisDeltaSizes_01,
9984       { "ephemerisDeltaSizes", "rrlp.ephemerisDeltaSizes_element",
9985         FT_NONE, BASE_NONE, NULL, 0,
9986         "GPSEphemerisDeltaBitSizes", HFILL }},
9987     { &hf_rrlp_ephemerisDeltaScales_01,
9988       { "ephemerisDeltaScales", "rrlp.ephemerisDeltaScales_element",
9989         FT_NONE, BASE_NONE, NULL, 0,
9990         "GPSEphemerisDeltaScales", HFILL }},
9991     { &hf_rrlp_GPSDeltaElementList_item,
9992       { "GPSDeltaElementList item", "rrlp.GPSDeltaElementList_item",
9993         FT_BYTES, BASE_NONE, NULL, 0,
9994         "OCTET_STRING_SIZE_1_47", HFILL }},
9995     { &hf_rrlp_bitsize_delta_tgd,
9996       { "bitsize-delta-tgd", "rrlp.bitsize_delta_tgd",
9997         FT_UINT32, BASE_DEC, NULL, 0,
9998         "INTEGER_1_10", HFILL }},
9999     { &hf_rrlp_scale_delta_tgd,
10000       { "scale-delta-tgd", "rrlp.scale_delta_tgd",
10001         FT_INT32, BASE_DEC, NULL, 0,
10002         "INTEGER_M16_15", HFILL }},
10003     { &hf_rrlp_gpsBeginTime,
10004       { "gpsBeginTime", "rrlp.gpsBeginTime_element",
10005         FT_NONE, BASE_NONE, NULL, 0,
10006         "GPSEphemerisExtensionTime", HFILL }},
10007     { &hf_rrlp_gpsEndTime,
10008       { "gpsEndTime", "rrlp.gpsEndTime_element",
10009         FT_NONE, BASE_NONE, NULL, 0,
10010         "GPSEphemerisExtensionTime", HFILL }},
10011     { &hf_rrlp_gpsSatEventsInfo,
10012       { "gpsSatEventsInfo", "rrlp.gpsSatEventsInfo_element",
10013         FT_NONE, BASE_NONE, NULL, 0,
10014         NULL, HFILL }},
10015     { &hf_rrlp_eventOccured_01,
10016       { "eventOccured", "rrlp.eventOccured",
10017         FT_BYTES, BASE_NONE, NULL, 0,
10018         "BIT_STRING_SIZE_32", HFILL }},
10019     { &hf_rrlp_futureEventNoted_01,
10020       { "futureEventNoted", "rrlp.futureEventNoted",
10021         FT_BYTES, BASE_NONE, NULL, 0,
10022         "BIT_STRING_SIZE_32", HFILL }},
10023     { &hf_rrlp_DGPSCorrectionsValidityPeriod_item,
10024       { "DGPSExtensionSatElement", "rrlp.DGPSExtensionSatElement_element",
10025         FT_NONE, BASE_NONE, NULL, 0,
10026         NULL, HFILL }},
10027     { &hf_rrlp_gpsWeekCycleNumber,
10028       { "gpsWeekCycleNumber", "rrlp.gpsWeekCycleNumber",
10029         FT_UINT32, BASE_DEC, NULL, 0,
10030         "INTEGER_0_7", HFILL }},
10031     { &hf_rrlp_GPSAcquisAssist_R10_Ext_item,
10032       { "GPSAcquisAssist-R10-Ext-Element", "rrlp.GPSAcquisAssist_R10_Ext_Element_element",
10033         FT_NONE, BASE_NONE, NULL, 0,
10034         NULL, HFILL }},
10035     { &hf_rrlp_velEstimate,
10036       { "velEstimate", "rrlp.velEstimate",
10037         FT_BYTES, BASE_NONE, NULL, 0,
10038         "VelocityEstimate", HFILL }},
10039     { &hf_rrlp_ganssLocationInfo,
10040       { "ganssLocationInfo", "rrlp.ganssLocationInfo_element",
10041         FT_NONE, BASE_NONE, NULL, 0,
10042         NULL, HFILL }},
10043     { &hf_rrlp_ganssMeasureInfo,
10044       { "ganssMeasureInfo", "rrlp.ganssMeasureInfo_element",
10045         FT_NONE, BASE_NONE, NULL, 0,
10046         NULL, HFILL }},
10047     { &hf_rrlp_referenceFrame,
10048       { "referenceFrame", "rrlp.referenceFrame_element",
10049         FT_NONE, BASE_NONE, NULL, 0,
10050         NULL, HFILL }},
10051     { &hf_rrlp_ganssTODm,
10052       { "ganssTODm", "rrlp.ganssTODm",
10053         FT_UINT32, BASE_DEC, NULL, 0,
10054         NULL, HFILL }},
10055     { &hf_rrlp_ganssTODFrac,
10056       { "ganssTODFrac", "rrlp.ganssTODFrac",
10057         FT_UINT32, BASE_DEC, NULL, 0,
10058         "INTEGER_0_16384", HFILL }},
10059     { &hf_rrlp_posData,
10060       { "posData", "rrlp.posData",
10061         FT_BYTES, BASE_NONE, NULL, 0,
10062         "PositionData", HFILL }},
10063     { &hf_rrlp_stationaryIndication,
10064       { "stationaryIndication", "rrlp.stationaryIndication",
10065         FT_UINT32, BASE_DEC, NULL, 0,
10066         "INTEGER_0_1", HFILL }},
10067     { &hf_rrlp_referenceFN,
10068       { "referenceFN", "rrlp.referenceFN",
10069         FT_UINT32, BASE_DEC, NULL, 0,
10070         "INTEGER_0_65535", HFILL }},
10071     { &hf_rrlp_referenceFNMSB,
10072       { "referenceFNMSB", "rrlp.referenceFNMSB",
10073         FT_UINT32, BASE_DEC, NULL, 0,
10074         "INTEGER_0_63", HFILL }},
10075     { &hf_rrlp_ganssMsrSetList,
10076       { "ganssMsrSetList", "rrlp.ganssMsrSetList",
10077         FT_UINT32, BASE_DEC, NULL, 0,
10078         "SeqOfGANSS_MsrSetElement", HFILL }},
10079     { &hf_rrlp_SeqOfGANSS_MsrSetElement_item,
10080       { "GANSS-MsrSetElement", "rrlp.GANSS_MsrSetElement_element",
10081         FT_NONE, BASE_NONE, NULL, 0,
10082         NULL, HFILL }},
10083     { &hf_rrlp_deltaGANSSTOD,
10084       { "deltaGANSSTOD", "rrlp.deltaGANSSTOD",
10085         FT_UINT32, BASE_DEC, NULL, 0,
10086         "INTEGER_0_127", HFILL }},
10087     { &hf_rrlp_ganss_MsrElementList,
10088       { "ganss-MsrElementList", "rrlp.ganss_MsrElementList",
10089         FT_UINT32, BASE_DEC, NULL, 0,
10090         "SeqOfGANSS_MsrElement", HFILL }},
10091     { &hf_rrlp_SeqOfGANSS_MsrElement_item,
10092       { "GANSS-MsrElement", "rrlp.GANSS_MsrElement_element",
10093         FT_NONE, BASE_NONE, NULL, 0,
10094         NULL, HFILL }},
10095     { &hf_rrlp_ganss_SgnTypeList,
10096       { "ganss-SgnTypeList", "rrlp.ganss_SgnTypeList",
10097         FT_UINT32, BASE_DEC, NULL, 0,
10098         "SeqOfGANSS_SgnTypeElement", HFILL }},
10099     { &hf_rrlp_SeqOfGANSS_SgnTypeElement_item,
10100       { "GANSS-SgnTypeElement", "rrlp.GANSS_SgnTypeElement_element",
10101         FT_NONE, BASE_NONE, NULL, 0,
10102         NULL, HFILL }},
10103     { &hf_rrlp_ganssCodePhaseAmbiguity,
10104       { "ganssCodePhaseAmbiguity", "rrlp.ganssCodePhaseAmbiguity",
10105         FT_UINT32, BASE_DEC, NULL, 0,
10106         "INTEGER_0_127", HFILL }},
10107     { &hf_rrlp_ganss_SgnList,
10108       { "ganss-SgnList", "rrlp.ganss_SgnList",
10109         FT_UINT32, BASE_DEC, NULL, 0,
10110         "SeqOfGANSS_SgnElement", HFILL }},
10111     { &hf_rrlp_SeqOfGANSS_SgnElement_item,
10112       { "GANSS-SgnElement", "rrlp.GANSS_SgnElement_element",
10113         FT_NONE, BASE_NONE, NULL, 0,
10114         NULL, HFILL }},
10115     { &hf_rrlp_mpathDet,
10116       { "mpathDet", "rrlp.mpathDet",
10117         FT_UINT32, BASE_DEC, VALS(rrlp_MpathIndic_vals), 0,
10118         "MpathIndic", HFILL }},
10119     { &hf_rrlp_carrierQualityInd,
10120       { "carrierQualityInd", "rrlp.carrierQualityInd",
10121         FT_UINT32, BASE_DEC, NULL, 0,
10122         "INTEGER_0_3", HFILL }},
10123     { &hf_rrlp_codePhase_01,
10124       { "codePhase", "rrlp.codePhase",
10125         FT_UINT32, BASE_DEC, NULL, 0,
10126         "INTEGER_0_2097151", HFILL }},
10127     { &hf_rrlp_integerCodePhase,
10128       { "integerCodePhase", "rrlp.integerCodePhase",
10129         FT_UINT32, BASE_DEC, NULL, 0,
10130         "INTEGER_0_127", HFILL }},
10131     { &hf_rrlp_codePhaseRMSError,
10132       { "codePhaseRMSError", "rrlp.codePhaseRMSError",
10133         FT_UINT32, BASE_DEC, NULL, 0,
10134         "INTEGER_0_63", HFILL }},
10135     { &hf_rrlp_adr,
10136       { "adr", "rrlp.adr",
10137         FT_UINT32, BASE_DEC, NULL, 0,
10138         "INTEGER_0_33554431", HFILL }},
10139     { &hf_rrlp_nonGANSSpositionMethods,
10140       { "nonGANSSpositionMethods", "rrlp.nonGANSSpositionMethods",
10141         FT_BYTES, BASE_NONE, NULL, 0,
10142         NULL, HFILL }},
10143     { &hf_rrlp_multipleMeasurementSets,
10144       { "multipleMeasurementSets", "rrlp.multipleMeasurementSets",
10145         FT_BYTES, BASE_NONE, NULL, 0,
10146         NULL, HFILL }},
10147     { &hf_rrlp_GANSSPositionMethods_item,
10148       { "GANSSPositionMethod", "rrlp.GANSSPositionMethod_element",
10149         FT_NONE, BASE_NONE, NULL, 0,
10150         NULL, HFILL }},
10151     { &hf_rrlp_gANSSPositioningMethodTypes,
10152       { "gANSSPositioningMethodTypes", "rrlp.gANSSPositioningMethodTypes",
10153         FT_BYTES, BASE_NONE, NULL, 0,
10154         NULL, HFILL }},
10155     { &hf_rrlp_gANSSSignals,
10156       { "gANSSSignals", "rrlp.gANSSSignals",
10157         FT_BYTES, BASE_NONE, NULL, 0,
10158         NULL, HFILL }},
10159     { &hf_rrlp_sbasID_01,
10160       { "sbasID", "rrlp.sbasID",
10161         FT_BYTES, BASE_NONE, NULL, 0,
10162         NULL, HFILL }},
10163     { &hf_rrlp_gpsAssistance,
10164       { "gpsAssistance", "rrlp.gpsAssistance",
10165         FT_BYTES, BASE_NONE, NULL, 0,
10166         NULL, HFILL }},
10167     { &hf_rrlp_gANSSAssistanceSet,
10168       { "gANSSAssistanceSet", "rrlp.gANSSAssistanceSet_element",
10169         FT_NONE, BASE_NONE, NULL, 0,
10170         NULL, HFILL }},
10171     { &hf_rrlp_gANSSAdditionalAssistanceChoices,
10172       { "gANSSAdditionalAssistanceChoices", "rrlp.gANSSAdditionalAssistanceChoices",
10173         FT_UINT32, BASE_DEC, NULL, 0,
10174         NULL, HFILL }},
10175     { &hf_rrlp_commonGANSSAssistance,
10176       { "commonGANSSAssistance", "rrlp.commonGANSSAssistance",
10177         FT_BYTES, BASE_NONE, NULL, 0,
10178         NULL, HFILL }},
10179     { &hf_rrlp_specificGANSSAssistance,
10180       { "specificGANSSAssistance", "rrlp.specificGANSSAssistance",
10181         FT_UINT32, BASE_DEC, NULL, 0,
10182         NULL, HFILL }},
10183     { &hf_rrlp_SpecificGANSSAssistance_item,
10184       { "GANSSAssistanceForOneGANSS", "rrlp.GANSSAssistanceForOneGANSS_element",
10185         FT_NONE, BASE_NONE, NULL, 0,
10186         NULL, HFILL }},
10187     { &hf_rrlp_gANSSAssistance,
10188       { "gANSSAssistance", "rrlp.gANSSAssistance",
10189         FT_BYTES, BASE_NONE, NULL, 0,
10190         NULL, HFILL }},
10191     { &hf_rrlp_GANSSAdditionalAssistanceChoices_item,
10192       { "GANSSAdditionalAssistanceChoicesForOneGANSS", "rrlp.GANSSAdditionalAssistanceChoicesForOneGANSS_element",
10193         FT_NONE, BASE_NONE, NULL, 0,
10194         NULL, HFILL }},
10195     { &hf_rrlp_ganssClockModelChoice,
10196       { "ganssClockModelChoice", "rrlp.ganssClockModelChoice",
10197         FT_BYTES, BASE_NONE, NULL, 0,
10198         "GANSSModelID", HFILL }},
10199     { &hf_rrlp_gannsOrbitModelChoice,
10200       { "gannsOrbitModelChoice", "rrlp.gannsOrbitModelChoice",
10201         FT_BYTES, BASE_NONE, NULL, 0,
10202         "GANSSModelID", HFILL }},
10203     { &hf_rrlp_ganssAlmanacModelChoice,
10204       { "ganssAlmanacModelChoice", "rrlp.ganssAlmanacModelChoice",
10205         FT_BYTES, BASE_NONE, NULL, 0,
10206         "GANSSModelID", HFILL }},
10207     { &hf_rrlp_ganssAdditionalUTCModelChoice,
10208       { "ganssAdditionalUTCModelChoice", "rrlp.ganssAdditionalUTCModelChoice",
10209         FT_BYTES, BASE_NONE, NULL, 0,
10210         "GANSSModelID", HFILL }},
10211     { &hf_rrlp_GANSSPositioningMethod_gps,
10212       { "gps", "rrlp.GANSSPositioningMethod.gps",
10213         FT_BOOLEAN, 8, NULL, 0x80,
10214         NULL, HFILL }},
10215     { &hf_rrlp_GANSSPositioningMethod_galileo,
10216       { "galileo", "rrlp.GANSSPositioningMethod.galileo",
10217         FT_BOOLEAN, 8, NULL, 0x40,
10218         NULL, HFILL }},
10219     { &hf_rrlp_GANSSPositioningMethod_sbas,
10220       { "sbas", "rrlp.GANSSPositioningMethod.sbas",
10221         FT_BOOLEAN, 8, NULL, 0x20,
10222         NULL, HFILL }},
10223     { &hf_rrlp_GANSSPositioningMethod_modernizedGPS,
10224       { "modernizedGPS", "rrlp.GANSSPositioningMethod.modernizedGPS",
10225         FT_BOOLEAN, 8, NULL, 0x10,
10226         NULL, HFILL }},
10227     { &hf_rrlp_GANSSPositioningMethod_qzss,
10228       { "qzss", "rrlp.GANSSPositioningMethod.qzss",
10229         FT_BOOLEAN, 8, NULL, 0x08,
10230         NULL, HFILL }},
10231     { &hf_rrlp_GANSSPositioningMethod_glonass,
10232       { "glonass", "rrlp.GANSSPositioningMethod.glonass",
10233         FT_BOOLEAN, 8, NULL, 0x04,
10234         NULL, HFILL }},
10235     { &hf_rrlp_PositionData_e_otd,
10236       { "e-otd", "rrlp.PositionData.e.otd",
10237         FT_BOOLEAN, 8, NULL, 0x80,
10238         NULL, HFILL }},
10239     { &hf_rrlp_PositionData_gps,
10240       { "gps", "rrlp.PositionData.gps",
10241         FT_BOOLEAN, 8, NULL, 0x40,
10242         NULL, HFILL }},
10243     { &hf_rrlp_PositionData_galileo,
10244       { "galileo", "rrlp.PositionData.galileo",
10245         FT_BOOLEAN, 8, NULL, 0x20,
10246         NULL, HFILL }},
10247     { &hf_rrlp_PositionData_sbas,
10248       { "sbas", "rrlp.PositionData.sbas",
10249         FT_BOOLEAN, 8, NULL, 0x10,
10250         NULL, HFILL }},
10251     { &hf_rrlp_PositionData_modernizedGPS,
10252       { "modernizedGPS", "rrlp.PositionData.modernizedGPS",
10253         FT_BOOLEAN, 8, NULL, 0x08,
10254         NULL, HFILL }},
10255     { &hf_rrlp_PositionData_qzss,
10256       { "qzss", "rrlp.PositionData.qzss",
10257         FT_BOOLEAN, 8, NULL, 0x04,
10258         NULL, HFILL }},
10259     { &hf_rrlp_PositionData_glonass,
10260       { "glonass", "rrlp.PositionData.glonass",
10261         FT_BOOLEAN, 8, NULL, 0x02,
10262         NULL, HFILL }},
10263     { &hf_rrlp_NonGANSSPositionMethods_msAssistedEOTD,
10264       { "msAssistedEOTD", "rrlp.NonGANSSPositionMethods.msAssistedEOTD",
10265         FT_BOOLEAN, 8, NULL, 0x80,
10266         NULL, HFILL }},
10267     { &hf_rrlp_NonGANSSPositionMethods_msBasedEOTD,
10268       { "msBasedEOTD", "rrlp.NonGANSSPositionMethods.msBasedEOTD",
10269         FT_BOOLEAN, 8, NULL, 0x40,
10270         NULL, HFILL }},
10271     { &hf_rrlp_NonGANSSPositionMethods_msAssistedGPS,
10272       { "msAssistedGPS", "rrlp.NonGANSSPositionMethods.msAssistedGPS",
10273         FT_BOOLEAN, 8, NULL, 0x20,
10274         NULL, HFILL }},
10275     { &hf_rrlp_NonGANSSPositionMethods_msBasedGPS,
10276       { "msBasedGPS", "rrlp.NonGANSSPositionMethods.msBasedGPS",
10277         FT_BOOLEAN, 8, NULL, 0x10,
10278         NULL, HFILL }},
10279     { &hf_rrlp_NonGANSSPositionMethods_standaloneGPS,
10280       { "standaloneGPS", "rrlp.NonGANSSPositionMethods.standaloneGPS",
10281         FT_BOOLEAN, 8, NULL, 0x08,
10282         NULL, HFILL }},
10283     { &hf_rrlp_GANSSPositioningMethodTypes_msAssisted,
10284       { "msAssisted", "rrlp.GANSSPositioningMethodTypes.msAssisted",
10285         FT_BOOLEAN, 8, NULL, 0x80,
10286         NULL, HFILL }},
10287     { &hf_rrlp_GANSSPositioningMethodTypes_msBased,
10288       { "msBased", "rrlp.GANSSPositioningMethodTypes.msBased",
10289         FT_BOOLEAN, 8, NULL, 0x40,
10290         NULL, HFILL }},
10291     { &hf_rrlp_GANSSPositioningMethodTypes_standalone,
10292       { "standalone", "rrlp.GANSSPositioningMethodTypes.standalone",
10293         FT_BOOLEAN, 8, NULL, 0x20,
10294         NULL, HFILL }},
10295     { &hf_rrlp_GANSSSignals_signal1,
10296       { "signal1", "rrlp.GANSSSignals.signal1",
10297         FT_BOOLEAN, 8, NULL, 0x80,
10298         NULL, HFILL }},
10299     { &hf_rrlp_GANSSSignals_signal2,
10300       { "signal2", "rrlp.GANSSSignals.signal2",
10301         FT_BOOLEAN, 8, NULL, 0x40,
10302         NULL, HFILL }},
10303     { &hf_rrlp_GANSSSignals_signal3,
10304       { "signal3", "rrlp.GANSSSignals.signal3",
10305         FT_BOOLEAN, 8, NULL, 0x20,
10306         NULL, HFILL }},
10307     { &hf_rrlp_GANSSSignals_signal4,
10308       { "signal4", "rrlp.GANSSSignals.signal4",
10309         FT_BOOLEAN, 8, NULL, 0x10,
10310         NULL, HFILL }},
10311     { &hf_rrlp_GANSSSignals_signal5,
10312       { "signal5", "rrlp.GANSSSignals.signal5",
10313         FT_BOOLEAN, 8, NULL, 0x08,
10314         NULL, HFILL }},
10315     { &hf_rrlp_GANSSSignals_signal6,
10316       { "signal6", "rrlp.GANSSSignals.signal6",
10317         FT_BOOLEAN, 8, NULL, 0x04,
10318         NULL, HFILL }},
10319     { &hf_rrlp_GANSSSignals_signal7,
10320       { "signal7", "rrlp.GANSSSignals.signal7",
10321         FT_BOOLEAN, 8, NULL, 0x02,
10322         NULL, HFILL }},
10323     { &hf_rrlp_GANSSSignals_signal8,
10324       { "signal8", "rrlp.GANSSSignals.signal8",
10325         FT_BOOLEAN, 8, NULL, 0x01,
10326         NULL, HFILL }},
10327     { &hf_rrlp_SBASID_waas,
10328       { "waas", "rrlp.SBASID.waas",
10329         FT_BOOLEAN, 8, NULL, 0x80,
10330         NULL, HFILL }},
10331     { &hf_rrlp_SBASID_egnos,
10332       { "egnos", "rrlp.SBASID.egnos",
10333         FT_BOOLEAN, 8, NULL, 0x40,
10334         NULL, HFILL }},
10335     { &hf_rrlp_SBASID_masas,
10336       { "masas", "rrlp.SBASID.masas",
10337         FT_BOOLEAN, 8, NULL, 0x20,
10338         NULL, HFILL }},
10339     { &hf_rrlp_SBASID_gagan,
10340       { "gagan", "rrlp.SBASID.gagan",
10341         FT_BOOLEAN, 8, NULL, 0x10,
10342         NULL, HFILL }},
10343     { &hf_rrlp_MultipleMeasurementSets_eotd,
10344       { "eotd", "rrlp.MultipleMeasurementSets.eotd",
10345         FT_BOOLEAN, 8, NULL, 0x80,
10346         NULL, HFILL }},
10347     { &hf_rrlp_MultipleMeasurementSets_gps,
10348       { "gps", "rrlp.MultipleMeasurementSets.gps",
10349         FT_BOOLEAN, 8, NULL, 0x40,
10350         NULL, HFILL }},
10351     { &hf_rrlp_MultipleMeasurementSets_ganss,
10352       { "ganss", "rrlp.MultipleMeasurementSets.ganss",
10353         FT_BOOLEAN, 8, NULL, 0x20,
10354         NULL, HFILL }},
10355     { &hf_rrlp_GPSAssistance_almanac,
10356       { "almanac", "rrlp.GPSAssistance.almanac",
10357         FT_BOOLEAN, 8, NULL, 0x80,
10358         NULL, HFILL }},
10359     { &hf_rrlp_GPSAssistance_uTCmodel,
10360       { "uTCmodel", "rrlp.GPSAssistance.uTCmodel",
10361         FT_BOOLEAN, 8, NULL, 0x40,
10362         NULL, HFILL }},
10363     { &hf_rrlp_GPSAssistance_ionosphericModel,
10364       { "ionosphericModel", "rrlp.GPSAssistance.ionosphericModel",
10365         FT_BOOLEAN, 8, NULL, 0x20,
10366         NULL, HFILL }},
10367     { &hf_rrlp_GPSAssistance_navigationmodel,
10368       { "navigationmodel", "rrlp.GPSAssistance.navigationmodel",
10369         FT_BOOLEAN, 8, NULL, 0x10,
10370         NULL, HFILL }},
10371     { &hf_rrlp_GPSAssistance_dGPScorrections,
10372       { "dGPScorrections", "rrlp.GPSAssistance.dGPScorrections",
10373         FT_BOOLEAN, 8, NULL, 0x08,
10374         NULL, HFILL }},
10375     { &hf_rrlp_GPSAssistance_referenceLocation,
10376       { "referenceLocation", "rrlp.GPSAssistance.referenceLocation",
10377         FT_BOOLEAN, 8, NULL, 0x04,
10378         NULL, HFILL }},
10379     { &hf_rrlp_GPSAssistance_referenceTime,
10380       { "referenceTime", "rrlp.GPSAssistance.referenceTime",
10381         FT_BOOLEAN, 8, NULL, 0x02,
10382         NULL, HFILL }},
10383     { &hf_rrlp_GPSAssistance_acquisitionAssistance,
10384       { "acquisitionAssistance", "rrlp.GPSAssistance.acquisitionAssistance",
10385         FT_BOOLEAN, 8, NULL, 0x01,
10386         NULL, HFILL }},
10387     { &hf_rrlp_GPSAssistance_realTimeIntegrity,
10388       { "realTimeIntegrity", "rrlp.GPSAssistance.realTimeIntegrity",
10389         FT_BOOLEAN, 8, NULL, 0x80,
10390         NULL, HFILL }},
10391     { &hf_rrlp_GPSAssistance_ephemerisExtension,
10392       { "ephemerisExtension", "rrlp.GPSAssistance.ephemerisExtension",
10393         FT_BOOLEAN, 8, NULL, 0x40,
10394         NULL, HFILL }},
10395     { &hf_rrlp_GPSAssistance_ephemerisExtensionCheck,
10396       { "ephemerisExtensionCheck", "rrlp.GPSAssistance.ephemerisExtensionCheck",
10397         FT_BOOLEAN, 8, NULL, 0x20,
10398         NULL, HFILL }},
10399     { &hf_rrlp_CommonGANSSAssistance_referenceTime,
10400       { "referenceTime", "rrlp.CommonGANSSAssistance.referenceTime",
10401         FT_BOOLEAN, 8, NULL, 0x80,
10402         NULL, HFILL }},
10403     { &hf_rrlp_CommonGANSSAssistance_referenceLocation,
10404       { "referenceLocation", "rrlp.CommonGANSSAssistance.referenceLocation",
10405         FT_BOOLEAN, 8, NULL, 0x40,
10406         NULL, HFILL }},
10407     { &hf_rrlp_CommonGANSSAssistance_spare_bit2,
10408       { "spare_bit2", "rrlp.CommonGANSSAssistance.spare.bit2",
10409         FT_BOOLEAN, 8, NULL, 0x20,
10410         NULL, HFILL }},
10411     { &hf_rrlp_CommonGANSSAssistance_ionosphericModel,
10412       { "ionosphericModel", "rrlp.CommonGANSSAssistance.ionosphericModel",
10413         FT_BOOLEAN, 8, NULL, 0x10,
10414         NULL, HFILL }},
10415     { &hf_rrlp_CommonGANSSAssistance_addIonosphericModel,
10416       { "addIonosphericModel", "rrlp.CommonGANSSAssistance.addIonosphericModel",
10417         FT_BOOLEAN, 8, NULL, 0x08,
10418         NULL, HFILL }},
10419     { &hf_rrlp_CommonGANSSAssistance_earthOrientationParam,
10420       { "earthOrientationParam", "rrlp.CommonGANSSAssistance.earthOrientationParam",
10421         FT_BOOLEAN, 8, NULL, 0x04,
10422         NULL, HFILL }},
10423     { &hf_rrlp_GANSSAssistance_realTimeIntegrity,
10424       { "realTimeIntegrity", "rrlp.GANSSAssistance.realTimeIntegrity",
10425         FT_BOOLEAN, 8, NULL, 0x80,
10426         NULL, HFILL }},
10427     { &hf_rrlp_GANSSAssistance_differentialCorrections,
10428       { "differentialCorrections", "rrlp.GANSSAssistance.differentialCorrections",
10429         FT_BOOLEAN, 8, NULL, 0x40,
10430         NULL, HFILL }},
10431     { &hf_rrlp_GANSSAssistance_almanac,
10432       { "almanac", "rrlp.GANSSAssistance.almanac",
10433         FT_BOOLEAN, 8, NULL, 0x20,
10434         NULL, HFILL }},
10435     { &hf_rrlp_GANSSAssistance_referenceMeasurementInformation,
10436       { "referenceMeasurementInformation", "rrlp.GANSSAssistance.referenceMeasurementInformation",
10437         FT_BOOLEAN, 8, NULL, 0x10,
10438         NULL, HFILL }},
10439     { &hf_rrlp_GANSSAssistance_navigationModel,
10440       { "navigationModel", "rrlp.GANSSAssistance.navigationModel",
10441         FT_BOOLEAN, 8, NULL, 0x08,
10442         NULL, HFILL }},
10443     { &hf_rrlp_GANSSAssistance_timeModelGNSS_UTC,
10444       { "timeModelGNSS-UTC", "rrlp.GANSSAssistance.timeModelGNSS.UTC",
10445         FT_BOOLEAN, 8, NULL, 0x04,
10446         NULL, HFILL }},
10447     { &hf_rrlp_GANSSAssistance_timeModelGNSS_GNSS,
10448       { "timeModelGNSS-GNSS", "rrlp.GANSSAssistance.timeModelGNSS.GNSS",
10449         FT_BOOLEAN, 8, NULL, 0x02,
10450         NULL, HFILL }},
10451     { &hf_rrlp_GANSSAssistance_databitassistance,
10452       { "databitassistance", "rrlp.GANSSAssistance.databitassistance",
10453         FT_BOOLEAN, 8, NULL, 0x01,
10454         NULL, HFILL }},
10455     { &hf_rrlp_GANSSAssistance_ephemerisExtension,
10456       { "ephemerisExtension", "rrlp.GANSSAssistance.ephemerisExtension",
10457         FT_BOOLEAN, 8, NULL, 0x80,
10458         NULL, HFILL }},
10459     { &hf_rrlp_GANSSAssistance_ephemerisExtensionCheck,
10460       { "ephemerisExtensionCheck", "rrlp.GANSSAssistance.ephemerisExtensionCheck",
10461         FT_BOOLEAN, 8, NULL, 0x40,
10462         NULL, HFILL }},
10463     { &hf_rrlp_GANSSAssistance_addUTCmodel,
10464       { "addUTCmodel", "rrlp.GANSSAssistance.addUTCmodel",
10465         FT_BOOLEAN, 8, NULL, 0x20,
10466         NULL, HFILL }},
10467     { &hf_rrlp_GANSSAssistance_auxiliaryInformation,
10468       { "auxiliaryInformation", "rrlp.GANSSAssistance.auxiliaryInformation",
10469         FT_BOOLEAN, 8, NULL, 0x10,
10470         NULL, HFILL }},
10471     { &hf_rrlp_GANSSModelID_model1,
10472       { "model1", "rrlp.GANSSModelID.model1",
10473         FT_BOOLEAN, 8, NULL, 0x80,
10474         NULL, HFILL }},
10475     { &hf_rrlp_GANSSModelID_model2,
10476       { "model2", "rrlp.GANSSModelID.model2",
10477         FT_BOOLEAN, 8, NULL, 0x40,
10478         NULL, HFILL }},
10479     { &hf_rrlp_GANSSModelID_model3,
10480       { "model3", "rrlp.GANSSModelID.model3",
10481         FT_BOOLEAN, 8, NULL, 0x20,
10482         NULL, HFILL }},
10483     { &hf_rrlp_GANSSModelID_model4,
10484       { "model4", "rrlp.GANSSModelID.model4",
10485         FT_BOOLEAN, 8, NULL, 0x10,
10486         NULL, HFILL }},
10487     { &hf_rrlp_GANSSModelID_model5,
10488       { "model5", "rrlp.GANSSModelID.model5",
10489         FT_BOOLEAN, 8, NULL, 0x08,
10490         NULL, HFILL }},
10491     { &hf_rrlp_GANSSModelID_model6,
10492       { "model6", "rrlp.GANSSModelID.model6",
10493         FT_BOOLEAN, 8, NULL, 0x04,
10494         NULL, HFILL }},
10495     { &hf_rrlp_GANSSModelID_model7,
10496       { "model7", "rrlp.GANSSModelID.model7",
10497         FT_BOOLEAN, 8, NULL, 0x02,
10498         NULL, HFILL }},
10499     { &hf_rrlp_GANSSModelID_model8,
10500       { "model8", "rrlp.GANSSModelID.model8",
10501         FT_BOOLEAN, 8, NULL, 0x01,
10502         NULL, HFILL }},
10503 
10504 /*--- End of included file: packet-rrlp-hfarr.c ---*/
10505 #line 62 "./asn1/rrlp/packet-rrlp-template.c"
10506   };
10507 
10508   /* List of subtrees */
10509   static gint *ett[] = {
10510 	  &ett_rrlp,
10511 
10512 /*--- Included file: packet-rrlp-ettarr.c ---*/
10513 #line 1 "./asn1/rrlp/packet-rrlp-ettarr.c"
10514     &ett_rrlp_ExtensionContainer,
10515     &ett_rrlp_PrivateExtensionList,
10516     &ett_rrlp_PrivateExtension,
10517     &ett_rrlp_PCS_Extensions,
10518     &ett_rrlp_PDU,
10519     &ett_rrlp_RRLP_Component,
10520     &ett_rrlp_MsrPosition_Req,
10521     &ett_rrlp_MsrPosition_Rsp,
10522     &ett_rrlp_AssistanceData,
10523     &ett_rrlp_ProtocolError,
10524     &ett_rrlp_PosCapability_Req,
10525     &ett_rrlp_PosCapability_Rsp,
10526     &ett_rrlp_PositionInstruct,
10527     &ett_rrlp_MethodType,
10528     &ett_rrlp_AccuracyOpt,
10529     &ett_rrlp_ReferenceAssistData,
10530     &ett_rrlp_MsrAssistData,
10531     &ett_rrlp_SeqOfMsrAssistBTS,
10532     &ett_rrlp_MsrAssistBTS,
10533     &ett_rrlp_SystemInfoAssistData,
10534     &ett_rrlp_SeqOfSystemInfoAssistBTS,
10535     &ett_rrlp_SystemInfoAssistBTS,
10536     &ett_rrlp_AssistBTSData,
10537     &ett_rrlp_CalcAssistanceBTS,
10538     &ett_rrlp_ReferenceWGS84,
10539     &ett_rrlp_MultipleSets,
10540     &ett_rrlp_ReferenceIdentity,
10541     &ett_rrlp_SeqOfReferenceIdentityType,
10542     &ett_rrlp_ReferenceIdentityType,
10543     &ett_rrlp_BSICAndCarrier,
10544     &ett_rrlp_CellIDAndLAC,
10545     &ett_rrlp_OTD_MeasureInfo,
10546     &ett_rrlp_SeqOfOTD_MsrElementRest,
10547     &ett_rrlp_OTD_MsrElementFirst,
10548     &ett_rrlp_SeqOfOTD_FirstSetMsrs,
10549     &ett_rrlp_OTD_MsrElementRest,
10550     &ett_rrlp_SeqOfOTD_MsrsOfOtherSets,
10551     &ett_rrlp_TOA_MeasurementsOfRef,
10552     &ett_rrlp_OTD_MsrsOfOtherSets,
10553     &ett_rrlp_OTD_Measurement,
10554     &ett_rrlp_OTD_MeasurementWithID,
10555     &ett_rrlp_EOTDQuality,
10556     &ett_rrlp_NeighborIdentity,
10557     &ett_rrlp_MultiFrameCarrier,
10558     &ett_rrlp_LocationInfo,
10559     &ett_rrlp_GPS_MeasureInfo,
10560     &ett_rrlp_SeqOfGPS_MsrSetElement,
10561     &ett_rrlp_GPS_MsrSetElement,
10562     &ett_rrlp_SeqOfGPS_MsrElement,
10563     &ett_rrlp_GPS_MsrElement,
10564     &ett_rrlp_LocationError,
10565     &ett_rrlp_AdditionalAssistanceData,
10566     &ett_rrlp_GPS_AssistData,
10567     &ett_rrlp_ControlHeader,
10568     &ett_rrlp_ReferenceTime,
10569     &ett_rrlp_GPSTime,
10570     &ett_rrlp_GPSTOWAssist,
10571     &ett_rrlp_GPSTOWAssistElement,
10572     &ett_rrlp_GSMTime,
10573     &ett_rrlp_RefLocation,
10574     &ett_rrlp_DGPSCorrections,
10575     &ett_rrlp_SeqOfSatElement,
10576     &ett_rrlp_SatElement,
10577     &ett_rrlp_NavigationModel,
10578     &ett_rrlp_SeqOfNavModelElement,
10579     &ett_rrlp_NavModelElement,
10580     &ett_rrlp_SatStatus,
10581     &ett_rrlp_UncompressedEphemeris,
10582     &ett_rrlp_EphemerisSubframe1Reserved,
10583     &ett_rrlp_IonosphericModel,
10584     &ett_rrlp_UTCModel,
10585     &ett_rrlp_Almanac,
10586     &ett_rrlp_SeqOfAlmanacElement,
10587     &ett_rrlp_AlmanacElement,
10588     &ett_rrlp_AcquisAssist,
10589     &ett_rrlp_SeqOfAcquisElement,
10590     &ett_rrlp_TimeRelation,
10591     &ett_rrlp_AcquisElement,
10592     &ett_rrlp_AddionalDopplerFields,
10593     &ett_rrlp_AddionalAngleFields,
10594     &ett_rrlp_SeqOf_BadSatelliteSet,
10595     &ett_rrlp_Rel98_MsrPosition_Req_Extension,
10596     &ett_rrlp_Rel98_AssistanceData_Extension,
10597     &ett_rrlp_Rel98_Ext_ExpOTD,
10598     &ett_rrlp_MsrAssistData_R98_ExpOTD,
10599     &ett_rrlp_SeqOfMsrAssistBTS_R98_ExpOTD,
10600     &ett_rrlp_MsrAssistBTS_R98_ExpOTD,
10601     &ett_rrlp_SystemInfoAssistData_R98_ExpOTD,
10602     &ett_rrlp_SeqOfSystemInfoAssistBTS_R98_ExpOTD,
10603     &ett_rrlp_SystemInfoAssistBTS_R98_ExpOTD,
10604     &ett_rrlp_AssistBTSData_R98_ExpOTD,
10605     &ett_rrlp_GPSTimeAssistanceMeasurements,
10606     &ett_rrlp_Rel_98_MsrPosition_Rsp_Extension,
10607     &ett_rrlp_T_rel_98_Ext_MeasureInfo,
10608     &ett_rrlp_OTD_MeasureInfo_R98_Ext,
10609     &ett_rrlp_OTD_MsrElementFirst_R98_Ext,
10610     &ett_rrlp_SeqOfOTD_FirstSetMsrs_R98_Ext,
10611     &ett_rrlp_Rel_5_MsrPosition_Rsp_Extension,
10612     &ett_rrlp_Extended_reference,
10613     &ett_rrlp_Rel5_MsrPosition_Req_Extension,
10614     &ett_rrlp_Rel5_AssistanceData_Extension,
10615     &ett_rrlp_Rel_5_ProtocolError_Extension,
10616     &ett_rrlp_Rel7_MsrPosition_Req_Extension,
10617     &ett_rrlp_GANSSPositioningMethod,
10618     &ett_rrlp_GANSS_AssistData,
10619     &ett_rrlp_GANSS_ControlHeader,
10620     &ett_rrlp_GANSSCommonAssistData,
10621     &ett_rrlp_SeqOfGANSSGenericAssistDataElement,
10622     &ett_rrlp_GANSSGenericAssistDataElement,
10623     &ett_rrlp_GANSSReferenceTime,
10624     &ett_rrlp_GANSSRefTimeInfo,
10625     &ett_rrlp_GANSSReferenceTime_R10_Ext,
10626     &ett_rrlp_GANSSTOD_GSMTimeAssociation,
10627     &ett_rrlp_GANSSRefLocation,
10628     &ett_rrlp_GANSSIonosphericModel,
10629     &ett_rrlp_GANSSIonosphereModel,
10630     &ett_rrlp_GANSSIonoStormFlags,
10631     &ett_rrlp_GANSSAddIonosphericModel,
10632     &ett_rrlp_GANSSEarthOrientParam,
10633     &ett_rrlp_SeqOfGANSSTimeModel,
10634     &ett_rrlp_GANSSTimeModelElement,
10635     &ett_rrlp_SeqOfGANSSTimeModel_R10_Ext,
10636     &ett_rrlp_GANSSTimeModelElement_R10_Ext,
10637     &ett_rrlp_GANSSDiffCorrections,
10638     &ett_rrlp_SeqOfSgnTypeElement,
10639     &ett_rrlp_SgnTypeElement,
10640     &ett_rrlp_SeqOfDGANSSSgnElement,
10641     &ett_rrlp_DGANSSSgnElement,
10642     &ett_rrlp_GANSSNavModel,
10643     &ett_rrlp_SeqOfGANSSSatelliteElement,
10644     &ett_rrlp_GANSSSatelliteElement,
10645     &ett_rrlp_GANSSOrbitModel,
10646     &ett_rrlp_NavModel_KeplerianSet,
10647     &ett_rrlp_NavModel_NAVKeplerianSet,
10648     &ett_rrlp_NavModel_CNAVKeplerianSet,
10649     &ett_rrlp_NavModel_GLONASSecef,
10650     &ett_rrlp_NavModel_SBASecef,
10651     &ett_rrlp_GANSSClockModel,
10652     &ett_rrlp_SeqOfStandardClockModelElement,
10653     &ett_rrlp_StandardClockModelElement,
10654     &ett_rrlp_NAVclockModel,
10655     &ett_rrlp_CNAVclockModel,
10656     &ett_rrlp_GLONASSclockModel,
10657     &ett_rrlp_SBASclockModel,
10658     &ett_rrlp_GANSSRealTimeIntegrity,
10659     &ett_rrlp_SeqOfBadSignalElement,
10660     &ett_rrlp_BadSignalElement,
10661     &ett_rrlp_GANSSDataBitAssist,
10662     &ett_rrlp_SeqOfGanssDataBitsElement,
10663     &ett_rrlp_GanssDataBitsElement,
10664     &ett_rrlp_Seq_OfGANSSDataBitsSgn,
10665     &ett_rrlp_GANSSDataBitsSgnElement,
10666     &ett_rrlp_SeqOf_GANSSDataBits,
10667     &ett_rrlp_GANSSRefMeasurementAssist,
10668     &ett_rrlp_SeqOfGANSSRefMeasurementElement,
10669     &ett_rrlp_GANSSRefMeasurementElement,
10670     &ett_rrlp_AdditionalDopplerFields,
10671     &ett_rrlp_GANSSRefMeasurementAssist_R10_Ext,
10672     &ett_rrlp_GANSSRefMeasurement_R10_Ext_Element,
10673     &ett_rrlp_GANSSAlmanacModel,
10674     &ett_rrlp_SeqOfGANSSAlmanacElement,
10675     &ett_rrlp_GANSSAlmanacElement,
10676     &ett_rrlp_Almanac_KeplerianSet,
10677     &ett_rrlp_Almanac_NAVKeplerianSet,
10678     &ett_rrlp_Almanac_ReducedKeplerianSet,
10679     &ett_rrlp_Almanac_MidiAlmanacSet,
10680     &ett_rrlp_Almanac_GlonassAlmanacSet,
10681     &ett_rrlp_Almanac_ECEFsbasAlmanacSet,
10682     &ett_rrlp_GANSSAlmanacModel_R10_Ext,
10683     &ett_rrlp_GANSSUTCModel,
10684     &ett_rrlp_GANSSEphemerisExtension,
10685     &ett_rrlp_GANSSEphemerisExtensionHeader,
10686     &ett_rrlp_GANSSEphemerisExtensionTime,
10687     &ett_rrlp_ReferenceNavModel,
10688     &ett_rrlp_SeqOfGANSSRefOrbit,
10689     &ett_rrlp_GANSSReferenceOrbit,
10690     &ett_rrlp_GANSSEphemerisDeltaMatrix,
10691     &ett_rrlp_GANSSEphemerisDeltaEpoch,
10692     &ett_rrlp_GANSSDeltaEpochHeader,
10693     &ett_rrlp_GANSSDeltaElementList,
10694     &ett_rrlp_GANSSEphemerisDeltaBitSizes,
10695     &ett_rrlp_GANSSEphemerisDeltaScales,
10696     &ett_rrlp_GANSSEphemerisExtensionCheck,
10697     &ett_rrlp_GANSSSatEventsInfo,
10698     &ett_rrlp_GANSSAddUTCModel,
10699     &ett_rrlp_UTCmodelSet2,
10700     &ett_rrlp_UTCmodelSet3,
10701     &ett_rrlp_UTCmodelSet4,
10702     &ett_rrlp_GANSSAuxiliaryInformation,
10703     &ett_rrlp_GANSS_ID1,
10704     &ett_rrlp_GANSS_ID1_element,
10705     &ett_rrlp_GANSS_ID3,
10706     &ett_rrlp_GANSS_ID3_element,
10707     &ett_rrlp_GANSSDiffCorrectionsValidityPeriod,
10708     &ett_rrlp_DGANSSExtensionSgnTypeElement,
10709     &ett_rrlp_SeqOfDGANSSExtensionSgnElement,
10710     &ett_rrlp_DGANSSExtensionSgnElement,
10711     &ett_rrlp_Add_GPS_AssistData,
10712     &ett_rrlp_Add_GPS_ControlHeader,
10713     &ett_rrlp_GPSClockModel,
10714     &ett_rrlp_GPSEphemerisExtension,
10715     &ett_rrlp_GPSEphemerisExtensionHeader,
10716     &ett_rrlp_GPSEphemerisExtensionTime,
10717     &ett_rrlp_SeqOfGPSRefOrbit,
10718     &ett_rrlp_GPSReferenceOrbit,
10719     &ett_rrlp_GPSEphemerisDeltaMatrix,
10720     &ett_rrlp_GPSEphemerisDeltaEpoch,
10721     &ett_rrlp_GPSDeltaEpochHeader,
10722     &ett_rrlp_GPSDeltaElementList,
10723     &ett_rrlp_GPSEphemerisDeltaBitSizes,
10724     &ett_rrlp_GPSEphemerisDeltaScales,
10725     &ett_rrlp_GPSEphemerisExtensionCheck,
10726     &ett_rrlp_GPSSatEventsInfo,
10727     &ett_rrlp_DGPSCorrectionsValidityPeriod,
10728     &ett_rrlp_DGPSExtensionSatElement,
10729     &ett_rrlp_GPSReferenceTime_R10_Ext,
10730     &ett_rrlp_GPSAcquisAssist_R10_Ext,
10731     &ett_rrlp_GPSAcquisAssist_R10_Ext_Element,
10732     &ett_rrlp_GPSAlmanac_R10_Ext,
10733     &ett_rrlp_Rel_7_MsrPosition_Rsp_Extension,
10734     &ett_rrlp_GANSSLocationInfo,
10735     &ett_rrlp_PositionData,
10736     &ett_rrlp_ReferenceFrame,
10737     &ett_rrlp_GANSSMeasureInfo,
10738     &ett_rrlp_SeqOfGANSS_MsrSetElement,
10739     &ett_rrlp_GANSS_MsrSetElement,
10740     &ett_rrlp_SeqOfGANSS_MsrElement,
10741     &ett_rrlp_GANSS_MsrElement,
10742     &ett_rrlp_SeqOfGANSS_SgnTypeElement,
10743     &ett_rrlp_GANSS_SgnTypeElement,
10744     &ett_rrlp_SeqOfGANSS_SgnElement,
10745     &ett_rrlp_GANSS_SgnElement,
10746     &ett_rrlp_Rel7_AssistanceData_Extension,
10747     &ett_rrlp_PosCapabilities,
10748     &ett_rrlp_NonGANSSPositionMethods,
10749     &ett_rrlp_GANSSPositionMethods,
10750     &ett_rrlp_GANSSPositionMethod,
10751     &ett_rrlp_GANSSPositioningMethodTypes,
10752     &ett_rrlp_GANSSSignals,
10753     &ett_rrlp_SBASID,
10754     &ett_rrlp_MultipleMeasurementSets,
10755     &ett_rrlp_AssistanceSupported,
10756     &ett_rrlp_GPSAssistance,
10757     &ett_rrlp_GANSSAssistanceSet,
10758     &ett_rrlp_CommonGANSSAssistance,
10759     &ett_rrlp_SpecificGANSSAssistance,
10760     &ett_rrlp_GANSSAssistanceForOneGANSS,
10761     &ett_rrlp_GANSSAssistance,
10762     &ett_rrlp_GANSSAdditionalAssistanceChoices,
10763     &ett_rrlp_GANSSAdditionalAssistanceChoicesForOneGANSS,
10764     &ett_rrlp_GANSSModelID,
10765     &ett_rrlp_AssistanceNeeded,
10766 
10767 /*--- End of included file: packet-rrlp-ettarr.c ---*/
10768 #line 68 "./asn1/rrlp/packet-rrlp-template.c"
10769   };
10770 
10771 
10772   /* Register protocol */
10773   proto_rrlp = proto_register_protocol(PNAME, PSNAME, PFNAME);
10774   register_dissector("rrlp", dissect_PDU_PDU, proto_rrlp);
10775 
10776   /* Register fields and subtrees */
10777   proto_register_field_array(proto_rrlp, hf, array_length(hf));
10778   proto_register_subtree_array(ett, array_length(ett));
10779 
10780 
10781 }
10782 
10783 
10784 /*--- proto_reg_handoff_rrlp ---------------------------------------*/
10785 void
10786 proto_reg_handoff_rrlp(void)
10787 {
10788 
10789 }
10790 
10791 
10792