DENM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) denm (3) version2 (2) } DEFINITIONS AUTOMATIC TAGS ::= BEGIN IMPORTS ItsPduHeader, Latitude, Longitude, Elevation, Speed, VehicleCommonParameters, ProfileParameters, StationID, TimeStamp, ReferencePosition FROM CAM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102637) cam (2) version1 (1) }; DenmPdu ::= SEQUENCE { header ItsPduHeader, denm DecentralizedEnvironmentalNotificationMessage } 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 { -- 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 dataVersion DataVersion, -- 1 byte -- time when the DENM is deleted from the DEN management and the information related to the event is set as invalid.. If it is not provided, it indicates that the expiry time is unkown by the originator ITS station expiryTime TimeStamp OPTIONAL, -- 6 byte frequency INTEGER (0..255) OPTIONAL, --units of 0.1 Hz -- probability of the detected event to be true, varies from 0 to 100, with maximum value as full reliability reliability INTEGER(0..100), -- 7 bits -- negates the existence of an event at the event position by a third part ITS station that have received DENMs previously. isNegation BOOLEAN -- 1 bit } -- event description derived from [3] DecentralizedSituation::= SEQUENCE { -- traffic status near the event position, defined based on [3], TPEG table tec001 trafficFlowEffect TrafficFlowEffect OPTIONAL, -- 1 byte. -- event direct cause and sub cause description as defined in tab6.1 and in [3] situation Situation, -- linked cause if information is available. linkedCause Situation OPTIONAL, -- 2 Byte, -- severity value of the event, defined in [3], TPEG table tec003 severity Severity, -- 1 byte -- characteristics of the event eventCharact SEQUENCE -- EventCharact 1 byte { -- event mobility description, set to TRUE if the event is in mobility eventmobility BOOLEAN, -- whether the event is caused by the originator ITS station causeType ENUMERATED { itsStation, geographicalRegion }, -- whether the event is physicalling relevant to the receiving ITS station. relevance ENUMERATED {physicallyRelevant, difficultDrivingConditions }, -- whether the event is time critical road safety event, set to TRUE if it is the case. timeCriticality BOOLEAN, -- more characteristics may be added in future. ... } OPTIONAL, vehicleCommonParameters VehicleCommonParameters OPTIONAL, profile ProfileParameters OPTIONAL } DecentralizedSituationLocation::= SEQUENCE { -- description of the event position eventPosition CHOICE { -- the geographical position of the reference position eventPositionCurrentDefinition EventPosition, ... }, -- description of the relevance area for the DENM dissemination -- location referencing of the event position locationRef CHOICE { -- consequence position of the trace location referencing mechanism trace TraceLocData, -- more location referencing mechanism to be added ... }, ... } EventPosition ::= SEQUENCE { refPosition ReferencePosition, eventSpeed Speed OPTIONAL -- event speed, either equal to or different from the vehicle speed } ActionID ::= SEQUENCE { stationID StationID, -- a 4 byte value sequenceNo SequenceNo -- a 2 byte value } SequenceNo ::= INTEGER (0..65535) -- increased by 1 each time a new event is detected by the same ITS station. DataVersion ::= INTEGER {firstVersion(0),secondVersion(1),cancellation(255) } (0..255) TrafficFlowEffect ::= INTEGER (0..7) Situation ::= SEQUENCE { cause CauseCode, -- 1 byte subCause SubCauseCode -- 1 byte } -- 1 to 100 indicates causecode defined within [3] -- 101 – 255 indicates causecode without being defined by [3] CauseCode ::= INTEGER {reserved(0),dangerousDriving(101),intersectionViolation(102),vehicleProblem(103),intersectionCollision(104),hazardousLocation(105) } (0..255) SubCauseCode ::= INTEGER {unknown(0)} (0..255) Severity ::= ENUMERATED -- 1 byte { informative (1), -- Text example: obstacles (2), --danger level 1 -- Text example: danger (3), --danger level 2: -- Text example: highestDanger (4) --danger level 3: } TraceLocData ::= SEQUENCE { --3 bits, identifier of the trace traceID INTEGER(0 .. 7), --5 bits, number of waypoint positions included in the trace waypoints SEQUENCE (SIZE(0..31)) OF Waypoint } Waypoint ::= SEQUENCE{ -- waypoint positions included in the trace. ptLat Latitude, --a 4 bytes value ptLong Longitude, --a 4 bytes value ptAlt Elevation, ... } END