Loading .gitlab-ci.yml 0 → 100755 +19 −0 Original line number Diff line number Diff line include: - project: 'forge-tools/asn2md' file: '/gitlab-ci/base.yml' variables: ASN1_SRC: '*.asn sec_ts103097/*.asn ieee1609.2/Ieee1609Dot2.asn ieee1609.2/Ieee1609Dot2BaseTypes.asn' GIT_SUBMODULE_STRATEGY: normal validate: extends: .validate only: changes: - '*.asn' documentation: extends: .documentation only: changes: - '*.asn' .gitmodules 0 → 100755 +7 −0 Original line number Diff line number Diff line [submodule "sec_ts103097"] path = sec_ts103097 url = https://forge.etsi.org/rep/ITS/asn1/sec_ts103097.git branch = release2 [submodule "ieee1609.2"] path = ieee1609.2 url = https://forge.etsi.org/rep/ITS/asn1/ieee1609.2.git EtsiTs103759.asn 0 → 100755 +156 −0 Original line number Diff line number Diff line EtsiTs103759 {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) core(1) major-version-1(1) minor-version-2 (2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS EtsiTs103097Data-SignedAndEncrypted-Unicast FROM EtsiTs103097Module {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) secHeaders(103097) core(1) major-version-3(3) minor-version-1(1)} WITH SUCCESSORS Psid, ThreeDLocation, Time64, Uint8 FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) base(1) base-types(2) major-version-2(2) minor-version-4(4)} WITH SUCCESSORS AsrAppAgnostic FROM EtsiTs103759AsrAppAgnostic {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) appAgnostic(270549119) major-version-1(1) minor-version-0(0)} WITH SUCCESSORS AsrCam FROM EtsiTs103759AsrCam {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) cam(36) major-version-1(1) minor-version-0(0)} WITH SUCCESSORS AsrDenm FROM EtsiTs103759AsrDenm {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) denm(37) major-version-1(1) minor-version-0(0)} WITH SUCCESSORS AsrBsm FROM SaeJ3287AsrBsm {joint-iso-itu-t (2) country (16) us (840) organization (1) sae (114566) v2x-communications (1) technical-committees (1) v2x-security (4) technical-reports (1) misbehavior-reporting (1) asn1-module (1) aid-specific(2) bsm(32) version-1 (1) version-minor-0 (0)} WITH SUCCESSORS ; /** * @brief This data type is the general PDU for a misbehaviour report from an * ITS-S to the MA responsible for reports of that type. AID-specific modules * (EtsiTs103759AsrAppAgnostic, EtsiTs103759AsrCam, EtsiTs103759AsrDenm, * SaeJ3287AsrBsm) have been imported using WITH SUCCESSORS to enable importing * one or more of those modules with minor-version greater than 0 without * requiring any change in the import statements. At least one of these * AID-specific modules shall have minor-version greater than 0. * * @param version: contains the version number of this PDU definition. For this * version of this data type it shall be equal to 2. * * @param generationTime: contains information on when this PDU was generated. * * @param observationLocation: is the location at which the last observation of * a V2X PDU was made before the decision was taken to generate a report. * * @param report: contains the AID-specific misbehaviour report. */ EtsiTs103759Data ::= SEQUENCE { version Uint8, generationTime Time64, observationLocation ThreeDLocation, report AidSpecificReport } /** * @brief This structure is the SPDU used to send a signed and encrypted * EtsiTs103759Data to the MA. For the signature to be valid the signing * certificate shall conform to the authorization ticket profile given in * clause 7.2.1 of ETSI TS 103 097 v2.1.1, where the appPermissions field in * the authorization ticket allows signing misbehaviour reports. The signed * EtsiTs103759Data shall be encrypted to the MA using the encryptionKey in * the MA's certificate. */ EtsiTs103759Data-SignedAndEncrypted-Unicast ::= EtsiTs103097Data-SignedAndEncrypted-Unicast { EtsiTs103759Data } /** * @brief This data type is the whole report on issues detected for a specific * ITS-AID. This ITS-AID may identify an individual application, or may identify * cross-application or non-application-specific misbehaviour cases. * * @param aid: contains the respective ITS-AID. * * @param content: contains the report contents, e.g., AsrCam. This will be a * TemplateAsr instantiated with AID-specific Information Object Sets. */ AidSpecificReport ::= SEQUENCE { aid C-ASR.&aid ({SetAsr}), content C-ASR.&Content ({SetAsr}{@.aid}) } /** * @brief This data type defines the IOC for AidSpecificReport. * * @param aid: contains the globally unique reference identifier of an * AID-specific misbehaviour report. * * @param Content: contains the open type of the PDU identified by aid. This * will be a TemplateAsr instantiated with AID-specific Information Object * Sets. */ C-ASR ::= CLASS { &aid Psid UNIQUE, &Content } WITH SYNTAX {&Content IDENTIFIED BY &aid} /** * @brief This data type defines the IOS for AidSpecificReport. See the ASN.1 * modules where each set is defined for a description of that set. */ SetAsr C-ASR ::= { {AsrAppAgnostic IDENTIFIED BY c-AsrAppAgnostic} | {AsrCam IDENTIFIED BY c-AsrCam} | {AsrDenm IDENTIFIED BY c-AsrDenm}, ..., {AsrBsm IDENTIFIED BY c-AsrBsm} } /** * @brief This data type contains the ITS-AID of the unknown service. * * @note This value is used for suspicious observations that are not * or cannot be linked to a specific application. */ c-AsrAppAgnostic Psid ::= 270549119 /** * @brief This data type contains the ITS-AID of the CA service. */ c-AsrCam Psid ::= 36 /** * @brief This data type contains the ITS-AID of the DEN service. */ c-AsrDenm Psid ::= 37 /** * @brief This data type contains the ITS-AID of the BSM. */ c-AsrBsm Psid ::= 32 END No newline at end of file EtsiTs103759AsrAppAgnostic.asn 0 → 100755 +14 −0 Original line number Diff line number Diff line EtsiTs103759AsrAppAgnostic {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) appAgnostic(270549119) major-version-1(1) minor-version-0(0)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; /** * @brief This data type is defined as NULL for this version of the standard. */ AsrAppAgnostic ::= NULL END No newline at end of file EtsiTs103759AsrCam.asn 0 → 100755 +221 −0 Original line number Diff line number Diff line EtsiTs103759AsrCam {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) cam(36) major-version-1(1) minor-version-1(1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS C-ASR-EV, C-ASR-OBS-BY-TGT, C-ASR-SINGLE-OBS, MbSingleObservation, TemplateAsr FROM EtsiTs103759BaseTypes {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) base-types(3) major-version-1(1) minor-version-1 (1)} WITH SUCCESSORS obs-Beacon-IntervalTooSmall, obs-Static-Change, obs-Security-MessageIdIncWithHeaderInfo, obs-Security-HeaderIncWithSecurityProfile, obs-Security-HeaderPsidIncWithCertificate, obs-Security-MessageIncWithSsp, obs-Security-HeaderTimeOutsideCertificateValidity, obs-Security-MessageLocationOutsideCertificateValidity, obs-Security-HeaderLocationOutsideCertificateValidity, obs-Position-ChangeTooLarge, obs-Speed-ValueTooLarge-VehicleType, obs-Speed-ValueTooLarge-DriveDirectionReverse, obs-Speed-ChangeTooLarge, obs-LongAcc-ValueTooLarge FROM EtsiTs103759MbrCommonObservations {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) common-observations(2) major-version-1(1) minor-version-1(1)} WITH SUCCESSORS Uint8 FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) base(1) base-types(2) major-version-2(2) minor-version-4(4)} WITH SUCCESSORS ; /** * @brief This data type is for reporting CAM issues. */ AsrCam ::= TemplateAsr {{SetMbObsTgtsCam}, {SetMbEvCam}} /* Identify target classes for CAM */ IdCamTgt ::= Uint8 c-CamTgt-BeaconCommon IdCamTgt ::= 0 c-CamTgt-StaticCommon IdCamTgt ::= 1 c-CamTgt-SecurityCommon IdCamTgt ::= 2 c-CamTgt-PositionCommon IdCamTgt ::= 3 c-CamTgt-SpeedCommon IdCamTgt ::= 4 c-CamTgt-LongAccCommon IdCamTgt ::= 5 SetMbObsCamBeacon C-ASR-SINGLE-OBS ::= { obs-Beacon-IntervalTooSmall, ... } SetMbObsCamStatic C-ASR-SINGLE-OBS ::= { obs-Static-Change, ... } SetMbObsCamSecurity C-ASR-SINGLE-OBS ::= { obs-Security-MessageIdIncWithHeaderInfo | obs-Security-HeaderIncWithSecurityProfile | obs-Security-HeaderPsidIncWithCertificate | obs-Security-MessageIncWithSsp | obs-Security-HeaderTimeOutsideCertificateValidity | obs-Security-MessageLocationOutsideCertificateValidity | obs-Security-HeaderLocationOutsideCertificateValidity, ... } SetMbObsCamPosition C-ASR-SINGLE-OBS ::= { obs-Position-ChangeTooLarge, ... } SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= { obs-Speed-ValueTooLarge-VehicleType | obs-Speed-ValueTooLarge-DriveDirectionReverse | obs-Speed-ChangeTooLarge, ... } SetMbObsCamLongAcc C-ASR-SINGLE-OBS ::= { obs-LongAcc-ValueTooLarge, ... } /** * @brief This is a complete set of observations for CAM. Application-specific * trigger conditions and other relevant information are specified below. * * @param SetMbObsCamBeacon: * - `Beacon-IntervalTooSmall`: The difference between the generation * time of two consecutive CAMs is less than 80% of the value specified in TS * 103 900 v2.0.0 section 6.1.3. The difference is calculated as the difference * between the two values of generationDeltaTime. The two CAMs presented * shall have the difference in the generationTime from the security * headerInfo be less than 65,535 milliseconds, and the generationTime in the * second CAM greater than the generationTime in the first. If the * generationDeltaTime value in the second CAM is less than the * generationDeltaTime in the first, 65,536 milliseconds shall be added to * the value in the second for purposes of determining the difference between * the two generationDeltaTime values. * * @param SetMbObsCamStatic: * - `Static-Change`: Any change in the values of one or more of the * following fields: performanceClass, specialTransportType, stationType, * vehicleLength, vehicleRole, vehicleWidth. * - `Semantics of the BIT STRING`: performanceClass(0), * specialTransportType(1), stationType(2), vehicleLength(3), vehicleRole(4), * vehicleWidth(5). * * * @param SetMbObsCamSecurity: * - `Security-MessageIdIncWithHeaderInfo`: The messageID is inconsistent * with the security headerInfo, e.g., messageId = cam(2) but psid in the * security headerInfo is not equal to 36, the PSID value of CAM. * * - `Security-HeaderIncWithSecurityProfile`: The security headerInfo is * inconsistent with the security profile specified in ETSI TS 103 097 V2.1.1 * (2021-10), e.g., generationTime is absent in the security headerInfo but * is required to be present in the security profile. * * - `Security-HeaderPsidIncWithCertificate`: The psid in the security * headerInfo is not contained in the appPermissions of the certificate, e.g., * psid in the security headerInfo is equal to 36, but the appPermissions in the * certificate does not include the value 36. * * - `Security-MessageIncWithSsp`: The message payload is inconsistent * with the SSP in the certificate, as specified in TS 103 900 v2.0.0,e.g., * publicTransportContainer is present in the specialVehicleContainer but the * relevant SSP in the certificate does not permit publicTransportContainer. * * - `Security-HeaderTimeOutsideCertificateValidity`: The generationTime * in the security headerInfo is outside the validityPeriod in the certificate. * * - `Security-MessageLocationOutsideCertificateValidity`: The * referencePosition in the message is outside the region in the certificate. * * - `Security-HeaderLocationOutsideCertificateValidity`: The * generationLocation in the security headerInfo is outside the region in the * certificate. * * @param SetMbObsEtsiOnlyPosition: * - `Position-ChangeTooLarge`: The speed calculated from the change in * referencePosition of two consecutive CAMs meets the trigger conditions of * Speed-ValueTooLarge-VehicleType. * * @param SetMbObsEtsiOnlySpeed: * - `Speed-ValueTooLarge-VehicleType`: The trigger conditions depend on * the stationType as follows: * * - `passengerCar(5)`: The speedValue is greater than 14,000. (Currently, the * fastest car in the world has a top speed that is less than 500 km/h, i.e., * 13,889 cm/s.) * * - `motorcycle(4), bus(6), lightTruck(7), heavyTruck(8), trailer(9)`: The * speedValue is greater than 8,500. (Currently, the top speed on most popular * cars is less than 300 km/h, i.e., 8,333 cm/s.) * * - `unknown(0), pedestrian(1), cyclist(2), moped(3), specialVehicles(10), * tram(11)` : The speedValue is greater than 3,000. (Currently, non-highway * speed limits are usually well below 100 km/h, i.e., 2,778 cm/s.) * * - `roadSideUnit(15)`: The speedValue is greater than 0. (Road side units * shouldn't be transmitting while being transported.) * * - `Speed-ValueTooLarge-DriveDirectionReverse`: The driveDirection is * backward (1) and the speedValue is greater than 3,000. (Usually, backward * drives are far less than 50m long, and with maximum possible acceleration of * 9 m/s^2 (see trigger conditions for LongAcc-ValueTooLarge), max attainable * speed is sqrt(2*9*50) m/s, i.e., 3,000 cm/s.) * * - `Speed-ChangeTooLarge`: The acceleration calculated from the change * in speedValue of two consecutive CAMs meets the trigger conditions of * LongAcc-ValueTooLarge. * * @param SetMbObsEtsiOnlyLongAcc: * - `LongAcc-ValueTooLarge`: The longitudinalAcceleration is greater * than 90 dm/s^2. (Typical \mu (coefficient of friction between asphalt and * rubber) is 0.9, so maximum possible acceleration is 0.9*9.8 m/s^2, i.e., * 88.2 dm/s^2.) */ SetMbObsTgtsCam C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsCamBeacon}} BY c-CamTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsCamStatic}} BY c-CamTgt-StaticCommon} | {MbSingleObservation{{SetMbObsCamSecurity}} BY c-CamTgt-SecurityCommon} | {MbSingleObservation{{SetMbObsCamPosition}} BY c-CamTgt-PositionCommon} | {MbSingleObservation{{SetMbObsCamSpeed}} BY c-CamTgt-SpeedCommon} | {MbSingleObservation{{SetMbObsCamLongAcc}} BY c-CamTgt-LongAccCommon}, ... } /** * @brief This data type defines the IOS for CAM Evidence. */ SetMbEvCam C-ASR-EV ::= { ... } END No newline at end of file Loading
.gitlab-ci.yml 0 → 100755 +19 −0 Original line number Diff line number Diff line include: - project: 'forge-tools/asn2md' file: '/gitlab-ci/base.yml' variables: ASN1_SRC: '*.asn sec_ts103097/*.asn ieee1609.2/Ieee1609Dot2.asn ieee1609.2/Ieee1609Dot2BaseTypes.asn' GIT_SUBMODULE_STRATEGY: normal validate: extends: .validate only: changes: - '*.asn' documentation: extends: .documentation only: changes: - '*.asn'
.gitmodules 0 → 100755 +7 −0 Original line number Diff line number Diff line [submodule "sec_ts103097"] path = sec_ts103097 url = https://forge.etsi.org/rep/ITS/asn1/sec_ts103097.git branch = release2 [submodule "ieee1609.2"] path = ieee1609.2 url = https://forge.etsi.org/rep/ITS/asn1/ieee1609.2.git
EtsiTs103759.asn 0 → 100755 +156 −0 Original line number Diff line number Diff line EtsiTs103759 {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) core(1) major-version-1(1) minor-version-2 (2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS EtsiTs103097Data-SignedAndEncrypted-Unicast FROM EtsiTs103097Module {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) secHeaders(103097) core(1) major-version-3(3) minor-version-1(1)} WITH SUCCESSORS Psid, ThreeDLocation, Time64, Uint8 FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) base(1) base-types(2) major-version-2(2) minor-version-4(4)} WITH SUCCESSORS AsrAppAgnostic FROM EtsiTs103759AsrAppAgnostic {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) appAgnostic(270549119) major-version-1(1) minor-version-0(0)} WITH SUCCESSORS AsrCam FROM EtsiTs103759AsrCam {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) cam(36) major-version-1(1) minor-version-0(0)} WITH SUCCESSORS AsrDenm FROM EtsiTs103759AsrDenm {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) denm(37) major-version-1(1) minor-version-0(0)} WITH SUCCESSORS AsrBsm FROM SaeJ3287AsrBsm {joint-iso-itu-t (2) country (16) us (840) organization (1) sae (114566) v2x-communications (1) technical-committees (1) v2x-security (4) technical-reports (1) misbehavior-reporting (1) asn1-module (1) aid-specific(2) bsm(32) version-1 (1) version-minor-0 (0)} WITH SUCCESSORS ; /** * @brief This data type is the general PDU for a misbehaviour report from an * ITS-S to the MA responsible for reports of that type. AID-specific modules * (EtsiTs103759AsrAppAgnostic, EtsiTs103759AsrCam, EtsiTs103759AsrDenm, * SaeJ3287AsrBsm) have been imported using WITH SUCCESSORS to enable importing * one or more of those modules with minor-version greater than 0 without * requiring any change in the import statements. At least one of these * AID-specific modules shall have minor-version greater than 0. * * @param version: contains the version number of this PDU definition. For this * version of this data type it shall be equal to 2. * * @param generationTime: contains information on when this PDU was generated. * * @param observationLocation: is the location at which the last observation of * a V2X PDU was made before the decision was taken to generate a report. * * @param report: contains the AID-specific misbehaviour report. */ EtsiTs103759Data ::= SEQUENCE { version Uint8, generationTime Time64, observationLocation ThreeDLocation, report AidSpecificReport } /** * @brief This structure is the SPDU used to send a signed and encrypted * EtsiTs103759Data to the MA. For the signature to be valid the signing * certificate shall conform to the authorization ticket profile given in * clause 7.2.1 of ETSI TS 103 097 v2.1.1, where the appPermissions field in * the authorization ticket allows signing misbehaviour reports. The signed * EtsiTs103759Data shall be encrypted to the MA using the encryptionKey in * the MA's certificate. */ EtsiTs103759Data-SignedAndEncrypted-Unicast ::= EtsiTs103097Data-SignedAndEncrypted-Unicast { EtsiTs103759Data } /** * @brief This data type is the whole report on issues detected for a specific * ITS-AID. This ITS-AID may identify an individual application, or may identify * cross-application or non-application-specific misbehaviour cases. * * @param aid: contains the respective ITS-AID. * * @param content: contains the report contents, e.g., AsrCam. This will be a * TemplateAsr instantiated with AID-specific Information Object Sets. */ AidSpecificReport ::= SEQUENCE { aid C-ASR.&aid ({SetAsr}), content C-ASR.&Content ({SetAsr}{@.aid}) } /** * @brief This data type defines the IOC for AidSpecificReport. * * @param aid: contains the globally unique reference identifier of an * AID-specific misbehaviour report. * * @param Content: contains the open type of the PDU identified by aid. This * will be a TemplateAsr instantiated with AID-specific Information Object * Sets. */ C-ASR ::= CLASS { &aid Psid UNIQUE, &Content } WITH SYNTAX {&Content IDENTIFIED BY &aid} /** * @brief This data type defines the IOS for AidSpecificReport. See the ASN.1 * modules where each set is defined for a description of that set. */ SetAsr C-ASR ::= { {AsrAppAgnostic IDENTIFIED BY c-AsrAppAgnostic} | {AsrCam IDENTIFIED BY c-AsrCam} | {AsrDenm IDENTIFIED BY c-AsrDenm}, ..., {AsrBsm IDENTIFIED BY c-AsrBsm} } /** * @brief This data type contains the ITS-AID of the unknown service. * * @note This value is used for suspicious observations that are not * or cannot be linked to a specific application. */ c-AsrAppAgnostic Psid ::= 270549119 /** * @brief This data type contains the ITS-AID of the CA service. */ c-AsrCam Psid ::= 36 /** * @brief This data type contains the ITS-AID of the DEN service. */ c-AsrDenm Psid ::= 37 /** * @brief This data type contains the ITS-AID of the BSM. */ c-AsrBsm Psid ::= 32 END No newline at end of file
EtsiTs103759AsrAppAgnostic.asn 0 → 100755 +14 −0 Original line number Diff line number Diff line EtsiTs103759AsrAppAgnostic {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) appAgnostic(270549119) major-version-1(1) minor-version-0(0)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; /** * @brief This data type is defined as NULL for this version of the standard. */ AsrAppAgnostic ::= NULL END No newline at end of file
EtsiTs103759AsrCam.asn 0 → 100755 +221 −0 Original line number Diff line number Diff line EtsiTs103759AsrCam {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) aid-specific(2) cam(36) major-version-1(1) minor-version-1(1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; IMPORTS C-ASR-EV, C-ASR-OBS-BY-TGT, C-ASR-SINGLE-OBS, MbSingleObservation, TemplateAsr FROM EtsiTs103759BaseTypes {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) base-types(3) major-version-1(1) minor-version-1 (1)} WITH SUCCESSORS obs-Beacon-IntervalTooSmall, obs-Static-Change, obs-Security-MessageIdIncWithHeaderInfo, obs-Security-HeaderIncWithSecurityProfile, obs-Security-HeaderPsidIncWithCertificate, obs-Security-MessageIncWithSsp, obs-Security-HeaderTimeOutsideCertificateValidity, obs-Security-MessageLocationOutsideCertificateValidity, obs-Security-HeaderLocationOutsideCertificateValidity, obs-Position-ChangeTooLarge, obs-Speed-ValueTooLarge-VehicleType, obs-Speed-ValueTooLarge-DriveDirectionReverse, obs-Speed-ChangeTooLarge, obs-LongAcc-ValueTooLarge FROM EtsiTs103759MbrCommonObservations {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) common-observations(2) major-version-1(1) minor-version-1(1)} WITH SUCCESSORS Uint8 FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) base(1) base-types(2) major-version-2(2) minor-version-4(4)} WITH SUCCESSORS ; /** * @brief This data type is for reporting CAM issues. */ AsrCam ::= TemplateAsr {{SetMbObsTgtsCam}, {SetMbEvCam}} /* Identify target classes for CAM */ IdCamTgt ::= Uint8 c-CamTgt-BeaconCommon IdCamTgt ::= 0 c-CamTgt-StaticCommon IdCamTgt ::= 1 c-CamTgt-SecurityCommon IdCamTgt ::= 2 c-CamTgt-PositionCommon IdCamTgt ::= 3 c-CamTgt-SpeedCommon IdCamTgt ::= 4 c-CamTgt-LongAccCommon IdCamTgt ::= 5 SetMbObsCamBeacon C-ASR-SINGLE-OBS ::= { obs-Beacon-IntervalTooSmall, ... } SetMbObsCamStatic C-ASR-SINGLE-OBS ::= { obs-Static-Change, ... } SetMbObsCamSecurity C-ASR-SINGLE-OBS ::= { obs-Security-MessageIdIncWithHeaderInfo | obs-Security-HeaderIncWithSecurityProfile | obs-Security-HeaderPsidIncWithCertificate | obs-Security-MessageIncWithSsp | obs-Security-HeaderTimeOutsideCertificateValidity | obs-Security-MessageLocationOutsideCertificateValidity | obs-Security-HeaderLocationOutsideCertificateValidity, ... } SetMbObsCamPosition C-ASR-SINGLE-OBS ::= { obs-Position-ChangeTooLarge, ... } SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= { obs-Speed-ValueTooLarge-VehicleType | obs-Speed-ValueTooLarge-DriveDirectionReverse | obs-Speed-ChangeTooLarge, ... } SetMbObsCamLongAcc C-ASR-SINGLE-OBS ::= { obs-LongAcc-ValueTooLarge, ... } /** * @brief This is a complete set of observations for CAM. Application-specific * trigger conditions and other relevant information are specified below. * * @param SetMbObsCamBeacon: * - `Beacon-IntervalTooSmall`: The difference between the generation * time of two consecutive CAMs is less than 80% of the value specified in TS * 103 900 v2.0.0 section 6.1.3. The difference is calculated as the difference * between the two values of generationDeltaTime. The two CAMs presented * shall have the difference in the generationTime from the security * headerInfo be less than 65,535 milliseconds, and the generationTime in the * second CAM greater than the generationTime in the first. If the * generationDeltaTime value in the second CAM is less than the * generationDeltaTime in the first, 65,536 milliseconds shall be added to * the value in the second for purposes of determining the difference between * the two generationDeltaTime values. * * @param SetMbObsCamStatic: * - `Static-Change`: Any change in the values of one or more of the * following fields: performanceClass, specialTransportType, stationType, * vehicleLength, vehicleRole, vehicleWidth. * - `Semantics of the BIT STRING`: performanceClass(0), * specialTransportType(1), stationType(2), vehicleLength(3), vehicleRole(4), * vehicleWidth(5). * * * @param SetMbObsCamSecurity: * - `Security-MessageIdIncWithHeaderInfo`: The messageID is inconsistent * with the security headerInfo, e.g., messageId = cam(2) but psid in the * security headerInfo is not equal to 36, the PSID value of CAM. * * - `Security-HeaderIncWithSecurityProfile`: The security headerInfo is * inconsistent with the security profile specified in ETSI TS 103 097 V2.1.1 * (2021-10), e.g., generationTime is absent in the security headerInfo but * is required to be present in the security profile. * * - `Security-HeaderPsidIncWithCertificate`: The psid in the security * headerInfo is not contained in the appPermissions of the certificate, e.g., * psid in the security headerInfo is equal to 36, but the appPermissions in the * certificate does not include the value 36. * * - `Security-MessageIncWithSsp`: The message payload is inconsistent * with the SSP in the certificate, as specified in TS 103 900 v2.0.0,e.g., * publicTransportContainer is present in the specialVehicleContainer but the * relevant SSP in the certificate does not permit publicTransportContainer. * * - `Security-HeaderTimeOutsideCertificateValidity`: The generationTime * in the security headerInfo is outside the validityPeriod in the certificate. * * - `Security-MessageLocationOutsideCertificateValidity`: The * referencePosition in the message is outside the region in the certificate. * * - `Security-HeaderLocationOutsideCertificateValidity`: The * generationLocation in the security headerInfo is outside the region in the * certificate. * * @param SetMbObsEtsiOnlyPosition: * - `Position-ChangeTooLarge`: The speed calculated from the change in * referencePosition of two consecutive CAMs meets the trigger conditions of * Speed-ValueTooLarge-VehicleType. * * @param SetMbObsEtsiOnlySpeed: * - `Speed-ValueTooLarge-VehicleType`: The trigger conditions depend on * the stationType as follows: * * - `passengerCar(5)`: The speedValue is greater than 14,000. (Currently, the * fastest car in the world has a top speed that is less than 500 km/h, i.e., * 13,889 cm/s.) * * - `motorcycle(4), bus(6), lightTruck(7), heavyTruck(8), trailer(9)`: The * speedValue is greater than 8,500. (Currently, the top speed on most popular * cars is less than 300 km/h, i.e., 8,333 cm/s.) * * - `unknown(0), pedestrian(1), cyclist(2), moped(3), specialVehicles(10), * tram(11)` : The speedValue is greater than 3,000. (Currently, non-highway * speed limits are usually well below 100 km/h, i.e., 2,778 cm/s.) * * - `roadSideUnit(15)`: The speedValue is greater than 0. (Road side units * shouldn't be transmitting while being transported.) * * - `Speed-ValueTooLarge-DriveDirectionReverse`: The driveDirection is * backward (1) and the speedValue is greater than 3,000. (Usually, backward * drives are far less than 50m long, and with maximum possible acceleration of * 9 m/s^2 (see trigger conditions for LongAcc-ValueTooLarge), max attainable * speed is sqrt(2*9*50) m/s, i.e., 3,000 cm/s.) * * - `Speed-ChangeTooLarge`: The acceleration calculated from the change * in speedValue of two consecutive CAMs meets the trigger conditions of * LongAcc-ValueTooLarge. * * @param SetMbObsEtsiOnlyLongAcc: * - `LongAcc-ValueTooLarge`: The longitudinalAcceleration is greater * than 90 dm/s^2. (Typical \mu (coefficient of friction between asphalt and * rubber) is 0.9, so maximum possible acceleration is 0.9*9.8 m/s^2, i.e., * 88.2 dm/s^2.) */ SetMbObsTgtsCam C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsCamBeacon}} BY c-CamTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsCamStatic}} BY c-CamTgt-StaticCommon} | {MbSingleObservation{{SetMbObsCamSecurity}} BY c-CamTgt-SecurityCommon} | {MbSingleObservation{{SetMbObsCamPosition}} BY c-CamTgt-PositionCommon} | {MbSingleObservation{{SetMbObsCamSpeed}} BY c-CamTgt-SpeedCommon} | {MbSingleObservation{{SetMbObsCamLongAcc}} BY c-CamTgt-LongAccCommon}, ... } /** * @brief This data type defines the IOS for CAM Evidence. */ SetMbEvCam C-ASR-EV ::= { ... } END No newline at end of file