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