Commit fbf9bb1b authored by kovacsa's avatar kovacsa
Browse files

asn.1 update

parent 3fd39700
Loading
Loading
Loading
Loading
+46 −29
Original line number Diff line number Diff line
@@ -7,26 +7,35 @@ DEFINITIONS AUTOMATIC TAGS ::=
BEGIN

IMPORTS 
    Latitude, Longitude, ProfileParameters, StationID 
    Latitude, Longitude, Elevation, BasicVehicle, ProfileParameters, StationID, TimeStamp, ReferencePositionVehicle 
FROM CAM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cam (2) version1 (1) };

--STF405: all unnecessary tags have been removed

--STF405: doubled defined, renamed
--DecentralizedSituation ::= SEQUENCE {
DecentralizedEnvironmentalNotificationMessage ::= SEQUENCE {
	management	DecentralizedSituationManagement,	--  container with DEN management and version control
	situation	DecentralizedSituation,  			-- container with event description, incl. type, severity
	location	DecentralizedSituationLocation		-- container with event location, location referencing with more detailed location description and the relevance area
 }

DecentralizedSituationManagement::= SEQUENCE {
	-- protocol version number of the DENM
	protocolVersion	INTEGER (0..255),
	
	-- unique message type identifier assigned to the DENM		
	messageID	MessageID,	-- 1 byte 
	messageID	INTEGER(0..255),	-- 1 byte 
	
	-- time at which an originator  ITS  station generates the DENM
	generationtime	TimeStamp,		--  6 byte
	generationTime	TimeStamp,		--  6 byte
	
	management	DecentralizedSituationManagement,	--  container with DEN management and version control
	situation	DecentralizedSituation,  			-- container with event description, incl. type, severity
	location	DecentralizedSituationLocation,		-- container with event location, location referencing with more detailed location description and the relevance area
	
	...
 }

DecentralizedSituationManagement::= SEQUENCE {
	-- unique identifier about an event from one originator ITS station, combination of node ID and a sequence number
	actionID	ActionID,	-- 6 byte
	
	-- version of the DENM indicating updates from the same originator ITS station; value of 255 is used for the  cancellation message sent from the originator ITS station
	
	-- STF405: changed inline definition to explicit
@@ -73,33 +82,38 @@ DecentralizedSituation::= SEQUENCE {
	-- STF405: changed to profile based on the changes in the CAM module
	-- taggedList	SET SIZE(0..32) OF TaggedList OPTIONAL 
	-- optional taggedlist with TaggedValue  OPTIONAL
	commonParameters	BasicVehicle OPTIONAL,
	profile ProfileParameters    OPTIONAL
}

DecentralizedSituationLocation::= SEQUENCE {
	-- description of the event position
	-- STF405: as the eventPosition CHOICe is extensible the EventArea type can be added when needed
	eventPosition	CHOICE	{
		-- the geographical position of the reference position 
		refPosition	[0] RefPosition,	
--		refPosition	RefPosition,	
		refPosition	ReferencePositionVehicle,	
		...
	},
	-- description of  the relevance area for the  DENM dissemination
	--STF405:  type definition of RelevanceArea missing!
	--STF405:  changed DecentralizedSituationLocation to extensible SEQUENCE, so that definition of RelevanceArea can be added when needed!
	--relevanceArea	RelevanceArea,
	-- location referencing of the event position
	locationRef	CHOICE {
		-- consequence position of the trace location referencing mechanism
		trace	[0]	TraceLocData,
		trace	TraceLocData,
		-- more location referencing mechanism to be added
		...
	},
	...
}
}

MessageID ::=  	INTEGER (0..255) 		-- 1 byte

--STF405: renamed to TimeStamp as this is actually referenced, LongTimeStamp never
--STF405: changed MessageID to inline definition, as in CAM
--MessageID ::=  	INTEGER (0..255) 		-- 1 byte

--STF405: uses imported TimeStamp type instead as this is actually referenced, LongTimeStamp never
--LongTimeStamp ::=	INTEGER (0.. 281474976710655)		
TimeStamp ::=	INTEGER (0.. 281474976710655)		-- units of milliseconds, 6 byte

ActionID ::= SEQUENCE {
	stationID 	StationID,	-- a 4 byte value
@@ -217,24 +231,25 @@ Severity ::= ENUMERATED -- 1 byte
-- 	...
-- }

RefPosition ::= SEQUENCE {
	situationLat	Latitude,  	-- 4 bytes
	situationLong	Longitude,  	-- 4 bytes
	situationAlt	Altitude,	-- 2 bytes
	-- accuracy of the reference position
	accuracy	PositionAccuracy,	-- 4 bytes	
	-- speed of the detected event if it is in mobility, i.e. vehicle station
	speed	Speed	OPTIONAL,		-- 2 bytes
	-- direction of the event if it is in mobility, i.e. vehicle station
	direction	Direction	OPTIONAL	-- 2 bytes
}
--STF405: replaced by imported type from CAM
--RefPosition ::= SEQUENCE {
--	situationLat	Latitude,  	-- 4 bytes
--	situationLong	Longitude,  	-- 4 bytes
--	situationAlt	Altitude,	-- 2 bytes
--	-- accuracy of the reference position
--	accuracy	PositionAccuracy,	-- 4 bytes	
--	-- speed of the detected event if it is in mobility, i.e. vehicle station
--	speed	Speed	OPTIONAL,		-- 2 bytes
--	-- direction of the event if it is in mobility, i.e. vehicle station
--	direction	Direction	OPTIONAL	-- 2 bytes
--}

Altitude ::= INTEGER (-10000..16767215) 	-- multiples of 0.1 m

PositionAccuracy ::= OCTET STRING (SIZE(4))	

--STF405: removed OPTIONAL, as it is syntactically incorrect
Direction ::= INTEGER{north(0), east(7200), south(14400), west(21600)} (0..28799)
--STF405: removed Direction, as it is imported from CAM
--Direction ::= INTEGER{north(0), east(7200), south(14400), west(21600)} (0..28799)

--STF405: removed OPTIONAL, as it is syntactically incorrect
Speed ::= INTEGER (-32765..32765)	 -- multiples of 0.01 m/s 
@@ -258,7 +273,9 @@ Waypoint ::= SEQUENCE{
	--  waypoint positions included in the trace.	
	ptLat 	Latitude,							--a 4 bytes value 
	ptLong 	Longitude,						--a 4 bytes value
	ptAlt 	Altitude,							--a 2 bytes value
--STF405: type name is made consistent with CAM definitions
--	ptAlt 	Altitude,							--a 2 bytes value
	ptAlt 	Elevation,
	...
	--STF405: removed repetition
}