Index: ETSI_TS_103301_IVIM_PDU_Descriptions.asn
===================================================================
--- ETSI_TS_103301_IVIM_PDU_Descriptions.asn	(nonexistent)
+++ ETSI_TS_103301_IVIM_PDU_Descriptions.asn	(working copy)
@@ -0,0 +1,34 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ETSI TS 103 301
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message
+-- as defined in ETSI TS 103 301 
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+-- 
+-- module: IVI-MESSAGE-PDU-Descriptions
+-- 
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+IVIM-PDU-Descriptions { 
+	itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ivim (2) version1 (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+IviStructure FROM IVI {iso (1) standard (0) ivi (19321) version1 (1)}
+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)};
+
+
+IVIM ::= SEQUENCE {
+	header	ItsPduHeader,
+	ivi		IviStructure
+}
+
+END
Index: ETSI_TS_103301_MAPEM_PDU_Descriptions.asn
===================================================================
--- ETSI_TS_103301_MAPEM_PDU_Descriptions.asn	(nonexistent)
+++ ETSI_TS_103301_MAPEM_PDU_Descriptions.asn	(working copy)
@@ -0,0 +1,34 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ETSI TS 103 301
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message
+-- as defined in ETSI TS 103 301 
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+-- 
+-- module: MAP-MESSAGE-PDU-Descriptions
+-- 
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+MAPEM-PDU-Descriptions {
+	itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) mapem (1) version1 (1) 
+}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+MapData FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } 
+ItsPduHeader FROM ITS-Container {  itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)};
+
+
+MAPEM ::= SEQUENCE {
+	header	ItsPduHeader,
+	map	MapData
+}
+
+END 
\ No newline at end of file
Index: ETSI_TS_103301_SPATEM_PDU_Descriptions.asn
===================================================================
--- ETSI_TS_103301_SPATEM_PDU_Descriptions.asn	(nonexistent)
+++ ETSI_TS_103301_SPATEM_PDU_Descriptions.asn	(working copy)
@@ -0,0 +1,39 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ETSI TS 103 301
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message
+-- as defined in ETSI TS 103 301 
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+-- 
+-- module: SPAT-MESSAGE-PDU-Descriptions
+-- 
+-- This ASN.1 was created: 30.08.2016
+--
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+SPATEM-PDU-Descriptions {
+	itu-t (0) identified-organization (4) etsi (0) itsDomain (5)  wg1 (1) ts-103301 (103301) spatem (0) version1 (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+SPAT FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } 
+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)  };
+
+
+SPATEM ::= SEQUENCE {
+	header	ItsPduHeader,
+	spat	SPAT
+}
+
+END
+
Index: ETSI_TS_103301_SREM_PDU_Descriptions.asn
===================================================================
--- ETSI_TS_103301_SREM_PDU_Descriptions.asn	(nonexistent)
+++ ETSI_TS_103301_SREM_PDU_Descriptions.asn	(working copy)
@@ -0,0 +1,28 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ETSI TS 103 301
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message
+-- as defined in ETSI TS 103 301 
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+SREM-PDU-Descriptions {
+	itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) srem (3) version1 (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+SignalRequestMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } 
+ItsPduHeader FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) };
+
+SREM ::= SEQUENCE {
+	header	ItsPduHeader,
+	srm	SignalRequestMessage
+}
+
+END
Index: ETSI_TS_103301_SSEM_PDU_Descriptions.asn
===================================================================
--- ETSI_TS_103301_SSEM_PDU_Descriptions.asn	(nonexistent)
+++ ETSI_TS_103301_SSEM_PDU_Descriptions.asn	(working copy)
@@ -0,0 +1,29 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ETSI TS 103 301
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPATEM, MAPEM, IVIM, SSEM and SREM message
+-- as defined in ETSI TS 103 301 
+--
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+SSEM-PDU-Descriptions {
+	itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts-103301 (103301) ssem (4) version1 (1)
+}
+
+DEFINITIONS AUTOMATIC TAGS ::= 
+
+BEGIN
+
+IMPORTS
+SignalStatusMessage FROM DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } 
+ItsPduHeader FROM ITS-Container {  itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) };
+
+
+SSEM ::= SEQUENCE {
+	header	ItsPduHeader,
+	ssm	SignalStatusMessage
+}
+
+END
\ No newline at end of file
Index: ISO_TS_19091_AddGrpC.asn
===================================================================
--- ISO_TS_19091_AddGrpC.asn	(nonexistent)
+++ ISO_TS_19091_AddGrpC.asn	(working copy)
@@ -0,0 +1,120 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 19091
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
+-- as defined in ISO TS 19091 and SAEJ2735
+--
+-- It includes the addendunm extensions for Addgrp-C (e.g. Europe)
+-- 
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+-- 
+-- module: AddGrpC
+-- 
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+
+AddGrpC { 	iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1) }
+
+
+DEFINITIONS AUTOMATIC TAGS::= BEGIN 
+
+IMPORTS
+NodeOffsetPointXY, NodeSetXY, PrioritizationResponseStatus, SignalGroupID, DeltaTime, LaneID FROM DSRC
+Altitude, StationID, DeltaAltitude FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) };
+
+
+ConnectionManeuverAssist-addGrpC ::=  SEQUENCE {
+	itsStationPositions		ItsStationPositionList	OPTIONAL,
+	rsuGNSSOffset			NodeOffsetPointXY		OPTIONAL,
+	...
+}
+
+ConnectionTrajectory-addGrpC	::= SEQUENCE {
+	nodes				NodeSetXY,
+	...
+}
+
+Control-addGrpC ::=  SEQUENCE {
+	ptvRequest			PtvRequestType,
+	...
+}
+
+IntersectionState-addGrpC ::=  SEQUENCE { 
+	activePrioritizations		PrioritizationResponseList	OPTIONAL,
+	...
+}
+
+MapData-addGrpC ::=  SEQUENCE { 
+	signalHeadLocations		SignalHeadLocationList	OPTIONAL,
+	...
+}
+
+Position3D-addGrpC ::=  SEQUENCE {
+	altitude			Altitude, 
+	...
+}
+
+PrioritizationResponseList ::=  SEQUENCE SIZE(1..10) OF PrioritizationResponse
+
+PrioritizationResponse ::=  SEQUENCE {
+	stationID		StationID,
+	priorState			PrioritizationResponseStatus,
+	 signalGroup		SignalGroupID,
+	...
+}
+
+RestrictionUserType-addGrpC ::=  SEQUENCE {
+	emission			EmissionType OPTIONAL,
+	...
+}
+
+SignalHeadLocationList ::=  SEQUENCE (SIZE(1..64)) OF  SignalHeadLocation
+
+SignalHeadLocation ::=  SEQUENCE {
+	nodeXY			NodeOffsetPointXY,
+	nodeZ				DeltaAltitude,
+	signalGroupID	SignalGroupID,
+	...   
+}
+
+SignalStatusPackage-addGrpC ::= SEQUENCE {
+	synchToSchedule	DeltaTime OPTIONAL,
+	...
+}
+
+
+ItsStationPositionList::=  SEQUENCE SIZE(1..5) OF ItsStationPosition
+
+ItsStationPosition ::=  SEQUENCE {
+	stationID			StationID, 
+	laneID			LaneID				OPTIONAL,
+	nodeXY			NodeOffsetPointXY	OPTIONAL,
+	timeReference	TimeReference	OPTIONAL,
+	...
+}
+EmissionType ::= ENUMERATED {
+	euro1,
+	euro2,
+	euro3,
+	euro4,
+	euro5,
+	euro6,
+	...
+}
+
+PtvRequestType	::= ENUMERATED {
+	preRequest,
+	mainRequest,
+	doorCloseRequest,
+	cancelRequest,
+	emergencyRequest,
+	...
+}
+
+TimeReference ::= INTEGER { oneMilliSec(1) } (0..65535)
+
+END
Index: ISO_TS_19091_DSRC.asn
===================================================================
--- ISO_TS_19091_DSRC.asn	(nonexistent)
+++ ISO_TS_19091_DSRC.asn	(working copy)
@@ -0,0 +1,1869 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 19091
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
+-- as defined in ISO TS 19091 and SAEJ2735
+--
+-- It includes the addendunm extensions for Addgrp-C (e.g. Europe)
+-- 
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+-- 
+-- module: DSRC
+-- 
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+DSRC { iso (1) standard (0) signalizedIntersection (19091) profilec(2) dsrc (2) version (1) } 
+
+DEFINITIONS AUTOMATIC TAGS::= BEGIN 
+
+IMPORTS
+StationID, Longitude, Latitude, SpeedConfidence FROM ITS-Container { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1) }
+Reg-SPAT,Reg-SignalRequestMessage, Reg-SignalStatusMessage, Reg-MapData, Reg-AdvisorySpeed, Reg-ComputedLane, Reg-ConnectionManeuverAssist,
+Reg-GenericLane, Reg-IntersectionGeometry, Reg-IntersectionState, Reg-LaneAttributes, Reg-LaneDataAttribute, Reg-MovementEvent, Reg-MovementState,
+Reg-NodeAttributeSetXY, Reg-NodeOffsetPointXY,Reg-Position3D, Reg-RequestorDescription, Reg-RequestorType, Reg-RestrictionUserType, Reg-RoadSegment,
+Reg-SignalControlZone, Reg-SignalRequestPackage, Reg-SignalRequest, Reg-SignalStatusPackage, Reg-SignalStatus FROM REGION { iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1)}
+Iso3833VehicleType FROM ElectronicRegistrationIdentificationVehicleDataModule { iso(1) standard(0) iso24534 (24534) vehicleData (1) version (1) };
+
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- 
+-- Start of entries from table Messages...
+-- This table typicaly contains message entries.
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- 
+
+MessageFrame ::= SEQUENCE {
+   messageId   MESSAGE-ID-AND-TYPE.&id({MessageTypes}),
+   value       MESSAGE-ID-AND-TYPE.&Type({MessageTypes}{@.messageId}),
+   ...
+   }
+
+MESSAGE-ID-AND-TYPE ::= CLASS {
+   &id    DSRCmsgID UNIQUE,
+   &Type
+   } WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+MessageTypes MESSAGE-ID-AND-TYPE ::= {
+   { MapData               IDENTIFIED BY mapData               } |          
+   { SPAT                  IDENTIFIED BY signalPhaseAndTimingMessage } | 
+   { SignalRequestMessage  IDENTIFIED BY signalRequestMessage  } |    
+   { SignalStatusMessage   IDENTIFIED BY signalStatusMessage   },  
+   ... -- Expansion to be used only by the SAE J2735 DSRC TC
+   }
+
+
+-- Regional extensions support
+REG-EXT-ID-AND-TYPE ::= CLASS {
+   &id     RegionId UNIQUE,
+   &Type
+   } WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+RegionalExtension {REG-EXT-ID-AND-TYPE : Set} ::= SEQUENCE {
+   regionId     REG-EXT-ID-AND-TYPE.&id( {Set} ),
+   regExtValue  REG-EXT-ID-AND-TYPE.&Type( {Set}{@regionId} )
+   }
+ 
+SPAT ::= SEQUENCE { 
+   timeStamp     MinuteOfTheYear OPTIONAL,  
+   name          DescriptiveName OPTIONAL, 
+                 -- human readable name for this collection 
+                 -- to be used only in debug mode
+   
+   intersections IntersectionStateList,
+                 -- sets of SPAT data (one per intersection)  
+   
+   -- If PrioritizationResponse data is required, it is found 
+   -- in the RegionalSPAT entry below
+   
+   regional      SEQUENCE (SIZE(1..4)) OF 
+                 RegionalExtension {{Reg-SPAT}} OPTIONAL,
+   ...
+   }
+
+SignalRequestMessage ::= SEQUENCE {    
+   timeStamp       MinuteOfTheYear  OPTIONAL,
+   second          DSecond,
+   sequenceNumber  MsgCount         OPTIONAL,
+
+   requests        SignalRequestList OPTIONAL,
+                   -- Request Data for one or more signalized 
+                   -- intersections that support SRM dialogs
+
+   requestor       RequestorDescription,
+                   -- Requesting Device and other User Data
+                   -- contains vehicle ID (if from a vehicle)
+                   -- as well as type data and current position
+                   -- and may contain additional transit data
+
+   regional        SEQUENCE (SIZE(1..4)) OF 
+                   RegionalExtension {{Reg-SignalRequestMessage}} OPTIONAL,
+   ...
+}
+
+SignalStatusMessage ::= SEQUENCE {
+   timeStamp       MinuteOfTheYear  OPTIONAL,
+   second          DSecond,
+   sequenceNumber  MsgCount         OPTIONAL,            
+
+   -- Status Data for one of more signalized intersections
+   status          SignalStatusList,
+ 
+   regional        SEQUENCE (SIZE(1..4)) OF 
+                   RegionalExtension {{Reg-SignalStatusMessage}} OPTIONAL,
+   ...
+}
+
+MapData ::= SEQUENCE {
+   timeStamp         MinuteOfTheYear OPTIONAL, 
+   msgIssueRevision  MsgCount,        
+   layerType         LayerType OPTIONAL,
+   layerID           LayerID  OPTIONAL,
+   intersections     IntersectionGeometryList OPTIONAL,
+                     -- All Intersection definitions 
+   roadSegments      RoadSegmentList OPTIONAL,
+                     -- All roadway descriptions
+  
+   dataParameters    DataParameters OPTIONAL,
+                     -- Any meta data regarding the map contents
+   
+   restrictionList   RestrictionClassList OPTIONAL,
+                     -- Any restriction ID tables which have  
+                     -- established for these map entries 
+   regional          SEQUENCE (SIZE(1..4)) OF 
+                     RegionalExtension {{Reg-MapData}} OPTIONAL,
+   
+   -- NOTE:
+   -- Other map data will be added here as it is defined
+   -- Examples of the type of content to be added include
+   -- curve warnings, construction routes, etc.
+   ...
+}
+
+
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- 
+-- Start of entries from table Data_Frames...
+-- This table typicaly contains data frame entries.
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- 
+
+AdvisorySpeed ::= SEQUENCE {
+   type        AdvisorySpeedType,
+               -- the type of advisory which this is.
+   speed       SpeedAdvice OPTIONAL,
+               -- See Section 11 for converting and translating speed 
+               -- expressed in mph into units of m/s
+               -- This element is optional ONLY when superceded 
+               -- by the presence of a regional speed element found in
+               -- Reg-AdvisorySpeed entry
+   confidence  SpeedConfidence OPTIONAL,
+               -- A confidence value for the above speed
+   distance    ZoneLength OPTIONAL,
+               -- Unit = 1 meter,  
+               -- The distance indicates the region for which the advised speed 
+               -- is recommended, it is specified upstream from the stop bar  
+               -- along the connected egressing lane
+   class       RestrictionClassID OPTIONAL,
+               -- the vehicle types to which it applies
+               -- when absent, the AdvisorySpeed applies to
+               -- all motor vehicle types
+   regional    SEQUENCE (SIZE(1..4)) OF 
+               RegionalExtension {{Reg-AdvisorySpeed}} OPTIONAL,
+   ...
+   }
+
+AdvisorySpeedList ::= SEQUENCE (SIZE(1..16)) OF AdvisorySpeed
+
+ComputedLane ::= SEQUENCE {
+   -- Data needed to created a computed lane
+   referenceLaneId    LaneID,
+                         -- the lane ID upon which this 
+                         -- computed lane will be based 
+   -- Lane Offset in X and Y direction
+   offsetXaxis        CHOICE {
+                         small   DrivenLineOffsetSm, 
+                         large   DrivenLineOffsetLg
+                         },  
+   offsetYaxis        CHOICE {
+                         small   DrivenLineOffsetSm, 
+                         large   DrivenLineOffsetLg
+                         },  
+                         -- A path X offset value for translations of the 
+                         -- path's points when creating translated lanes. 
+                         -- The values found in the reference lane are 
+                         -- all offset based on the X and Y values from 
+                         -- the coordinates of the reference lane's 
+                         -- initial path point.   
+   -- Lane Rotation
+   rotateXY           Angle OPTIONAL, 
+                         -- A path rotation value for the entire lane
+                         -- Observe that this rotates the existing orientation 
+                         -- of the referenced lane, it does not replace it.
+                         -- Rotation occurs about the initial path point.
+   -- Lane Path Scale (zooming)
+   scaleXaxis         Scale-B12 OPTIONAL, 
+   scaleYaxis         Scale-B12 OPTIONAL, 
+                         -- value for translations or zooming of the path's 
+                         -- points. The values found in the reference lane 
+                         -- are all expanded or contracted based on the X 
+                         -- and Y and width values from the coordinates of 
+                         -- the reference lane's initial path point.  
+                         -- The Z axis remains untouched.  
+   regional  SEQUENCE (SIZE(1..4)) OF 
+             RegionalExtension {{Reg-ComputedLane}} OPTIONAL,
+   ... 
+   }
+ConnectsToList ::= SEQUENCE (SIZE(1..16)) OF Connection
+
+ConnectingLane ::= SEQUENCE {
+   lane      LaneID,   -- Index of the connecting lane
+   maneuver  AllowedManeuvers OPTIONAL
+                       -- The Maneuver between 
+                       -- the enclosing lane and this lane
+                       -- at the stop line to connect them
+   }
+
+
+Connection ::= SEQUENCE {
+   -- The subject lane connecting to this lane is:
+   connectingLane     ConnectingLane, 
+                      -- The index of the connecting lane and also
+                      -- the maneuver from the current lane to it
+   remoteIntersection IntersectionReferenceID OPTIONAL,  
+                      -- This entry is only used when the 
+                      -- indicated connecting lane belongs 
+                      -- to another intersection layout. This 
+                      -- provides a means to create meshes of lanes
+   
+   -- SPAT mapping details at the stop line are:
+   signalGroup        SignalGroupID OPTIONAL,    
+                      -- The matching signal group send by 
+                      -- the SPAT message for this lane/maneuver.
+                      -- Shall be present unless the connectingLane 
+                      -- has no signal group (is un-signalized)
+   userClass          RestrictionClassID OPTIONAL, 
+                      -- The Restriction Class of users this applies to
+                      -- The use of some lane/maneuver and SignalGroupID 
+                      -- pairings are restricted to selected users.
+                      -- When absent, the SignalGroupID applies to all
+   
+   -- Movement assist details are given by:
+   connectionID       LaneConnectionID OPTIONAL
+                      -- An optional connection index used to 
+                      -- relate this lane connection to any dynamic 
+                      -- clearance data in the SPAT. Note that
+                      -- the index may be shared with other 
+                      -- connections if the clearance data is common
+   }
+
+
+ConnectionManeuverAssist ::= SEQUENCE {
+   connectionID         LaneConnectionID,
+                        -- the common connectionID used by all lanes to which
+                        -- this data applies 
+                        -- (this value traces to ConnectsTo entries in lanes)
+   -- Expected Clearance Information
+   queueLength          ZoneLength OPTIONAL,
+                        -- Unit = 1 meter, 0 = no queue
+                        -- The distance from the stop line to the back 
+                        -- edge of the last vehicle in the queue,                     
+                        -- as measured along the lane center line.
+   availableStorageLength ZoneLength OPTIONAL,
+                        -- Unit = 1 meter, 0 = no space remains
+                        -- Distance (e.g. beginning from the downstream 
+                        -- stop-line up to a given distance) with a high 
+                        -- probability for successfully executing the 
+                        -- connecting maneuver between the two lanes 
+                        -- during the current cycle. 
+                        -- Used for enhancing the awareness of vehicles 
+                        -- to anticipate if they can pass the stop line
+                        -- of the lane. Used for optimizing the green wave, 
+                        -- due to knowledge of vehicles waiting in front 
+                        -- of a red light (downstream).
+                        -- The element nextTime in TimeChangeDetails
+                        -- in the containing data frame contains the next 
+                        -- timemark at which an active phase is expected, 
+                        -- a form of storage flush interval.
+   waitOnStop           WaitOnStopline OPTIONAL,
+                        -- If "true", the vehicles on this specific connecting 
+                        -- maneuver have to stop on the stop-line and not 
+                        -- to enter the collision area 
+   pedBicycleDetect     PedestrianBicycleDetect OPTIONAL,
+                        -- true if ANY ped or bicycles are detected crossing 
+                        -- the above lanes. Set to false ONLY if there is a 
+                        -- high certainty that there are none present, 
+                        -- otherwise element is not sent.
+   regional  SEQUENCE (SIZE(1..4)) OF 
+             RegionalExtension {{Reg-ConnectionManeuverAssist}} OPTIONAL,
+   ...  
+   }
+
+DataParameters ::= SEQUENCE {
+   processMethod     IA5String(SIZE(1..255)) OPTIONAL, 
+   processAgency     IA5String(SIZE(1..255)) OPTIONAL, 
+   lastCheckedDate   IA5String(SIZE(1..255)) OPTIONAL, 
+   geoidUsed         IA5String(SIZE(1..255)) OPTIONAL, 
+   ...  
+   }
+
+EnabledLaneList ::= SEQUENCE (SIZE(1..16)) OF LaneID
+   -- The unique ID numbers for each
+   -- lane object which is 'active' 
+   -- as part of the dynamic map contents.
+
+GenericLane ::= SEQUENCE { 
+   laneID           LaneID, 
+                    -- The unique ID number assigned 
+                    -- to this lane object
+   name             DescriptiveName OPTIONAL,        
+                    -- often for debug use only 
+                    -- but at times used to name ped crossings
+   ingressApproach  ApproachID OPTIONAL, -- inbound
+   egressApproach   ApproachID OPTIONAL, -- outbound
+                    -- Approach IDs to which this lane belongs
+   laneAttributes   LaneAttributes, 
+                    -- All Attribute information about 
+                    -- the basic selected lane type
+                    -- Directions of use, Geometric co-sharing
+                    -- and Type Specific Attributes
+                    -- These Attributes are 'lane - global' that is,
+                    -- they are true for the entire length of the lane
+   maneuvers        AllowedManeuvers OPTIONAL,
+                    -- the permitted maneuvers for this lane
+   nodeList         NodeListXY,
+                    -- Lane spatial path information as well as
+                    -- various Attribute information along the node path  
+                    -- Attributes found here are more general and may
+                    -- come and go over the length of the lane.
+   connectsTo       ConnectsToList OPTIONAL, 
+                    -- a list of other lanes and their signal group IDs
+                    -- each connecting lane and its signal group ID
+                    -- is given, therefore this element provides the
+                    -- information formerly in "signalGroups" in prior
+                    -- editions.
+   overlays         OverlayLaneList OPTIONAL, 
+                    -- A list of any lanes which have spatial paths that
+                    -- overlay (run on top of, and not simply cross) 
+                    -- the path of this lane when used
+   regional  SEQUENCE (SIZE(1..4)) OF 
+             RegionalExtension {{Reg-GenericLane}} OPTIONAL,
+   ...
+   }
+
+IntersectionAccessPoint ::= CHOICE {
+   lane       LaneID,
+   approach   ApproachID,
+   connection LaneConnectionID,
+   ...
+   }
+
+IntersectionGeometry ::= SEQUENCE {
+   name        DescriptiveName OPTIONAL, 
+                            -- For debug use only
+   id          IntersectionReferenceID,  
+                            -- A globally unique value set, 
+                            -- consisting of a regionID and 
+                            -- intersection ID assignment
+   revision    MsgCount,    
+
+   -- Required default values about lane descriptions follow
+   refPoint    Position3D,  -- The reference from which subsequent 
+                            -- data points are offset until a new
+                            -- point is used. 
+   laneWidth   LaneWidth OPTIONAL,   
+                            -- Reference width used by all subsequent 
+                            -- lanes unless a new width is given  
+   speedLimits SpeedLimitList OPTIONAL, 
+                            -- Reference regulatory speed limits
+                            -- used by all subsequent 
+                            -- lanes unless a new speed is given 
+                            -- See Section 11 for converting and 
+                            -- translating speed expressed in mph 
+                            -- into units of m/s
+   -- Complete details regarding each lane type in this intersection
+   laneSet     LaneList,    -- Data about one or more lanes
+                            -- (all lane data is found here)
+   
+   -- Data describing how to use and request preemption and
+   -- priority services from this intersection (if supported)
+   -- NOTE Additonal data may be added in the next release of the 
+   -- standard at this point to handle this concept
+   preemptPriorityData PreemptPriorityList OPTIONAL, 
+                           -- data about one or more regional
+                           -- preempt or priority zones 
+   
+   regional     SEQUENCE (SIZE(1..4)) OF 
+                RegionalExtension {{Reg-IntersectionGeometry}} OPTIONAL,
+   ... 
+   }
+
+IntersectionGeometryList ::= SEQUENCE (SIZE(1..32)) OF IntersectionGeometry
+   
+IntersectionReferenceID ::= SEQUENCE {
+   region  RoadRegulatorID OPTIONAL,
+           -- a globally unique regional assignment value
+           -- typical assigned to a regional DOT authority
+           -- the value zero shall be used for testing needs
+   id      IntersectionID
+           -- a unique mapping to the intersection
+           -- in question within the above region of use
+   }
+   
+IntersectionState ::= SEQUENCE {
+   name         DescriptiveName OPTIONAL, 
+                -- human readable name for intersection  
+                -- to be used only in debug mode
+   id           IntersectionReferenceID,  
+                -- A globally unique value set, consisting of a 
+                -- regionID and intersection ID assignment
+                -- provides a unique mapping to the 
+                -- intersection MAP in question
+                -- which provides complete location 
+                -- and approach/move/lane data
+   revision     MsgCount,    
+   status       IntersectionStatusObject,
+                -- general status of the controller(s)
+   moy          MinuteOfTheYear OPTIONAL,
+                -- Minute of current UTC year
+                -- used only with messages to be archived 
+   timeStamp    DSecond OPTIONAL, 
+                -- the mSec point in the current UTC minute that
+                -- this message was constructed
+   enabledLanes EnabledLaneList OPTIONAL,  
+                -- a list of lanes where the RevocableLane bit 
+                -- has been set which are now active and 
+                -- therefore part of the current intersection
+   states       MovementList,
+                -- Each Movement is given in turn
+                -- and contains its signal phase state, 
+                -- mapping to the lanes it applies to, and
+                -- point in time it will end, and it
+                -- may contain both active and future states 
+   maneuverAssistList  ManeuverAssistList OPTIONAL,
+                -- Assist data
+   
+   regional     SEQUENCE (SIZE(1..4)) OF 
+                RegionalExtension {{Reg-IntersectionState}} OPTIONAL,
+   ... 
+   }
+   
+IntersectionStateList ::= SEQUENCE (SIZE(1..32)) OF  IntersectionState
+
+LaneAttributes ::= SEQUENCE {
+   directionalUse  LaneDirection,      -- directions of lane use
+   sharedWith      LaneSharing,        -- co-users of the lane path
+   laneType        LaneTypeAttributes, -- specific lane type data
+   regional        RegionalExtension {{Reg-LaneAttributes}} OPTIONAL
+   }
+
+LaneDataAttribute ::= CHOICE {
+    -- Segment attribute types and the data needed for each
+    pathEndPointAngle        DeltaAngle,  
+                             -- adjusts final point/width slant
+                             -- of the lane to align with the stop line
+    laneCrownPointCenter     RoadwayCrownAngle,  
+                             -- sets the canter of the road bed      
+                             -- from centerline point
+    laneCrownPointLeft       RoadwayCrownAngle,  
+                             -- sets the canter of the road bed
+                             -- from left edge
+    laneCrownPointRight      RoadwayCrownAngle,  
+                             -- sets the canter of the road bed
+                             -- from right edge
+    laneAngle                MergeDivergeNodeAngle,  
+                             -- the angle or direction of another lane
+                             -- this is required to support Japan style
+                             -- when a merge point angle is required
+    speedLimits              SpeedLimitList,
+                             -- Reference regulatory speed limits
+                             -- used by all segments
+   
+    -- Add others as needed, in regional space
+    regional  SEQUENCE (SIZE(1..4)) OF 
+              RegionalExtension {{Reg-LaneDataAttribute}}, 
+    ...
+    }
+
+LaneDataAttributeList ::= SEQUENCE (SIZE(1..8)) OF LaneDataAttribute
+
+LaneList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
+
+LaneSharing ::= BIT STRING {
+    -- With bits as defined:
+    overlappingLaneDescriptionProvided  (0),
+    -- Assert when another lane object is present to describe the
+    -- path of the overlapping shared lane
+    -- this construct is not used for lane objects which simply cross
+    multipleLanesTreatedAsOneLane       (1),
+    -- Assert if the lane object path and width details represents
+    -- multiple lanes within it that are not further described
+
+    -- Various modes and type of traffic that may share this lane:
+    otherNonMotorizedTrafficTypes       (2), -- horse drawn etc.
+    individualMotorizedVehicleTraffic   (3),
+    busVehicleTraffic                   (4),  
+    taxiVehicleTraffic                  (5),
+    pedestriansTraffic                  (6),
+    cyclistVehicleTraffic               (7),
+    trackedVehicleTraffic               (8),
+    pedestrianTraffic                   (9)
+    } (SIZE (10))
+    -- All zeros would indicate 'not shared' and 'not overlapping'
+
+LaneTypeAttributes ::= CHOICE {
+   vehicle        LaneAttributes-Vehicle,        -- motor vehicle lanes
+   crosswalk      LaneAttributes-Crosswalk,      -- pedestrian crosswalks
+   bikeLane       LaneAttributes-Bike,           -- bike lanes
+   sidewalk       LaneAttributes-Sidewalk,       -- pedestrian sidewalk paths
+   median         LaneAttributes-Barrier,        -- medians & channelization
+   striping       LaneAttributes-Striping,       -- roadway markings
+   trackedVehicle LaneAttributes-TrackedVehicle, -- trains and trolleys
+   parking        LaneAttributes-Parking,        -- parking and stopping lanes
+   ...
+   }
+
+ManeuverAssistList ::= SEQUENCE (SIZE(1..16)) OF ConnectionManeuverAssist
+
+MovementEventList ::= SEQUENCE (SIZE(1..16)) OF MovementEvent
+
+MovementEvent ::= SEQUENCE {
+   eventState   MovementPhaseState,
+                -- Consisting of:
+                -- Phase state (the basic 11 states)
+                -- Directional, protected, or permissive state
+   
+   timing       TimeChangeDetails OPTIONAL,
+                -- Timing Data in UTC time stamps for event
+                -- includes start and min/max end times of phase
+                -- confidence and estimated next occurrence
+   
+   speeds       AdvisorySpeedList OPTIONAL,
+                -- various speed advisories for use by
+                -- general and specific types of vehicles
+                -- supporting green-wave and other flow needs
+                -- See Section 11 for converting and translating 
+                -- speed expressed in mph into units of m/s
+
+   regional     SEQUENCE (SIZE(1..4)) OF 
+                RegionalExtension {{Reg-MovementEvent}} OPTIONAL,
+   ...  
+   }
+
+MovementList ::= SEQUENCE (SIZE(1..255)) OF MovementState
+
+MovementState ::= SEQUENCE {
+   movementName       DescriptiveName OPTIONAL,
+                      -- uniquely defines movement by name   
+                      -- human readable name for intersection  
+                      -- to be used only in debug mode
+   signalGroup        SignalGroupID,    
+                      -- the group id is used to map to lists 
+                      -- of lanes (and their descriptions) 
+                      -- which this MovementState data applies to 
+                      -- see comments in the Remarks for usage details 
+   state-time-speed   MovementEventList,   
+                      -- Consisting of sets of movement data with:
+                      -- a)  SignalPhaseState
+                      -- b)  TimeChangeDetails,  and 
+                      -- c)  AdvisorySpeeds      (optional )
+                      -- Note one or more of the movement events may be for 
+                      -- a future time and that this allows conveying multiple 
+                      -- predictive phase and movement timing for various uses
+                      -- for the current signal group
+   maneuverAssistList ManeuverAssistList OPTIONAL,
+                      -- This information may also be placed in the 
+                      -- IntersectionState when common information applies to
+                      -- different lanes in the same way
+   regional           SEQUENCE (SIZE(1..4)) OF 
+                      RegionalExtension {{Reg-MovementState}} OPTIONAL,
+   ...  
+   }
+
+NodeAttributeSetXY ::= SEQUENCE {
+   localNode    NodeAttributeXYList OPTIONAL,
+                -- Attribute states which pertain to this node point
+   disabled     SegmentAttributeXYList OPTIONAL,
+                -- Attribute states which are disabled at this node point
+   enabled      SegmentAttributeXYList OPTIONAL,
+                -- Attribute states which are enabled at this node point
+                -- and which remain enabled until disabled or the lane ends
+   data         LaneDataAttributeList OPTIONAL,
+                -- Attributes which require an additional data values
+                -- some of these are local to the node point, while others
+                -- persist with the provided values until changed
+                -- and this is indicated in each entry
+   dWidth       Offset-B10 OPTIONAL,
+                -- A value added to the current lane width
+                -- at this node and from this node onwards, in 1cm steps
+                -- lane width between nodes are a linear taper between pts
+                -- the value of zero shall not be sent here
+   dElevation   Offset-B10 OPTIONAL,
+                -- A value added to the current Elevation 
+                -- at this node from this node onwards, in 10cm steps
+                -- elevations between nodes are a linear taper between pts
+                -- the value of zero shall not be sent here
+   regional     SEQUENCE (SIZE(1..4)) OF 
+                RegionalExtension {{Reg-NodeAttributeSetXY}} OPTIONAL,
+   ...
+   }
+
+NodeAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF NodeAttributeXY
+
+NodeAttributeXY ::= ENUMERATED {
+   -- Various values which pertain only to the current node point
+   
+   -- General Items
+   reserved,  
+   stopLine,             -- point where a mid-path stop line exists
+                         -- See also 'do not block' for segments
+
+   -- Path finish details 
+   roundedCapStyleA,      -- Used to control final path rounded end shape
+                          -- with edge of curve at final point in a circle
+   roundedCapStyleB,      -- Used to control final path rounded end shape
+                          -- with edge of curve extending 50% of width past
+                          -- final point in a circle
+   
+   -- Topography Points (items with no concept of a distance along the path)
+   mergePoint,           -- Japan merge with 1 or more lanes
+   divergePoint,         -- Japan diverge with 1 or more lanes
+   downstreamStopLine,   -- Japan style downstream intersection 
+                                   -- (a 2nd intersection) stop line
+   downstreamStartNode,  -- Japan style downstream intersection 
+                                   -- (a 2nd intersection) start node
+     
+   -- Pedestrian Support Attributes
+   closedToTraffic,      -- where a pedestrian may NOT go
+                         -- to be used during construction events
+   safeIsland,           -- a pedestrian safe stopping point
+                         -- also called a traffic island
+                         -- This usage described a point feature on a path, 
+                         -- other entries can describe a path
+   curbPresentAtStepOff, -- the sidewalk to street curb is NOT 
+                         -- angled where it meets the edge of the 
+                         -- roadway (user must step up/down)
+ 
+   -- Lane geometry details  (see standard for defined shapes)
+   hydrantPresent,       -- Or other services access 
+   ...
+   }
+
+Node-LLmD-64b ::= SEQUENCE {
+   lon  Longitude,
+   lat  Latitude
+   }
+
+   Node-XY-20b ::= SEQUENCE {
+   x  Offset-B10,
+   y  Offset-B10
+   }
+
+Node-XY-22b ::= SEQUENCE {
+   x  Offset-B11,
+   y  Offset-B11
+   }
+
+
+Node-XY-24b ::= SEQUENCE {
+   x  Offset-B12,
+   y  Offset-B12
+   }
+
+
+Node-XY-26b ::= SEQUENCE {
+   x  Offset-B13,
+   y  Offset-B13
+   }
+
+
+Node-XY-28b ::= SEQUENCE {
+   x  Offset-B14,
+   y  Offset-B14
+   }
+
+
+Node-XY-32b ::= SEQUENCE {
+   x  Offset-B16,
+   y  Offset-B16
+   }
+
+NodeListXY ::= CHOICE {
+   nodes     NodeSetXY,
+             -- a lane made up of two or more
+             -- XY node points and any attributes 
+             -- defined in those nodes
+   computed  ComputedLane,
+             -- a lane path computed by translating 
+             -- the data defined by another lane
+   ...
+   }
+
+NodeOffsetPointXY ::= CHOICE {
+   -- Nodes with X,Y content
+   node-XY1         Node-XY-20b,    -- node is within   5.11m of last node
+   node-XY2         Node-XY-22b,    -- node is within  10.23m of last node
+   node-XY3         Node-XY-24b,    -- node is within  20.47m of last node
+   node-XY4         Node-XY-26b,    -- node is within  40.96m of last node
+   node-XY5         Node-XY-28b,    -- node is within  81.91m of last node
+   node-XY6         Node-XY-32b,    -- node is within 327.67m of last node
+   node-LatLon      Node-LLmD-64b,  -- node is a full 32b Lat/Lon range
+   regional         RegionalExtension {{Reg-NodeOffsetPointXY}}
+                                    -- node which follows is of a 
+                                    -- regional definition type 
+   }
+
+NodeSetXY ::= SEQUENCE (SIZE(2..63)) OF NodeXY
+
+NodeXY ::= SEQUENCE {
+   delta       NodeOffsetPointXY,
+               -- A choice of which X,Y offset value to use  
+               -- this includes various delta values as well a regional choices
+   attributes  NodeAttributeSetXY OPTIONAL,
+               -- Any optional Attributes which are needed
+               -- This includes changes to the current lane width and elevation
+   ... 
+}
+
+OverlayLaneList ::= SEQUENCE (SIZE(1..5)) OF LaneID
+   -- The unique ID numbers for any lane object which have
+   -- spatial paths that overlay (run on top of, and not
+   -- simply cross with) the current lane.
+   -- Such as a train path that overlays a motor vehicle
+   -- lane object for a roadway segment.
+
+Position3D ::= SEQUENCE {
+   lat        Latitude,                -- in 1/10th micro degrees
+   long       Longitude,               -- in 1/10th micro degrees
+   elevation  Elevation  OPTIONAL,     -- in 10 cm units
+   regional   SEQUENCE (SIZE(1..4)) OF 
+              RegionalExtension {{Reg-Position3D}} OPTIONAL,
+   ...
+   }
+
+PreemptPriorityList ::= SEQUENCE (SIZE(1..32)) OF SignalControlZone
+
+RegulatorySpeedLimit ::= SEQUENCE {
+   type        SpeedLimitType, 
+               -- The type of regulatory speed which follows
+   speed       Velocity
+               -- The speed in units of 0.02 m/s
+               -- See Section 11 for converting and translating 
+               -- speed expressed in mph into units of m/s
+   }
+
+RequestorDescription ::= SEQUENCE {
+   id                VehicleID, 
+                     -- The ID used in the BSM or CAM of the requestor
+                     -- This ID is presumed not to change 
+                     -- during the exchange
+   type              RequestorType OPTIONAL,
+                     -- Information regarding all type and class data
+                     -- about the requesting vehicle 
+   position          RequestorPositionVector OPTIONAL,
+                     -- The location of the requesting vehicle
+   name              DescriptiveName OPTIONAL,
+                     -- A human readable name for debugging use
+   -- Support for Transit requests
+   routeName         DescriptiveName OPTIONAL,
+                     -- A string for transit operations use
+   transitStatus     TransitVehicleStatus OPTIONAL,
+                     -- current vehicle state (loading, etc.)
+   transitOccupancy  TransitVehicleOccupancy OPTIONAL,
+                     -- current vehicle occupancy 
+   transitSchedule   DeltaTime OPTIONAL, 
+                     -- current vehicle schedule adherence 
+
+   regional          SEQUENCE (SIZE(1..4)) OF 
+                     RegionalExtension {{Reg-RequestorDescription}} OPTIONAL,
+   ...
+   }
+
+RequestorPositionVector ::= SEQUENCE {
+   position           Position3D,
+   heading            Angle OPTIONAL, 
+   speed              TransmissionAndSpeed OPTIONAL,
+   ...  
+   }
+
+RequestorType ::= SEQUENCE {
+   -- Defines who is requesting
+   role         BasicVehicleRole, -- Basic role of this user at this time
+   subrole      RequestSubRole OPTIONAL, -- A local list with role based items 
+    
+   -- Defines what kind of request (a level of importance in the Priority Scheme)
+   request      RequestImportanceLevel OPTIONAL, -- A local list with request items 
+   
+   -- Additional classification details 
+   iso3883      Iso3833VehicleType OPTIONAL,
+   hpmsType     VehicleType OPTIONAL,  -- HPMS classification types
+
+   regional     RegionalExtension {{Reg-RequestorType}} OPTIONAL,
+   ...
+   }
+
+RestrictionClassAssignment ::= SEQUENCE {
+   id       RestrictionClassID,
+            -- the unique value (within an intersection or local region)
+            -- that is assigned to this group of users
+   users    RestrictionUserTypeList 
+            -- The list of user types/classes 
+            -- to which this restriction ID applies
+   }
+
+RestrictionClassList ::= SEQUENCE (SIZE(1..254)) OF RestrictionClassAssignment
+
+RestrictionUserTypeList ::= SEQUENCE (SIZE(1..16)) OF  RestrictionUserType
+
+RestrictionUserType ::= CHOICE {
+   basicType   RestrictionAppliesTo,
+               -- a set of the most commonly used types
+   regional    SEQUENCE (SIZE(1..4)) OF 
+               RegionalExtension {{Reg-RestrictionUserType}}, 
+   ...
+   }
+
+RoadLaneSetList ::= SEQUENCE (SIZE(1..255)) OF GenericLane
+
+RoadSegmentReferenceID ::= SEQUENCE {
+   region  RoadRegulatorID OPTIONAL,
+           -- a globally unique regional assignment value
+           -- typically assigned to a regional DOT authority
+           -- the value zero shall be used for testing needs
+   id      RoadSegmentID
+           -- a unique mapping to the road segment
+           -- in question within the above region of use
+           -- during its period of assignment and use
+           -- note that unlike intersectionID values, 
+           -- this value can be reused by the region
+   }
+
+RoadSegment ::= SEQUENCE {
+   name        DescriptiveName OPTIONAL,
+   id          RoadSegmentReferenceID,
+                           -- a globally unique value for the segment
+   revision    MsgCount,    
+   -- Required default values about the descriptions to follow
+   refPoint    Position3D, -- the reference from which subsequent
+                           -- data points are offset until a new
+                           -- point is used.
+   laneWidth   LaneWidth OPTIONAL,   
+                            -- Reference width used by all subsequent 
+                            -- lanes unless a new width is given  
+   speedLimits SpeedLimitList OPTIONAL, 
+                            -- Reference regulatory speed limits
+                            -- used by all subsequent 
+                            -- lanes unless a new speed is given   
+                            -- See Section 11 for converting and  
+                            -- translating speed expressed in mph 
+                            -- into units of m/s
+                         
+   -- Data describing disruptions in the RoadSegment
+   -- such as work zones etc will be added here;
+   -- in the US the SAE ITIS codes would be used here
+   -- The details regarding each lane type in the RoadSegment
+   roadLaneSet RoadLaneSetList,   
+  
+   regional    SEQUENCE (SIZE(1..4)) OF 
+               RegionalExtension {{Reg-RoadSegment}} OPTIONAL,
+   ...
+   }
+
+RoadSegmentList ::= SEQUENCE (SIZE(1..32)) OF RoadSegment
+   
+SegmentAttributeXYList ::= SEQUENCE (SIZE(1..8)) OF SegmentAttributeXY
+
+SignalControlZone ::=  SEQUENCE {
+  zone  RegionalExtension {{Reg-SignalControlZone}},
+  ...
+  }
+
+SignalRequesterInfo ::= SEQUENCE {
+   -- These three items serve to uniquely identify the requester
+   -- and the specific request to all parties
+   id             VehicleID,
+   request        RequestID,
+   sequenceNumber MsgCount,
+   role           BasicVehicleRole OPTIONAL,
+
+   typeData       RequestorType OPTIONAL, 
+                  -- Used when addition data besides the role
+                  -- is needed, at which point the role entry
+                  -- above is not sent.
+   ...
+   }
+
+SignalRequestList ::= SEQUENCE (SIZE(1..32)) OF SignalRequestPackage
+
+SignalRequestPackage ::= SEQUENCE {
+   request        SignalRequest,
+                  -- The specific request to the intersection
+                  -- contains IntersectionID, request type,
+                  -- requested action (approach/lane request)
+
+   -- The Estimated Time of Arrival (ETA) when the service is requested
+   minute         MinuteOfTheYear OPTIONAL,
+   second         DSecond OPTIONAL,
+   duration       DSecond OPTIONAL,
+                  -- The duration value is used to provide a short interval that
+                  -- extends the ETA so that the requesting vehicle can arrive at 
+                  -- the point of service with uncertainty or with some desired
+                  -- duration of service. This concept can be used to avoid needing 
+                  -- to frequently update the request.
+                  -- The requester must update the ETA and duration values if the
+                  -- period of services extends beyond the duration time.  
+                  -- It should be assumed that if the vehicle does not clear the
+                  -- intersection when the duration is reached, the request will 
+                  -- be cancelled and the intersection will revert to 
+                  -- normal operation.
+   
+   regional       SEQUENCE (SIZE(1..4)) OF 
+                  RegionalExtension {{Reg-SignalRequestPackage}} OPTIONAL,
+   ...  
+   }
+
+SignalRequest ::= SEQUENCE {
+   -- the unique ID of the target intersection 
+   id            IntersectionReferenceID,  
+   
+   -- The unique requestID used by the requestor
+   requestID     RequestID, 
+  
+   -- The type of request or cancel for priority or preempt use
+   -- when a prior request is canceled, only the requestID is needed
+   requestType   PriorityRequestType,   
+   
+   -- In typical use either an approach or a lane number would
+   -- be given, this indicates the requested 
+   -- path through the intersection to the degree it is known.
+   inBoundLane   IntersectionAccessPoint,       
+                 -- desired entry approach or lane
+   outBoundLane  IntersectionAccessPoint OPTIONAL,       
+                 -- desired exit approach or lane
+                 -- the values zero is used to indicate 
+                 -- intent to stop within the intersection
+   regional      SEQUENCE (SIZE(1..4)) OF 
+                 RegionalExtension {{Reg-SignalRequest}} OPTIONAL,
+   ...
+   }
+
+SignalStatusList ::= SEQUENCE (SIZE(1..32)) OF SignalStatus
+
+SignalStatusPackageList ::= SEQUENCE (SIZE(1..32)) OF SignalStatusPackage
+
+SignalStatusPackage ::= SEQUENCE {
+   -- The party that made the initial SRM request
+   requester    SignalRequesterInfo OPTIONAL,
+   -- The lanes or approaches used in the request
+   inboundOn    IntersectionAccessPoint, -- estimated lane / approach of vehicle
+   outboundOn   IntersectionAccessPoint OPTIONAL,
+
+   -- The Estimated Time of Arrival (ETA) when the service is requested
+   -- This data echos the data of the request 
+   minute       MinuteOfTheYear OPTIONAL,
+   second       DSecond OPTIONAL,
+      duration     DSecond OPTIONAL,
+
+   -- the SRM status for this request
+   status       PrioritizationResponseStatus,
+                -- Status of request, this may include rejection
+
+   regional     SEQUENCE (SIZE(1..4)) OF 
+                RegionalExtension {{Reg-SignalStatusPackage}} OPTIONAL,
+   ...  
+   }
+
+SignalStatus ::= SEQUENCE {
+   sequenceNumber MsgCount,
+                  -- changed whenever the below contents have change
+   id             IntersectionReferenceID,
+                  -- this provides a unique mapping to the 
+                  -- intersection map in question
+                  -- which provides complete location 
+                  -- and approach/movement/lane data
+                  -- as well as zones for priority/preemption
+   sigStatus      SignalStatusPackageList,
+                  -- a list of detailed status containing all
+                  -- priority or preemption state data, both
+                  -- active and pending, and who requested it
+                  -- requests which are denied are also listed
+                  -- here for a short period of time
+   regional       SEQUENCE (SIZE(1..4)) OF 
+                  RegionalExtension {{Reg-SignalStatus}} OPTIONAL,
+   ...  
+   }
+   
+SpeedLimitList ::= SEQUENCE (SIZE(1..9)) OF RegulatorySpeedLimit
+
+SpeedLimitType ::= ENUMERATED {
+    unknown,                    -- Speed limit type not available
+    maxSpeedInSchoolZone,       -- Only sent when the limit is active
+    maxSpeedInSchoolZoneWhenChildrenArePresent, -- Sent at any time
+    maxSpeedInConstructionZone, -- Used for work zones, incident zones, etc.
+                                -- where a reduced speed is present
+    vehicleMinSpeed,
+    vehicleMaxSpeed,            -- Regulatory speed limit for general traffic
+    vehicleNightMaxSpeed,
+
+    truckMinSpeed,
+    truckMaxSpeed,
+    truckNightMaxSpeed,
+
+    vehiclesWithTrailersMinSpeed,
+    vehiclesWithTrailersMaxSpeed,
+    vehiclesWithTrailersNightMaxSpeed,
+    ...
+    }
+
+TimeChangeDetails ::= SEQUENCE {
+   startTime   TimeMark           OPTIONAL,
+               -- When this phase 1st started
+   minEndTime  TimeMark,
+               -- Expected shortest end time
+   maxEndTime  TimeMark           OPTIONAL,
+               -- Expected longest end time
+   
+   likelyTime  TimeMark           OPTIONAL,
+               -- Best predicted value based on other data              
+   confidence  TimeIntervalConfidence OPTIONAL,
+               -- Applies to above time element only
+   
+   nextTime    TimeMark           OPTIONAL
+               -- A rough estimate of time when 
+               -- this phase may next occur again
+               -- used to support various ECO driving power 
+               -- management needs.
+   }
+
+TimeMark ::= INTEGER (0..36001)
+   -- Tenths of a second in the current or next hour
+   -- In units of 1/10th second from UTC time
+   -- A range of 0~36000 covers one hour
+   -- The values 35991..36000 are used when a leap second occurs
+   -- The value 36001 is used to indicate time >3600 seconds
+   -- 36002 is to be used when value undefined or unknown
+   -- Note that this is NOT expressed in GPS time
+   -- or in local time
+
+TransmissionAndSpeed ::= SEQUENCE {
+   transmisson   TransmissionState,
+   speed         Velocity
+   }
+
+VehicleID ::= CHOICE {
+   entityID     TemporaryID,
+   stationID    StationID
+   }
+
+   
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+-- 
+-- Start of entries from table Data_Elements...
+-- This table typicaly contains data element entries.
+-- -_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
+--    
+
+AdvisorySpeedType ::= ENUMERATED {
+    none       (0),
+    greenwave  (1),
+    ecoDrive   (2),
+    transit    (3),
+    ...  
+    } -- Note: subject to further growth
+
+AllowedManeuvers ::= BIT STRING {
+    -- With bits as defined:
+    -- Allowed maneuvers at path end (stop line)
+    -- All maneuvers with bits not set are therefore prohibited !
+    -- A value of zero shall be used for unknown, indicating no Maneuver
+    maneuverStraightAllowed      (0), 
+                                  -- a Straight movement is allowed in this lane
+    maneuverLeftAllowed          (1),  
+                                 -- a Left Turn movement is allowed in this lane
+    maneuverRightAllowed         (2), 
+                                 -- a Right Turn movement is allowed in this lane
+    maneuverUTurnAllowed         (3), 
+                                 -- a U turn movement is allowed in this lane
+    maneuverLeftTurnOnRedAllowed (4), 
+                                 -- a Stop, and then proceed when safe movement 
+                                 -- is allowed in this lane  
+    maneuverRightTurnOnRedAllowed (5), 
+                                 -- a Stop, and then proceed when safe movement 
+                                 -- is allowed in this lane  
+    maneuverLaneChangeAllowed    (6), 
+                                 -- a movement which changes to an outer lane 
+                                 -- on the egress side is allowed in this lane
+                                 -- (example: left into either outbound lane)
+    maneuverNoStoppingAllowed    (7), 
+                                 -- the vehicle should not stop at the stop line
+                                 -- (example: a flashing green arrow)
+    yieldAllwaysRequired         (8), 
+                                 -- the allowed movements above are not protected 
+                                 -- (example: an permanent yellow condition)
+    goWithHalt                   (9), 
+                                 -- after making a full stop, may proceed
+    caution                      (10), 
+                                 -- proceed past stop line with caution
+    reserved1                    (11)
+                                 -- used to align to 12 Bit Field
+   
+   } (SIZE(12))
+
+Angle ::= INTEGER (0..28800) 
+   -- LSB of 0.0125 degrees
+   -- A range of 0 to 359.9875 degrees
+
+ApproachID ::= INTEGER (0..15) -- zero to be used when valid value is unknown
+   
+BasicVehicleRole ::= ENUMERATED {
+    -- Values used in the EU and in the US
+    basicVehicle     (0), -- Light duty passenger vehicle type
+    publicTransport  (1), -- Used in EU for Transit us
+    specialTransport (2), -- Used in EU (e.g. heavy load)
+    dangerousGoods   (3), -- Used in EU for any HAZMAT
+    roadWork         (4), -- Used in EU for State and Local DOT uses
+    roadRescue       (5), -- Used in EU and in the US to include tow trucks.
+    emergency        (6), -- Used in EU for Police, Fire and Ambulance units
+    safetyCar        (7), -- Used in EU for Escort vehicles
+    -- Begin US unique numbering
+    none-unknown     (8), -- added to follow current SAE style guidelines
+    truck            (9), -- Heavy trucks with additional BSM rights and obligations
+    motorcycle      (10), --
+    roadSideSource  (11), -- For infrastructure generated calls such as
+                          -- fire house, rail infrastructure, roadwork site, etc.
+    police          (12), --
+    fire            (13), --
+    ambulance       (14), -- (does not include private para-transit etc.)
+    dot             (15), -- all roadwork vehicles
+    transit         (16), -- all transit vehicles 
+    slowMoving      (17), -- to also include oversize etc.
+    stopNgo         (18), -- to include trash trucks, school buses and others
+                          -- that routinely disturb the free flow of traffic
+    cyclist         (19), --
+    pedestrian      (20), -- also includes those with mobility limitations
+    nonMotorized    (21), -- other, horse drawn, etc.
+    military        (22), --
+    ...   
+    }  
+
+DeltaAngle ::= INTEGER (-150..150) 
+   -- With an angle range from 
+   -- negative 150 to positive 150 
+   -- in one degree steps where zero is directly
+   -- along the axis or the lane center line as defined by the
+   -- two closest points
+
+DeltaTime ::= INTEGER (-122 .. 121) 
+   -- Supporting a range of +/- 20 minute in steps of 10 seconds
+   -- the value of -121 shall be used when more than -20 minutes
+   -- the value of +120 shall be used when more than +20 minutes
+   -- the value -122 shall be used when the value is unavailable
+
+DescriptiveName ::= IA5String (SIZE(1..63))
+
+DrivenLineOffsetLg ::= INTEGER (-32767..32767) 
+   -- LSB units are 1 cm.
+
+DrivenLineOffsetSm ::= INTEGER (-2047..2047) 
+   -- LSB units are 1 cm.
+
+DSecond ::= INTEGER (0..65535) -- units of milliseconds
+   
+DSRCmsgID ::= INTEGER (0..32767)
+   mapData                           DSRCmsgID ::=   18 -- MAP, intersections 
+   signalPhaseAndTimingMessage       DSRCmsgID ::=   19 -- SPAT
+   signalRequestMessage              DSRCmsgID ::=   29 -- SRM
+   signalStatusMessage               DSRCmsgID ::=   30 -- SSM
+
+Elevation ::= INTEGER (-4096..61439) 
+  -- In units of 10 cm steps above or below the reference ellipsoid 
+  -- Providing a range of -409.5 to + 6143.9 meters 
+  -- The value -4096 shall be used when Unknown is to be sent
+
+IntersectionID ::= INTEGER (0..65535)
+   -- The values zero through 255 are allocated for testing purposes
+   -- Note that the value assigned to an intersection will be
+   -- unique within a given regional ID only
+
+IntersectionStatusObject ::= BIT STRING {
+    manualControlIsEnabled                (0),
+      -- Timing reported is per programmed values, etc. but person
+      -- at cabinet can manually request that certain intervals are
+      -- terminated early (e.g. green).
+    stopTimeIsActivated                   (1),
+      -- And all counting/timing has stopped.
+    failureFlash                          (2), 
+      -- Above to be used for any detected hardware failures, 
+      -- e.g. conflict monitor as well as for police flash 
+    preemptIsActive                       (3),
+    signalPriorityIsActive                (4),   
+	 
+   -- Additional states
+    fixedTimeOperation                    (5),
+      -- Schedule of signals is based on time only 
+      -- (i.e. the state can be calculated)
+    trafficDependentOperation             (6),
+      -- Operation is based on different levels of traffic parameters 
+      -- (requests, duration of gaps or more complex parameters)
+    standbyOperation                      (7),
+      -- Controller: partially switched off or partially amber flashing
+    failureMode                           (8),
+      -- Controller has a problem or failure in operation
+    off                                   (9),
+      -- Controller is switched off
+	 
+   -- Related to MAP and SPAT bindings
+    recentMAPmessageUpdate                (10),
+      -- Map revision with content changes
+    recentChangeInMAPassignedLanesIDsUsed (11),
+      -- Change in MAP's assigned lanes used (lane changes)
+      -- Changes in the active lane list description
+    noValidMAPisAvailableAtThisTime       (12),
+      -- MAP (and various lanes indexes) not available
+    noValidSPATisAvailableAtThisTime      (13)
+      -- SPAT system is not working at this time
+    
+    -- Bits 14,15 reserved at this time and shall be zero
+    } (SIZE(16))
+
+
+LaneAttributes-Barrier ::= BIT STRING {
+   -- With bits as defined:
+   median-RevocableLane     (0),
+                            -- this lane may be activated or not based
+                            -- on the current SPAT message contents
+                            -- if not asserted, the lane is ALWAYS present
+   median                   (1),
+   whiteLineHashing         (2),
+   stripedLines             (3),
+   doubleStripedLines       (4),
+   trafficCones             (5),
+   constructionBarrier      (6),
+   trafficChannels          (7),
+   lowCurbs                 (8),
+   highCurbs                (9)
+   -- Bits 10~15 reserved and set to zero
+   } (SIZE (16))
+
+LaneAttributes-Bike ::= BIT STRING {
+   -- With bits as defined:
+   bikeRevocableLane       (0),
+                           -- this lane may be activated or not based
+                           -- on the current SPAT message contents
+                           -- if not asserted, the lane is ALWAYS present
+   pedestrianUseAllowed    (1),
+                           -- The path allows pedestrian traffic, 
+                           -- if not set, this mode is prohibited
+   isBikeFlyOverLane       (2),
+                           -- path of lane is not at grade
+   fixedCycleTime          (3),
+                           -- the phases use preset times
+                           -- i.e. there is not a 'push to cross' button
+   biDirectionalCycleTimes (4),
+                           -- ped walk phases use different SignalGroupID
+                           -- for each direction. The first SignalGroupID
+                           -- in the first Connection represents 'inbound'
+                           -- flow (the direction of travel towards the first 
+                           -- node point) while second SignalGroupID in the 
+                           -- next Connection entry represents the 'outbound'
+                           -- flow. And use of RestrictionClassID entries
+                           -- in the Connect follow this same pattern in pairs.
+   isolatedByBarrier       (5),
+   unsignalizedSegmentsPresent  (6)
+                           -- The lane path consists of one of more segments
+                           -- which are not part of a signal group ID
+
+   -- Bits 7~15 reserved and set to zero
+   } (SIZE (16))
+
+LaneAttributes-Crosswalk ::= BIT STRING { 
+   -- With bits as defined:
+   -- MUTCD provides no suitable "types" to use here
+   crosswalkRevocableLane  (0),
+                           -- this lane may be activated or not based
+                           -- on the current SPAT message contents
+                           -- if not asserted, the lane is ALWAYS present
+   bicyleUseAllowed        (1),
+                           -- The path allows bicycle traffic, 
+                           -- if not set, this mode is prohibited
+   isXwalkFlyOverLane      (2),
+                           -- path of lane is not at grade
+   fixedCycleTime          (3),
+                           -- ped walk phases use preset times
+                           -- i.e. there is not a 'push to cross' button
+   biDirectionalCycleTimes (4),
+                           -- ped walk phases use different SignalGroupID
+                           -- for each direction. The first SignalGroupID
+                           -- in the first Connection represents 'inbound'
+                           -- flow (the direction of travel towards the first 
+                           -- node point) while second SignalGroupID in the 
+                           -- next Connection entry represents the 'outbound'
+                           -- flow. And use of RestrictionClassID entries
+                           -- in the Connect follow this same pattern in pairs.
+   hasPushToWalkButton     (5),
+                           -- Has a demand input
+   audioSupport            (6),
+                           -- audio crossing cues present
+   rfSignalRequestPresent  (7),
+                           -- Supports RF push to walk technologies
+   unsignalizedSegmentsPresent  (8)
+                           -- The lane path consists of one of more segments
+                           -- which are not part of a signal group ID
+   -- Bits 9~15 reserved and set to zero
+   } (SIZE (16))
+
+LaneAttributes-Parking ::= BIT STRING { 
+    -- With bits as defined:
+    -- Parking use details, note that detailed restrictions such as 
+    -- allowed hours are sent by way of ITIS codes in the TIM message
+    parkingRevocableLane         (0),
+                                 -- this lane may be activated or not based
+                                 -- on the current SPAT message contents
+                                 -- if not asserted, the lane is ALWAYS present
+    parallelParkingInUse         (1),
+    headInParkingInUse           (2),
+    doNotParkZone                (3),
+                                 -- used to denote fire hydrants as well as
+                                 -- short disruptions in a parking zone
+    parkingForBusUse             (4),
+    parkingForTaxiUse            (5),
+    noPublicParkingUse           (6)
+                                 -- private parking, as in front of
+                                 -- private property
+   -- Bits 7~15 reserved and set to zero
+   } (SIZE (16))
+
+LaneAttributes-Sidewalk ::= BIT STRING { 
+   -- With bits as defined:
+   sidewalk-RevocableLane  (0),
+                           -- this lane may be activated or not based
+                           -- on the current SPAT message contents
+                           -- if not asserted, the lane is ALWAYS present
+   bicyleUseAllowed        (1),
+                           -- The path allows bicycle traffic, 
+                           -- if not set, this mode is prohibited
+   isSidewalkFlyOverLane   (2),
+                           -- path of lane is not at grade
+   walkBikes               (3)
+                           -- bike traffic must dismount and walk
+   -- Bits 4~15 reserved and set to zero
+   } (SIZE (16))
+
+
+LaneAttributes-Striping ::= BIT STRING { 
+   -- With bits as defined:
+    stripeToConnectingLanesRevocableLane      (0),
+       -- this lane may be activated or not activated based
+       -- on the current SPAT message contents
+       -- if not asserted, the lane is ALWAYS present
+    stripeDrawOnLeft                          (1),
+    stripeDrawOnRight                         (2),
+        -- which side of lane to mark
+    stripeToConnectingLanesLeft               (3),
+    stripeToConnectingLanesRight              (4),
+    stripeToConnectingLanesAhead              (5)
+        -- the stripe type should be
+        -- presented to the user visually
+        -- to reflect stripes in the 
+        -- intersection for the type of
+        -- movement indicated
+   -- Bits 6~15 reserved and set to zero
+   } (SIZE (16))
+
+
+LaneAttributes-TrackedVehicle ::= BIT STRING { 
+   -- With bits as defined:
+   spec-RevocableLane         (0),
+                               -- this lane may be activated or not based
+                               -- on the current SPAT message contents
+                               -- if not asserted, the lane is ALWAYS present
+   spec-commuterRailRoadTrack (1), 
+   spec-lightRailRoadTrack    (2),
+   spec-heavyRailRoadTrack    (3),
+   spec-otherRailType         (4)
+   -- Bits 5~15 reserved and set to zero
+   } (SIZE (16))
+
+
+LaneAttributes-Vehicle ::= BIT STRING {  
+   -- With bits as defined:
+   isVehicleRevocableLane       (0),
+                                 -- this lane may be activated or not based
+                                 -- on the current SPAT message contents
+                                 -- if not asserted, the lane is ALWAYS present
+   isVehicleFlyOverLane         (1),
+                                 -- path of lane is not at grade
+   hovLaneUseOnly               (2),
+   restrictedToBusUse           (3),
+   restrictedToTaxiUse          (4),
+   restrictedFromPublicUse      (5),
+   hasIRbeaconCoverage          (6),
+   permissionOnRequest          (7) -- e.g. to inform about a lane for e-cars
+
+   } (SIZE (8,...))
+
+LaneConnectionID ::= INTEGER (0..255)
+
+LaneDirection ::= BIT STRING {
+   -- With bits as defined:
+   -- Allowed directions of travel in the lane object
+   -- All lanes are described from the stop line outwards
+   ingressPath     (0), 
+                   -- travel from rear of path to front 
+                   -- is allowed
+   egressPath      (1)
+                   -- travel from front of path to rear 
+                   -- is allowed
+   -- Notes:  No Travel, i.e. the lane object type does not support
+   --         travel (medians, curbs, etc.) is indicated by not 
+   --         asserting any bit value
+   --         Bi-Directional Travel (such as a ped crosswalk) is 
+   --         indicated by asserting both of the bits
+   } (SIZE (2))
+
+LaneID ::= INTEGER (0..255)
+   -- the value 0 shall be used when the lane ID is
+   -- not available or not known
+   -- the value 255 is reserved for future use
+
+LayerID ::= INTEGER (0..100)
+
+LayerType ::= ENUMERATED {
+     none, 
+     mixedContent, -- two or more of the below types
+     generalMapData, 
+     intersectionData, 
+     curveData, 
+     roadwaySectionData, 
+     parkingAreaData, 
+     sharedLaneData,
+     ... 
+     }
+   
+LaneWidth ::= INTEGER (0..32767) -- units of 1 cm
+
+MergeDivergeNodeAngle ::= INTEGER (-180..180) 
+   -- In units of 1.5 degrees from north
+   -- the value -180 shall be used to represent 
+   -- data is not available or unknown
+
+MinuteOfTheYear ::= INTEGER (0..527040) 
+   -- the value 527040 shall be used for invalid
+
+MovementPhaseState ::= ENUMERATED {
+    -- Note that based on the regions and the operating mode not every 
+    -- phase will be used in all transportation modes and that not 
+    -- every phase will be used in all transportation modes
+  
+    unavailable (0), 
+      -- This state is used for unknown or error 
+    dark (1),   
+      -- The signal head is dark (unlit)
+
+   -- Reds
+    stop-Then-Proceed (2), 
+      -- Often called 'flashing red' in US
+      -- Driver Action:                     
+      --   Stop vehicle at stop line. 
+      --   Do not proceed unless it is safe.
+      -- Note that the right to proceed either right or left when 
+      -- it is safe may be contained in the lane description to 
+      -- handle what is called a 'right on red'
+    stop-And-Remain (3),
+      -- e.g. called 'red light' in US
+      -- Driver Action:                     
+      --   Stop vehicle at stop line. 
+      --   Do not proceed.                     
+      -- Note that the right to proceed either right or left when 
+      -- it is safe may be contained in the lane description to 
+      -- handle what is called a 'right on red'
+   
+   -- Greens
+    pre-Movement (4), 
+      -- Not used in the US, red+yellow partly in EU
+      -- Driver Action:                     
+      --   Stop vehicle. 
+      --   Prepare to proceed (pending green)
+      --   (Prepare for transition to green/go)
+    permissive-Movement-Allowed (5), 
+      -- Often called 'permissive green' in US
+      -- Driver Action:                     
+      --   Proceed with caution, 
+      --   must yield to all conflicting traffic 
+      -- Conflicting traffic may be present
+      -- in the intersection conflict area
+    protected-Movement-Allowed (6), 
+      -- Often called 'protected green' in US
+      -- Driver Action:                     
+      --   Proceed, tossing caution to the wind, 
+      --   in indicated (allowed) direction.
+   
+   -- Yellows / Ambers
+   -- The vehicle is not allowed to cross the stop bar if it is possible 
+   -- to stop without danger. 
+    permissive-clearance (7), 
+      -- Often called 'permissive yellow' in US
+      -- Driver Action:                     
+      --   Prepare to stop.
+      --   Proceed if unable to stop,
+      --   Clear Intersection.
+      -- Conflicting traffic may be present
+      -- in the intersection conflict area
+    protected-clearance (8),  
+      -- Often called 'protected yellow' in US
+      -- Driver Action: 
+      --   Prepare to stop.
+      --   Proceed if unable to stop,
+      --   in indicated direction (to connected lane)
+      --   Clear Intersection.
+                    
+    caution-Conflicting-Traffic (9)
+      -- Often called 'flashing yellow' in US
+      -- Often used for extended periods of time
+      -- Driver Action: 
+      --   Proceed with caution, 
+      -- Conflicting traffic may be present
+      -- in the intersection conflict area
+    }
+    -- The above number assignments are not used with UPER encoding
+    -- and are only to be used with DER or implicit encoding
+
+MsgCount ::= INTEGER (0..127)
+
+Offset-B10 ::= INTEGER (-512..511)
+   -- a range of +- 5.11 meters
+
+Offset-B11 ::= INTEGER (-1024..1023)
+   -- a range of +- 10.23 meters
+
+Offset-B12 ::= INTEGER (-2048..2047)
+   -- a range of +- 20.47 meters
+
+Offset-B13 ::= INTEGER (-4096..4095)
+   -- a range of +- 40.95 meters
+
+Offset-B14 ::= INTEGER (-8192..8191)
+   -- a range of +- 81.91 meters
+
+Offset-B16 ::= INTEGER (-32768..32767)
+   -- a range of +- 327.68 meters
+
+PedestrianBicycleDetect ::= BOOLEAN 
+                 -- true if ANY Pedestrians or Bicyclists are 
+                 -- detected crossing the target lane or lanes
+   
+PrioritizationResponseStatus ::= ENUMERATED {
+   unknown           (0),
+                      -- Unknown state
+   requested         (1),
+                      -- This prioritization request was detected 
+                      -- by the traffic controller  
+   processing        (2),
+                      -- Checking request 
+                      -- (request is in queue, other requests are prior)
+   watchOtherTraffic (3),
+                      -- Cannot give full permission, 
+                      -- therefore watch for other traffic
+                      -- Note that other requests may be present
+   granted           (4),
+                      -- Intervention was successful 
+                      -- and now prioritization is active
+   rejected          (5),
+                      -- The prioritization or preemption request was 
+                      -- rejected by the traffic controller
+   maxPresence       (6),
+                      -- The Request has exceeded maxPresence time
+                      -- Used when the controller has determined that
+                      -- the requester should then back off and 
+                      -- request an alternative.  
+   reserviceLocked   (7),
+                      -- Prior conditions have resulted in a reservice 
+                      -- locked event: the controller requires the 
+                      -- passage of time before another similar request 
+                      -- will be accepted
+   ...
+}
+
+PriorityRequestType ::= ENUMERATED {
+     priorityRequestTypeReserved (0),  
+     priorityRequest             (1),   
+     priorityRequestUpdate       (2), 
+     priorityCancellation        (3),  
+     ...  
+     }
+
+RegionId ::= INTEGER (0..255)
+   noRegion     RegionId ::= 0  -- Use default supplied stubs
+   addGrpA      RegionId ::= 1  -- USA
+   addGrpB      RegionId ::= 2  -- Japan
+   addGrpC      RegionId ::= 3  -- EU
+   -- NOTE: new registered regional IDs will be added here
+   -- The values 128 and above are for local region use
+
+RequestID ::= INTEGER (0..255)
+
+RequestImportanceLevel ::= ENUMERATED {
+    requestImportanceLevelUnKnown  (0),
+    requestImportanceLevel1        (1), -- The least important request
+    requestImportanceLevel2        (2), -- The values here shall be assigned
+    requestImportanceLevel3        (3), -- Meanings based on regional needs
+    requestImportanceLevel4        (4), -- for each of the basic roles which
+    requestImportanceLevel5        (5), -- are defined elsewhere
+    requestImportanceLevel6        (6),
+    requestImportanceLevel7        (7),
+    requestImportanceLevel8        (8),
+    requestImportanceLevel9        (9),
+    requestImportanceLevel10      (10),
+    requestImportanceLevel11      (11),
+    requestImportanceLevel12      (12),
+    requestImportanceLevel13      (13),
+    requestImportanceLevel14      (14), -- The most important request
+    requestImportanceReserved     (15)  -- Reserved for future use
+    }
+
+RequestSubRole ::= ENUMERATED {
+    requestSubRoleUnKnown    (0),
+    requestSubRole1          (1), -- The first type of sub role
+    requestSubRole2          (2), -- The values here shall be assigned
+    requestSubRole3          (3), -- Meanings based on regional needs
+    requestSubRole4          (4), -- to refine and expand the basic
+    requestSubRole5          (5), -- roles which are defined elsewhere
+    requestSubRole6          (6),
+    requestSubRole7          (7),
+    requestSubRole8          (8),
+    requestSubRole9          (9),
+    requestSubRole10        (10),
+    requestSubRole11        (11),
+    requestSubRole12        (12),
+    requestSubRole13        (13),
+    requestSubRole14        (14), -- The last type of sub role
+    requestSubRoleReserved  (15)  -- Reserved for future use
+    }
+
+RestrictionAppliesTo ::= ENUMERATED {
+    none,              -- applies to nothing
+    equippedTransit,   -- buses etc.
+    equippedTaxis,
+    equippedOther,     -- other vehicle types with
+                       -- necessary signal phase state
+                       -- reception equipment
+    emissionCompliant, -- regional variants with more
+                       -- definitive items also exist
+    equippedBicycle,
+    weightCompliant,
+    heightCompliant,
+    -- Items dealing with traveler needs serviced by the infrastructure
+    -- These end users (which are not vehicles) are presumed to be suitably equipped
+    pedestrians,
+    slowMovingPersons,
+    wheelchairUsers,
+    visualDisabilities,
+    audioDisabilities,  -- hearing
+    otherUnknownDisabilities,
+    ...
+    }
+
+RestrictionClassID ::= INTEGER (0..255)
+   -- An index value to identify data about classes of users
+   -- the value used varies with each intersection's
+   -- needs and is defined in the map to the assigned 
+   -- classes of supported users.
+
+RoadRegulatorID ::= INTEGER (0..65535)
+   -- The value zero shall be used for testing only
+
+RoadSegmentID ::= INTEGER (0..65535)
+   -- The values zero to 255 shall be used for testing only
+   -- Note that the value assigned to an RoadSegment will be
+   -- unique within a given regional ID only during its use
+
+RoadwayCrownAngle ::= INTEGER (-128..127) 
+    -- In LSB units of 0.3 degrees of angle
+    -- over a range of -38.1 to + 38.1 degrees
+    -- The value -128 shall be used for unknown
+    -- The value zero shall be used for angles 
+    -- which are between -0.15 and +0.15
+   
+Scale-B12 ::= INTEGER (-2048..2047)  -- in steps of 0.05 percent
+
+SignalGroupID ::= INTEGER (0..255) 
+    -- The value 0 shall be used when the ID is
+    -- not available or not known
+    -- the value 255 is reserved to indicate a 
+    -- permanent green movement state
+    -- therefore a simple 8 phase signal controller 
+    -- device might use 1..9 as its groupIDs
+
+SegmentAttributeXY ::= ENUMERATED {
+   -- Various values which can be Enabled and Disabled for a lane segment
+   
+   -- General Items
+   reserved                  ,  
+   doNotBlock                ,  -- segment where a vehicle 
+                                -- may not come to a stop
+   whiteLine                 ,  -- segment where lane crossing not allowed
+                                -- such as the final few meters of a lane
+   
+   -- Porous Lane states, merging, turn outs, parking etc.
+   
+   mergingLaneLeft           ,  -- indicates porous lanes
+   mergingLaneRight          ,
+   
+   curbOnLeft                ,  -- indicates presence of curbs
+   curbOnRight               ,
+   
+   loadingzoneOnLeft         ,  -- loading or drop off zones
+   loadingzoneOnRight        ,
+   
+   turnOutPointOnLeft        ,  -- opening to adjacent street/alley/road
+   turnOutPointOnRight       ,
+   
+   adjacentParkingOnLeft     , -- side of road parking
+   adjacentParkingOnRight    ,
+   
+   -- Bike Lane Needs
+   adjacentBikeLaneOnLeft    , -- presence of marked bike lanes
+   adjacentBikeLaneOnRight   ,
+   sharedBikeLane            , -- right of way is shared with bikes
+                               -- who may occupy entire lane width
+   bikeBoxInFront            ,
+   
+   -- Transit Needs
+   transitStopOnLeft         , -- any form of bus/transit loading
+                               -- with pull in-out access to lane on left
+   transitStopOnRight        , -- any form of bus/transit loading
+                               -- with pull in-out access to lane on right
+   transitStopInLane         , -- any form of bus/transit loading
+                               -- in mid path of the lane
+   sharedWithTrackedVehicle  , -- lane is shared with train or trolley 
+                               -- not used for crossing tracks
+  
+     
+   -- Pedestrian Support Attributes
+   safeIsland                , -- begin/end a safety island in path
+   lowCurbsPresent           , -- for ADA support
+   rumbleStripPresent        , -- for ADA support
+   audibleSignalingPresent   , -- for ADA support
+   adaptiveTimingPresent     , -- for ADA support
+   rfSignalRequestPresent    , -- Supports RF push to walk technologies
+   partialCurbIntrusion      , -- path is blocked by a median or curb 
+                               -- but at least 1 meter remains open for use
+                               -- and at-grade passage
+   
+   -- Lane geometry details  (see standard for defined shapes)
+   taperToLeft               , -- Used to control final path shape
+   taperToRight              , -- Used to control final path shape
+   taperToCenterLine         , -- Used to control final path shape
+
+   -- Parking Lane and Curb Attributes
+   parallelParking           , -- 
+   headInParking             , -- Parking at an angle with the street
+   freeParking               , -- no restriction on use of parking
+   timeRestrictionsOnParking , -- Parking is not permitted at all times
+                               -- typically used when the 'parking' lane 
+                               -- becomes a driving lane at times
+   costToPark                , -- Used where parking has a cost
+   midBlockCurbPresent       , -- a protruding curb near lane edge
+   unEvenPavementPresent     , -- a disjoint height at lane edge
+   ...
+   }
+
+SpeedAdvice ::= INTEGER (0..500) 
+    -- LSB units are 0.1 m/s^2
+    -- the value 499 shall be used for values at or greater than 49.9 m/s
+    -- the value 500 shall be used to indicate that speed is unavailable
+
+
+TemporaryID ::= OCTET STRING (SIZE(4))
+
+TimeIntervalConfidence ::= INTEGER (0..15)   
+   -- Value   Probability
+   --   0         21%
+   --   1         36%
+   --   2         47%
+   --   3         56%
+   --   4         62%
+   --   5         68%
+   --   6         73%
+   --   7         77%
+   --   8         81%
+   --   9         85%
+   --   10        88%
+   --   11        91%
+   --   12        94%
+   --   13        96%
+   --   14        98%
+   --   15        100%
+
+TransitVehicleOccupancy ::= ENUMERATED {
+    occupancyUnknown    (0),  
+    occupancyEmpty      (1),  
+    occupancyVeryLow    (2),  
+    occupancyLow        (3),  
+    occupancyMed        (4),  
+    occupancyHigh       (5),  
+    occupancyNearlyFull (6),  
+    occupancyFull       (7)
+    }
+
+TransitVehicleStatus ::= BIT STRING {
+    loading     (0), -- parking and unable to move at this time
+    anADAuse    (1), -- an ADA access is in progress (wheelchairs, kneeling, etc.)
+    aBikeLoad   (2), -- loading of a bicycle is in progress
+    doorOpen    (3), -- a vehicle door is open for passenger access
+    charging    (4), -- a vehicle is connected to charging point
+    atStopLine  (5)  -- a vehicle is at the stop line for the lane it is in
+    } (SIZE(8))
+
+TransmissionState ::= ENUMERATED {
+   neutral      (0), -- Neutral
+   park         (1), -- Park 
+   forwardGears (2), -- Forward gears
+   reverseGears (3), -- Reverse gears 
+   reserved1    (4),      
+   reserved2    (5),      
+   reserved3    (6),      
+   unavailable  (7)  -- not-equipped or unavailable value,
+   -- Any related speed is relative to the vehicle reference frame used
+   }
+
+VehicleType ::= ENUMERATED {
+   none                 (0),  -- Not Equipped, Not known or unavailable
+   unknown              (1),  -- Does not fit any other category    
+   special              (2),  -- Special use    
+   moto                 (3),  -- Motorcycle    
+   car                  (4),  -- Passenger car    
+   carOther             (5),  -- Four tire single units    
+   bus                  (6),  -- Buses    
+   axleCnt2             (7),  -- Two axle, six tire single units    
+   axleCnt3             (8),  -- Three axle, single units    
+   axleCnt4             (9),  -- Four or more axle, single unit    
+   axleCnt4Trailer      (10), -- Four or less axle, single trailer    
+   axleCnt5Trailer      (11), -- Five or less axle, single trailer    
+   axleCnt6Trailer      (12), -- Six or more axle, single trailer    
+   axleCnt5MultiTrailer (13), -- Five or less axle, multi-trailer    
+   axleCnt6MultiTrailer (14), -- Six axle, multi-trailer    
+   axleCnt7MultiTrailer (15),  -- Seven or more axle, multi-trailer    
+   ...  
+   } 
+
+Velocity ::= INTEGER (0..8191) -- Units of 0.02 m/s
+    -- The value 8191 indicates that 
+    -- velocity is unavailable
+
+WaitOnStopline ::= BOOLEAN -- 
+         -- True or False
+         -- If "true", the vehicles on this specific connecting 
+         -- maneuver have to stop on the stop-line
+         -- and not to enter the collision area
+
+ZoneLength ::= INTEGER (0..10000)
+    -- Unit = 1 meter, 0 = unknown, 
+    -- The value 10000 to be used for Distances >=10000 m
+    -- (e.g. from known point to another point along a 
+    -- known path, often against traffic flow direction 
+    -- when used for measuring queues)
+
+END   
+
Index: ISO_TS_19091_REGION.asn
===================================================================
--- ISO_TS_19091_REGION.asn	(nonexistent)
+++ ISO_TS_19091_REGION.asn	(working copy)
@@ -0,0 +1,108 @@
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-- ISO TS 19091
+--
+-- This ASN.1 was generated: 30.08.2016
+--
+-- This document contains the data element needed for the encoding the SPAT, MapData, SignalRequestMessage, SignalStatusMessage message
+-- as defined in ISO TS 19091 and SAEJ2735
+--
+-- It includes the addendunm extensions for Addgrp-C (e.g. Europe)
+-- 
+-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+-- 
+-- module: REGION
+-- 
+-- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-
+REGION  { 	iso (1) standard (0) signalizedIntersection (19091) profilec(2) region (1) version (1) }
+
+DEFINITIONS AUTOMATIC TAGS::= BEGIN 
+
+IMPORTS
+addGrpC, REG-EXT-ID-AND-TYPE	FROM DSRC
+ConnectionManeuverAssist-addGrpC, ConnectionTrajectory-addGrpC, IntersectionState-addGrpC, Control-addGrpC,  Position3D-addGrpC, RestrictionUserType-addGrpC,
+SignalStatusPackage-addGrpC, MapData-addGrpC  FROM AddGrpC {iso (1) standard (0) signalizedIntersection (19091) profilec(2) addgrpc (0) version (1)};
+
+Reg-AdvisorySpeed					REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-ComputedLane					REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-ConnectionManeuverAssist	REG-EXT-ID-AND-TYPE ::= { 
+	{ConnectionManeuverAssist-addGrpC	IDENTIFIED BY addGrpC} ,
+	... 
+}
+
+Reg-GenericLane           REG-EXT-ID-AND-TYPE ::= {
+	{ConnectionTrajectory-addGrpC	IDENTIFIED BY addGrpC} ,
+	... 
+}
+
+Reg-IntersectionGeometry  REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-IntersectionState     REG-EXT-ID-AND-TYPE ::= {
+	{IntersectionState-addGrpC IDENTIFIED BY addGrpC} ,
+	...
+}
+
+Reg-LaneAttributes        		REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-LaneDataAttribute     	REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-MapData								REG-EXT-ID-AND-TYPE ::= { 
+  	 {MapData-addGrpC  IDENTIFIED BY addGrpC},
+   	... 
+}
+
+Reg-MovementEvent         	REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-MovementState         	REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-NodeAttributeSetLL    	REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-NodeAttributeSetXY    	REG-EXT-ID-AND-TYPE ::= {
+	{Control-addGrpC	IDENTIFIED BY addGrpC} ,
+	 ...
+}
+
+Reg-NodeOffsetPointLL     	REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-NodeOffsetPointXY     	REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-Position3D            		REG-EXT-ID-AND-TYPE ::= {
+	{Position3D-addGrpC IDENTIFIED BY addGrpC} ,
+	...
+}
+
+Reg-RequestorDescription  	REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-RequestorType         	REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-RestrictionUserType   	REG-EXT-ID-AND-TYPE ::= { 
+	{RestrictionUserType-addGrpC IDENTIFIED BY addGrpC} ,
+	...
+}
+
+Reg-RoadSegment						REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-SignalControlZone				REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-SignalRequest					REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-SignalRequestMessage			REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalRequestPackage			REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-SignalStatus					REG-EXT-ID-AND-TYPE ::= { ...  }
+
+Reg-SignalStatusMessage				REG-EXT-ID-AND-TYPE ::= { ... }
+
+Reg-SignalStatusPackage   	REG-EXT-ID-AND-TYPE ::= { 
+	{ SignalStatusPackage-addGrpC IDENTIFIED BY addGrpC} ,
+	...
+}
+
+Reg-SPAT                            REG-EXT-ID-AND-TYPE ::= { ... }
+
+END
