Commit 093a675d authored by YannGarcia's avatar YannGarcia
Browse files

Merging TTF002 in TTF011 - Phase1: AtsCAM, AtsDENM, AtsGeoNetworking, AtsSecurity, AtsPki

parent e9d58483
CAM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) cam (2) version (2)
}
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ItsPduHeader, CauseCode, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition, EmergencyPriority, EmbarkationStatus, Speed, DriveDirection, LongitudinalAcceleration, LateralAcceleration, VerticalAcceleration, StationType, ExteriorLights, DangerousGoodsBasic, SpecialTransportType, LightBarSirenInUse, VehicleRole, VehicleLength, VehicleWidth, PathHistory, RoadworksSubCauseCode, ClosedLanes, TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, ProtectedCommunicationZone, PtActivation, Latitude, Longitude, ProtectedCommunicationZonesRSU, CenDsrcTollingZone FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)
};
-- The root data frame for cooperative awareness messages
CAM ::= SEQUENCE {
header ItsPduHeader,
cam CoopAwareness
}
CoopAwareness ::= SEQUENCE {
generationDeltaTime GenerationDeltaTime,
camParameters CamParameters
}
CamParameters ::= SEQUENCE {
basicContainer BasicContainer,
highFrequencyContainer HighFrequencyContainer,
lowFrequencyContainer LowFrequencyContainer OPTIONAL,
specialVehicleContainer SpecialVehicleContainer OPTIONAL,
...
}
HighFrequencyContainer ::= CHOICE {
basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
rsuContainerHighFrequency RSUContainerHighFrequency,
...
}
LowFrequencyContainer ::= CHOICE {
basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency,
...
}
SpecialVehicleContainer ::= CHOICE {
publicTransportContainer PublicTransportContainer,
specialTransportContainer SpecialTransportContainer,
dangerousGoodsContainer DangerousGoodsContainer,
roadWorksContainerBasic RoadWorksContainerBasic,
rescueContainer RescueContainer,
emergencyContainer EmergencyContainer,
safetyCarContainer SafetyCarContainer,
...
}
BasicContainer ::= SEQUENCE {
stationType StationType,
referencePosition ReferencePosition,
...
}
BasicVehicleContainerHighFrequency ::= SEQUENCE {
heading Heading,
speed Speed,
driveDirection DriveDirection,
vehicleLength VehicleLength,
vehicleWidth VehicleWidth,
longitudinalAcceleration LongitudinalAcceleration,
curvature Curvature,
curvatureCalculationMode CurvatureCalculationMode,
yawRate YawRate,
accelerationControl AccelerationControl OPTIONAL,
lanePosition LanePosition OPTIONAL,
steeringWheelAngle SteeringWheelAngle OPTIONAL,
lateralAcceleration LateralAcceleration OPTIONAL,
verticalAcceleration VerticalAcceleration OPTIONAL,
performanceClass PerformanceClass OPTIONAL,
cenDsrcTollingZone CenDsrcTollingZone OPTIONAL
}
BasicVehicleContainerLowFrequency ::= SEQUENCE {
vehicleRole VehicleRole,
exteriorLights ExteriorLights,
pathHistory PathHistory
}
PublicTransportContainer ::= SEQUENCE {
embarkationStatus EmbarkationStatus,
ptActivation PtActivation OPTIONAL
}
SpecialTransportContainer ::= SEQUENCE {
specialTransportType SpecialTransportType,
lightBarSirenInUse LightBarSirenInUse
}
DangerousGoodsContainer ::= SEQUENCE {
dangerousGoodsBasic DangerousGoodsBasic
}
RoadWorksContainerBasic ::= SEQUENCE {
roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL,
lightBarSirenInUse LightBarSirenInUse,
closedLanes ClosedLanes OPTIONAL
}
RescueContainer ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse
}
EmergencyContainer ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse,
incidentIndication CauseCode OPTIONAL,
emergencyPriority EmergencyPriority OPTIONAL
}
SafetyCarContainer ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse,
incidentIndication CauseCode OPTIONAL,
trafficRule TrafficRule OPTIONAL,
speedLimit SpeedLimit OPTIONAL
}
RSUContainerHighFrequency ::= SEQUENCE {
protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL,
...
}
GenerationDeltaTime ::= INTEGER { oneMilliSec(1) } (0..65535)
END
\ No newline at end of file
sources := CAM_PDU_Descriptions.asn
DENM-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) en (302637) denm (1) version (2)
}
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ItsPduHeader, CauseCode, Speed, InformationQuality, ReferencePosition, ClosedLanes, DangerousGoodsExtended, Heading, LanePosition, LightBarSirenInUse, RoadType, HeightLonCarr, PosLonCarr, PosCentMass, PositioningSolutionType, RequestResponseIndication, StationType, SpeedLimit, StationarySince, TimestampIts, WheelBaseVehicle, TurningRadius, PosFrontAx, PositionOfOccupants, Temperature, VehicleMass, VehicleIdentification, EnergyStorageType, ActionID, ItineraryPath, NumberOfOccupants, PositionOfPillars, RelevanceTrafficDirection, RestrictedTypes, Traces, TransmissionInterval, ValidityDuration, RelevanceDistance, EventHistory, TrafficRule, DeltaReferencePosition FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (2)
};
DENM ::= SEQUENCE {
header ItsPduHeader,
denm DecentralizedEnvironmentalNotificationMessage
}
DecentralizedEnvironmentalNotificationMessage ::= SEQUENCE {
management ManagementContainer,
situation SituationContainer OPTIONAL,
location LocationContainer OPTIONAL,
alacarte AlacarteContainer OPTIONAL
}
ManagementContainer ::= SEQUENCE {
actionID ActionID,
detectionTime TimestampIts,
referenceTime TimestampIts,
termination Termination OPTIONAL,
eventPosition ReferencePosition,
relevanceDistance RelevanceDistance OPTIONAL,
relevanceTrafficDirection RelevanceTrafficDirection OPTIONAL,
validityDuration ValidityDuration DEFAULT defaultValidity,
transmissionInterval TransmissionInterval OPTIONAL,
stationType StationType,
...
}
SituationContainer ::= SEQUENCE {
informationQuality InformationQuality,
eventType CauseCode,
linkedCause CauseCode OPTIONAL,
eventHistory EventHistory OPTIONAL,
...
}
LocationContainer ::= SEQUENCE {
eventSpeed Speed OPTIONAL,
eventPositionHeading Heading OPTIONAL,
traces Traces,
roadType RoadType OPTIONAL,
...
}
ImpactReductionContainer ::= SEQUENCE {
heightLonCarrLeft HeightLonCarr,
heightLonCarrRight HeightLonCarr,
posLonCarrLeft PosLonCarr,
posLonCarrRight PosLonCarr,
positionOfPillars PositionOfPillars,
posCentMass PosCentMass,
wheelBaseVehicle WheelBaseVehicle,
turningRadius TurningRadius,
posFrontAx PosFrontAx,
positionOfOccupants PositionOfOccupants,
vehicleMass VehicleMass,
requestResponseIndication RequestResponseIndication
}
RoadWorksContainerExtended ::= SEQUENCE {
lightBarSirenInUse LightBarSirenInUse OPTIONAL,
closedLanes ClosedLanes OPTIONAL,
restriction RestrictedTypes OPTIONAL,
speedLimit SpeedLimit OPTIONAL,
incidentIndication CauseCode OPTIONAL,
recommendedPath ItineraryPath OPTIONAL,
startingPointSpeedLimit DeltaReferencePosition OPTIONAL,
trafficFlowRule TrafficRule OPTIONAL,
referenceDenms ReferenceDenms OPTIONAL
}
StationaryVehicleContainer ::= SEQUENCE {
stationarySince StationarySince OPTIONAL,
stationaryCause CauseCode OPTIONAL,
carryingDangerousGoods DangerousGoodsExtended OPTIONAL,
numberOfOccupants NumberOfOccupants OPTIONAL,
vehicleIdentification VehicleIdentification OPTIONAL,
energyStorageType EnergyStorageType OPTIONAL
}
AlacarteContainer ::= SEQUENCE {
lanePosition LanePosition OPTIONAL,
impactReduction ImpactReductionContainer OPTIONAL,
externalTemperature Temperature OPTIONAL,
roadWorks RoadWorksContainerExtended OPTIONAL,
positioningSolution PositioningSolutionType OPTIONAL,
stationaryVehicle StationaryVehicleContainer OPTIONAL,
...
}
defaultValidity INTEGER ::= 600
Termination ::= ENUMERATED {isCancellation(0), isNegation (1)}
ReferenceDenms ::= SEQUENCE (SIZE(1..8, ...)) OF ActionID
END
\ No newline at end of file
sources := DENM_PDU_Descriptions.asn
DSRCData {iso(1) standard(0) dsrc(15628) dsrcData(0) version (1)}
DEFINITIONS AUTOMATIC TAGS::= BEGIN
-- IMPORTS
-- New type definitions shall be imported from other ASN.1 modules as follows:
-- Type1, Type2 FROM ModuleA;
-- were:
-- - Type1 and Type2 shall be replaced with the names of the types to be imported.
-- - ModuleA shall be replaced the name of the exporting ASN.1 module
-- EXPORTS everything;
Action-Request::=SEQUENCE{
mode BOOLEAN,
eid Dsrc-EID,
actionType ActionType,
accessCredentials OCTET STRING (SIZE (0..127,...)) OPTIONAL,
actionParameter Container OPTIONAL,
iid Dsrc-EID OPTIONAL
}
Action-Response::=SEQUENCE{
fill BIT STRING (SIZE(1)),
eid Dsrc-EID,
iid Dsrc-EID OPTIONAL,
responseParameter Container OPTIONAL,
ret ReturnStatus OPTIONAL
}
ActionType::=INTEGER(0..127,...)
-- (0..118) Reserved for ISO/CEN use.
-- Below ActionTypes defined in ISO FDIS 14906
-- 0 : getStamped
-- 1 : setStamped
-- 2 : getSecure
-- 3 : setSecure
-- 4 : getInstance
-- 5 : setInstance
-- 6 : getNonce
-- 7 : setNonce
-- 8 : transferChannel
-- 9 : copy
-- 10 : setMMI
-- 11 : substract
-- 12 : add
-- 13 : debit
-- 14 : credit
-- 15 : echo
-- (119-127) Reserved for private use
ApplicationContextMark::=Container -- OCTET STRING (SIZE(0..127,...))
-- Illustration of an ApplicationContextMark example
-- can be found in ISO 14906, referred to as an EFC-ContextMark
ApplicationList::=SEQUENCE (SIZE (0..127,...)) OF SEQUENCE {
aid DSRCApplicationEntityID,
eid Dsrc-EID OPTIONAL,
parameter ApplicationContextMark OPTIONAL
}
AttributeIdList::=SEQUENCE (SIZE(0.. 127,...)) OF INTEGER(0..127,...)
AttributeList::=SEQUENCE (SIZE(0..127,...)) OF Attributes
Attributes::=SEQUENCE{
attributeId INTEGER (0..127,...),
attributeValue Container
}
BeaconID::=SEQUENCE{
manufacturerid INTEGER(0..65535),
individualid INTEGER(0..134217727)
} -- for registration of manufacturerid see www.nen.nl/cen278
BroadcastPool::=SEQUENCE{
directoryvalue Directory,
content SEQUENCE (SIZE(0..127,...)) OF File
}
BST::=SEQUENCE{
rsu BeaconID,
time Time,
profile Profile,
mandApplications ApplicationList,
nonmandApplications ApplicationList OPTIONAL,
profileList SEQUENCE (SIZE(0..127,...)) OF Profile
}
Container::=CHOICE{
integer [0] INTEGER,
bitstring [1] BIT STRING,
octetstring [2] OCTET STRING (SIZE (0..127, ...)),
universalString [3] UniversalString,
beaconId [4] BeaconID,
t-apdu [5] T-APDUs,
dsrcApplicationEntityId[6] DSRCApplicationEntityID,
dsrc-Ase-Id [7] Dsrc-EID,
attrIdList [8] AttributeIdList,
attrList [9] AttributeList,
broadcastPool [10] BroadcastPool,
directory [11] Directory,
file [12] File,
fileType [13] FileType,
record [14] Record,
time [15] Time,
vector [16] SEQUENCE (SIZE(0..255)) OF INTEGER(0..127,...),
-- tags [17..69] are defined in ISO 14906 for CEN DSRC application use
-- tags [70..86] are reserved for ISO/CEN DSRC application use
-- tags [87..127] are reserved for private use and intended for the
-- addressing of the corresponding private attribute identifiers.
... -- extension marker
-- New attributes shall be inserted as:
-- componentName1 [i] ModuleA.Type1
-- were
-- - componentName1 is a name unique within the Container definition
-- - "i" is the registered tag chosen from the ranges as specified above.
-- - Type1 is the name of an imported type and
-- - ModuleA is the name of the module the type Type1 is imported from.
-- The prefix “ModuleA.” is only required in case of a name conflict,
-- if the name “Type1” is not also defined in the DSRCData module and not
-- imported from another module the prefix “ModuleA” should be ommitted.
}
Directory::=SEQUENCE (SIZE(0..127,...)) OF FileName
Dsrc-EID::=INTEGER(0..127, ...)
DSRCApplicationEntityID::=INTEGER{
system (0),
electronic-fee-collection (1),
freight-fleet-management (2),
public-transport (3),
traffic-traveller-information (4),
traffic-control (5),
parking-management (6),
geographic-road-database (7),
medium-range-preinformation (8),
man-machine-interface (9),
intersystem-interface (10),
automatic-vehicle-identification (11),
emergency-warning (12),
private (13),
multi-purpose-payment (14),
dsrc-resource-manager (15),
after-theft-systems (16),
cruise-assist-highway-system (17),
multi-purpose-information-system (18),
multi-mobile-information-system (19)
-- (20..28) are reserved for ISO/CEN-dsrc-applications
-- (29..30) are reserved for private use
-- 31 is reserved for ISO/CEN-dsrc-applications
}(0..31,...)
-- For the latest standard use of application definition,
-- refer to Clause 9
-- As an example, the application "electronic-fee-collection (1)"
-- is standardised by ISO 14906
Event-Report-Request::=SEQUENCE{
mode BOOLEAN,
eid Dsrc-EID,
eventType EventType,
accessCredentials OCTET STRING (SIZE(0..127,...)) OPTIONAL,
eventParameter Container OPTIONAL,
iid Dsrc-EID OPTIONAL
}
Event-Report-Response::=SEQUENCE{
fill BIT STRING (SIZE(2)),
eid Dsrc-EID,
iid Dsrc-EID OPTIONAL,
ret ReturnStatus OPTIONAL
}
EventType::=INTEGER{
release (0)
-- (1..118) are reserved for ISO/CEN use
-- (119..127) are reserved for private use
}(0..127,...)
File::=SEQUENCE (SIZE(0..127,...)) OF Record
FileName::=SEQUENCE{
aseID Dsrc-EID,
fileID INTEGER(0..127,...)
}
FileType::=NULL
-- Not defined. This might be defined in future version.
Get-Request::=SEQUENCE{
fill BIT STRING (SIZE(1)),
eid Dsrc-EID,
accessCredentials OCTET STRING (SIZE(0..127,...)) OPTIONAL,
iid Dsrc-EID OPTIONAL,
attrIdList AttributeIdList OPTIONAL
}
Get-Response::=SEQUENCE{
fill BIT STRING (SIZE(1)),
eid Dsrc-EID,
iid Dsrc-EID OPTIONAL,
attributelist AttributeList OPTIONAL,
ret ReturnStatus OPTIONAL
}
Initialisation-Request::=BST
Initialisation-Response::=VST
NamedFile::=SEQUENCE{
name FileName,
file File
}
-- NamedFile will be used in T-Kernel with GetBroadcastData-Request,
-- that might be specified in T-APDU in future version.
ObeConfiguration::=SEQUENCE{
equipmentClass INTEGER(0..32767),
manufacturerID INTEGER(0..65535),
obeStatus INTEGER(0..65535) OPTIONAL
}
Profile::=INTEGER (0..127,...)
-- (0..118) are reserved for ISO/CEN use,
-- (119..127) are reserved for private use
Record::=CHOICE{ simple VisibleString,
...
}
ReturnStatus::=INTEGER{
noError (0),
accessDenied (1),
argumentError (2),
complexityLimitation (3),
processingFailure (4),
processing (5),
chainingError (6)
-- (7..99) are reserved for future ISO/CEN use,
-- (100..127) are reserved for private use
}(0..127,...)
Set-Request::=SEQUENCE{
fill BIT STRING (SIZE(1)),
mode BOOLEAN,
eid Dsrc-EID,
accessCredentials OCTET STRING (SIZE(0..127,...)) OPTIONAL,
attrList AttributeList,
iid Dsrc-EID OPTIONAL
}
Set-Response::=SEQUENCE{
fill BIT STRING (SIZE(2)),
eid Dsrc-EID,
iid Dsrc-EID OPTIONAL,
ret ReturnStatus OPTIONAL
}
Time::=INTEGER(0..4294967295)
-- The number of seconds passed since
-- 1st January 1970, 00:00 (UTC)
T-APDUs::=CHOICE{
action-request [0] Action-Request,
action-response [1] Action-Response,
event-report-request [2] Event-Report-Request,
event-report-response [3] Event-Report-Response,
set-request [4] Set-Request,
set-response [5] Set-Response,
get-request [6] Get-Request,
get-response [7] Get-Response,
initialisation-request [8] Initialisation-Request,
initialisation-response [9] Initialisation-Response
}
VST::=SEQUENCE{
fill BIT STRING (SIZE(4)),
profile Profile,
applications ApplicationList,
obeConfiguration ObeConfiguration
}
END
DSRCtransferData {iso(1) standard(0) dsrc(15628) dsrctransferData(1) version (1)}
DEFINITIONS::= BEGIN
IMPORTS T-APDUs
FROM DSRCData {iso(1) standard(0) dsrc(15628) dsrcData(0) version (1)};
-- EXPORTS everything;
Message::= T-APDUs -- Message is transferred over the DSRC link;
END
EV-RechargingSpotReservation-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (101556) ev-rsr (4) version (1)
}
DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
IMPORTS
ItsPduHeader FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) version (1)
};
EV-RSR ::= SEQUENCE {
header ItsPduHeader,
messageBody EV-RSR-MessageBody
}
EV-RSR-MessageBody ::= CHOICE {
preReservationRequestMessage PreReservationRequestMessage,
preReservationResponseMessage PreReservationResponseMessage,
reservationRequestMessage ReservationRequestMessage,
reservationResponseMessage ReservationResponseMessage,
cancellationRequestMessage CancellationRequestMessage,
cancellationResponseMessage CancellationResponseMessage,
updateRequestMessage UpdateRequestMessage,
updateResponseMessage UpdateResponseMessage,
...
}
PreReservationRequestMessage ::= SEQUENCE {
evse-ID EVSE-ID,
arrivalTime TimestampUTC,
departureTime TimestampUTC OPTIONAL,
rechargingType RechargingType,
batteryType BatteryType OPTIONAL,
...
}
PreReservationResponseMessage ::= SEQUENCE {
preReservation-ID PreReservation-ID,
availabilityStatus AvailabilityStatus,
preReservationExpirationTime TimestampUTC,
supportedPaymentTypes SupportedPaymentTypes,
...
}
ReservationRequestMessage ::= SEQUENCE {
currentTime TimestampUTC,
preReservation-ID PreReservation-ID,
arrivalTime TimestampUTC,
departureTime TimestampUTC OPTIONAL,
eAmount EAmount,
eAmountMin EAmount,
paymentType PaymentType,
payment-ID Payment-ID,
secondPayment-ID Payment-ID OPTIONAL,
pairing-ID Pairing-ID OPTIONAL,
...
}
ReservationResponseMessage ::= SEQUENCE {
reservationResponseCode ReservationResponseCode,
reservation-ID Reservation-ID OPTIONAL,
reservation-Password Reservation-Password OPTIONAL,
stationDetails StationDetails OPTIONAL,
chargingSpotLabel ChargingSpotLabel OPTIONAL,
expirationTime TimestampUTC,
freeCancelTimeLimit TimestampUTC OPTIONAL,
...
}
CancellationRequestMessage ::= SEQUENCE {
reservation-ID Reservation-ID,
reservation-Password Reservation-Password,
currentTime TimestampUTC,
...
}
CancellationResponseMessage ::= SEQUENCE {
reservation-ID Reservation-ID,
cancellationResponseCode CancellationResponseCode,
...
}
UpdateRequestMessage ::= SEQUENCE {
reservation-ID Reservation-ID,
reservation-Password Reservation-Password,
updatedArrivalTime TimestampUTC,
updatedDepartureTime TimestampUTC,
...
}
UpdateResponseMessage ::= SEQUENCE {
reservation-ID Reservation-ID,
updateResponseCode UpdateResponseCode,
chargingSpotLabel ChargingSpotLabel OPTIONAL,
...
}
AvailabilityStatus ::= ENUMERATED { available, no-free-capacity }
BatteryType ::= UTF8String (SIZE(1..16))
CancellationResponseCode ::= ENUMERATED { ok, unknown-Reservation-ID, mismatching-Reservation-Password }
ChargingSpotLabel ::= UTF8String (SIZE(1..4))
ContractID ::= UTF8String (SIZE(1..24))
EAmount ::= INTEGER { oneWh(1) } (1..500000)
ChargingPower ::= INTEGER { oneW(1) } (1..200000)