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