From a207fdc74ea0312121a26e23089f5d5c8fefcf5a Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Thu, 25 Jan 2024 09:07:50 +0000 Subject: [PATCH 01/37] Documentation update --- docs/EtsiTs103097ExtensionModule.md | 11 +++ docs/EtsiTs103097Module.md | 6 ++ docs/EtsiTs103759AsrCam.md | 12 +++ docs/EtsiTs103759BaseTypes.md | 6 +- docs/EtsiTs103759Core.md | 9 ++ docs/Ieee1609Dot2.md | 68 ++++++++++---- docs/Ieee1609Dot2BaseTypes.md | 137 +++++++++++++++++++++++++--- 7 files changed, 218 insertions(+), 31 deletions(-) diff --git a/docs/EtsiTs103097ExtensionModule.md b/docs/EtsiTs103097ExtensionModule.md index 56bb656..d84e92a 100644 --- a/docs/EtsiTs103097ExtensionModule.md +++ b/docs/EtsiTs103097ExtensionModule.md @@ -10,6 +10,9 @@ ExtensionModuleVersion::= INTEGER(1) ``` ### Extension + +* _id_ of type [**EXT-TYPE**](#EXT-TYPE) .&extId({ExtensionTypes})
+* _content_ of type [**EXT-TYPE**](#EXT-TYPE) .&ExtContent({ExtensionTypes}{@.id})
```asn1 Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE { id EXT-TYPE.&extId({ExtensionTypes}), @@ -18,6 +21,8 @@ Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE { ``` ### EXT-TYPE + +* _extId_ of type [**ExtId**](#ExtId)
```asn1 EXT-TYPE ::= CLASS { &extId ExtId, @@ -52,6 +57,9 @@ EtsiTs103097HeaderInfoExtensions EXT-TYPE ::= { ``` ### EtsiTs102941CrlRequest + +* _issuerId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
+* _lastKnownUpdate_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32) OPTIONAL
```asn1 EtsiTs102941CrlRequest::= SEQUENCE { issuerId HashedId8, @@ -60,6 +68,9 @@ EtsiTs102941CrlRequest::= SEQUENCE { ``` ### EtsiTs102941CtlRequest + +* _issuerId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
+* _lastKnownCtlSequence_ of type **INTEGER** (0..255) OPTIONAL
```asn1 EtsiTs102941CtlRequest::= SEQUENCE { issuerId HashedId8, diff --git a/docs/EtsiTs103097Module.md b/docs/EtsiTs103097Module.md index dd60019..6bb42c7 100644 --- a/docs/EtsiTs103097Module.md +++ b/docs/EtsiTs103097Module.md @@ -110,6 +110,9 @@ EtsiTs103097Data-Encrypted {ToBeEncryptedDataContent} ::= EtsiTs103097Data (WITH ``` ### EtsiTs103097Data-SignedAndEncrypted + +Values: +* **EtsiTs103097Data-Signed** {ToBesignedAndEncryptedDataContent}
```asn1 EtsiTs103097Data-SignedAndEncrypted {ToBesignedAndEncryptedDataContent} ::= EtsiTs103097Data-Encrypted {EtsiTs103097Data-Signed {ToBesignedAndEncryptedDataContent}} ``` @@ -126,6 +129,9 @@ EtsiTs103097Data-Encrypted-Unicast {ToBeEncryptedDataContent} ::= EtsiTs103097Da ``` ### EtsiTs103097Data-SignedAndEncrypted-Unicast + +Values: +* **EtsiTs103097Data-Signed** {ToBesignedAndEncryptedDataContent}
```asn1 EtsiTs103097Data-SignedAndEncrypted-Unicast {ToBesignedAndEncryptedDataContent} ::= EtsiTs103097Data-Encrypted {EtsiTs103097Data-Signed {ToBesignedAndEncryptedDataContent}} (WITH COMPONENTS {..., content (WITH COMPONENTS { diff --git a/docs/EtsiTs103759AsrCam.md b/docs/EtsiTs103759AsrCam.md index 77219e3..f88327e 100644 --- a/docs/EtsiTs103759AsrCam.md +++ b/docs/EtsiTs103759AsrCam.md @@ -43,6 +43,14 @@ SetMbObsCamStatic C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsCamSecurity + +Values: +* **obs-Security-MessageIdIncWithHeaderInfo** |
+* **obs-Security-HeaderIncWithSecurityProfile** |
+* **obs-Security-HeaderPsidIncWithCertificate** |
+* **obs-Security-MessageIncWithSsp** |
+* **obs-Security-HeaderTimeOutsideCertificateValidity** |
+* **obs-Security-MessageLocationOutsideCertificateValidity** |
```asn1 SetMbObsCamSecurity C-ASR-SINGLE-OBS ::= { obs-Security-MessageIdIncWithHeaderInfo | @@ -65,6 +73,10 @@ SetMbObsCamPosition C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsCamSpeed + +Values: +* **obs-Speed-ValueTooLarge-VehicleType** |
+* **obs-Speed-ValueTooLarge-DriveDirectionReverse** |
```asn1 SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= { obs-Speed-ValueTooLarge-VehicleType | diff --git a/docs/EtsiTs103759BaseTypes.md b/docs/EtsiTs103759BaseTypes.md index 44fb007..21a0b4d 100644 --- a/docs/EtsiTs103759BaseTypes.md +++ b/docs/EtsiTs103759BaseTypes.md @@ -19,7 +19,7 @@ This data type contains the template for a report on any ITS PDU. the observations field, plus other PDUs sent for the same application (AID) by the same sender). -* _nonV2xPduEvidence_ of type [**NonV2xPduEvidenceItemSequence**](#NonV2xPduEvidenceItemSequence) {{NonV2xPduEvidenceSet}
+* nonV2xPduEvidence
is any information that was used by the detectors other than the V2X PDUs. If the report does not contain any observations that use other evidence (for example, if the report is simply @@ -103,6 +103,7 @@ C-ASR-SINGLE-OBS ::= C-2ENT ### V2xPduStream This data type contains PDU stream from a single sender. +* _type_ of type [**C-OBS-PDU**](#C-OBS-PDU) .&id ({SetObsPdu})
* _v2xPdus_ of type **SEQUENCE** (SIZE(1..255)) OF C-OBS-PDU.&Val ({SetObsPdu}{@.type})
is the PDU stream, i.e., a series of PDUs for the same AID sent by the same sender (where "sent by the same sender" means "signed by @@ -215,6 +216,7 @@ This is the Information Object Class used to define evidence. >>> NOTE: No instances of this class are defined in this version of this document. >>> + ```asn1 C-ASR-EV ::= C-2ENT ``` @@ -223,6 +225,8 @@ C-ASR-EV ::= C-2ENT This structures uses single-byte IDs. If we run out of ID space in future, the Val type associated with ID 255 can also be structured hierarchically to extend the space. + +* _id_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8)
```asn1 C-2ENT ::= CLASS { &id Uint8, diff --git a/docs/EtsiTs103759Core.md b/docs/EtsiTs103759Core.md index f0ebbe6..4c3edec 100644 --- a/docs/EtsiTs103759Core.md +++ b/docs/EtsiTs103759Core.md @@ -112,23 +112,32 @@ SetAsr C-ASR ::= { } ``` +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. >>> + ```asn1 c-AsrAppAgnostic Psid ::= 270549119 ``` +This data type contains the ITS-AID of the CA service. + ```asn1 c-AsrCam Psid ::= 36 ``` +This data type contains the ITS-AID of the DEN service. + ```asn1 c-AsrDenm Psid ::= 37 ``` +This data type contains the ITS-AID of the BSM. + ```asn1 c-AsrBsm Psid ::= 32 ``` diff --git a/docs/Ieee1609Dot2.md b/docs/Ieee1609Dot2.md index 79ee07e..25decf9 100644 --- a/docs/Ieee1609Dot2.md +++ b/docs/Ieee1609Dot2.md @@ -25,6 +25,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2. The canonicalization applies to the Ieee1609Dot2Content. >>> + ```asn1 Ieee1609Dot2Data ::= SEQUENCE { protocolVersion Uint8(3), @@ -54,14 +55,13 @@ Ieee1609Dot2Data ::= SEQUENCE { indicates that the content is a certificate request signed by an ITU-T X.509 certificate. - - ..., >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2 if it is of type signedData. The canonicalization applies to the SignedData. >>> + ```asn1 Ieee1609Dot2Content ::= CHOICE { unsecuredData Opaque, @@ -110,6 +110,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2. The canonicalization applies to the ToBeSignedData and the Signature. >>> + ```asn1 SignedData ::= SEQUENCE { hashId HashAlgorithm, @@ -152,6 +153,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization applies to the SignedDataPayload if it is of type data, and to the HeaderInfo. >>> + ```asn1 ToBeSignedData ::= SEQUENCE { payload SignedDataPayload, @@ -184,14 +186,13 @@ ToBeSignedData ::= SEQUENCE { hash calculation for the signature.The mechanism for including the external data in the hash calculation is specified in 6.3.6. - - ..., >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2. The canonicalization applies to the Ieee1609Dot2Data. >>> + ```asn1 SignedDataPayload ::= SEQUENCE { data Ieee1609Dot2Data OPTIONAL, @@ -212,8 +213,6 @@ SignedDataPayload ::= SEQUENCE { * _sha384HashedData_ of type [**HashedId48**](Ieee1609Dot2BaseTypes.md#HashedId48)
indicates data hashed with SHA-384. - - ..., * _sm3HashedData_ of type [**HashedId32**](Ieee1609Dot2BaseTypes.md#HashedId32)
indicates data hashed with SM3. @@ -225,6 +224,7 @@ NOTE: Critical information fields: If present, this is a critical shall indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2, that is, it is invalid in the sense that its validity cannot be established. >>> + ```asn1 HashedData::= CHOICE { sha256HashedData HashedId32, @@ -291,8 +291,6 @@ HashedData::= CHOICE { to the COER-encoded certificate, canonicalized as defined in the definition of Certificate. - - ..., * _requestedCertificate_ of type [**Certificate**](Ieee1609Dot2.md#Certificate) OPTIONAL
if present, is used by the SDS to provide certificates per the "inline" version of the peer-to-peer certificate @@ -320,6 +318,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization The canonicalization does not apply to any fields after the extension marker, including any fields in contributedExtensions. >>> + ```asn1 HeaderInfo ::= SEQUENCE { psid Psid, @@ -436,7 +435,8 @@ ContributedExtensionBlock ::= SEQUENCE { ### This Information Object Class defines the class that provides a template for defining extension blocks. - + +* _id_ of type [**HeaderInfoContributorId**](#HeaderInfoContributorId) UNIQUE
```asn1 IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION ::= CLASS { &id HeaderInfoContributorId UNIQUE, @@ -513,6 +513,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2. The canonicalization applies to every Certificate in the certificate field. >>> + ```asn1 SignerIdentifier ::= CHOICE { digest HashedId8, @@ -576,6 +577,7 @@ NOTE: If the plaintext is raw data, i.e., it has not been output from a 80 indicates the choice unsecuredData, and the third byte 08 is the length of the raw data '01 23 45 67 89 AB CD EF'. >>> + ```asn1 EncryptedData ::= SEQUENCE { recipients SequenceOfRecipientInfo, @@ -634,6 +636,7 @@ NOTE: The material input to encryption is the bytes of the encryption key with no headers, encapsulation, or length indication. Contrast this to encryption of data, where the data is encapsulated in an Ieee1609Dot2Data. >>> + ```asn1 RecipientInfo ::= CHOICE { pskRecipInfo PreSharedKeyRecipientInfo, @@ -731,6 +734,10 @@ Critical information fields: If present and applicable to RecipientInfos contain an EncryptedDataEncryptionKey such that the implementation does not recognize the indicated CHOICE, the implementation shall indicate that the encrypted SPDU is not decryptable. + +* _eciesNistP256_ of type [**EciesP256EncryptedKey**](Ieee1609Dot2BaseTypes.md#EciesP256EncryptedKey)
+* _eciesBrainpoolP256r1_ of type [**EciesP256EncryptedKey**](Ieee1609Dot2BaseTypes.md#EciesP256EncryptedKey)
+* _ecencSm2256_ of type [**EcencP256EncryptedKey**](Ieee1609Dot2BaseTypes.md#EcencP256EncryptedKey)
```asn1 EncryptedDataEncryptionKey ::= CHOICE { eciesNistP256 EciesP256EncryptedKey, @@ -743,6 +750,9 @@ EncryptedDataEncryptionKey ::= CHOICE { ### This data structure encapsulates a ciphertext generated with an approved symmetric algorithm. +* _aes128ccm_ of type [**One28BitCcmCiphertext**](#One28BitCcmCiphertext)
+* _sm4Ccm_ of type [**One28BitCcmCiphertext**](#One28BitCcmCiphertext)
+ >>> NOTE: Critical information fields: If present, this is a critical information field as defined in 5.2.6. An implementation that does not @@ -750,6 +760,7 @@ NOTE: Critical information fields: If present, this is a critical shall indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2, that is, it is invalid in the sense that its validity cannot be established. >>> + ```asn1 SymmetricCiphertext ::= CHOICE { aes128ccm One28BitCcmCiphertext, @@ -786,6 +797,7 @@ NOTE: In the name of this structure, "One28" indicates that the bits affects only the size of the MAC and does not affect the size of the raw ciphertext. >>> + ```asn1 One28BitCcmCiphertext ::= SEQUENCE { nonce OCTET STRING (SIZE (12)), @@ -808,6 +820,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2. The canonicalization applies to the CertificateBase. >>> + ```asn1 TestCertificate ::= Certificate ``` @@ -862,6 +875,7 @@ NOTE: Whole-certificate hash: If the entirety of a certificate is hashed this purpose is known as the whole-certificate hash. The method used to determine the whole-certificate hash algorithm is specified in 5.3.9.2. >>> + ```asn1 CertificateBase ::= SEQUENCE { version Uint8(3), @@ -883,6 +897,7 @@ NOTE: Critical information fields: If present, this is a critical that is, it is invalid in the sense that its validity cannot be established. >>> + ```asn1 CertificateType ::= ENUMERATED { explicit, @@ -937,6 +952,11 @@ If the choice indicated is sha256AndDigest, sha384AndDigest, or - The certificate is to be verified with the public key indicated by the verifyKeyIndicator field in theToBeSignedCertificate. +* _sha256AndDigest_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
+* _self_ of type [**HashAlgorithm**](Ieee1609Dot2BaseTypes.md#HashAlgorithm)
+* _sha384AndDigest_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
+* _sm3AndDigest_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
+ >>> NOTE: Critical information fields: If present, this is a critical information field as defined in 5.2.5. An implementation that does not @@ -945,6 +965,7 @@ NOTE: Critical information fields: If present, this is a critical that is, it is invalid in the sense that its validity cannot be established. >>> + ```asn1 IssuerIdentifier ::= CHOICE { sha256AndDigest HashedId8, @@ -1051,7 +1072,7 @@ For both implicit and explicit certificates, when the certificate contains material that may be used to recover the public key that may be used to verify data signed by this certificate. -* _flags_ of type **BIT STRING** {usesCubk (0)
+* flags
indicates additional yes/no properties of the certificate holder. The only bit with defined semantics in this string in this version of this standard is usesCubk. If set, the usesCubk bit indicates that the @@ -1059,8 +1080,6 @@ For both implicit and explicit certificates, when the certificate Further material about the compact unified butterfly key response can be found in IEEE Std 1609.2.1. - - ..., * appExtensions
indicates additional permissions that may be applied to application activities that the certificate holder is carrying out. @@ -1132,6 +1151,7 @@ NOTE: Critical information fields: (because it could validate all relevant fields) or invalid (because it could not parse the entire certificate) is implementation-specific. >>> + ```asn1 ToBeSignedCertificate ::= SEQUENCE { id CertificateId, @@ -1183,6 +1203,7 @@ NOTE: Critical information fields: An implementation that does not recognize the choice indicated in this field shall reject a signed SPDU as invalid. >>> + ```asn1 CertificateId ::= CHOICE { linkageData LinkageData, @@ -1197,7 +1218,10 @@ CertificateId ::= CHOICE { information obtained from a linkage ID-based CRL to determine whether the containing certificate has been revoked. See 5.1.3.4 and 7.3 for details of use. - + +* _iCert_ of type [**IValue**](Ieee1609Dot2BaseTypes.md#IValue)
+* _linkage-value_ of type [**LinkageValue**](Ieee1609Dot2BaseTypes.md#LinkageValue)
+* _group-linkage-value_ of type [**GroupLinkageValue**](Ieee1609Dot2BaseTypes.md#GroupLinkageValue) OPTIONAL
```asn1 LinkageData ::= SEQUENCE { iCert IValue, @@ -1229,7 +1253,8 @@ LinkageData ::= SEQUENCE { it indicates that the certificate chain may be any length equal to or greater than minChainLength. See the examples below for further discussion. -* _eeType_ of type [**EndEntityType**](#EndEntityType) DEFAULT {app
+* _chainLengthRange_ of type **INTEGER** DEFAULT 0
+* eeType
takes one or more of the values app and enroll and indicates the type of certificates or requests that this instance of PsidGroupPermissions in the certificate is entitled to authorize. @@ -1272,6 +1297,9 @@ SequenceOfPsidGroupPermissions ::= SEQUENCE OF PsidGroupPermissions PsidGroupPermissions in the same certIssuePermissions or certRequestPermissions field. +* _explicit_ of type [**SequenceOfPsidSspRange**](Ieee1609Dot2BaseTypes.md#SequenceOfPsidSspRange)
+* _all_ of type **NULL**
+ >>> NOTE: Critical information fields: - If present, this is a critical information field as defined in 5.2.6. @@ -1286,6 +1314,7 @@ NOTE: Critical information fields: sense that its validity cannot be established. A conformant implementation shall support explicit fields containing at least eight entries. >>> + ```asn1 SubjectPermissions ::= CHOICE { explicit SequenceOfPsidSspRange, @@ -1316,6 +1345,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization choice indicated within the EccP256CurvePoint is compressed-y-0 or compressed-y-1. >>> + ```asn1 VerificationKeyIndicator ::= CHOICE { verificationKey PublicVerificationKey, @@ -1403,8 +1433,9 @@ SequenceOfCertIssueExtensions ::= * _id_ of type [**CERT-EXT-TYPE**](Ieee1609Dot2BaseTypes.md#CERT-EXT-TYPE) .&id({SetCertExtensions})
identifies the extension type. -* _permissions_ of type [**CHOICE**](#CHOICE) { - specific CERT-EXT-TYPE.&Issue({SetCertExtensions}{@.id})
+* _specific_ of type [**CERT-EXT-TYPE**](Ieee1609Dot2BaseTypes.md#CERT-EXT-TYPE) .&Issue({SetCertExtensions}{@.id})
+* _all_ of type **NULL**
+* permissions
indicates the permissions. Within this field. - all indicates that the certificate is entitled to issue all values of the extension. @@ -1446,8 +1477,9 @@ SequenceOfCertRequestExtensions ::= SEQUENCE (SIZE(1..MAX)) OF CertRequestExtens * _id_ of type [**CERT-EXT-TYPE**](Ieee1609Dot2BaseTypes.md#CERT-EXT-TYPE) .&id({SetCertExtensions})
identifies the extension type. -* _permissions_ of type [**CHOICE**](#CHOICE) { - content CERT-EXT-TYPE.&Req({SetCertExtensions}{@.id})
+* _content_ of type [**CERT-EXT-TYPE**](Ieee1609Dot2BaseTypes.md#CERT-EXT-TYPE) .&Req({SetCertExtensions}{@.id})
+* _all_ of type **NULL**
+* permissions
indicates the permissions. Within this field. - all indicates that the certificate is entitled to issue all values of the extension. diff --git a/docs/Ieee1609Dot2BaseTypes.md b/docs/Ieee1609Dot2BaseTypes.md index 0a9ce10..87b223d 100644 --- a/docs/Ieee1609Dot2BaseTypes.md +++ b/docs/Ieee1609Dot2BaseTypes.md @@ -206,7 +206,9 @@ Time64 ::= Uint64 ### This type gives the validity period of a certificate. The start of the validity period is given by start and the end is given by start + duration. - + +* _start_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32)
+* _duration_ of type [**Duration**](#Duration)
```asn1 ValidityPeriod ::= SEQUENCE { start Time32, @@ -219,10 +221,19 @@ ValidityPeriod ::= SEQUENCE { by the indicated choice. A year is considered to be 31556952 seconds, which is the average number of seconds in a year. +* _microseconds_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
+* _milliseconds_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
+* _seconds_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
+* _minutes_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
+* _hours_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
+* _sixtyHours_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
+* _years_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
+ >>> NOTE: Years can be mapped more closely to wall-clock days using the hours choice for up to 7 years and the sixtyHours choice for up to 448 years. >>> + ```asn1 Duration ::= CHOICE { microseconds Uint16, @@ -280,6 +291,7 @@ NOTE: Critical information fields: that its validity cannot be established. A conformant implementation shall support identifiedRegion fields containing at least eight entries. >>> + ```asn1 GeographicRegion ::= CHOICE { circularRegion CircularRegion, @@ -297,7 +309,9 @@ GeographicRegion ::= CHOICE { is less than or equal to the radius. A point which contains an elevation component is considered to be within the circular region if its horizontal projection onto the reference ellipsoid lies within the region. - + +* _center_ of type [**TwoDLocation**](#TwoDLocation)
+* _radius_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
```asn1 CircularRegion ::= SEQUENCE { center TwoDLocation, @@ -356,6 +370,7 @@ NOTE: Critical information fields: If present, this is a critical implementation shall support PolygonalRegions containing at least eight TwoDLocation entries. >>> + ```asn1 PolygonalRegion ::= SEQUENCE SIZE (3..MAX) OF TwoDLocation ``` @@ -364,6 +379,9 @@ PolygonalRegion ::= SEQUENCE SIZE (3..MAX) OF TwoDLocation certificates. The latitude and longitude fields contain the latitude and longitude as defined above. +* _latitude_ of type [**Latitude**](#Latitude)
+* _longitude_ of type [**Longitude**](#Longitude)
+ >>> NOTE: This data structure is consistent with the location encoding used in SAE J2735, except that values 900 000 001 for latitude (used to @@ -371,6 +389,7 @@ NOTE: This data structure is consistent with the location encoding longitude (used to indicate that the longitude was not available) are not valid. >>> + ```asn1 TwoDLocation ::= SEQUENCE { latitude Latitude, @@ -625,11 +644,16 @@ SequenceOfRegionAndSubregions ::= SEQUENCE OF RegionAndSubregions ### This structure contains an estimate of 3D location. The details of the structure are given in the definitions of the individual fields below. +* _latitude_ of type [**Latitude**](#Latitude)
+* _longitude_ of type [**Longitude**](#Longitude)
+* _elevation_ of type [**Elevation**](#Elevation)
+ >>> NOTE: The units used in this data structure are consistent with the location data structures used in SAE J2735 [B26], though the encoding is incompatible. >>> + ```asn1 ThreeDLocation ::= SEQUENCE { latitude Latitude, @@ -672,7 +696,11 @@ Elevation ::= Uint16 ### The integer in the latitude field is no more than 900,000,000 and no less than -900,000,000, except that the value 900,000,001 is used to indicate the latitude was not available to the sender. - + +Values: +* **min** (-900000000)
+* **max** (900000000)
+* **unknown** (900000001)
```asn1 NinetyDegreeInt ::= INTEGER { min (-900000000), @@ -698,7 +726,11 @@ UnknownLatitude ::= NinetyDegreeInt (unknown) ### The integer in the longitude field is no more than 1,800,000,000 and no less than -1,799,999,999, except that the value 1,800,000,001 is used to indicate that the longitude was not available to the sender. - + +Values: +* **min** (-1799999999)
+* **max** (1800000000)
+* **unknown** (1800000001)
```asn1 OneEightyDegreeInt ::= INTEGER { min (-1799999999), @@ -724,12 +756,19 @@ UnknownLongitude ::= OneEightyDegreeInt (unknown) ### This structure represents a signature for a supported public key algorithm. It may be contained within SignedData or Certificate. +* _ecdsaNistP256Signature_ of type [**EcdsaP256Signature**](#EcdsaP256Signature)
+* _ecdsaBrainpoolP256r1Signature_ of type [**EcdsaP256Signature**](#EcdsaP256Signature)
+* _ecdsaBrainpoolP384r1Signature_ of type [**EcdsaP384Signature**](#EcdsaP384Signature)
+* _ecdsaNistP384Signature_ of type [**EcdsaP384Signature**](#EcdsaP384Signature)
+* _sm2Signature_ of type [**EcsigP256Signature**](#EcsigP256Signature)
+ >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2. The canonicalization applies to instances of this data structure of form EcdsaP256Signature and EcdsaP384Signature. >>> + ```asn1 Signature ::= CHOICE { ecdsaNistP256Signature EcdsaP256Signature, @@ -762,6 +801,9 @@ If the signature process followed the specification of FIPS 186-4 - p = A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377 - n = A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7 +* _rSig_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
+* _sSig_ of type **OCTET STRING** (SIZE (32))
+ >>> NOTE: When the signature is of form x-only, the x-value in rSig is an integer mod n, the order of the group; when the signature is of form @@ -776,6 +818,7 @@ NOTE: When the signature is of form x-only, the x-value in rSig is 256-bit curves in this standard, the exact values of n and p in hexadecimal are: >>> + ```asn1 EcdsaP256Signature ::= SEQUENCE { rSig EccP256CurvePoint, @@ -794,6 +837,9 @@ If the signature process followed the specification of FIPS 186-4 represented as an EccP384CurvePoint indicating the choice compressed-y-0, compressed-y-1, or uncompressed at the sender's discretion. +* _rSig_ of type [**EccP384CurvePoint**](#EccP384CurvePoint)
+* _sSig_ of type **OCTET STRING** (SIZE (48))
+ >>> NOTE: When the signature is of form x-only, the x-value in rSig is an integer mod n, the order of the group; when the signature is of form @@ -811,6 +857,7 @@ NOTE: When the signature is of form x-only, the x-value in rSig is - n = 8CB91E82A3386D280F5D6F7E50E641DF152F7109ED5456B31F166E6CAC0425A7 CF3AB6AF6B7FC3103B883202E9046565 >>> + ```asn1 EcdsaP384Signature ::= SEQUENCE { rSig EccP384CurvePoint, @@ -821,7 +868,9 @@ EcdsaP384Signature ::= SEQUENCE { ### This structure represents a elliptic curve signature where the component r is constrained to be an integer. This structure supports SM2 signatures as specified in 5.3.1.3. - + +* _rSig_ of type **OCTET STRING** (SIZE (32))
+* _sSig_ of type **OCTET STRING** (SIZE (32))
```asn1 EcsigP256Signature ::= SEQUENCE { rSig OCTET STRING (SIZE (32)), @@ -845,6 +894,13 @@ EcsigP256Signature ::= SEQUENCE { value compressed-y-1. If the point is uncompressed, y is encoded explicitly as an unsigned integer of length 32 octets in network byte order. +* _x-only_ of type **OCTET STRING** (SIZE (32))
+* _fill_ of type **NULL**
+* _compressed-y-0_ of type **OCTET STRING** (SIZE (32))
+* _compressed-y-1_ of type **OCTET STRING** (SIZE (32))
+* _x_ of type **OCTET STRING** (SIZE (32))
+* _y_ of type **OCTET STRING** (SIZE (32))
+ >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2 if it appears in a @@ -852,6 +908,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization and ToBeSignedCertificate for a specification of the canonicalization operations. >>> + ```asn1 EccP256CurvePoint::= CHOICE { x-only OCTET STRING (SIZE (32)), @@ -880,6 +937,13 @@ EccP256CurvePoint::= CHOICE { value compressed-y-1. If the point is uncompressed, y is encoded explicitly as an unsigned integer of length 48 octets in network byte order. +* _x-only_ of type **OCTET STRING** (SIZE (48))
+* _fill_ of type **NULL**
+* _compressed-y-0_ of type **OCTET STRING** (SIZE (48))
+* _compressed-y-1_ of type **OCTET STRING** (SIZE (48))
+* _x_ of type **OCTET STRING** (SIZE (48))
+* _y_ of type **OCTET STRING** (SIZE (48))
+ >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2 if it appears in a @@ -887,6 +951,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization and ToBeSignedCertificate for a specification of the canonicalization operations. >>> + ```asn1 EccP384CurvePoint::= CHOICE { x-only OCTET STRING (SIZE (48)), @@ -926,6 +991,7 @@ NOTE: Critical information fields: This is a critical information field as indicate that the signed SPDU is invalid in the sense of 4.2.2.3.2, that is, it is invalid in the sense that its validity cannot be established. >>> + ```asn1 HashAlgorithm ::= ENUMERATED { sha256, @@ -996,6 +1062,9 @@ EcencP256EncryptedKey ::= SEQUENCE { ### This structure contains an encryption key, which may be a public or a symmetric key. +* _public_ of type [**PublicEncryptionKey**](Ieee1609Dot2BaseTypes.md#PublicEncryptionKey)
+* _symmetric_ of type [**SymmetricEncryptionKey**](Ieee1609Dot2BaseTypes.md#SymmetricEncryptionKey)
+ >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2 if it appears in a @@ -1004,6 +1073,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization ToBeSignedCertificate for a specification of the canonicalization operations. >>> + ```asn1 EncryptionKey ::= CHOICE { public PublicEncryptionKey, @@ -1015,6 +1085,9 @@ EncryptionKey ::= CHOICE { symmetric algorithm which is used for bulk data encryption when encrypting for that public key. +* _supportedSymmAlg_ of type [**SymmAlgorithm**](#SymmAlgorithm)
+* _publicKey_ of type [**BasePublicEncryptionKey**](#BasePublicEncryptionKey)
+ >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2 if it appears in a @@ -1023,6 +1096,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization ToBeSignedCertificate for a specification of the canonicalization operations. >>> + ```asn1 PublicEncryptionKey ::= SEQUENCE { supportedSymmAlg SymmAlgorithm, @@ -1034,6 +1108,10 @@ PublicEncryptionKey ::= SEQUENCE { a particular algorithm. Supported public key encryption algorithms are defined in 5.3.5. +* _eciesNistP256_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
+* _eciesBrainpoolP256r1_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
+* _ecencSm2_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
+ >>> NOTE: Canonicalization: This data structure is subject to canonicalization for the relevant operations specified in 6.1.2 if it appears in a @@ -1041,6 +1119,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization and ToBeSignedCertificate for a specification of the canonicalization operations. >>> + ```asn1 BasePublicEncryptionKey ::= CHOICE { eciesNistP256 EccP256CurvePoint, @@ -1054,7 +1133,13 @@ BasePublicEncryptionKey ::= CHOICE { algorithm the public key is to be used. Cryptographic mechanisms are defined in 5.3. An EccP256CurvePoint or EccP384CurvePoint within a PublicVerificationKey - structure is invalid if it indicates the choice x-only. + structure is invalid if it indicates the choice x-only. + +* _ecdsaNistP256_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
+* _ecdsaBrainpoolP256r1_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
+* _ecdsaBrainpoolP384r1_ of type [**EccP384CurvePoint**](#EccP384CurvePoint)
+* _ecdsaNistP384_ of type [**EccP384CurvePoint**](#EccP384CurvePoint)
+* _ecsigSm2_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
>>> NOTE: Canonicalization: This data structure is subject to canonicalization @@ -1063,6 +1148,7 @@ NOTE: Canonicalization: This data structure is subject to canonicalization point are encoded in compressed form, i.e., such that the choice indicated within the Ecc*CurvePoint is compressed-y-0 or compressed-y-1. >>> + ```asn1 PublicVerificationKey ::= CHOICE { ecdsaNistP256 EccP256CurvePoint, @@ -1077,7 +1163,9 @@ PublicVerificationKey ::= CHOICE { ### This structure provides the key bytes for use with an identified symmetric algorithm. The supported symmetric algorithms are AES-128 and SM4 in CCM mode as specified in 5.3.8. - + +* _aes128Ccm_ of type **OCTET STRING** (SIZE(16))
+* _sm4Ccm_ of type **OCTET STRING** (SIZE(16))
```asn1 SymmetricEncryptionKey ::= CHOICE { aes128Ccm OCTET STRING(SIZE(16)), @@ -1092,6 +1180,9 @@ SymmetricEncryptionKey ::= CHOICE { For consistency rules for other forms of the ssp field, see the following subclauses. +* _psid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid)
+* _ssp_ of type [**ServiceSpecificPermissions**](Ieee1609Dot2BaseTypes.md#ServiceSpecificPermissions) OPTIONAL
+ >>> NOTE: Consistency with issuing certificate: If a certificate has an appPermissions entry A for which the ssp field is omitted, A is consistent @@ -1103,6 +1194,7 @@ NOTE: Consistency with issuing certificate: If a certificate has an - The sspRange field in P indicates opaque and one of the entries in opaque is an OCTET STRING of length 0. >>> + ```asn1 PsidSsp ::= SEQUENCE { psid Psid, @@ -1136,6 +1228,9 @@ SequenceOfPsid ::= SEQUENCE OF Psid For consistency rules for other types of ServiceSpecificPermissions, see the following subclauses. +* _opaque_ of type **OCTET STRING** (SIZE(0..MAX))
+* _bitmapSsp_ of type [**BitmapSsp**](#BitmapSsp)
+ >>> NOTE: Consistency with issuing certificate: If a certificate has an appPermissions entry A for which the ssp field is opaque, A is consistent @@ -1151,6 +1246,7 @@ NOTE: Consistency with issuing certificate: If a certificate has an the opaque field in P is an OCTET STRING identical to the opaque field in A. >>> + ```asn1 ServiceSpecificPermissions ::= CHOICE { opaque OCTET STRING (SIZE(0..MAX)), @@ -1172,6 +1268,7 @@ NOTE: A BitmapSsp B is consistent with a BitmapSspRange R if for every set to 0 in the sspBitmask in R, the value of corresponding bit in the identical position in B has no bearing on whether B and R are consistent. >>> + ```asn1 BitmapSsp ::= OCTET STRING (SIZE(0..31)) ``` @@ -1215,11 +1312,16 @@ If a certificate has a PsidSspRange A for which the ssp field is all, For consistency rules for other types of SspRange, see the following subclauses. +* _opaque_ of type [**SequenceOfOctetString**](#SequenceOfOctetString)
+* _all_ of type **NULL**
+* _bitmapSspRange_ of type [**BitmapSspRange**](#BitmapSspRange)
+ >>> NOTE: The choice "all" may also be indicated by omitting the SspRange in the enclosing PsidSspRange structure. Omitting the SspRange is preferred to explicitly indicating "all". >>> + ```asn1 SspRange ::= CHOICE { opaque SequenceOfOctetString, @@ -1235,6 +1337,9 @@ SspRange ::= CHOICE { sspValue and sspBitmask fields shall be of the same length. Reference ETSI TS 103 097 for more information on bitmask SSPs. +* _sspValue_ of type **OCTET STRING** (SIZE(1..32))
+* _sspBitmask_ of type **OCTET STRING** (SIZE(1..32))
+ >>> NOTE: Consistency with issuing certificate: If a certificate has an PsidSspRange value P for which the sspRange field is bitmapSspRange, @@ -1253,6 +1358,7 @@ NOTE: Consistency with issuing certificate: If a certificate has an - The bit in the identical position in the sspValue in P is set equal to the bit in that position in the sspValue in R. >>> + ```asn1 BitmapSspRange ::= SEQUENCE { sspValue OCTET STRING (SIZE(1..32)), @@ -1288,6 +1394,7 @@ NOTE: This field was originally specified in ETSI TS 103 097 and future uses of this field are anticipated to be consistent with future versions of that standard. >>> + ```asn1 SubjectAssurance ::= OCTET STRING (SIZE(1)) ``` @@ -1321,7 +1428,9 @@ LinkageValue ::= OCTET STRING (SIZE(9)) ### This is the group linkage value. See 5.1.3 and 7.3 for details of use. - + +* _jValue_ of type **OCTET STRING** (SIZE(4))
+* _value_ of type **OCTET STRING** (SIZE(9))
```asn1 GroupLinkageValue ::= SEQUENCE { jValue OCTET STRING (SIZE(4)), @@ -1353,7 +1462,8 @@ LinkageSeed ::= OCTET STRING (SIZE(16)) information about a set of certificate extensions that are associated with each other: an AppExtension, a CertIssueExtension, and a CertRequestExtension. - + +* _id_ of type [**ExtId**](Ieee1609Dot2BaseTypes.md#ExtId)
```asn1 CERT-EXT-TYPE ::= CLASS { &id ExtId, @@ -1365,8 +1475,10 @@ CERT-EXT-TYPE ::= CLASS { ### This parameterized type represents a (id, content) pair drawn from the set ExtensionTypes, which is constrained to contain objects defined by - the class EXT-TYPE. - + the class EXT-TYPE. + +* _id_ of type [**EXT-TYPE**](Ieee1609Dot2BaseTypes.md#EXT-TYPE) .&extId({ExtensionTypes})
+* _content_ of type [**EXT-TYPE**](Ieee1609Dot2BaseTypes.md#EXT-TYPE) .&ExtContent({ExtensionTypes}{@.id})
```asn1 Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE { id EXT-TYPE.&extId({ExtensionTypes}), @@ -1376,7 +1488,8 @@ Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE { ### This class defines objects in a form suitable for import into the definition of HeaderInfo. - + +* _extId_ of type [**ExtId**](Ieee1609Dot2BaseTypes.md#ExtId)
```asn1 EXT-TYPE ::= CLASS { &extId ExtId, -- GitLab From 822af94f3e4d2d2b9574b0b1b62992f432424661 Mon Sep 17 00:00:00 2001 From: loncb Date: Fri, 26 Jan 2024 12:25:29 +0000 Subject: [PATCH 02/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 152 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 148 insertions(+), 4 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index cce2064..1308bed 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -1,14 +1,158 @@ 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)} + major-version-1(1) minor-version-1(1)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN EXPORTS ALL; -/** - * This data type is defined as NULL for version 0 of this file. +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-RoadTypeIncWithTrafficJamAhead, + obs-PathChangeInMultipleRepetitions, + obs-EeblMissingLocationInformation, + obs-EeblIncWithOtherVehiclesSpeed + FROM EtsiTs103759CommonObservations {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-2(2)} + 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 +; + + /* This data type is for reporting DENM issues. */ +AsrDenm ::= TemplateAsr {{SetMbObsTgtsDenm}, {SetMbEvDenm}} + + /* Identify target classes for DENM */ +IdDenmTgt ::= Uint8 + +c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 +c-DenmTgt-StaticCommon IdDenmTgt ::= 1 +c-DenmTgt-SecurityCommon IdDenmTgt ::= 2 +c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 3 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 4 + +SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { + obs-Beacon-IntervalTooSmall, + ... +} + +SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { + obs-Static-Change, + ... +} + +SetMbObsDenmSecurity 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, + ... +} + +SetMbObsDenmTrafficJam-TrafficJamAhead C-ASR-SINGLE-OBS ::= { + obs-RoadTypeIncWithTrafficJamAhead | + obs-PathChangeInMultipleRepetitions, + ... +} + +SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { + obs-EeblMissingLocationInformation | + obs-EeblIncWithOtherVehiclesSpeed, + ... +} + +/* +* This is a (sub)set of observations for DENM Use Cases specified in TS 103 759 Annex D.2 (see table D.3). Application-specific +* trigger conditions and other relevant information are specified below. +* +* - _SetMbObsDenmBeacon_: +* - `Beacon-IntervalTooSmall`: The difference between the generation + * time of two consecutive DENMs is less than 80% of the value specified in TS + * 103 900831 v2.1.1 section 6.1.3. The difference is calculated as the difference + * between the two values of generationDeltaTime. The two DENMs 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 DENM 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. +* +* - _SetMbObsDenmStatic_: +* - `Static-Change`: Any change in the values of one or more of the following fields which happens +* during the repetition of the same traffic event (same actionId and referenceTime) +* transmitted by the same ITS station (stationId): stationType and eventPosition in the Management Container, eventType and informationQuality in the Situation Container. +* - `Semantics of the BIT STRING`: stationType(0), eventPosition(1), eventType(2), informationQuality(3). +* +* - _SetMbObsDenmSecurity_ +* The same specification applies as for the set of observations of SetMbObsCamSecurity defined in +* the EtsiTs103759AsrCam module. +* +* - _SetMbObs_DenmTrafficJam-TrafficJamAhead_: +* - `obs-RoadTypeIncWithTrafficJamAhead`: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value +* nonUrban-NoStructuralSeparationToOppositeLanes (2), +* nonUrban-WithStructuralSeparationToOppositeLanes (3)). +* +* - `obs-PathChangeInMultipleEventRepetitions`: The pathPositions contained in the path field of multiple repeated TrafficJamAhead events +* with the same reporting ITS-S, same actionId and same referenceTime are not identical. +* +* - _SetMbObs_DenmDangerousSituation-Eebl_: +* - `obs-EeblMissingLocationInformation`: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, traces. +* +* - `obs-EeblIncWithOtherVehiclesSpeed`: the speed values of all CAMs sent by ITS-S stations of stationType =passengerCar(5) in the circular area with center point +* equal to eventPosition and radius equal to 200 m (urban road) or equal to 100m (non-urban or unkwown) +* are all higher than the eventSpeed in the DENM. +*/ +SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { + {MbSingleObservation{{SetMbObsDenmBeacon}} BY + c-DenmTgt-BeaconCommon} | + {MbSingleObservation{{SetMbObsDenmStatic}} BY + c-DenmTgt-StaticCommon} | + {MbSingleObservation{{SetMbObsDenmSecurity}} BY + c-DenmTgt-SecurityCommon} | + {MbSingleObservation{{SetMbObsDenmTrafficJam-TrafficJamAhead}} BY + c-DenmTgt-TrafficJam-TrafficJamAhead} | + {MbSingleObservation{{SetMbObsDenmDangerousSituation-Eebl}} BY + c-DenmTgt-DangerousSituation-Eebl} + , + ... +} + +/* + * This data type defines the IOS for DENM Evidence. */ -AsrDenm ::= NULL +SetMbEvDenm C-ASR-EV ::= { + ... +} + + +/* This data type is defined as NULL for version 0 of this file. +* AsrDenm ::= NULL +*/ END \ No newline at end of file -- GitLab From 39f698b459d6eb2c08cc5439e5c8b08a416443ef Mon Sep 17 00:00:00 2001 From: loncb Date: Fri, 26 Jan 2024 13:37:40 +0000 Subject: [PATCH 03/37] Replace EtsiTs103759CommonObservations.asn --- EtsiTs103759CommonObservations.asn | 99 +++++++++++++++++++++++++++++- 1 file changed, 97 insertions(+), 2 deletions(-) diff --git a/EtsiTs103759CommonObservations.asn b/EtsiTs103759CommonObservations.asn index 6728b67..140553c 100644 --- a/EtsiTs103759CommonObservations.asn +++ b/EtsiTs103759CommonObservations.asn @@ -1,7 +1,7 @@ --! @options: no-auto-fields EtsiTs103759CommonObservations {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)} + major-version-1(1) minor-version-2(2)} DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -411,4 +411,99 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { LongAcc-ValueTooLarge BY c-ObsLongAcc-ValueTooLarge } -END \ No newline at end of file + +-- ******************************************************************************** +-- Traffic Jam - Traffic Jam Ahead +/* + * This data type is provided for an observation of a road type inconsistent with + * the detected TrafficJam-TrafficJamAhead event + * + * - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to + * the PDU whose road type information is inconsistent with the + * detected event (Traffic Jam Ahead). + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included + * to support this observation. + */ +TrafficJam-RoadTypeIncWithTrafficJamAhead ::= NULL +-- IDs +c-ObsRoadTypeIncWithTrafficJamAhead IdMbObs::= 1 -- Class 1 +-- Individual Information Objects +obs-RoadTypeIncWithTrafficJamAhead C-ASR-SINGLE-OBS ::= + {TrafficJam-RoadTypeIncWithTrafficJamAhead BY c-ObsRoadTypeIncWithTrafficJamAhead} + + /* * This data type is provided for an observation of eventPoints in the path field which are not identical +* in at least two successive TrafficJam-TrafficJamAhead DENM messages. + * + * - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to + * the PDU whose Path field is not containing the same eventPoints as the Path + * field in the previous PDU. + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included + * to support this observation.*/ + + TrafficJam-PathChangeInMultipleRepetitions ::= NULL + -- IDs + c-ObsPathChangeInMultipleRepetitions IdMbObs::= 2 -- Class 2 + -- Individual Information Objects + obs-PathChangeInMultipleRepetitions C-ASR-SINGLE-OBS ::= + {TrafficJam-PathChangeInMultipleRepetitions BY c-ObsPathChangeInMultipleRepetitions} + + -- ******************************************************************************** +-- Dangerous Situation - EEBL issues +/* This data type is provided for an observation of an Eebl event which does not provide +mandatory location information (eventSpeed, eventPositionHeading, traces). +* - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to + * the PDU whose location information is missing. + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included + * to support this observation. + */ + +Eebl-MissingLocationInformation ::= NULL +-- IDs +c-ObsEebl-MissingLocationInformation IdMbObs::= 1 -- Class 1 +-- Individual Information Objects +obs-EeblMissingLocationInformation C-ASR-SINGLE-OBS ::= + {Eebl-MissingLocationInformation BY c-ObsEebl-MissingLocationInformation} + +/* This data type is provided for an observation of an Eebl event which is inconsistency with the speed values +* of surrounding vehicles within a circular area with center point +* equal to eventPosition and radius equal to 200 m (non urban road) or 100 m at the moment of the event detection. + +* - `v2xPduEvidence`: This field must contain at least , two entries, v2xPduEvidence[0] and v2xPduEvidence[1]. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to +* the DENM PDU signalling the EEBL event. +* The `v2xPdus` field in that entry must contain at least the subject PDU. +* The PDU shall be of type `ObsPduEtsiGn`. +* All the entries v2xPduEvidence[1] to v2xPduEvidence[n] shall contain the CAM of a ITS stations of type vehicle included in the circular area. +* For v2xPduEvidence[1] to v2xPduEvidence[n], the `v2xPdus` field in that entry must contain at least the subject PDU +* and the subjectPduIndex is 0. +* The PDU may be of any supported type and shall be of type +* `c-MbObsMsg-ieee1609Dot2Data` unless another observation included in the +* same report requires a different PDU type. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included +* to support this observation. */ + + Eebl-IncWithOtherVehiclesSpeed ::= NULL +-- IDs +c-ObsEeblIncWithOtherVehiclesSpeed IdMbObs::= 2 -- Class 5 +-- Individual Information Objects +obs-EeblIncWithOtherVehiclesSpeed C-ASR-SINGLE-OBS ::= + {Eebl-IncWithOtherVehiclesSpeed BY c-ObsEeblIncWithOtherVehiclesSpeed} + + END \ No newline at end of file -- GitLab From 53e8067e4452855eb6addb205a42ea0b0524547b Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Fri, 26 Jan 2024 13:37:54 +0000 Subject: [PATCH 04/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 109 ++++++++++++++++++++++++- docs/EtsiTs103759CommonObservations.md | 34 +++++++- 2 files changed, 139 insertions(+), 4 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index 92a8aeb..addc022 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -1,11 +1,114 @@ # ASN.1 module EtsiTs103759AsrDenm -OID: _{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)}_ +OID: _{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-1(1)}_ +## Imports: +* **[EtsiTs103759BaseTypes](EtsiTs103759BaseTypes.md)** *{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*
+* **[EtsiTs103759CommonObservations](EtsiTs103759CommonObservations.md)** *{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-2(2)} WITH SUCCESSORS*
+* **[Ieee1609Dot2BaseTypes](Ieee1609Dot2BaseTypes.md)** *{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*
## Data Elements: ### AsrDenm -This data type is defined as NULL for version 0 of this file. ```asn1 -AsrDenm ::= NULL +AsrDenm ::= TemplateAsr {{SetMbObsTgtsDenm}, {SetMbEvDenm}} +``` + +### IdDenmTgt +```asn1 +IdDenmTgt ::= Uint8 +``` + +```asn1 +c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 +c-DenmTgt-StaticCommon IdDenmTgt ::= 1 +c-DenmTgt-SecurityCommon IdDenmTgt ::= 2 +c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 3 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 4 +``` + +### SetMbObsDenmBeacon +```asn1 +SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { + obs-Beacon-IntervalTooSmall, + ... +} +``` + +### SetMbObsDenmStatic +```asn1 +SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { + obs-Static-Change, + ... +} +``` + +### SetMbObsDenmSecurity + +Values: +* **obs-Security-MessageIdIncWithHeaderInfo** |
+* **obs-Security-HeaderIncWithSecurityProfile** |
+* **obs-Security-HeaderPsidIncWithCertificate** |
+* **obs-Security-MessageIncWithSsp** |
+* **obs-Security-HeaderTimeOutsideCertificateValidity** |
+* **obs-Security-MessageLocationOutsideCertificateValidity** |
+```asn1 +SetMbObsDenmSecurity 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, + ... +} +``` + +### SetMbObsDenmTrafficJam-TrafficJamAhead + +Values: +* **obs-RoadTypeIncWithTrafficJamAhead** |
+```asn1 +SetMbObsDenmTrafficJam-TrafficJamAhead C-ASR-SINGLE-OBS ::= { + obs-RoadTypeIncWithTrafficJamAhead | + obs-PathChangeInMultipleRepetitions, + ... +} +``` + +### SetMbObsDenmDangerousSituation-Eebl + +Values: +* **obs-EeblMissingLocationInformation** |
+```asn1 +SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { + obs-EeblMissingLocationInformation | + obs-EeblIncWithOtherVehiclesSpeed, + ... +} +``` + +### SetMbObsTgtsDenm +```asn1 +SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { + {MbSingleObservation{{SetMbObsDenmBeacon}} BY + c-DenmTgt-BeaconCommon} | + {MbSingleObservation{{SetMbObsDenmStatic}} BY + c-DenmTgt-StaticCommon} | + {MbSingleObservation{{SetMbObsDenmSecurity}} BY + c-DenmTgt-SecurityCommon} | + {MbSingleObservation{{SetMbObsDenmTrafficJam-TrafficJamAhead}} BY + c-DenmTgt-TrafficJam-TrafficJamAhead} | + {MbSingleObservation{{SetMbObsDenmDangerousSituation-Eebl}} BY + c-DenmTgt-DangerousSituation-Eebl} + , + ... +} +``` + +### SetMbEvDenm +```asn1 +SetMbEvDenm C-ASR-EV ::= { + ... +} ``` diff --git a/docs/EtsiTs103759CommonObservations.md b/docs/EtsiTs103759CommonObservations.md index 8a6e1b7..fed41c9 100644 --- a/docs/EtsiTs103759CommonObservations.md +++ b/docs/EtsiTs103759CommonObservations.md @@ -1,5 +1,5 @@ # ASN.1 module EtsiTs103759CommonObservations -OID: _{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)}_ +OID: _{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-2(2)}_ ## Imports: * **[EtsiTs103759BaseTypes](EtsiTs103759BaseTypes.md)** *{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*
@@ -362,5 +362,37 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { } ``` +### TrafficJam-RoadTypeIncWithTrafficJamAhead +```asn1 +TrafficJam-RoadTypeIncWithTrafficJamAhead ::= NULL +c-ObsRoadTypeIncWithTrafficJamAhead IdMbObs::= 1 +obs-RoadTypeIncWithTrafficJamAhead C-ASR-SINGLE-OBS ::= + {TrafficJam-RoadTypeIncWithTrafficJamAhead BY c-ObsRoadTypeIncWithTrafficJamAhead} +``` + +### TrafficJam-PathChangeInMultipleRepetitions +```asn1 +TrafficJam-PathChangeInMultipleRepetitions ::= NULL + c-ObsPathChangeInMultipleRepetitions IdMbObs::= 2 + obs-PathChangeInMultipleRepetitions C-ASR-SINGLE-OBS ::= + {TrafficJam-PathChangeInMultipleRepetitions BY c-ObsPathChangeInMultipleRepetitions} +``` + +### Eebl-MissingLocationInformation +```asn1 +Eebl-MissingLocationInformation ::= NULL +c-ObsEebl-MissingLocationInformation IdMbObs::= 1 +obs-EeblMissingLocationInformation C-ASR-SINGLE-OBS ::= + {Eebl-MissingLocationInformation BY c-ObsEebl-MissingLocationInformation} +``` + +### Eebl-IncWithOtherVehiclesSpeed +```asn1 +Eebl-IncWithOtherVehiclesSpeed ::= NULL +c-ObsEeblIncWithOtherVehiclesSpeed IdMbObs::= 2 +obs-EeblIncWithOtherVehiclesSpeed C-ASR-SINGLE-OBS ::= + {Eebl-IncWithOtherVehiclesSpeed BY c-ObsEeblIncWithOtherVehiclesSpeed} +``` + -- GitLab From 75ec8462b816e2c91953c8749f797b122a74b99c Mon Sep 17 00:00:00 2001 From: loncb Date: Mon, 5 Feb 2024 15:15:22 +0000 Subject: [PATCH 05/37] Replace EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 22 ++++------------------ 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 1308bed..b15615d 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -91,21 +91,12 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * trigger conditions and other relevant information are specified below. * * - _SetMbObsDenmBeacon_: -* - `Beacon-IntervalTooSmall`: The difference between the generation - * time of two consecutive DENMs is less than 80% of the value specified in TS - * 103 900831 v2.1.1 section 6.1.3. The difference is calculated as the difference - * between the two values of generationDeltaTime. The two DENMs 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 DENM 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. -* +* - `Beacon-IntervalTooSmall`: The interval between two consecutive DENMs related to the same traffic event (same actionId and detectionTime) +* transmitted by the same ITS station (same stationId) is lower than the minimum threshhold value (100 ms). +* * - _SetMbObsDenmStatic_: * - `Static-Change`: Any change in the values of one or more of the following fields which happens -* during the repetition of the same traffic event (same actionId and referenceTime) +* during the repetition of the same traffic event (same actionId and detectionTime) * transmitted by the same ITS station (stationId): stationType and eventPosition in the Management Container, eventType and informationQuality in the Situation Container. * - `Semantics of the BIT STRING`: stationType(0), eventPosition(1), eventType(2), informationQuality(3). * @@ -150,9 +141,4 @@ SetMbEvDenm C-ASR-EV ::= { ... } - -/* This data type is defined as NULL for version 0 of this file. -* AsrDenm ::= NULL -*/ - END \ No newline at end of file -- GitLab From cadf37024a8c98c60808399b2e7ff3dbcb113d40 Mon Sep 17 00:00:00 2001 From: loncb Date: Fri, 9 Feb 2024 14:31:00 +0000 Subject: [PATCH 06/37] Replace EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index b15615d..b108c0e 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -18,6 +18,7 @@ minor-version-1 (1)} WITH SUCCESSORS obs-Beacon-IntervalTooSmall, obs-Static-Change, + obs-DirectionNotUpstream, obs-Security-MessageIdIncWithHeaderInfo, obs-Security-HeaderIncWithSecurityProfile, obs-Security-HeaderPsidIncWithCertificate, @@ -49,9 +50,11 @@ IdDenmTgt ::= Uint8 c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 c-DenmTgt-StaticCommon IdDenmTgt ::= 1 -c-DenmTgt-SecurityCommon IdDenmTgt ::= 2 -c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 3 -c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 4 +c-DenmTgt-IncDistanceAndTrafficDirection IdDenmTgt ::=2 +c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 +c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 4 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 5 + SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { obs-Beacon-IntervalTooSmall, @@ -63,6 +66,11 @@ SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { ... } +SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { + obs-DirectionNotUpstream, + ... +} + SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { obs-Security-MessageIdIncWithHeaderInfo | obs-Security-HeaderIncWithSecurityProfile | @@ -100,6 +108,10 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * transmitted by the same ITS station (stationId): stationType and eventPosition in the Management Container, eventType and informationQuality in the Situation Container. * - `Semantics of the BIT STRING`: stationType(0), eventPosition(1), eventType(2), informationQuality(3). * +* - _SetMbObsDenmIncDistanceAndTrafficDirection_: +* - 'obs-DirectionNotUpstream': The trafficDirection is inconsistent with the traffic direction specified as upstream direction in the use case (event type). +* This includes the following use cases: traffic jam — dangerous end of queue and traffic jam — traffic jam ahead. +* * - _SetMbObsDenmSecurity_ * The same specification applies as for the set of observations of SetMbObsCamSecurity defined in * the EtsiTs103759AsrCam module. @@ -109,21 +121,25 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * nonUrban-NoStructuralSeparationToOppositeLanes (2), * nonUrban-WithStructuralSeparationToOppositeLanes (3)). * -* - `obs-PathChangeInMultipleEventRepetitions`: The pathPositions contained in the path field of multiple repeated TrafficJamAhead events -* with the same reporting ITS-S, same actionId and same referenceTime are not identical. +* - `obs-PathChangeInMultipleEventRepetitions`: The pathPositions contained in the first Traces entry of multiple repeated TrafficJamAhead events +* with the same reporting ITS-S, same actionId and same detectionTime are not identical. * * - _SetMbObs_DenmDangerousSituation-Eebl_: -* - `obs-EeblMissingLocationInformation`: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, traces. +* - `obs-EeblMissingLocationInformation`: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, +* detectionZonesToEventPosition of type Traces. * * - `obs-EeblIncWithOtherVehiclesSpeed`: the speed values of all CAMs sent by ITS-S stations of stationType =passengerCar(5) in the circular area with center point * equal to eventPosition and radius equal to 200 m (urban road) or equal to 100m (non-urban or unkwown) * are all higher than the eventSpeed in the DENM. +* */ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsDenmBeacon}} BY c-DenmTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsDenmStatic}} BY c-DenmTgt-StaticCommon} | + {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY + c-DenmTgt-IncDistanceAndTrafficDirection} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | {MbSingleObservation{{SetMbObsDenmTrafficJam-TrafficJamAhead}} BY -- GitLab From 5ff49c94ba6da650901658d9d771f682f8133db2 Mon Sep 17 00:00:00 2001 From: loncb Date: Fri, 9 Feb 2024 14:32:59 +0000 Subject: [PATCH 07/37] Replace EtsiTs103759CommonObservations.asn --- EtsiTs103759CommonObservations.asn | 33 ++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/EtsiTs103759CommonObservations.asn b/EtsiTs103759CommonObservations.asn index 140553c..8f6e960 100644 --- a/EtsiTs103759CommonObservations.asn +++ b/EtsiTs103759CommonObservations.asn @@ -411,6 +411,26 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { LongAcc-ValueTooLarge BY c-ObsLongAcc-ValueTooLarge } +-- ******************************************************************************* +-- DENM generic misbehaviour detectors - Inconsistent awareness distance or traffic direction with specific Use case (Event type) +/* +* This data type is provided for an observation of an unplausible awareness distance or traffic direction in the management +* container in the DENM transmitted by the ITS-S. +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to +* the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included +* to support this observation. +*/ +DistanceAndTrafficDirection-DirectionNotUpstream ::= NULL +-- IDs +c-Obs-DirectionNotUpstream IdMbObs::=1 -- Class 1 +-- Individual Information Objects + obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= + {DistanceAndTrafficDirection-DirectionNotUpstream BY c-Obs-DirectionNotUpstream } + -- ******************************************************************************** -- Traffic Jam - Traffic Jam Ahead @@ -436,14 +456,15 @@ c-ObsRoadTypeIncWithTrafficJamAhead IdMbObs::= 1 -- Class 1 obs-RoadTypeIncWithTrafficJamAhead C-ASR-SINGLE-OBS ::= {TrafficJam-RoadTypeIncWithTrafficJamAhead BY c-ObsRoadTypeIncWithTrafficJamAhead} - /* * This data type is provided for an observation of eventPoints in the path field which are not identical -* in at least two successive TrafficJam-TrafficJamAhead DENM messages. + /* * This data type is provided for an observation of the pathPoints of the entry Traces[1] in the component detectionZonesToEventPosition + * which are not identical in two successive, repeated TrafficJam-TrafficJamAhead DENM messages, i.e. transmitted by the same stationId with the + * same actionId and same detectionTime. * * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` - * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to - * the PDU whose Path field is not containing the same eventPoints as the Path - * field in the previous PDU. + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[1] + * of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the + * first entry of traces in the previous PDU. * The `v2xPdus` field in that entry must contain at least the subject PDU. * The PDU shall be of type `ObsPduEtsiGn`. * @@ -460,7 +481,7 @@ obs-RoadTypeIncWithTrafficJamAhead C-ASR-SINGLE-OBS ::= -- ******************************************************************************** -- Dangerous Situation - EEBL issues /* This data type is provided for an observation of an Eebl event which does not provide -mandatory location information (eventSpeed, eventPositionHeading, traces). +* mandatory location information (eventSpeed, eventPositionHeading, traces). * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to -- GitLab From bd8ed2cb883c0c33d9acb5afe84e9be8b006c361 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Fri, 9 Feb 2024 14:33:26 +0000 Subject: [PATCH 08/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 17 ++++++++++++++--- docs/EtsiTs103759CommonObservations.md | 8 ++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index addc022..e40f095 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -19,9 +19,10 @@ IdDenmTgt ::= Uint8 ```asn1 c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 c-DenmTgt-StaticCommon IdDenmTgt ::= 1 -c-DenmTgt-SecurityCommon IdDenmTgt ::= 2 -c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 3 -c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 4 +c-DenmTgt-IncDistanceAndTrafficDirection IdDenmTgt ::=2 +c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 +c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 4 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 5 ``` ### SetMbObsDenmBeacon @@ -40,6 +41,14 @@ SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { } ``` +### SetMbObsDenmIncDistanceAndTrafficDirection +```asn1 +SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { + obs-DirectionNotUpstream, + ... +} +``` + ### SetMbObsDenmSecurity Values: @@ -93,6 +102,8 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { c-DenmTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsDenmStatic}} BY c-DenmTgt-StaticCommon} | + {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY + c-DenmTgt-IncDistanceAndTrafficDirection} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | {MbSingleObservation{{SetMbObsDenmTrafficJam-TrafficJamAhead}} BY diff --git a/docs/EtsiTs103759CommonObservations.md b/docs/EtsiTs103759CommonObservations.md index fed41c9..11aa755 100644 --- a/docs/EtsiTs103759CommonObservations.md +++ b/docs/EtsiTs103759CommonObservations.md @@ -362,6 +362,14 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { } ``` +### DistanceAndTrafficDirection-DirectionNotUpstream +```asn1 +DistanceAndTrafficDirection-DirectionNotUpstream ::= NULL +c-Obs-DirectionNotUpstream IdMbObs::=1 + obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= + {DistanceAndTrafficDirection-DirectionNotUpstream BY c-Obs-DirectionNotUpstream } +``` + ### TrafficJam-RoadTypeIncWithTrafficJamAhead ```asn1 TrafficJam-RoadTypeIncWithTrafficJamAhead ::= NULL -- GitLab From 4e3b8c3f560434e75d7dfaa1821a77f9f7a80f39 Mon Sep 17 00:00:00 2001 From: loncb Date: Tue, 27 Feb 2024 14:58:39 +0000 Subject: [PATCH 09/37] Update EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index b108c0e..153f9c9 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -99,8 +99,11 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * trigger conditions and other relevant information are specified below. * * - _SetMbObsDenmBeacon_: -* - `Beacon-IntervalTooSmall`: The interval between two consecutive DENMs related to the same traffic event (same actionId and detectionTime) -* transmitted by the same ITS station (same stationId) is lower than the minimum threshhold value (100 ms). +* - `Beacon-IntervalTooSmall`: The difference between the generation time of two consecutive DENMs related to the +* same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is +* less than 80% of the minimum threshold value specified in the list of Day1 uses case specified in TS 103 759 +* table D.3. The difference is calculated as the difference between the referenceTime in the second DENM and the +* referenceTime in the first DENM. * * - _SetMbObsDenmStatic_: * - `Static-Change`: Any change in the values of one or more of the following fields which happens @@ -157,4 +160,4 @@ SetMbEvDenm C-ASR-EV ::= { ... } -END \ No newline at end of file +END -- GitLab From 717c1bc5c854dd6ecb38cfc32fac3a31bb85eaa7 Mon Sep 17 00:00:00 2001 From: loncb Date: Mon, 18 Mar 2024 17:45:13 +0000 Subject: [PATCH 10/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 153f9c9..8665bf3 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -101,8 +101,9 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * - _SetMbObsDenmBeacon_: * - `Beacon-IntervalTooSmall`: The difference between the generation time of two consecutive DENMs related to the * same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is -* less than 80% of the minimum threshold value specified in the list of Day1 uses case specified in TS 103 759 -* table D.3. The difference is calculated as the difference between the referenceTime in the second DENM and the +* less than 80% of the minimum threshold value of the repetition interval for DENMs. This minimum threshold is set to 100 ms, +* considering the list of Day1 use cases referenced in ETSI TS 103 759 table D.3 specified in C2C-CC Basic System Profile [i.11] +* and C-Roads specifications [i.12]. The difference is calculated as the difference between the referenceTime in the second DENM and the * referenceTime in the first DENM. * * - _SetMbObsDenmStatic_: -- GitLab From c27cd8c6b7c80e28522d176f8a36413b85c985b5 Mon Sep 17 00:00:00 2001 From: loncb Date: Wed, 20 Mar 2024 14:16:00 +0000 Subject: [PATCH 11/37] Replace EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 43 ++++++++++++++++++++++++++++------------- 1 file changed, 30 insertions(+), 13 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 8665bf3..caef582 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -26,8 +26,11 @@ minor-version-1 (1)} WITH SUCCESSORS obs-Security-HeaderTimeOutsideCertificateValidity, obs-Security-MessageLocationOutsideCertificateValidity, obs-Security-HeaderLocationOutsideCertificateValidity, - obs-RoadTypeIncWithTrafficJamAhead, + obs-RoadTypeIncWithSuddenSpeedDrop, + obs-RoadTypeIncWithLocalSlowDown, obs-PathChangeInMultipleRepetitions, + obs-ValidityDurationIncWithLocalSlowDown, + obs-AwarenessDistanceIncWithLocalSlowDown, obs-EeblMissingLocationInformation, obs-EeblIncWithOtherVehiclesSpeed FROM EtsiTs103759CommonObservations {itu-t(0) identified-organization(4) @@ -52,8 +55,9 @@ c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 c-DenmTgt-StaticCommon IdDenmTgt ::= 1 c-DenmTgt-IncDistanceAndTrafficDirection IdDenmTgt ::=2 c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 -c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 4 -c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 5 +c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 4 +c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 5 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 6 SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { @@ -82,9 +86,17 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { ... } -SetMbObsDenmTrafficJam-TrafficJamAhead C-ASR-SINGLE-OBS ::= { - obs-RoadTypeIncWithTrafficJamAhead | - obs-PathChangeInMultipleRepetitions, + +SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { + obs-RoadTypeIncWithSuddenSpeedDrop, + ... +} + +SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { + obs-RoadTypeIncWithLocalSlowDown | + obs-PathChangeInMultipleRepetitions | + obs-ValidityDurationIncWithLocalSlowDown | + obs-AwarenessDistanceIncWithLocalSlowDown, ... } @@ -101,9 +113,8 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * - _SetMbObsDenmBeacon_: * - `Beacon-IntervalTooSmall`: The difference between the generation time of two consecutive DENMs related to the * same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is -* less than 80% of the minimum threshold value of the repetition interval for DENMs. This minimum threshold is set to 100 ms, -* considering the list of Day1 use cases referenced in ETSI TS 103 759 table D.3 specified in C2C-CC Basic System Profile [i.11] -* and C-Roads specifications [i.12]. The difference is calculated as the difference between the referenceTime in the second DENM and the +* less than 80% of the minimum threshold value specified in the list of Day1 uses case specified in TS 103 759 +* table D.3. The difference is calculated as the difference between the referenceTime in the second DENM and the * referenceTime in the first DENM. * * - _SetMbObsDenmStatic_: @@ -120,14 +131,18 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * The same specification applies as for the set of observations of SetMbObsCamSecurity defined in * the EtsiTs103759AsrCam module. * -* - _SetMbObs_DenmTrafficJam-TrafficJamAhead_: -* - `obs-RoadTypeIncWithTrafficJamAhead`: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value +* - _SetMbObs_DenmTrafficCondition-LocalSlowDown_: +* - `obs-RoadTypeIncWithLocalSlowDown`: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value * nonUrban-NoStructuralSeparationToOppositeLanes (2), * nonUrban-WithStructuralSeparationToOppositeLanes (3)). * * - `obs-PathChangeInMultipleEventRepetitions`: The pathPositions contained in the first Traces entry of multiple repeated TrafficJamAhead events * with the same reporting ITS-S, same actionId and same detectionTime are not identical. * +* - 'obs-ValidityDurationIncWithLocalSlowDown': The validity duration in the Management container of the DENM is not equal to 60s. +* +* - 'obs-DistanceIncWithLocalSlowDown': The awarenessDistance is not present or its value is not set to lessThan1000m (4). +* * - _SetMbObs_DenmDangerousSituation-Eebl_: * - `obs-EeblMissingLocationInformation`: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, * detectionZonesToEventPosition of type Traces. @@ -146,8 +161,10 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { c-DenmTgt-IncDistanceAndTrafficDirection} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | - {MbSingleObservation{{SetMbObsDenmTrafficJam-TrafficJamAhead}} BY - c-DenmTgt-TrafficJam-TrafficJamAhead} | + {MbSingleObservation{{SetMbObsDenmTrafficCondition-SuddenSpeedDrop}} BY + c-DenmTgt-TrafficCondition-SuddenSpeedDrop} | + {MbSingleObservation{{SetMbObsDenmTrafficCondition-LocalSlowDown}} BY + c-DenmTgt-TrafficCondition-LocalSlowDown} | {MbSingleObservation{{SetMbObsDenmDangerousSituation-Eebl}} BY c-DenmTgt-DangerousSituation-Eebl} , -- GitLab From a21b1ee38655ea3bd61df4b9c55cb9b15030af8a Mon Sep 17 00:00:00 2001 From: loncb Date: Wed, 20 Mar 2024 14:42:26 +0000 Subject: [PATCH 12/37] Replace EtsiTs103759CommonObservations.asn --- EtsiTs103759CommonObservations.asn | 86 ++++++++++++++++++++++++++---- 1 file changed, 75 insertions(+), 11 deletions(-) diff --git a/EtsiTs103759CommonObservations.asn b/EtsiTs103759CommonObservations.asn index 8f6e960..b1af898 100644 --- a/EtsiTs103759CommonObservations.asn +++ b/EtsiTs103759CommonObservations.asn @@ -431,33 +431,57 @@ c-Obs-DirectionNotUpstream IdMbObs::=1 -- Class 1 obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= {DistanceAndTrafficDirection-DirectionNotUpstream BY c-Obs-DirectionNotUpstream } +-- ******************************************************************************** +-- Traffic Condition - Sudden speed drop +/* +* This data type is provided for an observation of a road type inconsistent with + * the detected TrafficCondition - Sudden speed drop event +* + * - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to + * the PDU whose road type information is inconsistent with the + * detected event (Local slow down). + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included + * to support this observation. + */ + TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop ::= NULL + -- IDs + c-ObsRoadTypeIncWithSuddenSpeedDrop IdMbObs::= 1 -- Class 1 + -- Individual Information Objects + obs-RoadTypeIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= + {TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop BY c-ObsRoadTypeIncWithSuddenSpeedDrop} + -- ******************************************************************************** --- Traffic Jam - Traffic Jam Ahead +-- Traffic Condition - Local slow down /* * This data type is provided for an observation of a road type inconsistent with - * the detected TrafficJam-TrafficJamAhead event + * the detected TrafficCondition - Local slow down event * * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to * the PDU whose road type information is inconsistent with the - * detected event (Traffic Jam Ahead). + * detected event (Local slow down). * The `v2xPdus` field in that entry must contain at least the subject PDU. * The PDU shall be of type `ObsPduEtsiGn`. * * - `nonV2xPduEvidence`: No other evidence is required to be included * to support this observation. */ -TrafficJam-RoadTypeIncWithTrafficJamAhead ::= NULL +TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown ::= NULL -- IDs -c-ObsRoadTypeIncWithTrafficJamAhead IdMbObs::= 1 -- Class 1 +c-ObsRoadTypeIncWithLocalSlowDown IdMbObs::= 1 -- Class 1 -- Individual Information Objects -obs-RoadTypeIncWithTrafficJamAhead C-ASR-SINGLE-OBS ::= - {TrafficJam-RoadTypeIncWithTrafficJamAhead BY c-ObsRoadTypeIncWithTrafficJamAhead} +obs-RoadTypeIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= + {TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown BY c-ObsRoadTypeIncWithLocalSlowDown} /* * This data type is provided for an observation of the pathPoints of the entry Traces[1] in the component detectionZonesToEventPosition - * which are not identical in two successive, repeated TrafficJam-TrafficJamAhead DENM messages, i.e. transmitted by the same stationId with the + * which are not identical in two successive, repeated TrafficCondition-LocalSlowDown DENM messages, i.e. transmitted by the same stationId with the * same actionId and same detectionTime. * * - `v2xPduEvidence`: This field must contain at least one entry. @@ -471,14 +495,54 @@ obs-RoadTypeIncWithTrafficJamAhead C-ASR-SINGLE-OBS ::= * - `nonV2xPduEvidence`: No other evidence is required to be included * to support this observation.*/ - TrafficJam-PathChangeInMultipleRepetitions ::= NULL + TrafficCondition-PathChangeInMultipleRepetitions ::= NULL -- IDs c-ObsPathChangeInMultipleRepetitions IdMbObs::= 2 -- Class 2 -- Individual Information Objects obs-PathChangeInMultipleRepetitions C-ASR-SINGLE-OBS ::= - {TrafficJam-PathChangeInMultipleRepetitions BY c-ObsPathChangeInMultipleRepetitions} + {TrafficCondition-PathChangeInMultipleRepetitions BY c-ObsPathChangeInMultipleRepetitions} - -- ******************************************************************************** + /* * This data type is provided for an observation of a validity duration in a DENM inconsistent with + * the detected TrafficCondition - Local slow down event + * - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[1] + * of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the + * first entry of traces in the previous PDU. + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included + * to support this observation. + */ + TrafficCondition-ValidityDurationIncWithLocalSlowDown ::= NULL + -- IDs + c-ObsValidityDurationIncWithLocalSlowDown IdMbObs::= 3 -- Class 1 + -- Individual Information Objects +obs-ValidityDurationIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= + {TrafficCondition-ValidityDurationIncWithLocalSlowDown BY c-ObsValidityDurationIncWithLocalSlowDown} + + /* * This data type is provided for an observation of a awareness distance in a DENM inconsistent with + * the detected TrafficCondition - Local slow down event + * - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[1] + * of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the + * first entry of traces in the previous PDU. + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included + * to support this observation. + */ + TrafficCondition-AwarenessDistanceIncWithLocalSlowDown ::= NULL + -- IDs + c-ObsAwarenessDistanceIncWithLocalSlowDown IdMbObs::= 4 -- Class 1 + -- Individual Information Objects +obs-AwarenessDistanceIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= + {TrafficCondition-AwarenessDistanceIncWithLocalSlowDown BY c-ObsAwarenessDistanceIncWithLocalSlowDown} + +-- ******************************************************************************** -- Dangerous Situation - EEBL issues /* This data type is provided for an observation of an Eebl event which does not provide * mandatory location information (eventSpeed, eventPositionHeading, traces). -- GitLab From 5d78906e8983d17680ecad0c9183ed2df4581e65 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Wed, 20 Mar 2024 14:42:44 +0000 Subject: [PATCH 13/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 33 +++++++++++++++------ docs/EtsiTs103759CommonObservations.md | 40 ++++++++++++++++++++------ 2 files changed, 56 insertions(+), 17 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index e40f095..5086e94 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -21,8 +21,9 @@ c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 c-DenmTgt-StaticCommon IdDenmTgt ::= 1 c-DenmTgt-IncDistanceAndTrafficDirection IdDenmTgt ::=2 c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 -c-DenmTgt-TrafficJam-TrafficJamAhead IdDenmTgt ::= 4 -c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 5 +c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 4 +c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 5 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 6 ``` ### SetMbObsDenmBeacon @@ -71,14 +72,26 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { } ``` -### SetMbObsDenmTrafficJam-TrafficJamAhead +### SetMbObsDenmTrafficCondition-SuddenSpeedDrop +```asn1 +SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { + obs-RoadTypeIncWithSuddenSpeedDrop, + ... +} +``` + +### SetMbObsDenmTrafficCondition-LocalSlowDown Values: -* **obs-RoadTypeIncWithTrafficJamAhead** |
+* **obs-RoadTypeIncWithLocalSlowDown** |
+* **obs-PathChangeInMultipleRepetitions** |
+* **obs-ValidityDurationIncWithLocalSlowDown** |
```asn1 -SetMbObsDenmTrafficJam-TrafficJamAhead C-ASR-SINGLE-OBS ::= { - obs-RoadTypeIncWithTrafficJamAhead | - obs-PathChangeInMultipleRepetitions, +SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { + obs-RoadTypeIncWithLocalSlowDown | + obs-PathChangeInMultipleRepetitions | + obs-ValidityDurationIncWithLocalSlowDown | + obs-AwarenessDistanceIncWithLocalSlowDown, ... } ``` @@ -106,8 +119,10 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { c-DenmTgt-IncDistanceAndTrafficDirection} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | - {MbSingleObservation{{SetMbObsDenmTrafficJam-TrafficJamAhead}} BY - c-DenmTgt-TrafficJam-TrafficJamAhead} | + {MbSingleObservation{{SetMbObsDenmTrafficCondition-SuddenSpeedDrop}} BY + c-DenmTgt-TrafficCondition-SuddenSpeedDrop} | + {MbSingleObservation{{SetMbObsDenmTrafficCondition-LocalSlowDown}} BY + c-DenmTgt-TrafficCondition-LocalSlowDown} | {MbSingleObservation{{SetMbObsDenmDangerousSituation-Eebl}} BY c-DenmTgt-DangerousSituation-Eebl} , diff --git a/docs/EtsiTs103759CommonObservations.md b/docs/EtsiTs103759CommonObservations.md index 11aa755..5ec6f9d 100644 --- a/docs/EtsiTs103759CommonObservations.md +++ b/docs/EtsiTs103759CommonObservations.md @@ -370,20 +370,44 @@ c-Obs-DirectionNotUpstream IdMbObs::=1 {DistanceAndTrafficDirection-DirectionNotUpstream BY c-Obs-DirectionNotUpstream } ``` -### TrafficJam-RoadTypeIncWithTrafficJamAhead +### TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop ```asn1 -TrafficJam-RoadTypeIncWithTrafficJamAhead ::= NULL -c-ObsRoadTypeIncWithTrafficJamAhead IdMbObs::= 1 -obs-RoadTypeIncWithTrafficJamAhead C-ASR-SINGLE-OBS ::= - {TrafficJam-RoadTypeIncWithTrafficJamAhead BY c-ObsRoadTypeIncWithTrafficJamAhead} +TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop ::= NULL + c-ObsRoadTypeIncWithSuddenSpeedDrop IdMbObs::= 1 + obs-RoadTypeIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= + {TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop BY c-ObsRoadTypeIncWithSuddenSpeedDrop} ``` -### TrafficJam-PathChangeInMultipleRepetitions +### TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown ```asn1 -TrafficJam-PathChangeInMultipleRepetitions ::= NULL +TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown ::= NULL +c-ObsRoadTypeIncWithLocalSlowDown IdMbObs::= 1 +obs-RoadTypeIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= + {TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown BY c-ObsRoadTypeIncWithLocalSlowDown} +``` + +### TrafficCondition-PathChangeInMultipleRepetitions +```asn1 +TrafficCondition-PathChangeInMultipleRepetitions ::= NULL c-ObsPathChangeInMultipleRepetitions IdMbObs::= 2 obs-PathChangeInMultipleRepetitions C-ASR-SINGLE-OBS ::= - {TrafficJam-PathChangeInMultipleRepetitions BY c-ObsPathChangeInMultipleRepetitions} + {TrafficCondition-PathChangeInMultipleRepetitions BY c-ObsPathChangeInMultipleRepetitions} +``` + +### TrafficCondition-ValidityDurationIncWithLocalSlowDown +```asn1 +TrafficCondition-ValidityDurationIncWithLocalSlowDown ::= NULL + c-ObsValidityDurationIncWithLocalSlowDown IdMbObs::= 3 +obs-ValidityDurationIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= + {TrafficCondition-ValidityDurationIncWithLocalSlowDown BY c-ObsValidityDurationIncWithLocalSlowDown} +``` + +### TrafficCondition-AwarenessDistanceIncWithLocalSlowDown +```asn1 +TrafficCondition-AwarenessDistanceIncWithLocalSlowDown ::= NULL + c-ObsAwarenessDistanceIncWithLocalSlowDown IdMbObs::= 4 +obs-AwarenessDistanceIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= + {TrafficCondition-AwarenessDistanceIncWithLocalSlowDown BY c-ObsAwarenessDistanceIncWithLocalSlowDown} ``` ### Eebl-MissingLocationInformation -- GitLab From 0402aee79807e7b9ff7dd0bea7d658b0929db358 Mon Sep 17 00:00:00 2001 From: loncb Date: Wed, 20 Mar 2024 14:53:47 +0000 Subject: [PATCH 14/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index caef582..4f36b30 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -113,8 +113,9 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { * - _SetMbObsDenmBeacon_: * - `Beacon-IntervalTooSmall`: The difference between the generation time of two consecutive DENMs related to the * same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is -* less than 80% of the minimum threshold value specified in the list of Day1 uses case specified in TS 103 759 -* table D.3. The difference is calculated as the difference between the referenceTime in the second DENM and the +* less than 80% of the minimum threshold value of the DENM repetition interval. This minimum threshold is set to 100 ms, +* considering the list of Day1 uses cases referenced in TS 103 759 table D.3 specified in C2C-CC Basic System Profile [i.11] +* and C-Roads specifications [i.12]. The difference is calculated as the difference between the referenceTime in the second DENM and the * referenceTime in the first DENM. * * - _SetMbObsDenmStatic_: -- GitLab From 2c4db64430f7984408ef3db8f918412a89203a21 Mon Sep 17 00:00:00 2001 From: loncb Date: Mon, 30 Dec 2024 16:31:21 +0000 Subject: [PATCH 15/37] Replace EtsiTs103759CommonObservations.asn --- EtsiTs103759CommonObservations.asn | 205 +++++++++++++++++++++++------ 1 file changed, 168 insertions(+), 37 deletions(-) diff --git a/EtsiTs103759CommonObservations.asn b/EtsiTs103759CommonObservations.asn index b1af898..a4a61c6 100644 --- a/EtsiTs103759CommonObservations.asn +++ b/EtsiTs103759CommonObservations.asn @@ -205,7 +205,7 @@ obs-Security-MessageIncWithSsp C-ASR-SINGLE-OBS ::= { * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to - * the PDU for which the `generationTime` in the security `headerInfo` is being + * the PDU for which the `` in the security `headerInfo` is being * flagged as outside the validity period in the certificate. * The `v2xPdus` field in that entry must contain at least the subject PDU. * The PDU may be of any supported type and shall be of type @@ -413,7 +413,8 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { -- ******************************************************************************* -- DENM generic misbehaviour detectors - Inconsistent awareness distance or traffic direction with specific Use case (Event type) -/* + +/** * This data type is provided for an observation of an unplausible awareness distance or traffic direction in the management * container in the DENM transmitted by the ITS-S. * - `v2xPduEvidence`: This field must contain at least one entry. @@ -421,44 +422,139 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to * the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. * -* - `nonV2xPduEvidence`: No other evidence is required to be included -* to support this observation. +* - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. */ + DistanceAndTrafficDirection-DirectionNotUpstream ::= NULL -- IDs -c-Obs-DirectionNotUpstream IdMbObs::=1 -- Class 1 +c-ObsDirectionNotUpstream IdMbObs::=1 -- Class 1 +-- Individual Information Objects +obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= { + DistanceAndTrafficDirection-DirectionNotUpstream BY c-ObsDirectionNotUpstream +} + +DistanceAndTrafficDirection-DirectionNotDownstream ::= NULL +-- IDs +c-ObsDirectionNotDownstream IdMbObs::=2 -- Class 1 -- Individual Information Objects - obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= - {DistanceAndTrafficDirection-DirectionNotUpstream BY c-Obs-DirectionNotUpstream } + obs-DirectionNotDownstream C-ASR-SINGLE-OBS ::= { + DistanceAndTrafficDirection-DirectionNotDownstream BY c-ObsDirectionNotDownstream + } + +-- ******************************************************************************* +-- DENM generic misbehaviour detectors - Inconsistent distance between the event position and the position of the ITS-S generating the DENM + +/** +* This data type is provided for an observation of an inconsistent distance between the eventPosition in the DENM transmitted by the ITS-S signalling +* that traffic event and the reference position of the ITS-S reporting this event (i.e. same stationId). +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to +* the DENM PDU whose eventPosition value is inconsistent with the reference position of the CAM either stored in the LDM or received just after that DENM. +* - `nonV2xPduEvidence`: This field is required and must contain the CAM PDU which position is inconsistent with the event position contained in that DENM. +*/ +DistanceBetweenPositionInDenmAndLdmTooLarge ::= NULL +-- IDs +c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge IdMbObs::=1 -- Class 3 +-- Individual Information Objects + obs-DistanceBetweenPositionInDenmAndLdmTooLarge C-ASR-SINGLE-OBS ::= { + DistanceBetweenPositionInDenmAndLdmTooLarge BY c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge + } +/** +* This data type is provided for an observation of an inconsistent distance between the eventPosition in the DENM transmitted by the ITS-S signalling +* that traffic event and the reference position of the next CAM transmitted by that ITS-S (i.e. same stationId). +* +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry (V2xPduEvidence[0]). The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to +* the DENM PDU whose eventPosition is being flagged as inconsistent with the referencePosition of the DENM-originating ITS-S +* indicated in the next CAM, i.e. the `subjectPduIndex` is set to 0. +* The `v2xPdus` field in that entry must contain at least the subject PDU +* and the CAM PDU that immediately followed it. +* The PDU may be of any supported type and shall be of type +* `c-MbObsMsg-ieee1609Dot2Data` unless another observation included in the +* same report requires a different PDU type. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +*/ + +DistanceBetweenPositionInDenmAndCamTooLarge ::= NULL +-- IDs +c-ObsDistanceBetweenPositionInDenmAndCamTooLarge IdMbObs::=2 -- Class 5 +-- Individual Information Objects +obs-DistanceBetweenPositionInDenmAndCamTooLarge C-ASR-SINGLE-OBS ::= { + DistanceBetweenPositionInDenmAndCamTooLarge BY c-ObsDistanceBetweenPositionInDenmAndCamTooLarge +} -- ******************************************************************************** -- Traffic Condition - Sudden speed drop -/* -* This data type is provided for an observation of a road type inconsistent with + +/** + * This data type is provided for an observation of a road type inconsistent with * the detected TrafficCondition - Sudden speed drop event -* + * * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to * the PDU whose road type information is inconsistent with the - * detected event (Local slow down). + * detected event (.e. causeCode/subCauseCode = dangerousEndOfQueue/ unavailable). * The `v2xPdus` field in that entry must contain at least the subject PDU. * The PDU shall be of type `ObsPduEtsiGn`. * * - `nonV2xPduEvidence`: No other evidence is required to be included * to support this observation. */ - TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop ::= NULL + + TrafficCondition-RoadTypeIncWithSuddenSpeedDrop ::= NULL -- IDs c-ObsRoadTypeIncWithSuddenSpeedDrop IdMbObs::= 1 -- Class 1 -- Individual Information Objects obs-RoadTypeIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= - {TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop BY c-ObsRoadTypeIncWithSuddenSpeedDrop} + {TrafficCondition-RoadTypeIncWithSuddenSpeedDrop BY c-ObsRoadTypeIncWithSuddenSpeedDrop} + + /** This data type is provided for an observation of a validity duration in a DENM inconsistent with + * the detected TrafficCondition - Sudden speed drop event + * - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field validityDuration in the Management container + * is not set to the value 20 (in the unit of second). + * + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. + */ + + TrafficCondition-ValidityDurationIncWithSuddenSpeedDrop ::= NULL + -- IDs + c-ObsValidityDurationIncWithSuddenSpeedDrop IdMbObs::= 2 -- Class 1 + -- Individual Information Objects +obs-ValidityDurationIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= + {TrafficCondition-ValidityDurationIncWithSuddenSpeedDrop BY c-ObsValidityDurationIncWithSuddenSpeedDrop} + /** This data type is provided for an observation of an awareness distance in a DENM inconsistent with + * the detected TrafficCondition - Sudden speed drop event + * - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field awarenessDistance is not present or is not + * equal to the value lessThan1000m (4). + * + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. + */ + + TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop ::= NULL + -- IDs +c-ObsAwarenessDistanceIncWithSuddenSpeedDrop IdMbObs::= 3 -- Class 1 + -- Individual Information Objects +obs-AwarenessDistanceIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= + {TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop BY c-ObsAwarenessDistanceIncWithSuddenSpeedDrop} -- ******************************************************************************** -- Traffic Condition - Local slow down -/* + +/** * This data type is provided for an observation of a road type inconsistent with * the detected TrafficCondition - Local slow down event * @@ -466,23 +562,24 @@ c-Obs-DirectionNotUpstream IdMbObs::=1 -- Class 1 * The observation applies to the first entry. The `subjectPduIndex` * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to * the PDU whose road type information is inconsistent with the - * detected event (Local slow down). + * detected event (i.e. causeCode/subCauseCode = trafficCondition/ unavailable). * The `v2xPdus` field in that entry must contain at least the subject PDU. * The PDU shall be of type `ObsPduEtsiGn`. * * - `nonV2xPduEvidence`: No other evidence is required to be included * to support this observation. */ -TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown ::= NULL + +TrafficCondition-RoadTypeIncWithLocalSlowDown ::= NULL -- IDs c-ObsRoadTypeIncWithLocalSlowDown IdMbObs::= 1 -- Class 1 -- Individual Information Objects obs-RoadTypeIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= - {TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown BY c-ObsRoadTypeIncWithLocalSlowDown} + {TrafficCondition-RoadTypeIncWithLocalSlowDown BY c-ObsRoadTypeIncWithLocalSlowDown} - /* * This data type is provided for an observation of the pathPoints of the entry Traces[1] in the component detectionZonesToEventPosition - * which are not identical in two successive, repeated TrafficCondition-LocalSlowDown DENM messages, i.e. transmitted by the same stationId with the - * same actionId and same detectionTime. +/** This data type is provided for an observation of the pathPoints of the entry Traces[1] in the component detectionZonesToEventPosition +* which are not identical in two successive, repeated TrafficCondition-LocalSlowDown DENM messages, i.e. transmitted by the same stationId with the +* same actionId and same detectionTime. * * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` @@ -493,7 +590,8 @@ obs-RoadTypeIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= * The PDU shall be of type `ObsPduEtsiGn`. * * - `nonV2xPduEvidence`: No other evidence is required to be included - * to support this observation.*/ + * to support this observation. + */ TrafficCondition-PathChangeInMultipleRepetitions ::= NULL -- IDs @@ -502,49 +600,81 @@ obs-RoadTypeIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= obs-PathChangeInMultipleRepetitions C-ASR-SINGLE-OBS ::= {TrafficCondition-PathChangeInMultipleRepetitions BY c-ObsPathChangeInMultipleRepetitions} - /* * This data type is provided for an observation of a validity duration in a DENM inconsistent with + /** This data type is provided for an observation of a validity duration in a DENM inconsistent with * the detected TrafficCondition - Local slow down event * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` - * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[1] - * of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the - * first entry of traces in the previous PDU. + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field validityDuration in the Management container + * is not set to the value 60 (in the unit of second). + * The `v2xPdus` field in that entry must contain at least the subject PDU. * The PDU shall be of type `ObsPduEtsiGn`. * * - `nonV2xPduEvidence`: No other evidence is required to be included * to support this observation. */ + TrafficCondition-ValidityDurationIncWithLocalSlowDown ::= NULL -- IDs - c-ObsValidityDurationIncWithLocalSlowDown IdMbObs::= 3 -- Class 1 +c-ObsValidityDurationIncWithLocalSlowDown IdMbObs::= 3 -- Class 1 -- Individual Information Objects obs-ValidityDurationIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= {TrafficCondition-ValidityDurationIncWithLocalSlowDown BY c-ObsValidityDurationIncWithLocalSlowDown} - /* * This data type is provided for an observation of a awareness distance in a DENM inconsistent with + /** This data type is provided for an observation of an awareness distance in a DENM inconsistent with * the detected TrafficCondition - Local slow down event * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` - * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[1] - * of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the - * first entry of traces in the previous PDU. + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field awarenessDistance is not present or is not + * equal to the value lessThan1000m (4). + * * The `v2xPdus` field in that entry must contain at least the subject PDU. * The PDU shall be of type `ObsPduEtsiGn`. * * - `nonV2xPduEvidence`: No other evidence is required to be included * to support this observation. */ + TrafficCondition-AwarenessDistanceIncWithLocalSlowDown ::= NULL -- IDs c-ObsAwarenessDistanceIncWithLocalSlowDown IdMbObs::= 4 -- Class 1 -- Individual Information Objects obs-AwarenessDistanceIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= {TrafficCondition-AwarenessDistanceIncWithLocalSlowDown BY c-ObsAwarenessDistanceIncWithLocalSlowDown} + +/** +* This data type is provided for an observation of the speed in the next CAM transmitted +* by the same ITS-S (i.e. same stationId) at the origin of the DENM signalling a Traffic Condition / Local slow down +* event which is inconsistent with the eventSpeed contained in that DENM. +* +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry (V2xPduEvidence[0]). The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to +* the DENM PDU whose speed is being flagged as inconsistent with the speed of the DENM-originating ITS-S +* indicated in the next CAM, i.e. the `subjectPduIndex` is set to 0. +* The `v2xPdus` field in that entry must contain at least the subject PDU +* and the CAM PDU that immediately followed it. +* The PDU may be of any supported type and shall be of type +* `c-MbObsMsg-ieee1609Dot2Data` unless another observation included in the +* same report requires a different PDU type. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included +* to support this observation. +*/ +CamSpeedIncWithLocalSlowDown ::= NULL +-- IDs +c-ObsCamSpeedIncWithLocalSlowDown IdMbObs::= 5 -- Class 5 +-- Individual Information Objects +obs-CamSpeedIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= { + CamSpeedIncWithLocalSlowDown BY c-ObsCamSpeedIncWithLocalSlowDown +} + -- ******************************************************************************** -- Dangerous Situation - EEBL issues -/* This data type is provided for an observation of an Eebl event which does not provide + +/** +* This data type is provided for an observation of an Eebl event which does not provide * mandatory location information (eventSpeed, eventPositionHeading, traces). * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` @@ -564,10 +694,10 @@ c-ObsEebl-MissingLocationInformation IdMbObs::= 1 -- Class 1 obs-EeblMissingLocationInformation C-ASR-SINGLE-OBS ::= {Eebl-MissingLocationInformation BY c-ObsEebl-MissingLocationInformation} -/* This data type is provided for an observation of an Eebl event which is inconsistency with the speed values -* of surrounding vehicles within a circular area with center point -* equal to eventPosition and radius equal to 200 m (non urban road) or 100 m at the moment of the event detection. - +/** This data type is provided for an observation of an Eebl event which is inconsistency with the speed values +* of surrounding vehicles within a circular area with center point equal to eventPosition +* and radius equal to 200 m (non urban road) or 100 m at the moment of the event detection. +* * - `v2xPduEvidence`: This field must contain at least , two entries, v2xPduEvidence[0] and v2xPduEvidence[1]. * The observation applies to the first entry. The `subjectPduIndex` * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to @@ -582,7 +712,8 @@ obs-EeblMissingLocationInformation C-ASR-SINGLE-OBS ::= * same report requires a different PDU type. * * - `nonV2xPduEvidence`: No other evidence is required to be included -* to support this observation. */ +* to support this observation. +*/ Eebl-IncWithOtherVehiclesSpeed ::= NULL -- IDs @@ -591,4 +722,4 @@ c-ObsEeblIncWithOtherVehiclesSpeed IdMbObs::= 2 -- Class 5 obs-EeblIncWithOtherVehiclesSpeed C-ASR-SINGLE-OBS ::= {Eebl-IncWithOtherVehiclesSpeed BY c-ObsEeblIncWithOtherVehiclesSpeed} - END \ No newline at end of file +END \ No newline at end of file -- GitLab From 6e9cdbad60c0dbe10f96ef335f6b3a5b6ca1ec4f Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Mon, 30 Dec 2024 16:31:44 +0000 Subject: [PATCH 16/37] Documentation update --- docs/EtsiTs103097ExtensionModule.md | 4 + docs/EtsiTs103759BaseTypes.md | 6 + docs/EtsiTs103759CommonObservations.md | 222 +++++++++++++++++++++++-- docs/EtsiTs103759Core.md | 3 + docs/Ieee1609Dot2.md | 29 ++++ docs/Ieee1609Dot2BaseTypes.md | 33 ++++ 6 files changed, 286 insertions(+), 11 deletions(-) diff --git a/docs/EtsiTs103097ExtensionModule.md b/docs/EtsiTs103097ExtensionModule.md index d84e92a..1f7d581 100644 --- a/docs/EtsiTs103097ExtensionModule.md +++ b/docs/EtsiTs103097ExtensionModule.md @@ -11,6 +11,7 @@ ExtensionModuleVersion::= INTEGER(1) ### Extension +Fields: * _id_ of type [**EXT-TYPE**](#EXT-TYPE) .&extId({ExtensionTypes})
* _content_ of type [**EXT-TYPE**](#EXT-TYPE) .&ExtContent({ExtensionTypes}{@.id})
```asn1 @@ -22,6 +23,7 @@ Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE { ### EXT-TYPE +Fields: * _extId_ of type [**ExtId**](#ExtId)
```asn1 EXT-TYPE ::= CLASS { @@ -58,6 +60,7 @@ EtsiTs103097HeaderInfoExtensions EXT-TYPE ::= { ### EtsiTs102941CrlRequest +Fields: * _issuerId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
* _lastKnownUpdate_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32) OPTIONAL
```asn1 @@ -69,6 +72,7 @@ EtsiTs102941CrlRequest::= SEQUENCE { ### EtsiTs102941CtlRequest +Fields: * _issuerId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
* _lastKnownCtlSequence_ of type **INTEGER** (0..255) OPTIONAL
```asn1 diff --git a/docs/EtsiTs103759BaseTypes.md b/docs/EtsiTs103759BaseTypes.md index 21a0b4d..fceed25 100644 --- a/docs/EtsiTs103759BaseTypes.md +++ b/docs/EtsiTs103759BaseTypes.md @@ -8,6 +8,7 @@ OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759 ### TemplateAsr This data type contains the template for a report on any ITS PDU. +Fields: * _observations_ of type [**ObservationsByTargetSequence**](#ObservationsByTargetSequence) {{ObservationSet}}
identifies which detectors were triggered and why. It can include cross-references to the PDUs and evidence fields. The @@ -43,6 +44,7 @@ TemplateAsr { This data type contains all of the observations related to a particular "target" property, e.g., speed or security. +Fields: * _tgtId_ of type [**C-ASR-OBS-BY-TGT**](EtsiTs103759BaseTypes.md#C-ASR-OBS-BY-TGT) .&id ({SetAsrObsByTgt})
identifies the "target" of the observation, e.g., speed. This identifier is drawn from an application-specific Information Object Set of @@ -75,6 +77,7 @@ C-ASR-OBS-BY-TGT ::= C-2ENT ### MbSingleObservation This data type contains a single misbehaviour observation. +Fields: * _obsId_ of type [**C-ASR-SINGLE-OBS**](EtsiTs103759BaseTypes.md#C-ASR-SINGLE-OBS) .&id ({SetMbSingleObs})
identifies the observation within the set of observations for that target, e.g., target = speed, observation = "speed higher than @@ -103,6 +106,7 @@ C-ASR-SINGLE-OBS ::= C-2ENT ### V2xPduStream This data type contains PDU stream from a single sender. +Fields: * _type_ of type [**C-OBS-PDU**](#C-OBS-PDU) .&id ({SetObsPdu})
* _v2xPdus_ of type **SEQUENCE** (SIZE(1..255)) OF C-OBS-PDU.&Val ({SetObsPdu}{@.type})
is the PDU stream, i.e., a series of PDUs for the same AID @@ -190,6 +194,7 @@ ObsPduEtsiGn ::= Opaque ### NonV2xPduEvidenceItem This data type contains evidence, which may be referenced by one or more observations. +Fields: * _id_ of type [**C-ASR-EV**](EtsiTs103759BaseTypes.md#C-ASR-EV) .&id ({SetMbEv})
identifies the evidence type. @@ -226,6 +231,7 @@ This structures uses single-byte IDs. If we run out of ID space in future, the Val type associated with ID 255 can also be structured hierarchically to extend the space. +Fields: * _id_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8)
```asn1 C-2ENT ::= CLASS { diff --git a/docs/EtsiTs103759CommonObservations.md b/docs/EtsiTs103759CommonObservations.md index 5ec6f9d..23744f5 100644 --- a/docs/EtsiTs103759CommonObservations.md +++ b/docs/EtsiTs103759CommonObservations.md @@ -174,7 +174,7 @@ This data type is provided for an observation, where the `generationTime` - `v2xPduEvidence`: This field must contain at least one entry. The observation applies to the first entry. The `subjectPduIndex` in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to - the PDU for which the `generationTime` in the security `headerInfo` is being + the PDU for which the `` in the security `headerInfo` is being flagged as outside the validity period in the certificate. The `v2xPdus` field in that entry must contain at least the subject PDU. The PDU may be of any supported type and shall be of type @@ -363,30 +363,151 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { ``` ### DistanceAndTrafficDirection-DirectionNotUpstream +This data type is provided for an observation of an unplausible awareness distance or traffic direction in the management + container in the DENM transmitted by the ITS-S. + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. + + - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. ```asn1 DistanceAndTrafficDirection-DirectionNotUpstream ::= NULL -c-Obs-DirectionNotUpstream IdMbObs::=1 - obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= - {DistanceAndTrafficDirection-DirectionNotUpstream BY c-Obs-DirectionNotUpstream } +c-ObsDirectionNotUpstream IdMbObs::=1 +obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= { + DistanceAndTrafficDirection-DirectionNotUpstream BY c-ObsDirectionNotUpstream +} +``` + +### DistanceAndTrafficDirection-DirectionNotDownstream +```asn1 +DistanceAndTrafficDirection-DirectionNotDownstream ::= NULL +c-ObsDirectionNotDownstream IdMbObs::=2 + obs-DirectionNotDownstream C-ASR-SINGLE-OBS ::= { + DistanceAndTrafficDirection-DirectionNotDownstream BY c-ObsDirectionNotDownstream + } +``` + +### DistanceBetweenPositionInDenmAndLdmTooLarge +This data type is provided for an observation of an inconsistent distance between the eventPosition in the DENM transmitted by the ITS-S signalling + that traffic event and the reference position of the ITS-S reporting this event (i.e. same stationId). + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the DENM PDU whose eventPosition value is inconsistent with the reference position of the CAM either stored in the LDM or received just after that DENM. + - `nonV2xPduEvidence`: This field is required and must contain the CAM PDU which position is inconsistent with the event position contained in that DENM. +```asn1 +DistanceBetweenPositionInDenmAndLdmTooLarge ::= NULL +c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge IdMbObs::=1 + obs-DistanceBetweenPositionInDenmAndLdmTooLarge C-ASR-SINGLE-OBS ::= { + DistanceBetweenPositionInDenmAndLdmTooLarge BY c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge + } + +``` + +### DistanceBetweenPositionInDenmAndCamTooLarge +```asn1 +DistanceBetweenPositionInDenmAndCamTooLarge ::= NULL +c-ObsDistanceBetweenPositionInDenmAndCamTooLarge IdMbObs::=2 +obs-DistanceBetweenPositionInDenmAndCamTooLarge C-ASR-SINGLE-OBS ::= { + DistanceBetweenPositionInDenmAndCamTooLarge BY c-ObsDistanceBetweenPositionInDenmAndCamTooLarge +} ``` -### TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop +### TrafficCondition-RoadTypeIncWithSuddenSpeedDrop +This data type is provided for an observation of a road type inconsistent with + the detected TrafficCondition - Sudden speed drop event + + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the PDU whose road type information is inconsistent with the + detected event (.e. causeCode/subCauseCode = dangerousEndOfQueue/ unavailable). + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. ```asn1 -TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop ::= NULL +TrafficCondition-RoadTypeIncWithSuddenSpeedDrop ::= NULL c-ObsRoadTypeIncWithSuddenSpeedDrop IdMbObs::= 1 obs-RoadTypeIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= - {TrafficCondition-Ssd-RoadTypeIncWithSuddenSpeedDrop BY c-ObsRoadTypeIncWithSuddenSpeedDrop} + {TrafficCondition-RoadTypeIncWithSuddenSpeedDrop BY c-ObsRoadTypeIncWithSuddenSpeedDrop} +``` + +### TrafficCondition-ValidityDurationIncWithSuddenSpeedDrop +This data type is provided for an observation of a validity duration in a DENM inconsistent with + the detected TrafficCondition - Sudden speed drop event + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field validityDuration in the Management container + is not set to the value 20 (in the unit of second). + + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +```asn1 +TrafficCondition-ValidityDurationIncWithSuddenSpeedDrop ::= NULL + c-ObsValidityDurationIncWithSuddenSpeedDrop IdMbObs::= 2 +obs-ValidityDurationIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= + {TrafficCondition-ValidityDurationIncWithSuddenSpeedDrop BY c-ObsValidityDurationIncWithSuddenSpeedDrop} +``` + +### TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop +This data type is provided for an observation of an awareness distance in a DENM inconsistent with + the detected TrafficCondition - Sudden speed drop event + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field awarenessDistance is not present or is not + equal to the value lessThan1000m (4). + + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +```asn1 +TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop ::= NULL +c-ObsAwarenessDistanceIncWithSuddenSpeedDrop IdMbObs::= 3 +obs-AwarenessDistanceIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= + {TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop BY c-ObsAwarenessDistanceIncWithSuddenSpeedDrop} ``` -### TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown +### TrafficCondition-RoadTypeIncWithLocalSlowDown +This data type is provided for an observation of a road type inconsistent with + the detected TrafficCondition - Local slow down event + + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the PDU whose road type information is inconsistent with the + detected event (i.e. causeCode/subCauseCode = trafficCondition/ unavailable). + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. ```asn1 -TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown ::= NULL +TrafficCondition-RoadTypeIncWithLocalSlowDown ::= NULL c-ObsRoadTypeIncWithLocalSlowDown IdMbObs::= 1 obs-RoadTypeIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= - {TrafficCondition-Lsd-RoadTypeIncWithLocalSlowDown BY c-ObsRoadTypeIncWithLocalSlowDown} + {TrafficCondition-RoadTypeIncWithLocalSlowDown BY c-ObsRoadTypeIncWithLocalSlowDown} ``` ### TrafficCondition-PathChangeInMultipleRepetitions +This data type is provided for an observation of the pathPoints of the entry Traces[[1]](#references) in the component detectionZonesToEventPosition + which are not identical in two successive, repeated TrafficCondition-LocalSlowDown DENM messages, i.e. transmitted by the same stationId with the + same actionId and same detectionTime. + + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[[1]](#references) + of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the + first entry of traces in the previous PDU. + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. ```asn1 TrafficCondition-PathChangeInMultipleRepetitions ::= NULL c-ObsPathChangeInMultipleRepetitions IdMbObs::= 2 @@ -395,14 +516,37 @@ TrafficCondition-PathChangeInMultipleRepetitions ::= NULL ``` ### TrafficCondition-ValidityDurationIncWithLocalSlowDown +This data type is provided for an observation of a validity duration in a DENM inconsistent with + the detected TrafficCondition - Local slow down event + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field validityDuration in the Management container + is not set to the value 60 (in the unit of second). + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. ```asn1 TrafficCondition-ValidityDurationIncWithLocalSlowDown ::= NULL - c-ObsValidityDurationIncWithLocalSlowDown IdMbObs::= 3 +c-ObsValidityDurationIncWithLocalSlowDown IdMbObs::= 3 obs-ValidityDurationIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= {TrafficCondition-ValidityDurationIncWithLocalSlowDown BY c-ObsValidityDurationIncWithLocalSlowDown} ``` ### TrafficCondition-AwarenessDistanceIncWithLocalSlowDown +This data type is provided for an observation of an awareness distance in a DENM inconsistent with + the detected TrafficCondition - Local slow down event + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field awarenessDistance is not present or is not + equal to the value lessThan1000m (4). + + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. ```asn1 TrafficCondition-AwarenessDistanceIncWithLocalSlowDown ::= NULL c-ObsAwarenessDistanceIncWithLocalSlowDown IdMbObs::= 4 @@ -410,7 +554,44 @@ obs-AwarenessDistanceIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= {TrafficCondition-AwarenessDistanceIncWithLocalSlowDown BY c-ObsAwarenessDistanceIncWithLocalSlowDown} ``` +### CamSpeedIncWithLocalSlowDown +This data type is provided for an observation of the speed in the next CAM transmitted + by the same ITS-S (i.e. same stationId) at the origin of the DENM signalling a Traffic Condition / Local slow down + event which is inconsistent with the eventSpeed contained in that DENM. + + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry (V2xPduEvidence[[0]](#references)). The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the DENM PDU whose speed is being flagged as inconsistent with the speed of the DENM-originating ITS-S + indicated in the next CAM, i.e. the `subjectPduIndex` is set to 0. + The `v2xPdus` field in that entry must contain at least the subject PDU + and the CAM PDU that immediately followed it. + The PDU may be of any supported type and shall be of type + `c-MbObsMsg-ieee1609Dot2Data` unless another observation included in the + same report requires a different PDU type. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. +```asn1 +CamSpeedIncWithLocalSlowDown ::= NULL +c-ObsCamSpeedIncWithLocalSlowDown IdMbObs::= 5 +obs-CamSpeedIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= { + CamSpeedIncWithLocalSlowDown BY c-ObsCamSpeedIncWithLocalSlowDown +} +``` + ### Eebl-MissingLocationInformation +This data type is provided for an observation of an Eebl event which does not provide + mandatory location information (eventSpeed, eventPositionHeading, traces). + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the PDU whose location information is missing. + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. ```asn1 Eebl-MissingLocationInformation ::= NULL c-ObsEebl-MissingLocationInformation IdMbObs::= 1 @@ -419,6 +600,25 @@ obs-EeblMissingLocationInformation C-ASR-SINGLE-OBS ::= ``` ### Eebl-IncWithOtherVehiclesSpeed +This data type is provided for an observation of an Eebl event which is inconsistency with the speed values + of surrounding vehicles within a circular area with center point equal to eventPosition + and radius equal to 200 m (non urban road) or 100 m at the moment of the event detection. + + - `v2xPduEvidence`: This field must contain at least , two entries, v2xPduEvidence[[0]](#references) and v2xPduEvidence[[1]](#references). + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the DENM PDU signalling the EEBL event. + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + All the entries v2xPduEvidence[[1]](#references) to v2xPduEvidence[n] shall contain the CAM of a ITS stations of type vehicle included in the circular area. + For v2xPduEvidence[[1]](#references) to v2xPduEvidence[n], the `v2xPdus` field in that entry must contain at least the subject PDU + and the subjectPduIndex is 0. + The PDU may be of any supported type and shall be of type + `c-MbObsMsg-ieee1609Dot2Data` unless another observation included in the + same report requires a different PDU type. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. ```asn1 Eebl-IncWithOtherVehiclesSpeed ::= NULL c-ObsEeblIncWithOtherVehiclesSpeed IdMbObs::= 2 diff --git a/docs/EtsiTs103759Core.md b/docs/EtsiTs103759Core.md index 4c3edec..b1de661 100644 --- a/docs/EtsiTs103759Core.md +++ b/docs/EtsiTs103759Core.md @@ -19,6 +19,7 @@ This data type is the general PDU for a misbehaviour report from an 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`. +Fields: * _version_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8)
contains the version number of this PDU definition. For this version of this data type it shall be equal to `2`. @@ -64,6 +65,7 @@ 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. +Fields: * _aid_ of type [**C-ASR**](#C-ASR) .&aid ({SetAsr})
contains the respective ITS-AID. @@ -81,6 +83,7 @@ AidSpecificReport ::= SEQUENCE { ### C-ASR This data type defines the IOC for [**AidSpecificReport**](#AidSpecificReport). +Fields: * _aid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid) UNIQUE
contains the globally unique reference identifier of an AID-specific misbehaviour report. diff --git a/docs/Ieee1609Dot2.md b/docs/Ieee1609Dot2.md index 25decf9..aed6c6e 100644 --- a/docs/Ieee1609Dot2.md +++ b/docs/Ieee1609Dot2.md @@ -11,6 +11,7 @@ OID: _{iso(1) identified-organization(3) ieee(111) standards-association-numbere ### This data type is used to contain the other data types in this clause. The fields in the Ieee1609Dot2Data have the following meanings: +Fields: * _protocolVersion_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8) (3)
contains the current version of the protocol. The version specified in this standard is version 3, represented by the @@ -35,6 +36,7 @@ Ieee1609Dot2Data ::= SEQUENCE { ### In this structure: +Fields: * _unsecuredData_ of type [**Opaque**](Ieee1609Dot2BaseTypes.md#Opaque)
indicates that the content is an OCTET STRING to be consumed outside the SDS. @@ -75,6 +77,7 @@ Ieee1609Dot2Content ::= CHOICE { ### In this structure: +Fields: * _hashId_ of type [**HashAlgorithm**](Ieee1609Dot2BaseTypes.md#HashAlgorithm)
indicates the hash algorithm to be used to generate the hash of the message for signing and verification. @@ -124,6 +127,7 @@ SignedData ::= SEQUENCE { verifying a signature. See 6.3.4 for the specification of the input to the hash. +Fields: * _payload_ of type [**SignedDataPayload**](#SignedDataPayload)
contains data that is provided by the entity that invokes the SDS. @@ -172,6 +176,7 @@ ToBeSignedData ::= SEQUENCE { data is obtained and how it is formatted prior to processing by the hash function. +Fields: * _data_ of type [**Ieee1609Dot2Data**](Ieee1609Dot2.md#Ieee1609Dot2Data) OPTIONAL
contains data that is explicitly transported within the structure. @@ -207,6 +212,7 @@ SignedDataPayload ::= SEQUENCE { ### This structure contains the hash of some data with a specified hash algorithm. See 5.3.3 for specification of the permitted hash algorithms. +Fields: * _sha256HashedData_ of type [**HashedId32**](Ieee1609Dot2BaseTypes.md#HashedId32)
indicates data hashed with SHA-256. @@ -237,6 +243,7 @@ HashedData::= CHOICE { ### This structure contains information that is used to establish validity by the criteria of 5.2. +Fields: * _psid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid)
indicates the application area with which the sender is claiming the payload is to be associated. @@ -340,6 +347,7 @@ HeaderInfo ::= SEQUENCE { have been issued and has not yet received. It is provided for future use and its use is not defined in this version of this standard. +Fields: * _cracaId_ of type [**HashedId3**](Ieee1609Dot2BaseTypes.md#HashedId3)
is the HashedId3 of the CRACA, as defined in 5.1.3. The HashedId3 is calculated with the whole-certificate hash algorithm, @@ -410,6 +418,7 @@ ContributedExtensionBlocks ::= SEQUENCE (SIZE(1..MAX)) OF in the class IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION constraint to the objects in the set Ieee1609Dot2HeaderInfoContributedExtensions. +Fields: * _contributorId_ of type [**IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION**](#IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION) .&id({ Ieee1609Dot2HeaderInfoContributedExtensions })
@@ -436,6 +445,7 @@ ContributedExtensionBlock ::= SEQUENCE { ### This Information Object Class defines the class that provides a template for defining extension blocks. +Fields: * _id_ of type [**HeaderInfoContributorId**](#HeaderInfoContributorId) UNIQUE
```asn1 IEEE1609DOT2-HEADERINFO-CONTRIBUTED-EXTENSION ::= CLASS { @@ -483,6 +493,7 @@ etsiHeaderInfoContributorId HeaderInfoContributorId ::= 2 verification type to be used to generate the hash for verification, as specified in 5.3.1. +Fields: * _digest_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
If the choice indicated is digest: - The structure contains the HashedId8 of the relevant certificate. The @@ -556,6 +567,7 @@ Countersignature ::= Ieee1609Dot2Data (WITH COMPONENTS {..., more recipients using the recipients’ public or symmetric keys as specified in 5.3.4. +Fields: * _recipients_ of type [**SequenceOfRecipientInfo**](#SequenceOfRecipientInfo)
contains one or more RecipientInfos. These entries may be more than one RecipientInfo, and more than one type of RecipientInfo, @@ -594,6 +606,7 @@ EncryptedData ::= SEQUENCE { See Annex C.7 for guidance on when it may be appropriate to use each of these approaches. +Fields: * _pskRecipInfo_ of type [**PreSharedKeyRecipientInfo**](#PreSharedKeyRecipientInfo)
The data was encrypted directly using a pre-shared symmetric key. @@ -667,6 +680,7 @@ PreSharedKeyRecipientInfo ::= HashedId8 ### This data structure contains the following fields: +Fields: * _recipientId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
contains the hash of the symmetric key encryption key that may be used to decrypt the data encryption key. It consists of the @@ -692,6 +706,7 @@ SymmRecipientInfo ::= SEQUENCE { ### This data structure contains the following fields: +Fields: * _recipientId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
contains the hash of the container for the encryption public key as specified in the definition of RecipientInfo. Specifically, @@ -735,6 +750,7 @@ Critical information fields: If present and applicable to implementation does not recognize the indicated CHOICE, the implementation shall indicate that the encrypted SPDU is not decryptable. +Fields: * _eciesNistP256_ of type [**EciesP256EncryptedKey**](Ieee1609Dot2BaseTypes.md#EciesP256EncryptedKey)
* _eciesBrainpoolP256r1_ of type [**EciesP256EncryptedKey**](Ieee1609Dot2BaseTypes.md#EciesP256EncryptedKey)
* _ecencSm2256_ of type [**EcencP256EncryptedKey**](Ieee1609Dot2BaseTypes.md#EcencP256EncryptedKey)
@@ -750,6 +766,7 @@ EncryptedDataEncryptionKey ::= CHOICE { ### This data structure encapsulates a ciphertext generated with an approved symmetric algorithm. +Fields: * _aes128ccm_ of type [**One28BitCcmCiphertext**](#One28BitCcmCiphertext)
* _sm4Ccm_ of type [**One28BitCcmCiphertext**](#One28BitCcmCiphertext)
@@ -781,6 +798,7 @@ The ciphertext is 16 bytes longer than the corresponding plaintext. The plaintext resulting from a correct decryption of the ciphertext is a COER-encoded Ieee1609Dot2Data structure. +Fields: * _nonce_ of type **OCTET STRING** (SIZE (12))
contains the nonce N as specified in 5.3.8. @@ -833,6 +851,7 @@ SequenceOfCertificate ::= SEQUENCE OF Certificate ### The fields in this structure have the following meaning: +Fields: * _version_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8) (3)
contains the version of the certificate format. In this version of the data structures, this field is set to 3. @@ -952,6 +971,7 @@ If the choice indicated is sha256AndDigest, sha384AndDigest, or - The certificate is to be verified with the public key indicated by the verifyKeyIndicator field in theToBeSignedCertificate. +Fields: * _sha256AndDigest_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
* _self_ of type [**HashAlgorithm**](Ieee1609Dot2BaseTypes.md#HashAlgorithm)
* _sha384AndDigest_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
@@ -1000,6 +1020,7 @@ For both implicit and explicit certificates, when the certificate including material differences between this standard and SEC 4 regarding how the hash function output is converted from a bit string to an integer. +Fields: * _id_ of type [**CertificateId**](#CertificateId)
contains information that is used to identify the certificate holder if necessary. @@ -1180,6 +1201,7 @@ ToBeSignedCertificate ::= SEQUENCE { ### This structure contains information that is used to identify the certificate holder if necessary. +Fields: * _linkageData_ of type [**LinkageData**](#LinkageData)
is used to identify the certificate for revocation purposes in the case of certificates that appear on linked certificate @@ -1219,6 +1241,7 @@ CertificateId ::= CHOICE { containing certificate has been revoked. See 5.1.3.4 and 7.3 for details of use. +Fields: * _iCert_ of type [**IValue**](Ieee1609Dot2BaseTypes.md#IValue)
* _linkage-value_ of type [**LinkageValue**](Ieee1609Dot2BaseTypes.md#LinkageValue)
* _group-linkage-value_ of type [**GroupLinkageValue**](Ieee1609Dot2BaseTypes.md#GroupLinkageValue) OPTIONAL
@@ -1234,6 +1257,7 @@ LinkageData ::= SEQUENCE { with respect to issuing and requesting certificates for a particular set of PSIDs. For examples, see D.5.3 and D.5.4. +Fields: * _subjectPermissions_ of type [**SubjectPermissions**](#SubjectPermissions)
indicates PSIDs and SSP Ranges covered by this field. @@ -1297,6 +1321,7 @@ SequenceOfPsidGroupPermissions ::= SEQUENCE OF PsidGroupPermissions PsidGroupPermissions in the same certIssuePermissions or certRequestPermissions field. +Fields: * _explicit_ of type [**SequenceOfPsidSspRange**](Ieee1609Dot2BaseTypes.md#SequenceOfPsidSspRange)
* _all_ of type **NULL**
@@ -1326,6 +1351,7 @@ SubjectPermissions ::= CHOICE { ### The contents of this field depend on whether the certificate is an implicit or an explicit certificate. +Fields: * _verificationKey_ of type [**PublicVerificationKey**](Ieee1609Dot2BaseTypes.md#PublicVerificationKey)
is included in explicit certificates. It contains the public key to be used to verify signatures generated by the holder of @@ -1395,6 +1421,7 @@ SequenceOfAppExtensions ::= SEQUENCE (SIZE(1..MAX)) OF AppExtension CertIssueExtension and a CertRequestExtension and all are identified by the same id value. In this structure: +Fields: * _id_ of type [**CERT-EXT-TYPE**](Ieee1609Dot2BaseTypes.md#CERT-EXT-TYPE) .&id({SetCertExtensions})
identifies the extension type. @@ -1430,6 +1457,7 @@ SequenceOfCertIssueExtensions ::= is associated with a AppExtension and a CertRequestExtension and all are identified by the same id value. In this structure: +Fields: * _id_ of type [**CERT-EXT-TYPE**](Ieee1609Dot2BaseTypes.md#CERT-EXT-TYPE) .&id({SetCertExtensions})
identifies the extension type. @@ -1474,6 +1502,7 @@ SequenceOfCertRequestExtensions ::= SEQUENCE (SIZE(1..MAX)) OF CertRequestExtens CertRequestExtension and all are identified by the same id value. In this structure: +Fields: * _id_ of type [**CERT-EXT-TYPE**](Ieee1609Dot2BaseTypes.md#CERT-EXT-TYPE) .&id({SetCertExtensions})
identifies the extension type. diff --git a/docs/Ieee1609Dot2BaseTypes.md b/docs/Ieee1609Dot2BaseTypes.md index 87b223d..e068b9e 100644 --- a/docs/Ieee1609Dot2BaseTypes.md +++ b/docs/Ieee1609Dot2BaseTypes.md @@ -207,6 +207,7 @@ Time64 ::= Uint64 the validity period is given by start and the end is given by start + duration. +Fields: * _start_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32)
* _duration_ of type [**Duration**](#Duration)
```asn1 @@ -221,6 +222,7 @@ ValidityPeriod ::= SEQUENCE { by the indicated choice. A year is considered to be 31556952 seconds, which is the average number of seconds in a year. +Fields: * _microseconds_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
* _milliseconds_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
* _seconds_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
@@ -250,6 +252,7 @@ Duration ::= CHOICE { A certificate is not valid if any part of the region indicated in its scope field lies outside the region indicated in the scope of its issuer. +Fields: * _circularRegion_ of type [**CircularRegion**](#CircularRegion)
contains a single instance of the CircularRegion structure. @@ -310,6 +313,7 @@ GeographicRegion ::= CHOICE { component is considered to be within the circular region if its horizontal projection onto the reference ellipsoid lies within the region. +Fields: * _center_ of type [**TwoDLocation**](#TwoDLocation)
* _radius_ of type [**Uint16**](Ieee1609Dot2BaseTypes.md#Uint16)
```asn1 @@ -327,6 +331,7 @@ CircularRegion ::= SEQUENCE { latitude values in the two points are equal, or if the longitude values in the two points are equal; otherwise it is valid. A certificate that contains an invalid RectangularRegion is invalid. +Fields: * _northWest_ of type [**TwoDLocation**](#TwoDLocation)
is the north-west corner of the rectangle. @@ -379,6 +384,7 @@ PolygonalRegion ::= SEQUENCE SIZE (3..MAX) OF TwoDLocation certificates. The latitude and longitude fields contain the latitude and longitude as defined above. +Fields: * _latitude_ of type [**Latitude**](#Latitude)
* _longitude_ of type [**Longitude**](#Longitude)
@@ -404,6 +410,7 @@ TwoDLocation ::= SEQUENCE { Statement (PICS) provided in Annex A allows an implementation to state which CountryOnly values it recognizes. +Fields: * _countryOnly_ of type [**UnCountryId**](#UnCountryId)
indicates that only a country (or a geographic entity included in a country list) is given. @@ -508,6 +515,7 @@ CountryOnly ::= UnCountryId certificate is valid and so whether the SPDU is valid. In this type: +Fields: * _countryOnly_ of type [**UnCountryId**](#UnCountryId)
is a UnCountryId as defined above. @@ -558,6 +566,7 @@ CountryAndRegions ::= SEQUENCE { certificate is valid and so whether the SPDU is valid. In this structure: +Fields: * _countryOnly_ of type [**UnCountryId**](#UnCountryId)
is a UnCountryId as defined above. @@ -619,6 +628,7 @@ CountryAndSubregions ::= SEQUENCE { whether the certificate is valid and so whether the SPDU is valid. In this structure: +Fields: * _region_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8)
identifies a region within a country. @@ -644,6 +654,7 @@ SequenceOfRegionAndSubregions ::= SEQUENCE OF RegionAndSubregions ### This structure contains an estimate of 3D location. The details of the structure are given in the definitions of the individual fields below. +Fields: * _latitude_ of type [**Latitude**](#Latitude)
* _longitude_ of type [**Longitude**](#Longitude)
* _elevation_ of type [**Elevation**](#Elevation)
@@ -756,6 +767,7 @@ UnknownLongitude ::= OneEightyDegreeInt (unknown) ### This structure represents a signature for a supported public key algorithm. It may be contained within SignedData or Certificate. +Fields: * _ecdsaNistP256Signature_ of type [**EcdsaP256Signature**](#EcdsaP256Signature)
* _ecdsaBrainpoolP256r1Signature_ of type [**EcdsaP256Signature**](#EcdsaP256Signature)
* _ecdsaBrainpoolP384r1Signature_ of type [**EcdsaP384Signature**](#EcdsaP384Signature)
@@ -801,6 +813,7 @@ If the signature process followed the specification of FIPS 186-4 - p = A9FB57DBA1EEA9BC3E660A909D838D726E3BF623D52620282013481D1F6E5377 - n = A9FB57DBA1EEA9BC3E660A909D838D718C397AA3B561A6F7901E0E82974856A7 +Fields: * _rSig_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
* _sSig_ of type **OCTET STRING** (SIZE (32))
@@ -837,6 +850,7 @@ If the signature process followed the specification of FIPS 186-4 represented as an EccP384CurvePoint indicating the choice compressed-y-0, compressed-y-1, or uncompressed at the sender's discretion. +Fields: * _rSig_ of type [**EccP384CurvePoint**](#EccP384CurvePoint)
* _sSig_ of type **OCTET STRING** (SIZE (48))
@@ -869,6 +883,7 @@ EcdsaP384Signature ::= SEQUENCE { component r is constrained to be an integer. This structure supports SM2 signatures as specified in 5.3.1.3. +Fields: * _rSig_ of type **OCTET STRING** (SIZE (32))
* _sSig_ of type **OCTET STRING** (SIZE (32))
```asn1 @@ -894,6 +909,7 @@ EcsigP256Signature ::= SEQUENCE { value compressed-y-1. If the point is uncompressed, y is encoded explicitly as an unsigned integer of length 32 octets in network byte order. +Fields: * _x-only_ of type **OCTET STRING** (SIZE (32))
* _fill_ of type **NULL**
* _compressed-y-0_ of type **OCTET STRING** (SIZE (32))
@@ -937,6 +953,7 @@ EccP256CurvePoint::= CHOICE { value compressed-y-1. If the point is uncompressed, y is encoded explicitly as an unsigned integer of length 48 octets in network byte order. +Fields: * _x-only_ of type **OCTET STRING** (SIZE (48))
* _fill_ of type **NULL**
* _compressed-y-0_ of type **OCTET STRING** (SIZE (48))
@@ -1007,6 +1024,7 @@ HashAlgorithm ::= ENUMERATED { or length indication. Encryption and decryption are carried out as specified in 5.3.5.1. +Fields: * _v_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
is the sender's ephemeral public key, which is the output V from encryption as specified in 5.3.5.1. @@ -1036,6 +1054,7 @@ EciesP256EncryptedKey ::= SEQUENCE { length indication. Encryption and decryption are carried out as specified in 5.3.5.2. +Fields: * _v_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
is the sender's ephemeral public key, which is the output V from encryption as specified in 5.3.5.2. @@ -1062,6 +1081,7 @@ EcencP256EncryptedKey ::= SEQUENCE { ### This structure contains an encryption key, which may be a public or a symmetric key. +Fields: * _public_ of type [**PublicEncryptionKey**](Ieee1609Dot2BaseTypes.md#PublicEncryptionKey)
* _symmetric_ of type [**SymmetricEncryptionKey**](Ieee1609Dot2BaseTypes.md#SymmetricEncryptionKey)
@@ -1085,6 +1105,7 @@ EncryptionKey ::= CHOICE { symmetric algorithm which is used for bulk data encryption when encrypting for that public key. +Fields: * _supportedSymmAlg_ of type [**SymmAlgorithm**](#SymmAlgorithm)
* _publicKey_ of type [**BasePublicEncryptionKey**](#BasePublicEncryptionKey)
@@ -1108,6 +1129,7 @@ PublicEncryptionKey ::= SEQUENCE { a particular algorithm. Supported public key encryption algorithms are defined in 5.3.5. +Fields: * _eciesNistP256_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
* _eciesBrainpoolP256r1_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
* _ecencSm2_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
@@ -1135,6 +1157,7 @@ BasePublicEncryptionKey ::= CHOICE { An EccP256CurvePoint or EccP384CurvePoint within a PublicVerificationKey structure is invalid if it indicates the choice x-only. +Fields: * _ecdsaNistP256_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
* _ecdsaBrainpoolP256r1_ of type [**EccP256CurvePoint**](Ieee1609Dot2BaseTypes.md#EccP256CurvePoint)
* _ecdsaBrainpoolP384r1_ of type [**EccP384CurvePoint**](#EccP384CurvePoint)
@@ -1164,6 +1187,7 @@ PublicVerificationKey ::= CHOICE { symmetric algorithm. The supported symmetric algorithms are AES-128 and SM4 in CCM mode as specified in 5.3.8. +Fields: * _aes128Ccm_ of type **OCTET STRING** (SIZE(16))
* _sm4Ccm_ of type **OCTET STRING** (SIZE(16))
```asn1 @@ -1180,6 +1204,7 @@ SymmetricEncryptionKey ::= CHOICE { For consistency rules for other forms of the ssp field, see the following subclauses. +Fields: * _psid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid)
* _ssp_ of type [**ServiceSpecificPermissions**](Ieee1609Dot2BaseTypes.md#ServiceSpecificPermissions) OPTIONAL
@@ -1228,6 +1253,7 @@ SequenceOfPsid ::= SEQUENCE OF Psid For consistency rules for other types of ServiceSpecificPermissions, see the following subclauses. +Fields: * _opaque_ of type **OCTET STRING** (SIZE(0..MAX))
* _bitmapSsp_ of type [**BitmapSsp**](#BitmapSsp)
@@ -1277,6 +1303,7 @@ BitmapSsp ::= OCTET STRING (SIZE(0..31)) permissions of the certificate holder with respect to one particular set of application permissions. +Fields: * _psid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid)
identifies the application area. @@ -1312,6 +1339,7 @@ If a certificate has a PsidSspRange A for which the ssp field is all, For consistency rules for other types of SspRange, see the following subclauses. +Fields: * _opaque_ of type [**SequenceOfOctetString**](#SequenceOfOctetString)
* _all_ of type **NULL**
* _bitmapSspRange_ of type [**BitmapSspRange**](#BitmapSspRange)
@@ -1337,6 +1365,7 @@ SspRange ::= CHOICE { sspValue and sspBitmask fields shall be of the same length. Reference ETSI TS 103 097 for more information on bitmask SSPs. +Fields: * _sspValue_ of type **OCTET STRING** (SIZE(1..32))
* _sspBitmask_ of type **OCTET STRING** (SIZE(1..32))
@@ -1429,6 +1458,7 @@ LinkageValue ::= OCTET STRING (SIZE(9)) ### This is the group linkage value. See 5.1.3 and 7.3 for details of use. +Fields: * _jValue_ of type **OCTET STRING** (SIZE(4))
* _value_ of type **OCTET STRING** (SIZE(9))
```asn1 @@ -1463,6 +1493,7 @@ LinkageSeed ::= OCTET STRING (SIZE(16)) each other: an AppExtension, a CertIssueExtension, and a CertRequestExtension. +Fields: * _id_ of type [**ExtId**](Ieee1609Dot2BaseTypes.md#ExtId)
```asn1 CERT-EXT-TYPE ::= CLASS { @@ -1477,6 +1508,7 @@ CERT-EXT-TYPE ::= CLASS { the set ExtensionTypes, which is constrained to contain objects defined by the class EXT-TYPE. +Fields: * _id_ of type [**EXT-TYPE**](Ieee1609Dot2BaseTypes.md#EXT-TYPE) .&extId({ExtensionTypes})
* _content_ of type [**EXT-TYPE**](Ieee1609Dot2BaseTypes.md#EXT-TYPE) .&ExtContent({ExtensionTypes}{@.id})
```asn1 @@ -1489,6 +1521,7 @@ Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE { ### This class defines objects in a form suitable for import into the definition of HeaderInfo. +Fields: * _extId_ of type [**ExtId**](Ieee1609Dot2BaseTypes.md#ExtId)
```asn1 EXT-TYPE ::= CLASS { -- GitLab From 0be8d7911e0a1c85a126b9e7fdfd2f3765ffb4c3 Mon Sep 17 00:00:00 2001 From: loncb Date: Mon, 30 Dec 2024 16:35:08 +0000 Subject: [PATCH 17/37] Replace EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 272 ++++++++++++++++++++++++++++------------ 1 file changed, 194 insertions(+), 78 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 4f36b30..8d319c7 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -16,29 +16,35 @@ 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-DirectionNotUpstream, - obs-Security-MessageIdIncWithHeaderInfo, - obs-Security-HeaderIncWithSecurityProfile, - obs-Security-HeaderPsidIncWithCertificate, - obs-Security-MessageIncWithSsp, - obs-Security-HeaderTimeOutsideCertificateValidity, - obs-Security-MessageLocationOutsideCertificateValidity, - obs-Security-HeaderLocationOutsideCertificateValidity, - obs-RoadTypeIncWithSuddenSpeedDrop, - obs-RoadTypeIncWithLocalSlowDown, - obs-PathChangeInMultipleRepetitions, - obs-ValidityDurationIncWithLocalSlowDown, - obs-AwarenessDistanceIncWithLocalSlowDown, - obs-EeblMissingLocationInformation, - obs-EeblIncWithOtherVehiclesSpeed - FROM EtsiTs103759CommonObservations {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-2(2)} - WITH SUCCESSORS +obs-Beacon-IntervalTooSmall, +obs-Static-Change, +obs-DirectionNotUpstream, +obs-DirectionNotDownstream, +obs-DistanceBetweenPositionInDenmAndLdmTooLarge, +obs-DistanceBetweenPositionInDenmAndCamTooLarge, +obs-Security-MessageIdIncWithHeaderInfo, +obs-Security-HeaderIncWithSecurityProfile, +obs-Security-HeaderPsidIncWithCertificate, +obs-Security-MessageIncWithSsp, +obs-Security-HeaderTimeOutsideCertificateValidity, +obs-Security-MessageLocationOutsideCertificateValidity, +obs-Security-HeaderLocationOutsideCertificateValidity, +obs-RoadTypeIncWithSuddenSpeedDrop, +obs-ValidityDurationIncWithSuddenSpeedDrop, +obs-AwarenessDistanceIncWithSuddenSpeedDrop, +obs-RoadTypeIncWithLocalSlowDown, +obs-PathChangeInMultipleRepetitions, +obs-ValidityDurationIncWithLocalSlowDown, +obs-AwarenessDistanceIncWithLocalSlowDown, +obs-CamSpeedIncWithLocalSlowDown, +obs-EeblMissingLocationInformation,obs-EeblIncWithOtherVehiclesSpeed +FROM EtsiTs103759CommonObservations {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-2(2)} +WITH SUCCESSORS - Uint8 +Opaque, +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)} @@ -48,7 +54,7 @@ WITH SUCCESSORS /* This data type is for reporting DENM issues. */ AsrDenm ::= TemplateAsr {{SetMbObsTgtsDenm}, {SetMbEvDenm}} - /* Identify target classes for DENM */ + /* This data type is for identifying target classes for DENM */ IdDenmTgt ::= Uint8 c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 @@ -58,23 +64,103 @@ c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 4 c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 5 c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 6 +c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions IdDenmTgt ::= 7 + +/** +* This module specifies a set of observations for a subset of DENM Use Cases listed in TS 103 759 Annex D.2 (see table D.3). The data types used for specifying the set observations per target class +* and the data types used for detailing other evidences which may need to be included in the report are given. +*/ +/** +* This is a set of observations for the target class c-DenmTgt-BeaconCommon, +* where the trigger conditions for different observations are as follows. +* +* - @param Beacon-IntervalTooSmall: The difference between the generation time of two consecutive DENMs related to the +* same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is +* less than 80% of the minimum threshold value of the DENM repetition interval. This minimum threshold is set to 100 ms, +* considering the list of Day1 uses cases referenced in TS 103 759 table D.3 specified in C2C-CC Basic System Profile [i.11] +* and C-Roads specifications [i.12]. The difference is calculated as the difference between the referenceTime in the second DENM and the +* referenceTime in the first DENM. +* +*/ SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { obs-Beacon-IntervalTooSmall, ... } +/** +* This is a set of observations for the target class c-DenmTgt-StaticCommon, +* where the trigger conditions for different observations are as follows. +* +* - @param Static-Change: Any change in the values of one or more of the following fields which happens during the repetition of the same traffic event (same actionId and detectionTime) +* transmitted by the same ITS station (stationId): stationType and eventPosition in the Management Container, eventType and informationQuality in the Situation Container. +* +* - `Semantics of the BIT STRING`: stationType(0), eventPosition(1), eventType(2), informationQuality(3). +* +*/ + SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { obs-Static-Change, ... } +/** +* This is a set of observations for the target class c-DenmTgt-IncDistanceAndTrafficDirection, +* where the trigger conditions for different observations are as follows. +* +* - @param DirectionNotUpstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction in the use case (i.e. event type). +* This includes the following use cases: Traffic condition — Sudden speed drop and Traffic condition — Local slow down. +* +* - @param DirectionNotDownstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction in the use case (i.e. event type). +* +*/ SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { - obs-DirectionNotUpstream, + obs-DirectionNotUpstream | + obs-DirectionNotDownstream, + ... +} +/** +* This is a set of observations for the target class c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions, +* where the trigger conditions for different observations are as follows. +* +* - @param DistanceBetweenPositionInDenmAndLdmTooLarge : The distance between the eventPosition of the DENM transmitted by the ITS-S via a local, short-range communication +* and the referencePosition received in the last CAM received from that ITS-S (i.e. same stationId) stored in the LDM as defined in ETSI TS 103 938 [i.13] is larger than a maximum distance +* of 1000 meters. This distance may be calculated as the euclidean distance between the two points or preferrably as the distance of the two points using their (longitude, latitude) +* in radians on a sphere of radius r = 6 378 137 metres (ref [Kells, Lyman M.; Kern, Willis F.; Bland, James R. (1940). Plane And Spherical Trigonometry. McGraw Hill Book Company, Inc. pp. 323-326]) +* +* This detector shall only apply if the generationDeltaTime in the CAM Payload verifies one of the following conditions: +* - The generationDeltaTime is higher than the (referenceTime – 1000) mod 65,536 and the value of (generationDeltatTime – (referenceTime -1000) mod 65,536) +* is lower than 1000 (unit in millisecond). +* - The generationDeltaTime is lower than the (referenceTime – 1000) mod 65,536 and the value of (generationDeltatTime - (referenceTime – 1000) mod 65,536 + 65,536) +* is lower than 1000 (unit in millisecond). +* +* - @param DistanceBetweenPositionInDenmAndCamTooLarge: The cause code choice in the DENM is either trafficCondition1 or dangerousEndOfQueue27 and +* the distance between the eventPosition of the DENM transmitted by the ITS-S via a local, short-range communication and the +* referencePosition received in the next CAM received from that ITS-S (i.e. same stationId) is larger than a maximum distance of 600 meters. +* This distance may be calculated as the euclidean distance between the two points or preferrably as the distance of the two points using their (longitude, latitude) +* in radians on a sphere of radius r = 6 378 137 metres (ref [Kells, Lyman M.; Kern, Willis F.; Bland, James R. (1940). Plane And Spherical Trigonometry. McGraw Hill Book Company, Inc. pp. 323-326]) +* +* This detector shall only apply if the generationDeltaTime in the CAM Payload verifies one of the following conditions: +* - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than +* 1000 (unit in millisecond). +* - The generationDeltaTime is lower than the (referenceTime mod 65,536) and the value of (generationDeltatTime - referenceTime mod 65,536 + 65,536) +* is lower than 1000 (unit in millisecond). +* +*/ + +SetMbObsDenmIncDistanceBetweenEventAndReportingStationPositions C-ASR-SINGLE-OBS ::= { + obs-DistanceBetweenPositionInDenmAndLdmTooLarge | + obs-DistanceBetweenPositionInDenmAndCamTooLarge, ... } +/** +* This is a set of observations for the target class c-DenmTgt-SecurityCommon, +* where the trigger conditions for different observations are as follows. +* The same specification applies as for the set of observations of SetMbObsCamSecurity defined in the EtsiTs103759AsrCam module. +* +*/ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { obs-Security-MessageIdIncWithHeaderInfo | obs-Security-HeaderIncWithSecurityProfile | @@ -86,79 +172,90 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { ... } +/** +* This is a set of observations for the target class c-DenmTgt-TrafficCondition-SuddenSpeedDrop, +* where the trigger conditions for different observations are as follows. +* +* - @param RoadTypeIncWithSuddenSpeedDrop: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value +* nonUrban-NoStructuralSeparationToOppositeLanes (2) or nonUrban-WithStructuralSeparationToOppositeLanes (3)). +* +* - @param ValidityDurationIncWithSuddenSpeedDrop: The validity duration in the Management container of the DENM is not equal to 20s. +* + * - @param DistanceIncWithSuddenSpeedDrop: The awarenessDistance is not present or its value is not set to lessThan1000m (4). +* +*/ SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { - obs-RoadTypeIncWithSuddenSpeedDrop, + obs-RoadTypeIncWithSuddenSpeedDrop | + obs-ValidityDurationIncWithSuddenSpeedDrop | + obs-AwarenessDistanceIncWithSuddenSpeedDrop, ... } +/** +* This is a set of observations for the target class c-DenmTgt-TrafficCondition-LocalSlowDown, +* where the trigger conditions for different observations are as follows. +* +* - @param RoadTypeIncWithLocalSlowDown: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value +* nonUrban-NoStructuralSeparationToOppositeLanes (2) or nonUrban-WithStructuralSeparationToOppositeLanes (3)). +* +* - @param PathChangeInMultipleEventRepetitions: The pathPositions contained in the first Traces entry of multiple repeated TrafficJamAhead events +* with the same reporting ITS-S, same actionId and same detectionTime are not identical. +* +* - @param ValidityDurationIncWithLocalSlowDown: The validity duration in the Management container of the DENM is not equal to 60s. +* +* - @param DistanceIncWithLocalSlowDown: The awarenessDistance is not present or its value is not set to lessThan1000m (4). +* +* - @param CamSpeedIncWithLocalSlowDown : The following trigger conditions shall be verified: the component 'termination' in the management container +* of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1) and the speed value in the next CAM transmitted +* by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between referenceTime and referenceTime + 1 second, +* has a speed higher than the eventSpeed contained in that DENM. +* The CAM timestamp (generationDeltaTime) shall verify one of the following conditions: +* - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than +* 1000 (unit in millisecond). +* - The generationDeltaTime is lower than the (referenceTime mod 65,536) and the value of (generationDeltatTime - referenceTime mod 65,536 + 65,536) +* is lower than 1000 (unit in millisecond). +* +*/ + SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { obs-RoadTypeIncWithLocalSlowDown | obs-PathChangeInMultipleRepetitions | obs-ValidityDurationIncWithLocalSlowDown | - obs-AwarenessDistanceIncWithLocalSlowDown, + obs-AwarenessDistanceIncWithLocalSlowDown | + obs-CamSpeedIncWithLocalSlowDown, ... } +/** +* This is a set of observations for the target class c-DenmTgt-DangerousSituation-Eebl, +* where the trigger conditions for different observations are as follows. +* + +* - @param EeblMissingLocationInformation: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, +* detectionZonesToEventPosition of type Traces. +* +* - @param EeblIncWithOtherVehiclesSpeed: the speed values of all CAMs sent by ITS-S stations of stationType =passengerCar(5) in the circular area with center point +* equal to eventPosition and radius equal to 200 m (urban road) or equal to 100m (non-urban or unkwown) +* are all higher than the eventSpeed in the DENM. +* +*/ + SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { obs-EeblMissingLocationInformation | obs-EeblIncWithOtherVehiclesSpeed, ... } -/* -* This is a (sub)set of observations for DENM Use Cases specified in TS 103 759 Annex D.2 (see table D.3). Application-specific -* trigger conditions and other relevant information are specified below. -* -* - _SetMbObsDenmBeacon_: -* - `Beacon-IntervalTooSmall`: The difference between the generation time of two consecutive DENMs related to the -* same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is -* less than 80% of the minimum threshold value of the DENM repetition interval. This minimum threshold is set to 100 ms, -* considering the list of Day1 uses cases referenced in TS 103 759 table D.3 specified in C2C-CC Basic System Profile [i.11] -* and C-Roads specifications [i.12]. The difference is calculated as the difference between the referenceTime in the second DENM and the -* referenceTime in the first DENM. -* -* - _SetMbObsDenmStatic_: -* - `Static-Change`: Any change in the values of one or more of the following fields which happens -* during the repetition of the same traffic event (same actionId and detectionTime) -* transmitted by the same ITS station (stationId): stationType and eventPosition in the Management Container, eventType and informationQuality in the Situation Container. -* - `Semantics of the BIT STRING`: stationType(0), eventPosition(1), eventType(2), informationQuality(3). -* -* - _SetMbObsDenmIncDistanceAndTrafficDirection_: -* - 'obs-DirectionNotUpstream': The trafficDirection is inconsistent with the traffic direction specified as upstream direction in the use case (event type). -* This includes the following use cases: traffic jam — dangerous end of queue and traffic jam — traffic jam ahead. -* -* - _SetMbObsDenmSecurity_ -* The same specification applies as for the set of observations of SetMbObsCamSecurity defined in -* the EtsiTs103759AsrCam module. -* -* - _SetMbObs_DenmTrafficCondition-LocalSlowDown_: -* - `obs-RoadTypeIncWithLocalSlowDown`: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value -* nonUrban-NoStructuralSeparationToOppositeLanes (2), -* nonUrban-WithStructuralSeparationToOppositeLanes (3)). -* -* - `obs-PathChangeInMultipleEventRepetitions`: The pathPositions contained in the first Traces entry of multiple repeated TrafficJamAhead events -* with the same reporting ITS-S, same actionId and same detectionTime are not identical. -* -* - 'obs-ValidityDurationIncWithLocalSlowDown': The validity duration in the Management container of the DENM is not equal to 60s. -* -* - 'obs-DistanceIncWithLocalSlowDown': The awarenessDistance is not present or its value is not set to lessThan1000m (4). -* -* - _SetMbObs_DenmDangerousSituation-Eebl_: -* - `obs-EeblMissingLocationInformation`: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, -* detectionZonesToEventPosition of type Traces. -* -* - `obs-EeblIncWithOtherVehiclesSpeed`: the speed values of all CAMs sent by ITS-S stations of stationType =passengerCar(5) in the circular area with center point -* equal to eventPosition and radius equal to 200 m (urban road) or equal to 100m (non-urban or unkwown) -* are all higher than the eventSpeed in the DENM. -* -*/ +/** + * This is a complete set of observations for DENM. + */ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsDenmBeacon}} BY c-DenmTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsDenmStatic}} BY c-DenmTgt-StaticCommon} | - {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY + {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY c-DenmTgt-IncDistanceAndTrafficDirection} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | @@ -167,16 +264,35 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsDenmTrafficCondition-LocalSlowDown}} BY c-DenmTgt-TrafficCondition-LocalSlowDown} | {MbSingleObservation{{SetMbObsDenmDangerousSituation-Eebl}} BY - c-DenmTgt-DangerousSituation-Eebl} + c-DenmTgt-DangerousSituation-Eebl} | + {MbSingleObservation{{SetMbObsDenmIncDistanceBetweenEventAndReportingStationPositions}} BY + c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions} , ... } /* - * This data type defines the IOS for DENM Evidence. + * This data type defines the IOS for DENM evidences. + */ SetMbEvDenm C-ASR-EV ::= { - ... -} + {MbEvDenmLdmCam BY + c-MbEvDenm-LdmCam} , + ... + } + +/** + * MbEvDenmLdmCam shall contain an ASN1 UPER encoded - ETSI CAM PDU + * according to ETSI TS 103 900 [8], stored in the LDM of the DENM originating ITS-S + */ + MbEvDenmLdmCam ::= Opaque + + /** + * This data type contains the identifiers of the evidence types inserted in the NonV2xPduEvidence. + * + * @param c-MbEvDenm-LdmCam: is the identifier for an LDM entry containing a received CAM PDU. + */ +IdMbDenmEvidence ::= Uint8 +c-MbEvDenm-LdmCam IdMbDenmEvidence ::= 1 END -- GitLab From 5d66b20f949926c7ba76be3042e78f0bb0749ed1 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Mon, 30 Dec 2024 16:35:24 +0000 Subject: [PATCH 18/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 126 ++++++++++++++++++++++++++++++++++-- 1 file changed, 119 insertions(+), 7 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index 5086e94..e6e8df7 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -24,9 +24,21 @@ c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 4 c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 5 c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 6 +c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions IdDenmTgt ::= 7 ``` ### SetMbObsDenmBeacon +This module specifies a set of observations for a subset of DENM Use Cases listed in TS 103 759 Annex D.2 (see table D.3). The data types used for specifying the set observations per target class + and the data types used for detailing other evidences which may need to be included in the report are given. + This is a set of observations for the target class c-DenmTgt-BeaconCommon, + where the trigger conditions for different observations are as follows. + + - @param Beacon-IntervalTooSmall: The difference between the generation time of two consecutive DENMs related to the + same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is + less than 80% of the minimum threshold value of the DENM repetition interval. This minimum threshold is set to 100 ms, + considering the list of Day1 uses cases referenced in TS 103 759 table D.3 specified in C2C-CC Basic System Profile [[i.11]](#references) + and C-Roads specifications [[i.12]](#references). The difference is calculated as the difference between the referenceTime in the second DENM and the + referenceTime in the first DENM. ```asn1 SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { obs-Beacon-IntervalTooSmall, @@ -35,22 +47,50 @@ SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsDenmStatic +This is a set of observations for the target class c-DenmTgt-StaticCommon, + where the trigger conditions for different observations are as follows. + + - @param Static-Change: Any change in the values of one or more of the following fields which happens during the repetition of the same traffic event (same actionId and detectionTime) + transmitted by the same ITS station (stationId): stationType and eventPosition in the Management Container, eventType and informationQuality in the Situation Container. + + - `Semantics of the BIT STRING`: stationType(0), eventPosition(1), eventType(2), informationQuality(3). ```asn1 SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { obs-Static-Change, ... } + ``` ### SetMbObsDenmIncDistanceAndTrafficDirection + +Values: +* **obs-DirectionNotUpstream** |
```asn1 SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { - obs-DirectionNotUpstream, + obs-DirectionNotUpstream | + obs-DirectionNotDownstream, + ... +} + +``` + +### SetMbObsDenmIncDistanceBetweenEventAndReportingStationPositions + +Values: +* **obs-DistanceBetweenPositionInDenmAndLdmTooLarge** |
+```asn1 +SetMbObsDenmIncDistanceBetweenEventAndReportingStationPositions C-ASR-SINGLE-OBS ::= { + obs-DistanceBetweenPositionInDenmAndLdmTooLarge | + obs-DistanceBetweenPositionInDenmAndCamTooLarge, ... } ``` ### SetMbObsDenmSecurity +This is a set of observations for the target class c-DenmTgt-SecurityCommon, + where the trigger conditions for different observations are as follows. + The same specification applies as for the set of observations of SetMbObsCamSecurity defined in the EtsiTs103759AsrCam module. Values: * **obs-Security-MessageIdIncWithHeaderInfo** |
@@ -73,30 +113,78 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsDenmTrafficCondition-SuddenSpeedDrop +This is a set of observations for the target class c-DenmTgt-TrafficCondition-SuddenSpeedDrop, + where the trigger conditions for different observations are as follows. + + - @param RoadTypeIncWithSuddenSpeedDrop: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value + nonUrban-NoStructuralSeparationToOppositeLanes (2) or nonUrban-WithStructuralSeparationToOppositeLanes (3)). + + - @param ValidityDurationIncWithSuddenSpeedDrop: The validity duration in the Management container of the DENM is not equal to 20s. + + - @param DistanceIncWithSuddenSpeedDrop: The awarenessDistance is not present or its value is not set to lessThan1000m (4). + +Values: +* **obs-RoadTypeIncWithSuddenSpeedDrop** |
+* **obs-ValidityDurationIncWithSuddenSpeedDrop** |
```asn1 SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { - obs-RoadTypeIncWithSuddenSpeedDrop, + obs-RoadTypeIncWithSuddenSpeedDrop | + obs-ValidityDurationIncWithSuddenSpeedDrop | + obs-AwarenessDistanceIncWithSuddenSpeedDrop, ... } ``` ### SetMbObsDenmTrafficCondition-LocalSlowDown +This is a set of observations for the target class c-DenmTgt-TrafficCondition-LocalSlowDown, + where the trigger conditions for different observations are as follows. + + - @param RoadTypeIncWithLocalSlowDown: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value + nonUrban-NoStructuralSeparationToOppositeLanes (2) or nonUrban-WithStructuralSeparationToOppositeLanes (3)). + + - @param PathChangeInMultipleEventRepetitions: The pathPositions contained in the first Traces entry of multiple repeated TrafficJamAhead events + with the same reporting ITS-S, same actionId and same detectionTime are not identical. + + - @param ValidityDurationIncWithLocalSlowDown: The validity duration in the Management container of the DENM is not equal to 60s. + + - @param DistanceIncWithLocalSlowDown: The awarenessDistance is not present or its value is not set to lessThan1000m (4). + + - @param CamSpeedIncWithLocalSlowDown : The following trigger conditions shall be verified: the component 'termination' in the management container + of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1) and the speed value in the next CAM transmitted + by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between referenceTime and referenceTime + 1 second, + has a speed higher than the eventSpeed contained in that DENM. + The CAM timestamp (generationDeltaTime) shall verify one of the following conditions: + - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than + 1000 (unit in millisecond). + - The generationDeltaTime is lower than the (referenceTime mod 65,536) and the value of (generationDeltatTime - referenceTime mod 65,536 + 65,536) + is lower than 1000 (unit in millisecond). Values: * **obs-RoadTypeIncWithLocalSlowDown** |
* **obs-PathChangeInMultipleRepetitions** |
* **obs-ValidityDurationIncWithLocalSlowDown** |
+* **obs-AwarenessDistanceIncWithLocalSlowDown** |
```asn1 SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { obs-RoadTypeIncWithLocalSlowDown | obs-PathChangeInMultipleRepetitions | obs-ValidityDurationIncWithLocalSlowDown | - obs-AwarenessDistanceIncWithLocalSlowDown, + obs-AwarenessDistanceIncWithLocalSlowDown | + obs-CamSpeedIncWithLocalSlowDown, ... } ``` ### SetMbObsDenmDangerousSituation-Eebl +This is a set of observations for the target class c-DenmTgt-DangerousSituation-Eebl, + where the trigger conditions for different observations are as follows. + + - @param EeblMissingLocationInformation: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, + detectionZonesToEventPosition of type Traces. + + - @param EeblIncWithOtherVehiclesSpeed: the speed values of all CAMs sent by ITS-S stations of stationType =passengerCar(5) in the circular area with center point + equal to eventPosition and radius equal to 200 m (urban road) or equal to 100m (non-urban or unkwown) + are all higher than the eventSpeed in the DENM. Values: * **obs-EeblMissingLocationInformation** |
@@ -109,13 +197,14 @@ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsTgtsDenm +This is a complete set of observations for DENM. ```asn1 SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsDenmBeacon}} BY c-DenmTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsDenmStatic}} BY c-DenmTgt-StaticCommon} | - {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY + {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY c-DenmTgt-IncDistanceAndTrafficDirection} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | @@ -124,7 +213,9 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsDenmTrafficCondition-LocalSlowDown}} BY c-DenmTgt-TrafficCondition-LocalSlowDown} | {MbSingleObservation{{SetMbObsDenmDangerousSituation-Eebl}} BY - c-DenmTgt-DangerousSituation-Eebl} + c-DenmTgt-DangerousSituation-Eebl} | + {MbSingleObservation{{SetMbObsDenmIncDistanceBetweenEventAndReportingStationPositions}} BY + c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions} , ... } @@ -133,8 +224,29 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { ### SetMbEvDenm ```asn1 SetMbEvDenm C-ASR-EV ::= { - ... -} + {MbEvDenmLdmCam BY + c-MbEvDenm-LdmCam} , + ... + } +``` + +### MbEvDenmLdmCam +MbEvDenmLdmCam shall contain an ASN1 UPER encoded - ETSI CAM PDU + according to ETSI TS 103 900 [[8]](#references), stored in the LDM of the DENM originating ITS-S +```asn1 +MbEvDenmLdmCam ::= Opaque +``` + +### IdMbDenmEvidence +This data type contains the identifiers of the evidence types inserted in the NonV2xPduEvidence. + +* c-MbEvDenm-LdmCam
+ is the identifier for an LDM entry containing a received CAM PDU. + + +```asn1 +IdMbDenmEvidence ::= Uint8 +c-MbEvDenm-LdmCam IdMbDenmEvidence ::= 1 ``` -- GitLab From 2a5920454d5fe1232ae613cb90e240795c992c64 Mon Sep 17 00:00:00 2001 From: loncb Date: Mon, 13 Jan 2025 10:17:11 +0000 Subject: [PATCH 19/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 8d319c7..7395727 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -126,7 +126,10 @@ SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { * * - @param DistanceBetweenPositionInDenmAndLdmTooLarge : The distance between the eventPosition of the DENM transmitted by the ITS-S via a local, short-range communication * and the referencePosition received in the last CAM received from that ITS-S (i.e. same stationId) stored in the LDM as defined in ETSI TS 103 938 [i.13] is larger than a maximum distance -* of 1000 meters. This distance may be calculated as the euclidean distance between the two points or preferrably as the distance of the two points using their (longitude, latitude) +* threshold. This threshold is set to 1 km if the event type is one of the following: dangerousEndOfQueue or trafficCondition.The threshold is set to 100 m if the event type (causeCode) is +* one of the following: stationaryVehicle, emergencyVehicleApproaching, collisionRisk, dangerousSitiation. +* +* This distance may be calculated as the euclidean distance between the two points or preferrably as the distance of the two points using their (longitude, latitude) * in radians on a sphere of radius r = 6 378 137 metres (ref [Kells, Lyman M.; Kern, Willis F.; Bland, James R. (1940). Plane And Spherical Trigonometry. McGraw Hill Book Company, Inc. pp. 323-326]) * * This detector shall only apply if the generationDeltaTime in the CAM Payload verifies one of the following conditions: -- GitLab From 6224b43abcca9e009ab2831b538088a61ae62cfe Mon Sep 17 00:00:00 2001 From: loncb Date: Wed, 15 Jan 2025 09:08:59 +0000 Subject: [PATCH 20/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 7395727..3931b10 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -75,12 +75,12 @@ c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions IdDenmTgt ::= 7 * This is a set of observations for the target class c-DenmTgt-BeaconCommon, * where the trigger conditions for different observations are as follows. * -* - @param Beacon-IntervalTooSmall: The difference between the generation time of two consecutive DENMs related to the -* same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is +* - @param Beacon-IntervalTooSmall: The difference between the generation time in the Header Info of two consecutive signed DENMs +* related to the same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is * less than 80% of the minimum threshold value of the DENM repetition interval. This minimum threshold is set to 100 ms, * considering the list of Day1 uses cases referenced in TS 103 759 table D.3 specified in C2C-CC Basic System Profile [i.11] -* and C-Roads specifications [i.12]. The difference is calculated as the difference between the referenceTime in the second DENM and the -* referenceTime in the first DENM. +* and C-Roads specifications [i.12]. The difference is calculated as the difference between the generationTime in the second DENM and the +* generationTime in the first DENM. * */ -- GitLab From 3c94e5c782fa8f8d810d611c0c9ab99e491db11a Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Wed, 15 Jan 2025 09:09:17 +0000 Subject: [PATCH 21/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index e6e8df7..62e2e24 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -33,12 +33,12 @@ This module specifies a set of observations for a subset of DENM Use Cases liste This is a set of observations for the target class c-DenmTgt-BeaconCommon, where the trigger conditions for different observations are as follows. - - @param Beacon-IntervalTooSmall: The difference between the generation time of two consecutive DENMs related to the - same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is + - @param Beacon-IntervalTooSmall: The difference between the generation time in the Header Info of two consecutive signed DENMs + related to the same traffic event (same actionId and detectionTime) transmitted by the same ITS station (same stationId) is less than 80% of the minimum threshold value of the DENM repetition interval. This minimum threshold is set to 100 ms, considering the list of Day1 uses cases referenced in TS 103 759 table D.3 specified in C2C-CC Basic System Profile [[i.11]](#references) - and C-Roads specifications [[i.12]](#references). The difference is calculated as the difference between the referenceTime in the second DENM and the - referenceTime in the first DENM. + and C-Roads specifications [[i.12]](#references). The difference is calculated as the difference between the generationTime in the second DENM and the + generationTime in the first DENM. ```asn1 SetMbObsDenmBeacon C-ASR-SINGLE-OBS ::= { obs-Beacon-IntervalTooSmall, -- GitLab From b2e4bc7814c18f4b5a4e7897dd6102db2aec11c8 Mon Sep 17 00:00:00 2001 From: loncb Date: Wed, 15 Jan 2025 09:14:01 +0000 Subject: [PATCH 22/37] Update file EtsiTs103759CommonObservations.asn --- EtsiTs103759CommonObservations.asn | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/EtsiTs103759CommonObservations.asn b/EtsiTs103759CommonObservations.asn index a4a61c6..ecfe1ea 100644 --- a/EtsiTs103759CommonObservations.asn +++ b/EtsiTs103759CommonObservations.asn @@ -39,8 +39,7 @@ IdMbObs ::= Uint8 /** * This data type is provided for an observation of beacon interval - * that is too small. This doesn't apply to repeated PDUs, but only to two - * distinct PDUs. + * that is too small. * * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` -- GitLab From b24b7d3ac0c519c5ea69a50f47b0dc9e64c2f967 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Wed, 15 Jan 2025 09:14:22 +0000 Subject: [PATCH 23/37] Documentation update --- docs/EtsiTs103759CommonObservations.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/EtsiTs103759CommonObservations.md b/docs/EtsiTs103759CommonObservations.md index 23744f5..01a6e6e 100644 --- a/docs/EtsiTs103759CommonObservations.md +++ b/docs/EtsiTs103759CommonObservations.md @@ -20,8 +20,7 @@ IdMbObs ::= Uint8 ### Beacon-IntervalTooSmall This data type is provided for an observation of beacon interval - that is too small. This doesn't apply to repeated PDUs, but only to two - distinct PDUs. + that is too small. - `v2xPduEvidence`: This field must contain at least one entry. The observation applies to the first entry. The `subjectPduIndex` -- GitLab From 824ffbb8322ae760a37f7f0e466b297136559c56 Mon Sep 17 00:00:00 2001 From: loncb Date: Wed, 29 Jan 2025 16:35:19 +0000 Subject: [PATCH 24/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 2 ++ 1 file changed, 2 insertions(+) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 3931b10..b97216f 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -176,6 +176,8 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { } /** +* This group of detectors apply on DENM which cause code is equal to 'TrafficCondition' and sub cause code is equal to unavailable(0) +* and which stationType has one of the following value: motorcycle(4), passengerCar(5), bus(6), ligthTruck(7), heavyTruck(8), specialVehicle(10). * This is a set of observations for the target class c-DenmTgt-TrafficCondition-SuddenSpeedDrop, * where the trigger conditions for different observations are as follows. * -- GitLab From 142b472c745e4e527f39dd2a8c893dd84c071c42 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Wed, 29 Jan 2025 16:35:38 +0000 Subject: [PATCH 25/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index 62e2e24..d2ed25a 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -113,7 +113,9 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsDenmTrafficCondition-SuddenSpeedDrop -This is a set of observations for the target class c-DenmTgt-TrafficCondition-SuddenSpeedDrop, +This group of detectors apply on DENM which cause code is equal to 'TrafficCondition' and sub cause code is equal to unavailable(0) + and which stationType has one of the following value: motorcycle(4), passengerCar(5), bus(6), ligthTruck(7), heavyTruck(8), specialVehicle(10). + This is a set of observations for the target class c-DenmTgt-TrafficCondition-SuddenSpeedDrop, where the trigger conditions for different observations are as follows. - @param RoadTypeIncWithSuddenSpeedDrop: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value -- GitLab From e116c78e456c081c6487f0d249bd3e26e29ea1cd Mon Sep 17 00:00:00 2001 From: loncb Date: Tue, 11 Feb 2025 11:33:31 +0000 Subject: [PATCH 26/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index b97216f..6c66e05 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -124,7 +124,7 @@ SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { * This is a set of observations for the target class c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions, * where the trigger conditions for different observations are as follows. * -* - @param DistanceBetweenPositionInDenmAndLdmTooLarge : The distance between the eventPosition of the DENM transmitted by the ITS-S via a local, short-range communication +* - @param DistanceBetweenPositionInDenmAndLdmTooLarge : The distance between the eventPosition of the DENM transmitted by the ITS-S * and the referencePosition received in the last CAM received from that ITS-S (i.e. same stationId) stored in the LDM as defined in ETSI TS 103 938 [i.13] is larger than a maximum distance * threshold. This threshold is set to 1 km if the event type is one of the following: dangerousEndOfQueue or trafficCondition.The threshold is set to 100 m if the event type (causeCode) is * one of the following: stationaryVehicle, emergencyVehicleApproaching, collisionRisk, dangerousSitiation. @@ -139,8 +139,8 @@ SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { * is lower than 1000 (unit in millisecond). * * - @param DistanceBetweenPositionInDenmAndCamTooLarge: The cause code choice in the DENM is either trafficCondition1 or dangerousEndOfQueue27 and -* the distance between the eventPosition of the DENM transmitted by the ITS-S via a local, short-range communication and the -* referencePosition received in the next CAM received from that ITS-S (i.e. same stationId) is larger than a maximum distance of 600 meters. +* the distance between the eventPosition of the DENM transmitted by the ITS-S and the referencePosition received in the next CAM +* received from that ITS-S (i.e. same stationId) is larger than a maximum distance of 600 meters. * This distance may be calculated as the euclidean distance between the two points or preferrably as the distance of the two points using their (longitude, latitude) * in radians on a sphere of radius r = 6 378 137 metres (ref [Kells, Lyman M.; Kern, Willis F.; Bland, James R. (1940). Plane And Spherical Trigonometry. McGraw Hill Book Company, Inc. pp. 323-326]) * -- GitLab From 6b68603990c6b451afef27ad5215734cc8ffb56c Mon Sep 17 00:00:00 2001 From: loncb Date: Tue, 11 Feb 2025 11:58:48 +0000 Subject: [PATCH 27/37] Update file EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 6c66e05..2bacfd1 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -176,7 +176,8 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { } /** -* This group of detectors apply on DENM which cause code is equal to 'TrafficCondition' and sub cause code is equal to unavailable(0) +* This group of detectors is defined for the Use Case Traffic Condition – Sudden speed drop as specified in [i.14]. +* They apply on DENM which cause code is equal to 'Dangerous end of queue' and sub cause code is equal to unavailable(0) * and which stationType has one of the following value: motorcycle(4), passengerCar(5), bus(6), ligthTruck(7), heavyTruck(8), specialVehicle(10). * This is a set of observations for the target class c-DenmTgt-TrafficCondition-SuddenSpeedDrop, * where the trigger conditions for different observations are as follows. @@ -198,6 +199,9 @@ SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { } /** +* This group of detectors is defined for the Use Case Traffic Condition – Local slow down as specified in [i.14]. +* They apply on DENM which cause code is equal to 'TrafficCondition' and sub cause code is equal to unavailable(0) +* and which stationType has one of the following value: motorcycle(4), passengerCar(5), bus(6), ligthTruck(7), heavyTruck(8), specialVehicle(10). * This is a set of observations for the target class c-DenmTgt-TrafficCondition-LocalSlowDown, * where the trigger conditions for different observations are as follows. * @@ -233,6 +237,7 @@ SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { } /** +* This group of detectors is defined for the Use Case Dangerous situation – Electronic emergency brake light as specified in [i.15]. * This is a set of observations for the target class c-DenmTgt-DangerousSituation-Eebl, * where the trigger conditions for different observations are as follows. * -- GitLab From 9365792ac02748054dd4998d041586cfd6d797c9 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Tue, 11 Feb 2025 11:59:07 +0000 Subject: [PATCH 28/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index d2ed25a..a96a250 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -113,7 +113,8 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsDenmTrafficCondition-SuddenSpeedDrop -This group of detectors apply on DENM which cause code is equal to 'TrafficCondition' and sub cause code is equal to unavailable(0) +This group of detectors is defined for the Use Case Traffic Condition – Sudden speed drop as specified in [[i.14]](#references). + They apply on DENM which cause code is equal to 'Dangerous end of queue' and sub cause code is equal to unavailable(0) and which stationType has one of the following value: motorcycle(4), passengerCar(5), bus(6), ligthTruck(7), heavyTruck(8), specialVehicle(10). This is a set of observations for the target class c-DenmTgt-TrafficCondition-SuddenSpeedDrop, where the trigger conditions for different observations are as follows. @@ -138,7 +139,10 @@ SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsDenmTrafficCondition-LocalSlowDown -This is a set of observations for the target class c-DenmTgt-TrafficCondition-LocalSlowDown, +This group of detectors is defined for the Use Case Traffic Condition – Local slow down as specified in [[i.14]](#references). + They apply on DENM which cause code is equal to 'TrafficCondition' and sub cause code is equal to unavailable(0) + and which stationType has one of the following value: motorcycle(4), passengerCar(5), bus(6), ligthTruck(7), heavyTruck(8), specialVehicle(10). + This is a set of observations for the target class c-DenmTgt-TrafficCondition-LocalSlowDown, where the trigger conditions for different observations are as follows. - @param RoadTypeIncWithLocalSlowDown: The roadType of the Location Container is not equal to 'non-urban' road type (i.e. is not set to value @@ -178,7 +182,8 @@ SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsDenmDangerousSituation-Eebl -This is a set of observations for the target class c-DenmTgt-DangerousSituation-Eebl, +This group of detectors is defined for the Use Case Dangerous situation – Electronic emergency brake light as specified in [[i.15]](#references). + This is a set of observations for the target class c-DenmTgt-DangerousSituation-Eebl, where the trigger conditions for different observations are as follows. - @param EeblMissingLocationInformation: one of the following location information of the detected event is missing: eventSpeed, eventPositionHeading, -- GitLab From 153a52d639d57dbf0d876a43e601b118b0534295 Mon Sep 17 00:00:00 2001 From: loncb Date: Thu, 13 Mar 2025 18:53:04 +0000 Subject: [PATCH 29/37] Replace EtsiTs103759CommonObservations.asn --- EtsiTs103759CommonObservations.asn | 190 +++++++++++++++++++++++------ 1 file changed, 154 insertions(+), 36 deletions(-) diff --git a/EtsiTs103759CommonObservations.asn b/EtsiTs103759CommonObservations.asn index ecfe1ea..d8cfc92 100644 --- a/EtsiTs103759CommonObservations.asn +++ b/EtsiTs103759CommonObservations.asn @@ -411,34 +411,93 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { } -- ******************************************************************************* --- DENM generic misbehaviour detectors - Inconsistent awareness distance or traffic direction with specific Use case (Event type) +-- DENM generic misbehaviour detectors - Change of Detection Time or Termination during DENM repetitions -/** -* This data type is provided for an observation of an unplausible awareness distance or traffic direction in the management -* container in the DENM transmitted by the ITS-S. +/** This data type is provided for an observation of change of the detection time or of the event termination fields +* in two successive, repeated DENM messages, i.e. transmitted by the same stationId with the same actionId and same detectionTime. +* The semantics of the `BIT STRING` are provided in the application-specific files. +* * - `v2xPduEvidence`: This field must contain at least one entry. * The observation applies to the first entry. The `subjectPduIndex` * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to -* the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. +* the PDU whose detection time or termination since the previous PDU is being flagged as changed. +* The `v2xPdus` field in that entry must contain at least the subject PDU +* and the PDU that immediately preceded it. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included +* to support this observation. +*/ +TimeChangeInRepetitions-IncTimeInRepetitions ::= NULL + -- IDs + c-ObsIncTimeInRepetitions IdMbObs::= 1 -- Class 2 + -- Individual Information Objects + obs-Time-Change-In-Repetitions C-ASR-SINGLE-OBS ::= { + TimeChangeInRepetitions-IncTimeInRepetitions BY c-ObsIncTimeInRepetitions +} + + +-- ******************************************************************************* +-- DENM generic misbehaviour detectors - Inconsistent event Reference Time, Detection Time or Validity Duration in the received DENM + +/** This data type is provided for an observation of a referenceTime in the DENM which value is in the future (i.e. is greater than +* the current time of the receiving ITS-S). +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field referenceTime in the Management container +* is greater than the current time. * +* The `v2xPdus` field in that entry must contain at least the subject PDU. +* The PDU shall be of type `ObsPduEtsiGn`. * - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. */ -DistanceAndTrafficDirection-DirectionNotUpstream ::= NULL --- IDs -c-ObsDirectionNotUpstream IdMbObs::=1 -- Class 1 --- Individual Information Objects -obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= { - DistanceAndTrafficDirection-DirectionNotUpstream BY c-ObsDirectionNotUpstream -} +IncTimeAndDuration-UnplausibleReferenceTime ::= NULL + -- IDs +c-ObsUnplausibleReferenceTime IdMbObs::= 1 -- Class 1 + -- Individual Information Objects +obs-UnplausibleReferenceTime C-ASR-SINGLE-OBS ::= +{IncTimeAndDuration-UnplausibleReferenceTime BY c-ObsUnplausibleReferenceTime} + +/** +This data type is provided for an observation of a detectionTime in the DENM which value is in the future (i.e. is greater than +* the current time of the receiving ITS-S). +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field detectionTime in the Management container +* is greater than the current time. +* +* The `v2xPdus` field in that entry must contain at least the subject PDU. +* The PDU shall be of type `ObsPduEtsiGn`. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +*/ +IncTimeAndDuration-UnplausibleDetectionTime ::= NULL + -- IDs +c-ObsUnplausibleDetectionTime IdMbObs::= 2 -- Class 1 + -- Individual Information Objects +obs-UnplausibleDetectionTime C-ASR-SINGLE-OBS ::= +{IncTimeAndDuration-UnplausibleDetectionTime BY c-ObsUnplausibleDetectionTime} + +/** +This data type is provided for an observation of a validity Time (calculated as DetectionTime + ValidityDuration) in the DENM which value is +* in the past future (i.e. is smaller than the current time of the receiving ITS-S). +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose value of DetectionTime + ValidityDuration +* is smaller than the current time. +* +* The `v2xPdus` field in that entry must contain at least the subject PDU. +* The PDU shall be of type `ObsPduEtsiGn`. +* - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +*/ + +IncTimeAndDuration-ExceededEventValidityTime ::= NULL + -- IDs +c-ObsExceededEventValidityTime IdMbObs::= 3 -- Class 1 + -- Individual Information Objects +obs-ExceededEventValidityTime C-ASR-SINGLE-OBS ::= +{IncTimeAndDuration-ExceededEventValidityTime BY c-ObsExceededEventValidityTime} -DistanceAndTrafficDirection-DirectionNotDownstream ::= NULL --- IDs -c-ObsDirectionNotDownstream IdMbObs::=2 -- Class 1 --- Individual Information Objects - obs-DirectionNotDownstream C-ASR-SINGLE-OBS ::= { - DistanceAndTrafficDirection-DirectionNotDownstream BY c-ObsDirectionNotDownstream - } -- ******************************************************************************* -- DENM generic misbehaviour detectors - Inconsistent distance between the event position and the position of the ITS-S generating the DENM @@ -455,8 +514,8 @@ DistanceBetweenPositionInDenmAndLdmTooLarge ::= NULL -- IDs c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge IdMbObs::=1 -- Class 3 -- Individual Information Objects - obs-DistanceBetweenPositionInDenmAndLdmTooLarge C-ASR-SINGLE-OBS ::= { - DistanceBetweenPositionInDenmAndLdmTooLarge BY c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge +obs-DistanceBetweenPositionInDenmAndLdmTooLarge C-ASR-SINGLE-OBS ::= { + DistanceBetweenPositionInDenmAndLdmTooLarge BY c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge } /** * This data type is provided for an observation of an inconsistent distance between the eventPosition in the DENM transmitted by the ITS-S signalling @@ -548,7 +607,26 @@ obs-ValidityDurationIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= c-ObsAwarenessDistanceIncWithSuddenSpeedDrop IdMbObs::= 3 -- Class 1 -- Individual Information Objects obs-AwarenessDistanceIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= - {TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop BY c-ObsAwarenessDistanceIncWithSuddenSpeedDrop} + {TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop BY c-ObsAwarenessDistanceIncWithSuddenSpeedDrop} + +/** +* This data type is provided for an observation of a traffic direction not set to upstream () in the management +* container in the DENM transmitted by the ITS-S. +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to +* the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +*/ + +TrafficCondition-DirectionIncWithSuddenSpeedDrop ::= NULL +-- IDs +c-ObsDirectionIncWithSuddenSpeedDrop IdMbObs::= 4 -- Class 1 +-- Individual Information Objects +obs-DirectionIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= +{TrafficCondition-DirectionIncWithSuddenSpeedDrop BY c-ObsDirectionIncWithSuddenSpeedDrop} + -- ******************************************************************************** -- Traffic Condition - Local slow down @@ -579,18 +657,19 @@ obs-RoadTypeIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= /** This data type is provided for an observation of the pathPoints of the entry Traces[1] in the component detectionZonesToEventPosition * which are not identical in two successive, repeated TrafficCondition-LocalSlowDown DENM messages, i.e. transmitted by the same stationId with the * same actionId and same detectionTime. - * - * - `v2xPduEvidence`: This field must contain at least one entry. - * The observation applies to the first entry. The `subjectPduIndex` - * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[1] - * of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the - * first entry of traces in the previous PDU. - * The `v2xPdus` field in that entry must contain at least the subject PDU. - * The PDU shall be of type `ObsPduEtsiGn`. - * - * - `nonV2xPduEvidence`: No other evidence is required to be included - * to support this observation. - */ +* +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[1] +* of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the +* first entry of traces in the previous PDU. +* The `v2xPdus` field in that entry must contain at least the subject PDU +* and the PDU that immediately preceded it. +* The PDU shall be of type `ObsPduEtsiGn`. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included +* to support this observation. +*/ TrafficCondition-PathChangeInMultipleRepetitions ::= NULL -- IDs @@ -668,6 +747,24 @@ obs-CamSpeedIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= { CamSpeedIncWithLocalSlowDown BY c-ObsCamSpeedIncWithLocalSlowDown } +/** +* This data type is provided for an observation of a traffic direction not set to upstream () in the management +* container in the DENM transmitted by the ITS-S. +* - `v2xPduEvidence`: This field must contain at least one entry. +* The observation applies to the first entry. The `subjectPduIndex` +* in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to +* the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. +* +* - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +*/ + +TrafficCondition-DirectionIncWithLocalSlowDown ::= NULL +-- IDs +c-ObsDirectionIncWithLocalSlowDown IdMbObs::= 6 -- Class 1 +-- Individual Information Objects +obs-DirectionIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= +{TrafficCondition-DirectionIncWithLocalSlowDown BY c-ObsDirectionIncWithSuddenSpeedDrop} + -- ******************************************************************************** -- Dangerous Situation - EEBL issues @@ -714,11 +811,32 @@ obs-EeblMissingLocationInformation C-ASR-SINGLE-OBS ::= * to support this observation. */ - Eebl-IncWithOtherVehiclesSpeed ::= NULL +Eebl-IncWithOtherVehiclesSpeed ::= NULL -- IDs c-ObsEeblIncWithOtherVehiclesSpeed IdMbObs::= 2 -- Class 5 -- Individual Information Objects obs-EeblIncWithOtherVehiclesSpeed C-ASR-SINGLE-OBS ::= - {Eebl-IncWithOtherVehiclesSpeed BY c-ObsEeblIncWithOtherVehiclesSpeed} + {Eebl-IncWithOtherVehiclesSpeed BY c-ObsEeblIncWithOtherVehiclesSpeed} + +/** +* This data type is provided for an observation of an Eebl event generated by a motorcycle +* or passenger vehicle whose eventSpeed is below the minimum speed for triggering +* an emergency brake. +* - `v2xPduEvidence`: This field must contain at least one entry. + * The observation applies to the first entry. The `subjectPduIndex` + * in that @ref V2xPduStream (EtsiTs103759BaseTypes.md#V2xPduStream) points to + * the PDU whose location information is missing. + * The `v2xPdus` field in that entry must contain at least the subject PDU. + * The PDU shall be of type `ObsPduEtsiGn`. + * + * - `nonV2xPduEvidence`: No other evidence is required to be included + * to support this observation. + */ +Eebl-EventSpeedBelowMinThreshold ::= NULL +-- IDs +c-ObsEeblEventSpeedBelowMinThreshold IdMbObs::= 3 -- Class 1 +-- Individual Information Objects +obs-EeblEventSpeedBelowMinThreshold C-ASR-SINGLE-OBS ::= + {Eebl-EventSpeedBelowMinThreshold BY c-ObsEeblEventSpeedBelowMinThreshold} END \ No newline at end of file -- GitLab From e6c2e30090709b666c0e00dee707f537eff6ba21 Mon Sep 17 00:00:00 2001 From: loncb Date: Thu, 13 Mar 2025 18:53:48 +0000 Subject: [PATCH 30/37] Replace EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 83 +++++++++++++++++++++++++++++------------ 1 file changed, 59 insertions(+), 24 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 2bacfd1..758ce26 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -18,8 +18,10 @@ minor-version-1 (1)} WITH SUCCESSORS obs-Beacon-IntervalTooSmall, obs-Static-Change, -obs-DirectionNotUpstream, -obs-DirectionNotDownstream, +obs-Time-Change-In-Repetitions, +obs-UnplausibleReferenceTime, +obs-UnplausibleDetectionTime, +obs-ExceededEventValidityTime, obs-DistanceBetweenPositionInDenmAndLdmTooLarge, obs-DistanceBetweenPositionInDenmAndCamTooLarge, obs-Security-MessageIdIncWithHeaderInfo, @@ -32,12 +34,16 @@ obs-Security-HeaderLocationOutsideCertificateValidity, obs-RoadTypeIncWithSuddenSpeedDrop, obs-ValidityDurationIncWithSuddenSpeedDrop, obs-AwarenessDistanceIncWithSuddenSpeedDrop, +obs-DirectionIncWithSuddenSpeedDrop, obs-RoadTypeIncWithLocalSlowDown, obs-PathChangeInMultipleRepetitions, obs-ValidityDurationIncWithLocalSlowDown, obs-AwarenessDistanceIncWithLocalSlowDown, obs-CamSpeedIncWithLocalSlowDown, -obs-EeblMissingLocationInformation,obs-EeblIncWithOtherVehiclesSpeed +obs-DirectionIncWithLocalSlowDown, +obs-EeblMissingLocationInformation, +obs-EeblIncWithOtherVehiclesSpeed, +obs-EeblEventSpeedBelowMinThreshold FROM EtsiTs103759CommonObservations {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-2(2)} @@ -59,12 +65,13 @@ IdDenmTgt ::= Uint8 c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 c-DenmTgt-StaticCommon IdDenmTgt ::= 1 -c-DenmTgt-IncDistanceAndTrafficDirection IdDenmTgt ::=2 -c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 -c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 4 -c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 5 -c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 6 -c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions IdDenmTgt ::= 7 +c-DenmTgt-TimeChangeInRepetitions IdDenmTgt ::= 2 +c-DenmTgt-IncTimeAndDuration IdDenmTgt ::= 3 +c-DenmTgt-SecurityCommon IdDenmTgt ::= 4 +c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 5 +c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 6 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 7 +c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions IdDenmTgt ::= 8 /** * This module specifies a set of observations for a subset of DENM Use Cases listed in TS 103 759 Annex D.2 (see table D.3). The data types used for specifying the set observations per target class @@ -104,22 +111,41 @@ SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { obs-Static-Change, ... } + /** -* This is a set of observations for the target class c-DenmTgt-IncDistanceAndTrafficDirection, +* This is a set of observations for the target class c-DenmTgt-TimeChangeInRepetitions, * where the trigger conditions for different observations are as follows. * -* - @param DirectionNotUpstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction in the use case (i.e. event type). -* This includes the following use cases: Traffic condition — Sudden speed drop and Traffic condition — Local slow down. -* -* - @param DirectionNotDownstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction in the use case (i.e. event type). +* - @param Time-Change-In-Repetitions: Any change in the value of the detectionTime field which happens during the repetition of the same event (same actionId +* and referenceTime) transmitted by the same ITS station (stationId). +* +*/ + +SetMbObsDenmTimeChangeInRepetitions C-ASR-SINGLE-OBS ::= { + obs-Time-Change-In-Repetitions, + ... +} + +/** +* This is a set of observations for the target class c-DenmTgt-IncTimeAndDuration, +* where the trigger conditions for different observations are as follows. * +* - @param UnplausibleReferenceTime: The reference time in the Management container of the DENM is greater than the current time +* of the receiving ITS-S. +* - @param UnplausibleDetectionTime: The detection time in the Management container of the DENM is greater than the current time +* of the receiving ITS-S. +* - @param ExceededEventValidityTime: The expiration time of the DENM event calculated by adding the Detection Time and the Validity Duration time +* in the Management container of the DENM is smaller than the current time of the receiving ITS-S. */ -SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { - obs-DirectionNotUpstream | - obs-DirectionNotDownstream, +SetMbObsDenmIncTimeAndDuration C-ASR-SINGLE-OBS ::= { + obs-UnplausibleReferenceTime | + obs-UnplausibleDetectionTime | + obs-ExceededEventValidityTime, ... } + + /** * This is a set of observations for the target class c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions, * where the trigger conditions for different observations are as follows. @@ -187,14 +213,16 @@ SetMbObsDenmSecurity C-ASR-SINGLE-OBS ::= { * * - @param ValidityDurationIncWithSuddenSpeedDrop: The validity duration in the Management container of the DENM is not equal to 20s. * - * - @param DistanceIncWithSuddenSpeedDrop: The awarenessDistance is not present or its value is not set to lessThan1000m (4). +* - @param DistanceIncWithSuddenSpeedDrop: The awarenessDistance is not present or its value is not set to lessThan1000m (4). * +* - @param DirectionNotUpstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction for this event type. */ SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { obs-RoadTypeIncWithSuddenSpeedDrop | obs-ValidityDurationIncWithSuddenSpeedDrop | - obs-AwarenessDistanceIncWithSuddenSpeedDrop, + obs-AwarenessDistanceIncWithSuddenSpeedDrop | + obs-DirectionIncWithSuddenSpeedDrop, ... } @@ -218,13 +246,14 @@ SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { * - @param CamSpeedIncWithLocalSlowDown : The following trigger conditions shall be verified: the component 'termination' in the management container * of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1) and the speed value in the next CAM transmitted * by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between referenceTime and referenceTime + 1 second, -* has a speed higher than the eventSpeed contained in that DENM. +* has a speed higher than twice the eventSpeed contained in that DENM. * The CAM timestamp (generationDeltaTime) shall verify one of the following conditions: * - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than * 1000 (unit in millisecond). * - The generationDeltaTime is lower than the (referenceTime mod 65,536) and the value of (generationDeltatTime - referenceTime mod 65,536 + 65,536) * is lower than 1000 (unit in millisecond). * +* - @param DirectionNotUpstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction for this event type. */ SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { @@ -232,7 +261,8 @@ SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { obs-PathChangeInMultipleRepetitions | obs-ValidityDurationIncWithLocalSlowDown | obs-AwarenessDistanceIncWithLocalSlowDown | - obs-CamSpeedIncWithLocalSlowDown, + obs-CamSpeedIncWithLocalSlowDown | + obs-DirectionIncWithLocalSlowDown, ... } @@ -248,12 +278,15 @@ SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { * - @param EeblIncWithOtherVehiclesSpeed: the speed values of all CAMs sent by ITS-S stations of stationType =passengerCar(5) in the circular area with center point * equal to eventPosition and radius equal to 200 m (urban road) or equal to 100m (non-urban or unkwown) * are all higher than the eventSpeed in the DENM. +* - @param: EeblEventSpeedbelowMinThreshold: The stationType is indicating a motorcycle (4) or a passengerCar (5) +* and the speed of the vehicle in the DENM (eventSpeed) is lower than the minEeblSpeedThreshold set to 20 km/h. * */ SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { obs-EeblMissingLocationInformation | - obs-EeblIncWithOtherVehiclesSpeed, + obs-EeblIncWithOtherVehiclesSpeed | + obs-EeblEventSpeedBelowMinThreshold, ... } @@ -265,8 +298,10 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { c-DenmTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsDenmStatic}} BY c-DenmTgt-StaticCommon} | - {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY - c-DenmTgt-IncDistanceAndTrafficDirection} | + {MbSingleObservation{{SetMbObsDenmTimeChangeInRepetitions}} BY + c-DenmTgt-TimeChangeInRepetitions} | + {MbSingleObservation{{SetMbObsDenmIncTimeAndDuration}} BY + c-DenmTgt-IncTimeAndDuration} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | {MbSingleObservation{{SetMbObsDenmTrafficCondition-SuddenSpeedDrop}} BY -- GitLab From 11da93cc0c57777520b236daae08186c9ce768bd Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Thu, 13 Mar 2025 18:54:04 +0000 Subject: [PATCH 31/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 101 ++++++++++++++---- docs/EtsiTs103759CommonObservations.md | 142 +++++++++++++++++++++---- 2 files changed, 206 insertions(+), 37 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index a96a250..bb25e56 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -19,12 +19,13 @@ IdDenmTgt ::= Uint8 ```asn1 c-DenmTgt-BeaconCommon IdDenmTgt ::= 0 c-DenmTgt-StaticCommon IdDenmTgt ::= 1 -c-DenmTgt-IncDistanceAndTrafficDirection IdDenmTgt ::=2 -c-DenmTgt-SecurityCommon IdDenmTgt ::= 3 -c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 4 -c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 5 -c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 6 -c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions IdDenmTgt ::= 7 +c-DenmTgt-TimeChangeInRepetitions IdDenmTgt ::= 2 +c-DenmTgt-IncTimeAndDuration IdDenmTgt ::= 3 +c-DenmTgt-SecurityCommon IdDenmTgt ::= 4 +c-DenmTgt-TrafficCondition-SuddenSpeedDrop IdDenmTgt ::= 5 +c-DenmTgt-TrafficCondition-LocalSlowDown IdDenmTgt ::= 6 +c-DenmTgt-DangerousSituation-Eebl IdDenmTgt ::= 7 +c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions IdDenmTgt ::= 8 ``` ### SetMbObsDenmBeacon @@ -59,23 +60,73 @@ SetMbObsDenmStatic C-ASR-SINGLE-OBS ::= { obs-Static-Change, ... } +``` + +### SetMbObsDenmTimeChangeInRepetitions +This is a set of observations for the target class c-DenmTgt-TimeChangeInRepetitions, + where the trigger conditions for different observations are as follows. + - @param Time-Change-In-Repetitions: Any change in the value of the detectionTime field which happens during the repetition of the same event (same actionId + and referenceTime) transmitted by the same ITS station (stationId). +```asn1 +SetMbObsDenmTimeChangeInRepetitions C-ASR-SINGLE-OBS ::= { + obs-Time-Change-In-Repetitions, + ... +} ``` -### SetMbObsDenmIncDistanceAndTrafficDirection +### SetMbObsDenmIncTimeAndDuration +This is a set of observations for the target class c-DenmTgt-IncTimeAndDuration, + where the trigger conditions for different observations are as follows. + + - @param UnplausibleReferenceTime: The reference time in the Management container of the DENM is greater than the current time + of the receiving ITS-S. + - @param UnplausibleDetectionTime: The detection time in the Management container of the DENM is greater than the current time + of the receiving ITS-S. + - @param ExceededEventValidityTime: The expiration time of the DENM event calculated by adding the Detection Time and the Validity Duration time + in the Management container of the DENM is smaller than the current time of the receiving ITS-S. Values: -* **obs-DirectionNotUpstream** |
+* **obs-UnplausibleReferenceTime** |
+* **obs-UnplausibleDetectionTime** |
```asn1 -SetMbObsDenmIncDistanceAndTrafficDirection C-ASR-SINGLE-OBS ::= { - obs-DirectionNotUpstream | - obs-DirectionNotDownstream, +SetMbObsDenmIncTimeAndDuration C-ASR-SINGLE-OBS ::= { + obs-UnplausibleReferenceTime | + obs-UnplausibleDetectionTime | + obs-ExceededEventValidityTime, ... } - ``` ### SetMbObsDenmIncDistanceBetweenEventAndReportingStationPositions +This is a set of observations for the target class c-DenmTgt-IncDistanceBetweenEventAndReportingStationPositions, + where the trigger conditions for different observations are as follows. + + - @param DistanceBetweenPositionInDenmAndLdmTooLarge : The distance between the eventPosition of the DENM transmitted by the ITS-S + and the referencePosition received in the last CAM received from that ITS-S (i.e. same stationId) stored in the LDM as defined in ETSI TS 103 938 [[i.13]](#references) is larger than a maximum distance + threshold. This threshold is set to 1 km if the event type is one of the following: dangerousEndOfQueue or trafficCondition.The threshold is set to 100 m if the event type (causeCode) is + one of the following: stationaryVehicle, emergencyVehicleApproaching, collisionRisk, dangerousSitiation. + + This distance may be calculated as the euclidean distance between the two points or preferrably as the distance of the two points using their (longitude, latitude) + in radians on a sphere of radius r = 6 378 137 metres (ref [Kells, Lyman M.; Kern, Willis F.; Bland, James R. (1940). Plane And Spherical Trigonometry. McGraw Hill Book Company, Inc. pp. 323-326]) + + This detector shall only apply if the generationDeltaTime in the CAM Payload verifies one of the following conditions: + - The generationDeltaTime is higher than the (referenceTime – 1000) mod 65,536 and the value of (generationDeltatTime – (referenceTime -1000) mod 65,536) + is lower than 1000 (unit in millisecond). + - The generationDeltaTime is lower than the (referenceTime – 1000) mod 65,536 and the value of (generationDeltatTime - (referenceTime – 1000) mod 65,536 + 65,536) + is lower than 1000 (unit in millisecond). + + - @param DistanceBetweenPositionInDenmAndCamTooLarge: The cause code choice in the DENM is either trafficCondition1 or dangerousEndOfQueue27 and + the distance between the eventPosition of the DENM transmitted by the ITS-S and the referencePosition received in the next CAM + received from that ITS-S (i.e. same stationId) is larger than a maximum distance of 600 meters. + This distance may be calculated as the euclidean distance between the two points or preferrably as the distance of the two points using their (longitude, latitude) + in radians on a sphere of radius r = 6 378 137 metres (ref [Kells, Lyman M.; Kern, Willis F.; Bland, James R. (1940). Plane And Spherical Trigonometry. McGraw Hill Book Company, Inc. pp. 323-326]) + + This detector shall only apply if the generationDeltaTime in the CAM Payload verifies one of the following conditions: + - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than + 1000 (unit in millisecond). + - The generationDeltaTime is lower than the (referenceTime mod 65,536) and the value of (generationDeltatTime - referenceTime mod 65,536 + 65,536) + is lower than 1000 (unit in millisecond). Values: * **obs-DistanceBetweenPositionInDenmAndLdmTooLarge** |
@@ -126,14 +177,18 @@ This group of detectors is defined for the Use Case Traffic Condition – Sud - @param DistanceIncWithSuddenSpeedDrop: The awarenessDistance is not present or its value is not set to lessThan1000m (4). + - @param DirectionNotUpstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction for this event type. + Values: * **obs-RoadTypeIncWithSuddenSpeedDrop** |
* **obs-ValidityDurationIncWithSuddenSpeedDrop** |
+* **obs-AwarenessDistanceIncWithSuddenSpeedDrop** |
```asn1 SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { obs-RoadTypeIncWithSuddenSpeedDrop | obs-ValidityDurationIncWithSuddenSpeedDrop | - obs-AwarenessDistanceIncWithSuddenSpeedDrop, + obs-AwarenessDistanceIncWithSuddenSpeedDrop | + obs-DirectionIncWithSuddenSpeedDrop, ... } ``` @@ -158,25 +213,29 @@ This group of detectors is defined for the Use Case Traffic Condition – Loc - @param CamSpeedIncWithLocalSlowDown : The following trigger conditions shall be verified: the component 'termination' in the management container of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1) and the speed value in the next CAM transmitted by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between referenceTime and referenceTime + 1 second, - has a speed higher than the eventSpeed contained in that DENM. + has a speed higher than twice the eventSpeed contained in that DENM. The CAM timestamp (generationDeltaTime) shall verify one of the following conditions: - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than 1000 (unit in millisecond). - The generationDeltaTime is lower than the (referenceTime mod 65,536) and the value of (generationDeltatTime - referenceTime mod 65,536 + 65,536) is lower than 1000 (unit in millisecond). + - @param DirectionNotUpstream: The trafficDirection is inconsistent with the traffic direction specified as upstream direction for this event type. + Values: * **obs-RoadTypeIncWithLocalSlowDown** |
* **obs-PathChangeInMultipleRepetitions** |
* **obs-ValidityDurationIncWithLocalSlowDown** |
* **obs-AwarenessDistanceIncWithLocalSlowDown** |
+* **obs-CamSpeedIncWithLocalSlowDown** |
```asn1 SetMbObsDenmTrafficCondition-LocalSlowDown C-ASR-SINGLE-OBS ::= { obs-RoadTypeIncWithLocalSlowDown | obs-PathChangeInMultipleRepetitions | obs-ValidityDurationIncWithLocalSlowDown | obs-AwarenessDistanceIncWithLocalSlowDown | - obs-CamSpeedIncWithLocalSlowDown, + obs-CamSpeedIncWithLocalSlowDown | + obs-DirectionIncWithLocalSlowDown, ... } ``` @@ -192,13 +251,17 @@ This group of detectors is defined for the Use Case Dangerous situation – E - @param EeblIncWithOtherVehiclesSpeed: the speed values of all CAMs sent by ITS-S stations of stationType =passengerCar(5) in the circular area with center point equal to eventPosition and radius equal to 200 m (urban road) or equal to 100m (non-urban or unkwown) are all higher than the eventSpeed in the DENM. + - @param: EeblEventSpeedbelowMinThreshold: The stationType is indicating a motorcycle (4) or a passengerCar (5) + and the speed of the vehicle in the DENM (eventSpeed) is lower than the minEeblSpeedThreshold set to 20 km/h. Values: * **obs-EeblMissingLocationInformation** |
+* **obs-EeblIncWithOtherVehiclesSpeed** |
```asn1 SetMbObsDenmDangerousSituation-Eebl C-ASR-SINGLE-OBS ::= { obs-EeblMissingLocationInformation | - obs-EeblIncWithOtherVehiclesSpeed, + obs-EeblIncWithOtherVehiclesSpeed | + obs-EeblEventSpeedBelowMinThreshold, ... } ``` @@ -211,8 +274,10 @@ SetMbObsTgtsDenm C-ASR-OBS-BY-TGT ::= { c-DenmTgt-BeaconCommon} | {MbSingleObservation{{SetMbObsDenmStatic}} BY c-DenmTgt-StaticCommon} | - {MbSingleObservation{{SetMbObsDenmIncDistanceAndTrafficDirection}} BY - c-DenmTgt-IncDistanceAndTrafficDirection} | + {MbSingleObservation{{SetMbObsDenmTimeChangeInRepetitions}} BY + c-DenmTgt-TimeChangeInRepetitions} | + {MbSingleObservation{{SetMbObsDenmIncTimeAndDuration}} BY + c-DenmTgt-IncTimeAndDuration} | {MbSingleObservation{{SetMbObsDenmSecurity}} BY c-DenmTgt-SecurityCommon} | {MbSingleObservation{{SetMbObsDenmTrafficCondition-SuddenSpeedDrop}} BY diff --git a/docs/EtsiTs103759CommonObservations.md b/docs/EtsiTs103759CommonObservations.md index 01a6e6e..d4aabd1 100644 --- a/docs/EtsiTs103759CommonObservations.md +++ b/docs/EtsiTs103759CommonObservations.md @@ -361,30 +361,81 @@ obs-LongAcc-ValueTooLarge C-ASR-SINGLE-OBS ::= { } ``` -### DistanceAndTrafficDirection-DirectionNotUpstream -This data type is provided for an observation of an unplausible awareness distance or traffic direction in the management - container in the DENM transmitted by the ITS-S. +### TimeChangeInRepetitions-IncTimeInRepetitions +This data type is provided for an observation of change of the detection time or of the event termination fields + in two successive, repeated DENM messages, i.e. transmitted by the same stationId with the same actionId and same detectionTime. + The semantics of the `BIT STRING` are provided in the application-specific files. + - `v2xPduEvidence`: This field must contain at least one entry. The observation applies to the first entry. The `subjectPduIndex` in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to - the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. + the PDU whose detection time or termination since the previous PDU is being flagged as changed. + The `v2xPdus` field in that entry must contain at least the subject PDU + and the PDU that immediately preceded it. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. +```asn1 +TimeChangeInRepetitions-IncTimeInRepetitions ::= NULL + c-ObsIncTimeInRepetitions IdMbObs::= 1 + obs-Time-Change-In-Repetitions C-ASR-SINGLE-OBS ::= { + TimeChangeInRepetitions-IncTimeInRepetitions BY c-ObsIncTimeInRepetitions +} +``` + +### IncTimeAndDuration-UnplausibleReferenceTime +This data type is provided for an observation of a referenceTime in the DENM which value is in the future (i.e. is greater than + the current time of the receiving ITS-S). + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field referenceTime in the Management container + is greater than the current time. + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. ```asn1 -DistanceAndTrafficDirection-DirectionNotUpstream ::= NULL -c-ObsDirectionNotUpstream IdMbObs::=1 -obs-DirectionNotUpstream C-ASR-SINGLE-OBS ::= { - DistanceAndTrafficDirection-DirectionNotUpstream BY c-ObsDirectionNotUpstream -} +IncTimeAndDuration-UnplausibleReferenceTime ::= NULL +c-ObsUnplausibleReferenceTime IdMbObs::= 1 +obs-UnplausibleReferenceTime C-ASR-SINGLE-OBS ::= +{IncTimeAndDuration-UnplausibleReferenceTime BY c-ObsUnplausibleReferenceTime} ``` -### DistanceAndTrafficDirection-DirectionNotDownstream +### IncTimeAndDuration-UnplausibleDetectionTime +This data type is provided for an observation of a detectionTime in the DENM which value is in the future (i.e. is greater than + the current time of the receiving ITS-S). + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose field detectionTime in the Management container + is greater than the current time. + + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. ```asn1 -DistanceAndTrafficDirection-DirectionNotDownstream ::= NULL -c-ObsDirectionNotDownstream IdMbObs::=2 - obs-DirectionNotDownstream C-ASR-SINGLE-OBS ::= { - DistanceAndTrafficDirection-DirectionNotDownstream BY c-ObsDirectionNotDownstream - } +IncTimeAndDuration-UnplausibleDetectionTime ::= NULL +c-ObsUnplausibleDetectionTime IdMbObs::= 2 +obs-UnplausibleDetectionTime C-ASR-SINGLE-OBS ::= +{IncTimeAndDuration-UnplausibleDetectionTime BY c-ObsUnplausibleDetectionTime} +``` + +### IncTimeAndDuration-ExceededEventValidityTime +This data type is provided for an observation of a validity Time (calculated as DetectionTime + ValidityDuration) in the DENM which value is + in the past future (i.e. is smaller than the current time of the receiving ITS-S). + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose value of DetectionTime + ValidityDuration + is smaller than the current time. + + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +```asn1 +IncTimeAndDuration-ExceededEventValidityTime ::= NULL +c-ObsExceededEventValidityTime IdMbObs::= 3 +obs-ExceededEventValidityTime C-ASR-SINGLE-OBS ::= +{IncTimeAndDuration-ExceededEventValidityTime BY c-ObsExceededEventValidityTime} ``` ### DistanceBetweenPositionInDenmAndLdmTooLarge @@ -397,8 +448,8 @@ This data type is provided for an observation of an inconsistent distance betwee ```asn1 DistanceBetweenPositionInDenmAndLdmTooLarge ::= NULL c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge IdMbObs::=1 - obs-DistanceBetweenPositionInDenmAndLdmTooLarge C-ASR-SINGLE-OBS ::= { - DistanceBetweenPositionInDenmAndLdmTooLarge BY c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge +obs-DistanceBetweenPositionInDenmAndLdmTooLarge C-ASR-SINGLE-OBS ::= { + DistanceBetweenPositionInDenmAndLdmTooLarge BY c-ObsDistanceBetweenPositionInDenmAndLdmTooLarge } ``` @@ -471,6 +522,22 @@ obs-AwarenessDistanceIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= {TrafficCondition-AwarenessDistanceIncWithSuddenSpeedDrop BY c-ObsAwarenessDistanceIncWithSuddenSpeedDrop} ``` +### TrafficCondition-DirectionIncWithSuddenSpeedDrop +This data type is provided for an observation of a traffic direction not set to upstream () in the management + container in the DENM transmitted by the ITS-S. + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. + + - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +```asn1 +TrafficCondition-DirectionIncWithSuddenSpeedDrop ::= NULL +c-ObsDirectionIncWithSuddenSpeedDrop IdMbObs::= 4 +obs-DirectionIncWithSuddenSpeedDrop C-ASR-SINGLE-OBS ::= +{TrafficCondition-DirectionIncWithSuddenSpeedDrop BY c-ObsDirectionIncWithSuddenSpeedDrop} +``` + ### TrafficCondition-RoadTypeIncWithLocalSlowDown This data type is provided for an observation of a road type inconsistent with the detected TrafficCondition - Local slow down event @@ -502,7 +569,8 @@ This data type is provided for an observation of the pathPoints of the entry Tra in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to the PDU whose path points registered in the first entry Traces[[1]](#references) of the detectionZonesToEventPosition component is not containing the same list of pathPoints than in the first entry of traces in the previous PDU. - The `v2xPdus` field in that entry must contain at least the subject PDU. + The `v2xPdus` field in that entry must contain at least the subject PDU + and the PDU that immediately preceded it. The PDU shall be of type `ObsPduEtsiGn`. - `nonV2xPduEvidence`: No other evidence is required to be included @@ -579,6 +647,22 @@ obs-CamSpeedIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= { } ``` +### TrafficCondition-DirectionIncWithLocalSlowDown +This data type is provided for an observation of a traffic direction not set to upstream () in the management + container in the DENM transmitted by the ITS-S. + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the PDU whose trafficDirection value is inconsistent with the event type which requires that trafficDirection value is set to upstream. + + - `nonV2xPduEvidence`: No other evidence is required to be included to support this observation. +```asn1 +TrafficCondition-DirectionIncWithLocalSlowDown ::= NULL +c-ObsDirectionIncWithLocalSlowDown IdMbObs::= 6 +obs-DirectionIncWithLocalSlowDown C-ASR-SINGLE-OBS ::= +{TrafficCondition-DirectionIncWithLocalSlowDown BY c-ObsDirectionIncWithSuddenSpeedDrop} +``` + ### Eebl-MissingLocationInformation This data type is provided for an observation of an Eebl event which does not provide mandatory location information (eventSpeed, eventPositionHeading, traces). @@ -622,7 +706,27 @@ This data type is provided for an observation of an Eebl event which is inconsis Eebl-IncWithOtherVehiclesSpeed ::= NULL c-ObsEeblIncWithOtherVehiclesSpeed IdMbObs::= 2 obs-EeblIncWithOtherVehiclesSpeed C-ASR-SINGLE-OBS ::= - {Eebl-IncWithOtherVehiclesSpeed BY c-ObsEeblIncWithOtherVehiclesSpeed} + {Eebl-IncWithOtherVehiclesSpeed BY c-ObsEeblIncWithOtherVehiclesSpeed} +``` + +### Eebl-EventSpeedBelowMinThreshold +This data type is provided for an observation of an Eebl event generated by a motorcycle + or passenger vehicle whose eventSpeed is below the minimum speed for triggering + an emergency brake. + - `v2xPduEvidence`: This field must contain at least one entry. + The observation applies to the first entry. The `subjectPduIndex` + in that [**V2xPduStream**](EtsiTs103759BaseTypes.md#V2xPduStream) points to + the PDU whose location information is missing. + The `v2xPdus` field in that entry must contain at least the subject PDU. + The PDU shall be of type `ObsPduEtsiGn`. + + - `nonV2xPduEvidence`: No other evidence is required to be included + to support this observation. +```asn1 +Eebl-EventSpeedBelowMinThreshold ::= NULL +c-ObsEeblEventSpeedBelowMinThreshold IdMbObs::= 3 +obs-EeblEventSpeedBelowMinThreshold C-ASR-SINGLE-OBS ::= + {Eebl-EventSpeedBelowMinThreshold BY c-ObsEeblEventSpeedBelowMinThreshold} ``` -- GitLab From ef8daf02a32098991a2f02c657448d71e8ab6c6b Mon Sep 17 00:00:00 2001 From: loncb Date: Fri, 21 Mar 2025 10:26:03 +0000 Subject: [PATCH 32/37] Replace EtsiTs103759AsrDenm.asn --- EtsiTs103759AsrDenm.asn | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/EtsiTs103759AsrDenm.asn b/EtsiTs103759AsrDenm.asn index 758ce26..6e21128 100755 --- a/EtsiTs103759AsrDenm.asn +++ b/EtsiTs103759AsrDenm.asn @@ -243,10 +243,11 @@ SetMbObsDenmTrafficCondition-SuddenSpeedDrop C-ASR-SINGLE-OBS ::= { * * - @param DistanceIncWithLocalSlowDown: The awarenessDistance is not present or its value is not set to lessThan1000m (4). * -* - @param CamSpeedIncWithLocalSlowDown : The following trigger conditions shall be verified: the component 'termination' in the management container -* of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1) and the speed value in the next CAM transmitted -* by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between referenceTime and referenceTime + 1 second, -* has a speed higher than twice the eventSpeed contained in that DENM. +* - @param CamSpeedIncWithLocalSlowDown : The following three triggering conditions shall be verified: +* - the component 'termination' in the management container of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1), +* - the eventSpeed value in that DENM is higher than a minimum speed value of 10 km/h, +* - the speed value in the next CAM transmitted by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between +* referenceTime and referenceTime + 1 second, has a speed higher than twice the eventSpeed contained in that DENM. * The CAM timestamp (generationDeltaTime) shall verify one of the following conditions: * - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than * 1000 (unit in millisecond). -- GitLab From e2945944a94f4918b0ae8ff9edf613e4c3661e52 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Fri, 21 Mar 2025 10:26:22 +0000 Subject: [PATCH 33/37] Documentation update --- docs/EtsiTs103759AsrDenm.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/docs/EtsiTs103759AsrDenm.md b/docs/EtsiTs103759AsrDenm.md index bb25e56..df60b42 100644 --- a/docs/EtsiTs103759AsrDenm.md +++ b/docs/EtsiTs103759AsrDenm.md @@ -210,10 +210,11 @@ This group of detectors is defined for the Use Case Traffic Condition – Loc - @param DistanceIncWithLocalSlowDown: The awarenessDistance is not present or its value is not set to lessThan1000m (4). - - @param CamSpeedIncWithLocalSlowDown : The following trigger conditions shall be verified: the component 'termination' in the management container - of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1) and the speed value in the next CAM transmitted - by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between referenceTime and referenceTime + 1 second, - has a speed higher than twice the eventSpeed contained in that DENM. + - @param CamSpeedIncWithLocalSlowDown : The following three triggering conditions shall be verified: + - the component 'termination' in the management container of the suspected DENM shall not be equal to isCancellation(0) or isNegation(1), + - the eventSpeed value in that DENM is higher than a minimum speed value of 10 km/h, + - the speed value in the next CAM transmitted by the DENM-originating ITS-S (i.e. same stationId), in the time interval comprised between + referenceTime and referenceTime + 1 second, has a speed higher than twice the eventSpeed contained in that DENM. The CAM timestamp (generationDeltaTime) shall verify one of the following conditions: - The generationDeltaTime is higher than the (referenceTime mod 65,536) and the (generationDeltatTime - referenceTime mod 65,536) is lower than 1000 (unit in millisecond). -- GitLab From 66b70171bb5083d0a7920f4bde56da6155c58e5b Mon Sep 17 00:00:00 2001 From: "LONC; brigitte" Date: Tue, 15 Jul 2025 14:37:03 +0200 Subject: [PATCH 34/37] Replace EtsiTs103759AsrCam.asn --- EtsiTs103759AsrCam.asn | 458 +++++++++++++++++++++-------------------- 1 file changed, 237 insertions(+), 221 deletions(-) diff --git a/EtsiTs103759AsrCam.asn b/EtsiTs103759AsrCam.asn index 0bdaf1c..65105a5 100755 --- a/EtsiTs103759AsrCam.asn +++ b/EtsiTs103759AsrCam.asn @@ -1,221 +1,237 @@ -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 EtsiTs103759CommonObservations {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 -; - -/** - * 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, - ... -} - - - -/** - * This is a complete set of observations for CAM. Application-specific - * trigger conditions and other relevant information are specified below. - * - * - _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. - * - * - _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). - * - * - * - _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. - * - * - _SetMbObsEtsiOnlyPosition_: - * - `Position-ChangeTooLarge`: The speed calculated from the change in - * referencePosition of two consecutive CAMs meets the trigger conditions of - * Speed-ValueTooLarge-VehicleType. - * - * - _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. - * - * - _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}, - ... -} - -/** - * This data type defines the IOS for CAM Evidence. - */ -SetMbEvCam C-ASR-EV ::= { - ... -} - -END +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-2(2)} + +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 EtsiTs103759CommonObservations {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 +; + +/** + * This data type is for reporting CAM issues. + */ +AsrCam ::= TemplateAsr {{SetMbObsTgtsCam}, {SetMbEvCam}} + + +/** + * This data type is for identifying 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 + +/** + * This is a set of observations for the target class c-CamTgt-BeaconCommon, + * where the trigger conditions for different observations are as follows. + * + * @param 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. + */ +SetMbObsCamBeacon C-ASR-SINGLE-OBS ::= { + obs-Beacon-IntervalTooSmall, + ... +} + +/** + * This is a set of observations for the target class c-CamTgt-StaticCommon, + * where the trigger conditions for different observations are as follows. + * + * @param 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). + */ +SetMbObsCamStatic C-ASR-SINGLE-OBS ::= { + obs-Static-Change, + ... +} + +/** + * This is a set of observations for the target class c-CamTgt-SecurityCommon, + * where the trigger conditions for different observations are as follows. + * + * @param 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. + * + * @param 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. + * + * @param 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. + * + * @param 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. + * + * @param Security-HeaderTimeOutsideCertificateValidity: The generationTime + * in the security headerInfo is outside the validityPeriod in the certificate. + * + * @param Security-MessageLocationOutsideCertificateValidity: The + * referencePosition in the message is outside the region in the certificate. + * + * @param Security-HeaderLocationOutsideCertificateValidity: The + * generationLocation in the security headerInfo is outside the region in the + * certificate. + */ +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, + ... +} + +/** + * This is a set of observations for the target class c-CamTgt-PositionCommon, + * where the trigger conditions for different observations are as follows. + * + * @param Position-ChangeTooLarge: The speed calculated from the change in + * referencePosition of two consecutive CAMs meets the trigger conditions of + * Speed-ValueTooLarge-VehicleType. + */ +SetMbObsCamPosition C-ASR-SINGLE-OBS ::= { + obs-Position-ChangeTooLarge, + ... +} + +/** + * This is a set of observations for the target class c-CamTgt-SpeedCommon, + * where the trigger conditions for different observations are as follows. + * + * @param Speed-ValueTooLarge-VehicleType: The trigger conditions depend on + * the stationType as follows: + * - `passengerCar(5)`: The speedValue is greater than 14,000. + * **Rationale**: 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. + * **Rationale**: 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. + * **Rationale**: 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. + * **Rationale**: Road side units shouldn't be transmitting while being + * transported. + * + * @param Speed-ValueTooLarge-DriveDirectionReverse: The driveDirection is + * backward (1) and the speedValue is greater than 3,000. + * **Rationale**: 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 the square root of + * (2 * 9 * 50) in m/s, which is equal to 3,000 cm/s. + * + * @param Speed-ChangeTooLarge: The acceleration calculated from the change + * in speedValue of two consecutive CAMs meets the trigger conditions of + * LongAcc-ValueTooLarge. + */ +SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= { + obs-Speed-ValueTooLarge-VehicleType | + obs-Speed-ValueTooLarge-DriveDirectionReverse | + obs-Speed-ChangeTooLarge, + ... +} + +/** + * This is a set of observations for the target class c-CamTgt-LongAccCommon, + * where the trigger conditions for different observations are as follows. + * + * @param 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.) + */ +SetMbObsCamLongAcc C-ASR-SINGLE-OBS ::= { + obs-LongAcc-ValueTooLarge, + ... +} + +/** + * This is a complete set of observations for CAM. + */ +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}, + ... +} + +/** + * This data type defines the IOS for CAM evidence. + */ +SetMbEvCam C-ASR-EV ::= { + ... +} + +END \ No newline at end of file -- GitLab From 2568d94608a1ed6ef24262a5bcdf974059025863 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Tue, 15 Jul 2025 12:37:04 +0000 Subject: [PATCH 35/37] Documentation update --- docs/EtsiTs103759AsrCam.md | 221 +++++++++++++++++++++---------------- 1 file changed, 125 insertions(+), 96 deletions(-) diff --git a/docs/EtsiTs103759AsrCam.md b/docs/EtsiTs103759AsrCam.md index f88327e..2c7d8c9 100644 --- a/docs/EtsiTs103759AsrCam.md +++ b/docs/EtsiTs103759AsrCam.md @@ -1,5 +1,5 @@ # ASN.1 module EtsiTs103759AsrCam -OID: _{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)}_ +OID: _{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-2(2)}_ ## Imports: * **[EtsiTs103759BaseTypes](EtsiTs103759BaseTypes.md)** *{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*
@@ -13,6 +13,7 @@ AsrCam ::= TemplateAsr {{SetMbObsTgtsCam}, {SetMbEvCam}} ``` ### IdCamTgt +This data type is for identifying target classes for CAM. ```asn1 IdCamTgt ::= Uint8 ``` @@ -27,6 +28,23 @@ c-CamTgt-LongAccCommon IdCamTgt ::= 5 ``` ### SetMbObsCamBeacon +This is a set of observations for the target class c-CamTgt-BeaconCommon, + where the trigger conditions for different observations are as follows. + +* 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. + + ```asn1 SetMbObsCamBeacon C-ASR-SINGLE-OBS ::= { obs-Beacon-IntervalTooSmall, @@ -35,6 +53,18 @@ SetMbObsCamBeacon C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsCamStatic +This is a set of observations for the target class c-CamTgt-StaticCommon, + where the trigger conditions for different observations are as follows. + +* 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). + + ```asn1 SetMbObsCamStatic C-ASR-SINGLE-OBS ::= { obs-Static-Change, @@ -43,6 +73,8 @@ SetMbObsCamStatic C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsCamSecurity +This is a set of observations for the target class c-CamTgt-SecurityCommon, + where the trigger conditions for different observations are as follows. Values: * **obs-Security-MessageIdIncWithHeaderInfo** |
@@ -51,6 +83,43 @@ Values: * **obs-Security-MessageIncWithSsp** |
* **obs-Security-HeaderTimeOutsideCertificateValidity** |
* **obs-Security-MessageLocationOutsideCertificateValidity** |
+* 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. + + ```asn1 SetMbObsCamSecurity C-ASR-SINGLE-OBS ::= { obs-Security-MessageIdIncWithHeaderInfo | @@ -65,6 +134,15 @@ SetMbObsCamSecurity C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsCamPosition +This is a set of observations for the target class c-CamTgt-PositionCommon, + where the trigger conditions for different observations are as follows. + +* Position-ChangeTooLarge
+ The speed calculated from the change in + referencePosition of two consecutive CAMs meets the trigger conditions of + Speed-ValueTooLarge-VehicleType. + + ```asn1 SetMbObsCamPosition C-ASR-SINGLE-OBS ::= { obs-Position-ChangeTooLarge, @@ -73,10 +151,44 @@ SetMbObsCamPosition C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsCamSpeed +This is a set of observations for the target class c-CamTgt-SpeedCommon, + where the trigger conditions for different observations are as follows. Values: * **obs-Speed-ValueTooLarge-VehicleType** |
* **obs-Speed-ValueTooLarge-DriveDirectionReverse** |
+* Speed-ValueTooLarge-VehicleType
+ The trigger conditions depend on + the stationType as follows: + - `passengerCar(5)`: The speedValue is greater than 14,000. + **Rationale**: 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. + **Rationale**: 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. + **Rationale**: 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. + **Rationale**: 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. + **Rationale**: Usually, backward drives are far less than 50m long, and + with maximum possible acceleration of 9 m/s2 (see trigger conditions for + LongAcc-ValueTooLarge), max attainable speed is the square root of + (2 * 9 * 50) in m/s, which is equal to 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. + + ```asn1 SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= { obs-Speed-ValueTooLarge-VehicleType | @@ -87,6 +199,16 @@ SetMbObsCamSpeed C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsCamLongAcc +This is a set of observations for the target class c-CamTgt-LongAccCommon, + where the trigger conditions for different observations are as follows. + +* LongAcc-ValueTooLarge
+ The longitudinalAcceleration is greater + than 90 dm/s2. (Typical `\mu` (coefficient of friction between asphalt and + rubber) is 0.9, so maximum possible acceleration is 0.9*9.8 m/s2, i.e., + 88.2 dm/s2.) + + ```asn1 SetMbObsCamLongAcc C-ASR-SINGLE-OBS ::= { obs-LongAcc-ValueTooLarge, @@ -95,100 +217,7 @@ SetMbObsCamLongAcc C-ASR-SINGLE-OBS ::= { ``` ### SetMbObsTgtsCam -This is a complete set of observations for CAM. Application-specific - trigger conditions and other relevant information are specified below. - - - _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. - - - _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). - - - - _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. - - - _SetMbObsEtsiOnlyPosition_: - - `Position-ChangeTooLarge`: The speed calculated from the change in - referencePosition of two consecutive CAMs meets the trigger conditions of - Speed-ValueTooLarge-VehicleType. - - - _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/s2 (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. - - - _SetMbObsEtsiOnlyLongAcc_: - - `LongAcc-ValueTooLarge`: The longitudinalAcceleration is greater - than 90 dm/s2. (Typical $`\mu`$ (coefficient of friction between asphalt and - rubber) is 0.9, so maximum possible acceleration is 0.9*9.8 m/s2, i.e., - 88.2 dm/s2.) +This is a complete set of observations for CAM. ```asn1 SetMbObsTgtsCam C-ASR-OBS-BY-TGT ::= { {MbSingleObservation{{SetMbObsCamBeacon}} BY @@ -208,7 +237,7 @@ SetMbObsTgtsCam C-ASR-OBS-BY-TGT ::= { ``` ### SetMbEvCam -This data type defines the IOS for CAM Evidence. +This data type defines the IOS for CAM evidence. ```asn1 SetMbEvCam C-ASR-EV ::= { ... -- GitLab From 86ffbfe7b972a8f85ff56e437c3d3af493049b9a Mon Sep 17 00:00:00 2001 From: "LONC; brigitte" Date: Tue, 15 Jul 2025 14:39:10 +0200 Subject: [PATCH 36/37] Replace EtsiTs103759Core.asn --- EtsiTs103759Core.asn | 354 ++++++++++++++++++++++++------------------- 1 file changed, 196 insertions(+), 158 deletions(-) diff --git a/EtsiTs103759Core.asn b/EtsiTs103759Core.asn index 52e057b..8ef6d5f 100755 --- a/EtsiTs103759Core.asn +++ b/EtsiTs103759Core.asn @@ -1,159 +1,197 @@ -EtsiTs103759Core {itu-t(0) identified-organization(4) etsi(0) - itsDomain(5) wg5(5) ts(103759) general(1) core(1) major-version-1(1) - minor-version-1(1)} - -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) major-version-1(1) minor-version-0(0)} -WITH SUCCESSORS -; - -/** - * 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 -} - -/** - * This structure is the SPDU used to send a signed and encrypted - * @ref 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 of - * misbehaviour reports. The signed @ref EtsiTs103759Data shall be encrypted - * to the MA using the encryption key in the MA's certificate. - */ -EtsiTs103759Data-SignedAndEncrypted-Unicast ::= - EtsiTs103097Data-SignedAndEncrypted-Unicast { - EtsiTs103759Data -} - -/** - * 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., @ref AsrCam. This will be a - * @ref TemplateAsr instantiated with AID-specific Information Object Sets. - */ -AidSpecificReport ::= SEQUENCE { - aid C-ASR.&aid ({SetAsr}), - content C-ASR.&Content ({SetAsr}{@.aid}) -} - -/** - * This data type defines the IOC for @ref 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 @ref TemplateAsr instantiated with AID-specific Information Object - * Sets. - */ -C-ASR ::= CLASS { - &aid Psid UNIQUE, - &Content -} WITH SYNTAX {&Content IDENTIFIED BY &aid} - -/** - * 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} -} - -/** - * 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 - -/** - * This data type contains the ITS-AID of the CA service. - */ -c-AsrCam Psid ::= 36 - -/** - * This data type contains the ITS-AID of the DEN service. - */ -c-AsrDenm Psid ::= 37 - -/** - * This data type contains the ITS-AID of the BSM. - */ -c-AsrBsm Psid ::= 32 - +EtsiTs103759Core {itu-t(0) identified-organization(4) etsi(0) + itsDomain(5) wg5(5) ts(103759) general(1) core(1) major-version-2(2) + minor-version-1(1)} + +DEFINITIONS AUTOMATIC TAGS ::= BEGIN + +EXPORTS ALL; + +IMPORTS + EtsiTs103097Data-Signed, + 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) major-version-1(1) minor-version-0(0)} +WITH SUCCESSORS +; + +/** + * This data type is the top level PDU for a misbehaviour report from an ITS + * station to the Misbehaviour Authority (MA) responsible for reports of that + * type. + * + * @param version: contains the version number of this PDU definition. + * + * @param content: contains the security encapsulated misbehaviour report. + */ +EtsiTs103759Data ::= SEQUENCE { + version Uint8(3), + content EtsiTs103759MbrSec +} + +/** + * This data type is the security encapsulation for @ref EtsiTs103759Mbr. + * + * @param plaintext: contains the report in the plaintext form, i.e., without + * any security encapsulation. + * + * @param signed: contains the report in the signed form. + * + * @param sTE: contains the report in the signed-then-encrypted form. + */ +EtsiTs103759MbrSec ::= CHOICE { + plaintext EtsiTs103759Mbr, + signed EtsiTs103759Mbr-Signed, + sTE EtsiTs103759Mbr-STE, + ... +} + +/** + * This data type is the container for the generation time, observation + * location and the AID-specific misbehaviour report. + * + * 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 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. + */ +EtsiTs103759Mbr ::= SEQUENCE { + generationTime Time64, + observationLocation ThreeDLocation, + report AidSpecificReport +} + +/** + * This data type is used for the option signed of security encapsulation of + * the report. + * + * 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 of + * misbehaviour reports. + */ +EtsiTs103759Mbr-Signed ::= EtsiTs103097Data-Signed {EtsiTs103759Mbr} + +/** + * This data type is used for the option sTE (signed-then-encrypted) of security + * encapsulation of the report. + * + * 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 of + * misbehaviour reports. The signed @ref EtsiTs103759Mbr shall be encrypted + * to the MA using the encryption key in the MA's certificate. + */ +EtsiTs103759Mbr-STE ::= EtsiTs103097Data-SignedAndEncrypted-Unicast { + EtsiTs103759Mbr +} + +/** + * 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., @ref AsrCam. This will be a + * @ref TemplateAsr instantiated with AID-specific Information Object Sets. + */ +AidSpecificReport ::= SEQUENCE { + aid C-ASR.&aid ({SetAsr}), + content C-ASR.&Content ({SetAsr}{@.aid}) +} + +/** + * This data type defines the IOC for @ref 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 @ref TemplateAsr instantiated with AID-specific Information Object + * Sets. + */ +C-ASR ::= CLASS { + &aid Psid UNIQUE, + &Content +} WITH SYNTAX {&Content IDENTIFIED BY &aid} + +/** + * 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} +} + +/** + * 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 + +/** + * This data type contains the ITS-AID of the CA service. + */ +c-AsrCam Psid ::= 36 + +/** + * This data type contains the ITS-AID of the DEN service. + */ +c-AsrDenm Psid ::= 37 + +/** + * This data type contains the ITS-AID of the BSM. + */ +c-AsrBsm Psid ::= 32 + END \ No newline at end of file -- GitLab From 914d58bea3160324455e234298070293c8e24759 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Tue, 15 Jul 2025 12:39:11 +0000 Subject: [PATCH 37/37] Documentation update --- docs/EtsiTs103759Core.md | 82 ++++++++++++++++++++++++++++++++-------- 1 file changed, 66 insertions(+), 16 deletions(-) diff --git a/docs/EtsiTs103759Core.md b/docs/EtsiTs103759Core.md index b1de661..3321de3 100644 --- a/docs/EtsiTs103759Core.md +++ b/docs/EtsiTs103759Core.md @@ -1,5 +1,5 @@ # ASN.1 module EtsiTs103759Core -OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) core(1) major-version-1(1) minor-version-1(1)}_ +OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759) general(1) core(1) major-version-2(2) minor-version-1(1)}_ ## Imports: * **[EtsiTs103097Module](EtsiTs103097Module.md)** *{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*
@@ -10,8 +10,52 @@ OID: _{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(103759 * **[SaeJ3287AsrBsm](SaeJ3287AsrBsm.md)** *{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) major-version-1(1) minor-version-0(0)} WITH SUCCESSORS*
## Data Elements: ### EtsiTs103759Data -This data type is the general PDU for a misbehaviour report from an - ITS-S to the MA responsible for reports of that type. +This data type is the top level PDU for a misbehaviour report from an ITS + station to the Misbehaviour Authority (MA) responsible for reports of that + type. + +Fields: +* _version_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8) (3)
+ contains the version number of this PDU definition. + +* _content_ of type [**EtsiTs103759MbrSec**](#EtsiTs103759MbrSec)
+ contains the security encapsulated misbehaviour report. + + +```asn1 +EtsiTs103759Data ::= SEQUENCE { + version Uint8(3), + content EtsiTs103759MbrSec +} +``` + +### EtsiTs103759MbrSec +This data type is the security encapsulation for [**EtsiTs103759Mbr**](#EtsiTs103759Mbr). + +Fields: +* _plaintext_ of type [**EtsiTs103759Mbr**](#EtsiTs103759Mbr)
+ contains the report in the plaintext form, i.e., without + any security encapsulation. + +* _signed_ of type [**EtsiTs103759Mbr-Signed**](#EtsiTs103759Mbr-Signed)
+ contains the report in the signed form. + +* _sTE_ of type [**EtsiTs103759Mbr-STE**](#EtsiTs103759Mbr-STE)
+ contains the report in the signed-then-encrypted form. + + +```asn1 +EtsiTs103759MbrSec ::= CHOICE { + plaintext EtsiTs103759Mbr, + signed EtsiTs103759Mbr-Signed, + sTE EtsiTs103759Mbr-STE, + ... +} +``` + +### EtsiTs103759Mbr +This data type is the container for the generation time, observation + location and the AID-specific misbehaviour report. AID-specific modules (EtsiTs103759AsrAppAgnostic, EtsiTs103759AsrCam, EtsiTs103759AsrDenm, SaeJ3287AsrBsm) have been imported using `WITH SUCCESSORS` @@ -20,10 +64,6 @@ This data type is the general PDU for a misbehaviour report from an these AID-specific modules shall have minor-version greater than `0`. Fields: -* _version_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8)
- contains the version number of this PDU definition. For this - version of this data type it shall be equal to `2`. - * _generationTime_ of type [**Time64**](Ieee1609Dot2BaseTypes.md#Time64)
contains information on when this PDU was generated. @@ -36,27 +76,37 @@ Fields: ```asn1 -EtsiTs103759Data ::= SEQUENCE { - version Uint8, +EtsiTs103759Mbr ::= SEQUENCE { generationTime Time64, observationLocation ThreeDLocation, report AidSpecificReport } ``` -### EtsiTs103759Data-SignedAndEncrypted-Unicast -This structure is the SPDU used to send a signed and encrypted - [**EtsiTs103759Data**](#EtsiTs103759Data) to the MA. +### EtsiTs103759Mbr-Signed +This data type is used for the option signed of security encapsulation of + the report. + + 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 of + misbehaviour reports. +```asn1 +EtsiTs103759Mbr-Signed ::= EtsiTs103097Data-Signed {EtsiTs103759Mbr} +``` + +### EtsiTs103759Mbr-STE +This data type is used for the option sTE (signed-then-encrypted) of security + encapsulation of the report. 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 of - misbehaviour reports. The signed [**EtsiTs103759Data**](#EtsiTs103759Data) shall be encrypted + misbehaviour reports. The signed [**EtsiTs103759Mbr**](#EtsiTs103759Mbr) shall be encrypted to the MA using the encryption key in the MA's certificate. ```asn1 -EtsiTs103759Data-SignedAndEncrypted-Unicast ::= - EtsiTs103097Data-SignedAndEncrypted-Unicast { - EtsiTs103759Data +EtsiTs103759Mbr-STE ::= EtsiTs103097Data-SignedAndEncrypted-Unicast { + EtsiTs103759Mbr } ``` -- GitLab