1 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 -- Published version location:
5 -- https://standards.iso.org/iso/ts/19321/ed-2/en/ISO19321IVIv2.asn
7 -- Changes to original version:
9 -- - rename imported module CITSdataDictionary1 -> CITSapplMgmtIDs
10 -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
12 IVI {iso (1) standard (0) ivi (19321) version2 (2)}
14 DEFINITIONS AUTOMATIC TAGS ::=
18 ActionID, Altitude, DangerousGoodsBasic , DeltaLatitude, DeltaLongitude, DeltaReferencePosition, Heading, HeadingValue, Latitude, LanePosition, Longitude,
19 ReferencePosition, RoadType, SpecialTransportType, Speed, SpeedValue, StationType, TimestampIts, VehicleRole, VarLengthNumber, EuVehicleCategoryCode, Iso3833VehicleType
20 FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (3) minor-version-1 (1)}
22 AxleWeightLimits, DieselEmissionValues, ExhaustEmissionValues, EngineCharacteristics, EnvironmentalCharacteristics, PassengerCapacity , Provider, SoundLevel, VehicleDimensions, VehicleWeightLimits
23 FROM EfcDsrcApplication {iso(1) standard(0) 14906 application(0) version6(6)}
25 --EuVehicleCategoryCode,
27 --FROM ElectronicRegistrationIdentificationVehicleDataModule {iso(1) standard(0) iso24534 (24534) vehicleData (1) version1 (1)}
29 --VarLengthNumber use ETSI-ITS-CDD instead
30 --FROM CITSapplMgmtIDs {iso(1) standard(0) cits-applMgmt (17419) dataDictionary (1) version1 (1)}
32 RoadSegmentReferenceID, IntersectionReferenceID, LaneID
33 FROM DSRC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version2 (2)}
35 InternationalSign-applicablePeriod, InternationalSign-exemptedApplicablePeriod, InternationalSign-directionalFlowOfLane, InternationalSign-applicableVehicleDimensions, InternationalSign-speedLimits, InternationalSign-rateOfIncline, InternationalSign-distanceBetweenVehicles, InternationalSign-destinationInformation
36 FROM GDD {iso (1) standard (0) gdd(14823) version1 (0)}
38 -- Wireshark modification
39 IviIdentificationNumber
40 FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-4 (4) minor-version-1 (1)}
44 -- Definition of IVI structure
46 IviStructure::= SEQUENCE{
47 mandatory IviManagementContainer,
48 optional IviContainers OPTIONAL
51 IviContainers ::= SEQUENCE (SIZE (1..8,...)) OF IviContainer
53 --Definition of Containers
55 IviContainer::= CHOICE {
56 glc GeographicLocationContainer,
57 giv GeneralIviContainer,
58 rcc RoadConfigurationContainer,
61 ..., -- original extension indicator of V1
63 avc AutomatedVehicleContainer,
64 mlc MapLocationContainer,
65 rsc RoadSurfaceContainer ]]
68 IviManagementContainer::= SEQUENCE {
69 serviceProviderId Provider,
70 iviIdentificationNumber IviIdentificationNumber,
71 timeStamp TimestampIts OPTIONAL,
72 validFrom TimestampIts OPTIONAL,
73 validTo TimestampIts OPTIONAL,
74 connectedIviStructures IviIdentificationNumbers OPTIONAL,
76 ..., -- original extension indicator of V1
77 connectedDenms ConnectedDenms OPTIONAL -- Extension in V2
80 GeographicLocationContainer::= SEQUENCE {
81 referencePosition ReferencePosition,
82 referencePositionTime TimestampIts OPTIONAL,
83 referencePositionHeading Heading OPTIONAL,
84 referencePositionSpeed Speed OPTIONAL,
88 GlcParts ::= SEQUENCE (SIZE (1..16,...)) OF GlcPart
92 laneNumber LanePosition OPTIONAL,
93 zoneExtension INTEGER (0..255) OPTIONAL,
94 zoneHeading HeadingValue OPTIONAL,
99 GeneralIviContainer::= SEQUENCE (SIZE (1..16,...)) OF GicPart
101 GicPart::= SEQUENCE {
102 detectionZoneIds ZoneIds OPTIONAL,
103 its-Rrid VarLengthNumber OPTIONAL,
104 relevanceZoneIds ZoneIds OPTIONAL,
105 direction Direction OPTIONAL,
106 driverAwarenessZoneIds ZoneIds OPTIONAL,
107 minimumAwarenessTime INTEGER (0..255) OPTIONAL,
108 applicableLanes LanePositions OPTIONAL,
110 iviPurpose IviPurpose OPTIONAL,
111 laneStatus LaneStatus OPTIONAL,
112 vehicleCharacteristics VehicleCharacteristicsList OPTIONAL,
113 driverCharacteristics DriverCharacteristics OPTIONAL,
114 layoutId INTEGER(1..4,...) OPTIONAL,
115 preStoredlayoutId INTEGER(1..64,...) OPTIONAL,
116 roadSignCodes RoadSignCodes,
117 extraText ConstraintTextLines1 OPTIONAL,
121 RoadConfigurationContainer::= SEQUENCE (SIZE (1..16,...)) OF RccPart
124 relevanceZoneIds ZoneIds,
126 laneConfiguration LaneConfiguration,
130 RoadSurfaceContainer::= SEQUENCE (SIZE (1..16,...)) OF RscPart
133 detectionZoneIds ZoneIds OPTIONAL,
134 relevanceZoneIds ZoneIds,
135 direction Direction OPTIONAL,
136 roadSurfaceStaticCharacteristics RoadSurfaceStaticCharacteristics OPTIONAL,
137 roadSurfaceDynamicCharacteristics RoadSurfaceDynamicCharacteristics OPTIONAL
138 } (WITH COMPONENTS {..., roadSurfaceStaticCharacteristics PRESENT} |
139 WITH COMPONENTS {..., roadSurfaceDynamicCharacteristics PRESENT})
141 TextContainer::= SEQUENCE (SIZE (1..16,...)) OF TcPart
144 detectionZoneIds ZoneIds OPTIONAL,
145 relevanceZoneIds ZoneIds,
146 direction Direction OPTIONAL,
147 driverAwarenessZoneIds ZoneIds OPTIONAL,
148 minimumAwarenessTime INTEGER (0..255) OPTIONAL,
149 applicableLanes LanePositions OPTIONAL,
150 layoutId INTEGER(1..4,...) OPTIONAL,
151 preStoredlayoutId INTEGER(1..64,...) OPTIONAL,
152 text TextLines OPTIONAL,
157 laneStatus LaneStatus OPTIONAL,
158 vehicleCharacteristics VehicleCharacteristicsList OPTIONAL ]]
161 LayoutContainer::=SEQUENCE{
162 layoutId INTEGER(1..4,...),
163 height INTEGER(10..73) OPTIONAL,
164 width INTEGER(10..265) OPTIONAL,
165 layoutComponents LayoutComponents,
169 AutomatedVehicleContainer::= SEQUENCE (SIZE (1..16,...)) OF AvcPart -- new container in V2
171 AvcPart::= SEQUENCE { -- new container part in V2
172 detectionZoneIds ZoneIds OPTIONAL,
173 relevanceZoneIds ZoneIds,
174 direction Direction OPTIONAL,
175 applicableLanes LanePositions OPTIONAL,
176 vehicleCharacteristics VehicleCharacteristicsList OPTIONAL,
177 automatedVehicleRules AutomatedVehicleRules OPTIONAL,
178 platooningRules PlatooningRules OPTIONAL,
180 } (WITH COMPONENTS {..., automatedVehicleRules PRESENT} |
181 WITH COMPONENTS {..., platooningRules PRESENT})
184 MapLocationContainer::=SEQUENCE{ -- new container in V2
185 reference MapReference,
189 MlcParts::= SEQUENCE (SIZE (1..16,...)) OF MlcPart -- new container part in V2
191 MlcPart::= SEQUENCE{ -- new container part in V2
193 laneIds LaneIds OPTIONAL
196 -- Definition of data frames which are lists of data frames
197 -- note: those definitions are to avoid "implicit type definitions" but are bit compatible with V1
199 AbsolutePositions ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePosition
201 AbsolutePositionsWAltitude ::= SEQUENCE (SIZE (1..8,...)) OF AbsolutePositionWAltitude
203 AutomatedVehicleRules::= SEQUENCE (SIZE (1..5)) OF AutomatedVehicleRule -- new DF in V2
205 ConnectedDenms::= SEQUENCE (SIZE(1..8, ...)) OF ActionID -- new DF in V2
207 DeltaPositions ::= SEQUENCE (SIZE (1..32,...,100)) OF DeltaPosition --size extension in V2
209 DeltaReferencePositions ::= SEQUENCE (SIZE (1..32,..., 100)) OF DeltaReferencePosition --size extension in V2
211 ConstraintTextLines1 ::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {layoutComponentId, language, textContent (SIZE(1..32))})
213 ConstraintTextLines2::= SEQUENCE (SIZE (1..4),...) OF Text (WITH COMPONENTS {..., textContent (SIZE(1..32))})
215 IviIdentificationNumbers ::= SEQUENCE (SIZE(1..8)) OF IviIdentificationNumber
217 ISO14823Attributes::= SEQUENCE (SIZE(1..8),...) OF ISO14823Attribute
219 LaneConfiguration ::= SEQUENCE (SIZE (1..16,...)) OF LaneInformation
221 LaneIds::= SEQUENCE (SIZE (1..16,...)) OF LaneID
223 LanePositions ::= SEQUENCE (SIZE (1..8,...)) OF LanePosition
225 LayoutComponents ::= SEQUENCE SIZE (1..4,...) OF LayoutComponent
227 PlatooningRules::= SEQUENCE (SIZE (1..5)) OF PlatooningRule -- new DF in V2
229 RoadSignCodes ::= SEQUENCE (SIZE (1..4),...) OF RSCode
231 TextLines::= SEQUENCE (SIZE (1..4),...) OF Text
233 TrailerCharacteristicsList ::= SEQUENCE (SIZE (1..3)) OF TrailerCharacteristics
235 TrailerCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues (WITH COMPONENTS {..., euroAndCo2value ABSENT, engineCharacteristics ABSENT})
237 TrailerCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges (WITH COMPONENTS {comparisonOperator, limits (WITH COMPONENTS {..., exhaustEmissionValues ABSENT, dieselEmissionValues ABSENT, soundLevel ABSENT})})
239 SaeAutomationLevels::= SEQUENCE (SIZE (1..5)) OF SaeAutomationLevel -- new DF in V2
241 VehicleCharacteristicsFixValuesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsFixValues
243 VehicleCharacteristicsList ::= SEQUENCE (SIZE (1..8, ...)) OF CompleteVehicleCharacteristics
245 VehicleCharacteristicsRangesList ::= SEQUENCE (SIZE (1..4,...)) OF VehicleCharacteristicsRanges
247 ValidityPeriods ::= SEQUENCE (SIZE (1..8),...) OF InternationalSign-applicablePeriod
249 ZoneIds ::= SEQUENCE (SIZE (1..8,...)) OF Zid
251 -- Definition of Data Frames
253 AbsolutePosition::= SEQUENCE{
258 AbsolutePositionWAltitude::= SEQUENCE{
264 AnyCatalogue::=SEQUENCE{
266 version INTEGER(0..255),
267 pictogramCode INTEGER(0..65535),
268 value INTEGER (0..65535) OPTIONAL,
269 unit RSCUnit OPTIONAL,
270 attributes ISO14823Attributes OPTIONAL
273 AutomatedVehicleRule::= SEQUENCE { -- new DF in V2
274 priority PriorityLevel,
275 allowedSaeAutomationLevels SaeAutomationLevels,
276 minGapBetweenVehicles GapBetweenVehicles OPTIONAL,
277 recGapBetweenVehicles GapBetweenVehicles OPTIONAL,
278 automatedVehicleMaxSpeedLimit SpeedValue OPTIONAL,
279 automatedVehicleMinSpeedLimit SpeedValue OPTIONAL,
280 automatedVehicleSpeedRecommendation SpeedValue OPTIONAL,
281 roadSignCodes RoadSignCodes OPTIONAL,
282 extraText ConstraintTextLines2 OPTIONAL,
286 CompleteVehicleCharacteristics::= SEQUENCE{
287 tractor TractorCharacteristics OPTIONAL,
288 trailer TrailerCharacteristicsList OPTIONAL,
289 train TrainCharacteristics OPTIONAL
292 ComputedSegment::= SEQUENCE {
294 laneNumber LanePosition,
295 laneWidth IviLaneWidth,
296 offsetDistance INTEGER (-32768..32767) OPTIONAL,
297 offsetPosition DeltaReferencePosition OPTIONAL
300 DeltaPosition::=SEQUENCE{
301 deltaLatitude DeltaLatitude,
302 deltaLongitude DeltaLongitude
305 ISO14823Attribute::= CHOICE{
306 dtm InternationalSign-applicablePeriod, -- Date/Time/Period
307 edt InternationalSign-exemptedApplicablePeriod,-- Exemption status of Date/Time/Period
308 dfl InternationalSign-directionalFlowOfLane,-- Directional Flow of Lane
309 ved InternationalSign-applicableVehicleDimensions,-- Vehicle Dimensions
310 spe InternationalSign-speedLimits,-- Speed
311 roi InternationalSign-rateOfIncline,-- Rate of Incline
312 dbv InternationalSign-distanceBetweenVehicles,-- Distance Between Vehicles
313 ddd InternationalSign-destinationInformation-- Destination/Direction/Distance
316 ISO14823Code ::= SEQUENCE{
317 pictogramCode SEQUENCE {
318 countryCode OCTET STRING (SIZE (2)) OPTIONAL,
319 serviceCategoryCode CHOICE {
320 trafficSignPictogram ENUMERATED {dangerWarning, regulatory, informative,...},
321 publicFacilitiesPictogram ENUMERATED {publicFacilities, ...},
322 ambientOrRoadConditionPictogram ENUMERATED {ambientCondition, roadCondition,...},
324 pictogramCategoryCode SEQUENCE {
325 nature INTEGER (1..9),
326 serialNumber INTEGER (0..99)
328 attributes ISO14823Attributes OPTIONAL
331 LaneInformation::= SEQUENCE{
332 laneNumber LanePosition,
334 validity InternationalSign-applicablePeriod OPTIONAL,
336 laneTypeQualifier CompleteVehicleCharacteristics OPTIONAL,
337 laneStatus LaneStatus,
338 laneWidth IviLaneWidth OPTIONAL,
341 detectionZoneIds ZoneIds OPTIONAL,
342 relevanceZoneIds ZoneIds OPTIONAL,
343 laneCharacteristics LaneCharacteristics OPTIONAL,
344 laneSurfaceStaticCharacteristics RoadSurfaceStaticCharacteristics OPTIONAL,
345 laneSurfaceDynamicCharacteristics RoadSurfaceDynamicCharacteristics OPTIONAL ]]
348 LaneCharacteristics::= SEQUENCE{
349 zoneDefinitionAccuracy DefinitionAccuracy,
350 existinglaneMarkingStatus LaneMarkingStatus,
351 newlaneMarkingColour MarkingColour,
352 laneDelimitationLeft LaneDelimitation,
353 laneDelimitationRight LaneDelimitation,
357 LayoutComponent::=SEQUENCE{
358 layoutComponentId INTEGER(1..8,...),
359 height INTEGER(10..73),
360 width INTEGER(10..265),
363 textScripting INTEGER {horizontal (0), vertical (1)}(0..1)
366 LoadType::= SEQUENCE{
368 dangerousGoodsType DangerousGoodsBasic,
369 specialTransportType SpecialTransportType
372 MapReference::= CHOICE { -- new DF in V2
373 roadsegment RoadSegmentReferenceID,
374 intersection IntersectionReferenceID
377 PlatooningRule::= SEQUENCE { -- new DF in V2
378 priority PriorityLevel,
379 allowedSaeAutomationLevels SaeAutomationLevels,
380 maxNoOfVehicles MaxNoOfVehicles OPTIONAL,
381 maxLenghtOfPlatoon MaxLenghtOfPlatoon OPTIONAL,
382 minGapBetweenVehicles GapBetweenVehicles OPTIONAL,
383 platoonMaxSpeedLimit SpeedValue OPTIONAL,
384 platoonMinSpeedLimit SpeedValue OPTIONAL,
385 platoonSpeedRecommendation SpeedValue OPTIONAL,
386 roadSignCodes RoadSignCodes OPTIONAL,
387 extraText ConstraintTextLines2 OPTIONAL,
391 PolygonalLine::= CHOICE {
392 deltaPositions DeltaPositions,
393 deltaPositionsWithAltitude DeltaReferencePositions,
394 absolutePositions AbsolutePositions,
395 absolutePositionsWithAltitude AbsolutePositionsWAltitude,
399 RoadSurfaceDynamicCharacteristics::= SEQUENCE{
401 temperature Temperature,
402 iceOrWaterDepth Depth,
403 treatment TreatmentType
406 RoadSurfaceStaticCharacteristics::= SEQUENCE{
407 frictionCoefficient FrictionCoefficient,
408 material MaterialType,
410 avBankingAngle BankingAngle
414 layoutComponentId INTEGER(1..4,...) OPTIONAL,
416 viennaConvention VcCode, -- see Vienna Convention Annex A
417 iso14823 ISO14823Code,
418 itisCodes INTEGER (0..65535), -- see SAE J2540
419 anyCatalogue AnyCatalogue,
423 Segment::= SEQUENCE {
425 laneWidth IviLaneWidth OPTIONAL
429 layoutComponentId INTEGER(1..4,...) OPTIONAL,
430 language BIT STRING (SIZE(10)),
431 textContent UTF8String
434 TractorCharacteristics::=SEQUENCE{
435 equalTo VehicleCharacteristicsFixValuesList OPTIONAL,
436 notEqualTo VehicleCharacteristicsFixValuesList OPTIONAL,
437 ranges VehicleCharacteristicsRangesList OPTIONAL
440 TrailerCharacteristics::=SEQUENCE{
441 equalTo TrailerCharacteristicsFixValuesList OPTIONAL,
442 notEqualTo TrailerCharacteristicsFixValuesList OPTIONAL,
443 ranges TrailerCharacteristicsRangesList OPTIONAL
446 TrainCharacteristics::= TractorCharacteristics
449 roadSignClass VcClass, -- see Vienna Convention
450 roadSignCode INTEGER (1..64),
451 vcOption VcOption, -- e.g. the "a" in H, 3a
452 validity ValidityPeriods OPTIONAL,
453 value INTEGER (0..65535) OPTIONAL,
454 unit RSCUnit OPTIONAL
457 VehicleCharacteristicsFixValues::= CHOICE{
458 simpleVehicleType StationType,
459 euVehicleCategoryCode EuVehicleCategoryCode,
460 iso3833VehicleType Iso3833VehicleType,
461 euroAndCo2value EnvironmentalCharacteristics,
462 engineCharacteristics EngineCharacteristics,
468 VehicleCharacteristicsRanges::= SEQUENCE{
469 comparisonOperator ComparisonOperator,
471 numberOfAxles INTEGER(0..7),
472 vehicleDimensions VehicleDimensions,
473 vehicleWeightLimits VehicleWeightLimits,
474 axleWeightLimits AxleWeightLimits,
475 passengerCapacity PassengerCapacity,
476 exhaustEmissionValues ExhaustEmissionValues,
477 dieselEmissionValues DieselEmissionValues,
478 soundLevel SoundLevel,
486 computedSegment ComputedSegment,
490 -- Defition of IVI specific data elements
492 BankingAngle::=INTEGER (-20..21)
494 ComparisonOperator ::= INTEGER {
496 greaterThanOrEqualTo (1),
498 lessThanOrEqualTo (3)
511 -- values 9 to 15 reserved for future use
514 DefinitionAccuracy::= INTEGER{
525 Depth::= INTEGER (0..255)
527 Direction::= INTEGER{
529 oppositeDirection (1),
534 DriverCharacteristics::= INTEGER{
535 unexperiencedDrivers (0),
536 experiencedDrivers (1),
541 FrictionCoefficient::= INTEGER (0..101)
543 GapBetweenVehicles::= INTEGER (0..255) -- new DE in V2
545 GoodsType::= INTEGER {
554 dangerousForPeople (8),
555 dangerousForTheEnvironment (9),
556 dangerousForWater (10),
557 perishableProducts (11),
560 -- other values reserved for future use
563 -- Wireshark modification
564 -- IviIdentificationNumber::= INTEGER(1..32767,...)
566 IviLaneWidth::= INTEGER (0..1023) -- only renamed from V1, no change
568 IviPurpose::= INTEGER {
571 trafficOptimisation (2)
574 IviStatus::= INTEGER {
579 -- other values reserved for future use
583 immediateDangerWarningMessages (0),
584 regulatoryMessages (1),
585 trafficRelatedInformationMessages (2),
586 pollutionMessages (3),
587 notTrafficRelatedInformationMessages (4)
588 -- other values reserved for future use
591 LaneDelimitation::=INTEGER {
593 lowLaneSeparator (1),
594 highLaneSeparator (2),
599 -- value 7 reserved for future use
602 LaneMarkingStatus::= BOOLEAN
604 LaneStatus::= INTEGER {
610 provisionallyOpen (5),
612 -- value 7 reserved for future use
622 rightHandTurning (6),
623 dedicatedVehicle (7),
636 minimumRiskManoeuvre(20)
637 -- values 21 to 31 reserved for future use
640 MarkingColour::=INTEGER {
647 -- value 5,6 reserved for future use
650 MaterialType::=INTEGER {
656 -- value 4, 5,6 reserved for future use
659 MaxLenghtOfPlatoon::= INTEGER (1..64) -- new DE in V2
661 MaxNoOfVehicles::= INTEGER (2..64) -- new DE in V2
663 PriorityLevel::=INTEGER (0..2) -- new DE in V2
676 tonnes (10), --1000 kg, not Ton!
680 -- other value reserved for future use
683 SaeAutomationLevel::= INTEGER (0..5) -- new DE in V2
685 Temperature::=INTEGER (-100..151)
687 TreatmentType ::= INTEGER {
693 -- value 4 to 6 reserved for future use
707 VcOption::= INTEGER {
718 WearLevel::=INTEGER {
724 -- value 4, 5,6 reserved for future use
727 Zid::= INTEGER (1..32,...)