Keep the colleague's microbu-esp32c5 tree in this repository
obu-firmware builds against vanetza-idf from microbu-esp32c5/external, but that tree was gitignored, so a clone of this repository could not build the firmware it ships. It is now committed here as ordinary files in its own folder, microbu-esp32c5/: the colleague's commit cf4b99f plus the V2X2MAP bridge's signature verification (--trust) used on the bench. Nothing is fetched from or pushed to the colleague's repository; this repository and its remotes carry everything. The folder's own .gitignore keeps build output, downloaded components and private key material out, as it did there; the committed file set is identical to that repository's tracked files. The ESP32-C5 is still flashed from obu-firmware/, which only takes vanetza-idf from microbu-esp32c5/, so the two stay separate folders. FLASHING.md says how to take a newer version of the colleague's tree (copy it over the folder, rebuild, test, commit).
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# ETSI ITS ASN.1
|
||||
|
||||
The ASN.1 files in this directory are a slightly patched subset of the files published by ETSI for ITS Release 2.
|
||||
You can find the original files on [ETSI Forge](https://forge.etsi.org/rep/ITS/asn1). Our changes are documented below.
|
||||
These files are distributed under a permissive license:
|
||||
|
||||
> Copyright 2019 ETSI
|
||||
>
|
||||
> Redistribution and use in source and binary forms, with or without
|
||||
> modification, are permitted provided that the following conditions are met:
|
||||
> 1. Redistributions of source code must retain the above copyright notice,
|
||||
> this list of conditions and the following disclaimer.
|
||||
> 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
> this list of conditions and the following disclaimer in the documentation
|
||||
> and/or other materials provided with the distribution.
|
||||
> 3. Neither the name of the copyright holder nor the names of its contributors
|
||||
> may be used to endorse or promote products derived from this software without
|
||||
> specific prior written permission.
|
||||
>
|
||||
> THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
> ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
> WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
> IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
> INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
> BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
> DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
> LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
> OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||
> OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
# Changes
|
||||
|
||||
## CDD
|
||||
|
||||
Removed obsolete `ActionID` and `StationID` data elements. The generated file names clash with those of `ActionId` and `StationId` on case-insensitive filesystems.
|
||||
|
||||
## CPM
|
||||
|
||||
Updated CDD imports.
|
||||
|
||||
## VAM
|
||||
|
||||
Updated CDD imports.
|
||||
File diff suppressed because it is too large
Load Diff
+58
@@ -0,0 +1,58 @@
|
||||
EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
HashedId8, Time32, PublicEncryptionKey, PublicVerificationKey, Signature
|
||||
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-3(3)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
CertificateId, SubjectAssurance, SequenceOfPsidSsp, SequenceOfPsidGroupPermissions,
|
||||
ValidityPeriod, GeographicRegion, HashedData
|
||||
FROM
|
||||
Ieee1609Dot2 {iso(1) identified-organization(3) ieee(111)
|
||||
standards-association-numbered-series-standards(2) wave-stds(1609)
|
||||
dot2(2) base (1) schema (1) major-version-2(2) minor-version-4(4)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
EtsiTs103097Data, EtsiTs103097Data-Encrypted, EtsiTs103097Data-Signed,
|
||||
EtsiTs103097Data-SignedExternalPayload,
|
||||
EtsiTs103097Data-Unsecured, EtsiTs103097Data-Encrypted-Unicast, 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
|
||||
;
|
||||
|
||||
CertificateFormat::= INTEGER {
|
||||
ts103097v131 (1)
|
||||
}(1..255)
|
||||
|
||||
CertificateSubjectAttributes ::= SEQUENCE {
|
||||
id CertificateId OPTIONAL,
|
||||
validityPeriod ValidityPeriod OPTIONAL,
|
||||
region GeographicRegion OPTIONAL,
|
||||
assuranceLevel SubjectAssurance OPTIONAL,
|
||||
appPermissions SequenceOfPsidSsp OPTIONAL,
|
||||
certIssuePermissions SequenceOfPsidGroupPermissions OPTIONAL,
|
||||
...
|
||||
}(WITH COMPONENTS { ..., appPermissions PRESENT} |
|
||||
WITH COMPONENTS { ..., certIssuePermissions PRESENT})
|
||||
|
||||
EcSignature::= CHOICE {
|
||||
encryptedEcSignature EtsiTs103097Data-Encrypted{EtsiTs103097Data-SignedExternalPayload},
|
||||
ecSignature EtsiTs103097Data-SignedExternalPayload
|
||||
}
|
||||
|
||||
PublicKeys ::= SEQUENCE {
|
||||
verificationKey PublicVerificationKey,
|
||||
encryptionKey PublicEncryptionKey OPTIONAL
|
||||
}
|
||||
|
||||
Version ::= INTEGER {v1(1)}
|
||||
|
||||
END
|
||||
+127
@@ -0,0 +1,127 @@
|
||||
/*************************************************************************************
|
||||
This file contains the EtsiTs102941Messages module containing all possible PKI messages.
|
||||
It should be used when all PKI messages needs to be implemented (for example, for CA development)
|
||||
**************************************************************************************/
|
||||
EtsiTs102941MessagesCa
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) messagesCa(0) major-version-3(3) minor-version-3(3)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Data-Signed,
|
||||
EtsiTs103097Data-SignedExternalPayload,
|
||||
EtsiTs103097Data-Encrypted-Unicast,
|
||||
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
|
||||
|
||||
Version
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
InnerEcRequestSignedForPop, InnerEcResponse
|
||||
FROM EtsiTs102941TypesEnrolment
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) enrolment(4) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
EtsiTs102941ButterflyAuthorizationRequest-X509Signed, InnerAtRequest, InnerAtResponse
|
||||
FROM EtsiTs102941TypesAuthorization
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authorization(5) major-version-3(3) minor-version-2(2) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
ToBeSignedCrl, ToBeSignedTlmCtl, ToBeSignedRcaCtl
|
||||
FROM EtsiTs102941TrustLists
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) trustLists(6) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
AuthorizationValidationRequest, AuthorizationValidationResponse
|
||||
FROM EtsiTs102941TypesAuthorizationValidation
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authValidation(7) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
CaCertificateRequest
|
||||
FROM EtsiTs102941TypesCaManagement
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) caManagement(8) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
ToBeSignedLinkCertificate, ToBeSignedLinkCertificateTlm, ToBeSignedLinkCertificateRca
|
||||
FROM EtsiTs102941TypesLinkCertificate
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) linkCertificate(9) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
EeRaCertRequest, RaEeCertInfo, EeRaDownloadRequest
|
||||
FROM Ieee1609Dot2Dot1EeRaInterface
|
||||
{iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) ee-ra(11) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
RaAcaCertRequest, AcaRaCertResponse
|
||||
FROM Ieee1609Dot2Dot1AcaRaInterface
|
||||
{iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) aca-ra(4) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
/************
|
||||
-- Messages
|
||||
************/
|
||||
EnrolmentRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentRequest PRESENT})})}
|
||||
EnrolmentResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentResponse PRESENT})})}
|
||||
AuthorizationRequestMessage ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})}
|
||||
AuthorizationRequestMessageWithPop ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})}
|
||||
AuthorizationResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationResponse PRESENT})})}
|
||||
CertificateRevocationListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateRevocationList PRESENT})})}
|
||||
TlmCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListTlm PRESENT})})}
|
||||
RcaCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListRca PRESENT})})}
|
||||
AuthorizationValidationRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationValidationRequest PRESENT})})}
|
||||
AuthorizationValidationResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationValidationResponse PRESENT})})}
|
||||
CaCertificateRequestMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data(WITH COMPONENTS{..., content (WITH COMPONENTS{caCertificateRequest PRESENT})})}
|
||||
CaCertificateRekeyingMessage ::= EtsiTs103097Data-Signed {EtsiTs103097Data-Signed {EtsiTs102941Data(WITH COMPONENTS{..., content (WITH COMPONENTS{caCertificateRequest PRESENT})})}}
|
||||
TlmLinkCertificateMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{linkCertificateTlm PRESENT})})}
|
||||
RcaSingleSignedLinkCertificateMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{singleSignedLinkCertificateRca PRESENT})})}
|
||||
RcaDoubleSignedLinkCertificateMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{doubleSignedlinkCertificateRca PRESENT})})}
|
||||
ButterflyAuthorizationRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationRequest PRESENT})})}
|
||||
X509SignedButterflyAuthorizationRequestMessage ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{x509SignedbutterflyAuthorizationRequest PRESENT})})}
|
||||
ButterflyAuthorizationResponseMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationResponse PRESENT})})}
|
||||
ButterflyAtDownloadRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAtDownloadRequest PRESENT})})}
|
||||
ButterflyCertRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyCertificateRequest PRESENT})})}
|
||||
ButterflyCertResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyCertificateResponse PRESENT})})}
|
||||
|
||||
/************
|
||||
-- EtsiTs102941Data
|
||||
************/
|
||||
|
||||
EtsiTs102941Data::= SEQUENCE {
|
||||
version Version (v1),
|
||||
content EtsiTs102941DataContent
|
||||
}
|
||||
|
||||
EtsiTs102941DataContent ::= CHOICE {
|
||||
enrolmentRequest InnerEcRequestSignedForPop,
|
||||
enrolmentResponse InnerEcResponse,
|
||||
authorizationRequest InnerAtRequest,
|
||||
authorizationResponse InnerAtResponse,
|
||||
certificateRevocationList ToBeSignedCrl,
|
||||
certificateTrustListTlm ToBeSignedTlmCtl,
|
||||
certificateTrustListRca ToBeSignedRcaCtl,
|
||||
authorizationValidationRequest AuthorizationValidationRequest,
|
||||
authorizationValidationResponse AuthorizationValidationResponse,
|
||||
caCertificateRequest CaCertificateRequest,
|
||||
...,
|
||||
linkCertificateTlm ToBeSignedLinkCertificateTlm,
|
||||
singleSignedLinkCertificateRca ToBeSignedLinkCertificateRca,
|
||||
doubleSignedlinkCertificateRca RcaSingleSignedLinkCertificateMessage,
|
||||
/* Extension for butterfly key provisioning */
|
||||
[[butterflyAuthorizationRequest EeRaCertRequest,
|
||||
x509SignedbutterflyAuthorizationRequest EtsiTs102941ButterflyAuthorizationRequest-X509Signed,
|
||||
butterflyAuthorizationResponse RaEeCertInfo,
|
||||
butterflyCertificateRequest RaAcaCertRequest,
|
||||
butterflyCertificateResponse AcaRaCertResponse,
|
||||
butterflyAtDownloadRequest EeRaDownloadRequest]]
|
||||
}
|
||||
|
||||
|
||||
|
||||
END
|
||||
Vendored
+106
@@ -0,0 +1,106 @@
|
||||
/*************************************************************************************
|
||||
This file contains the EtsiTs102941MessagesItss-OptionalPrivacy module providing the
|
||||
same subset of messages as the EtsiTs102941MessagesItss module.
|
||||
It should never be used together with the EtsiTs102941MessagesCA and EtsiTs102941MessagesItss
|
||||
|
||||
This module allows the usage of unencrypted EC signature for AA requests.
|
||||
**************************************************************************************/
|
||||
EtsiTs102941MessagesItss-OptionalPrivacy
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) messagesItssOp(2) major-version-3(3) minor-version-3(3)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Data-Signed,
|
||||
EtsiTs103097Data-Encrypted-Unicast,
|
||||
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
|
||||
|
||||
Version
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
InnerEcRequestSignedForPop, InnerEcResponse
|
||||
FROM EtsiTs102941TypesEnrolment
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) enrolment(4) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
EtsiTs102941ButterflyAuthorizationRequest-X509Signed, InnerAtRequest, InnerAtResponse
|
||||
FROM EtsiTs102941TypesAuthorization
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authorization(5) major-version-3(3) minor-version-2(2) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
ToBeSignedCrl, ToBeSignedTlmCtl, ToBeSignedRcaCtl
|
||||
FROM EtsiTs102941TrustLists
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) trustLists(6) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
ToBeSignedLinkCertificate, ToBeSignedLinkCertificateTlm
|
||||
FROM EtsiTs102941TypesLinkCertificate
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) linkCertificate(9) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
EeRaCertRequest, RaEeCertInfo, EeRaDownloadRequest
|
||||
FROM Ieee1609Dot2Dot1EeRaInterface
|
||||
{ iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) ee-ra(11) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
;
|
||||
|
||||
/************
|
||||
-- Messages
|
||||
************/
|
||||
|
||||
EnrolmentRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentRequest PRESENT})})}
|
||||
EnrolmentResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentResponse PRESENT})})}
|
||||
AuthorizationRequestMessage ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})}
|
||||
AuthorizationRequestMessageWithPop ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})}
|
||||
AuthorizationResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationResponse PRESENT})})}
|
||||
CertificateRevocationListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateRevocationList PRESENT})})}
|
||||
TlmCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListTlm PRESENT})})}
|
||||
RcaCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListRca PRESENT})})}
|
||||
TlmLinkCertificateMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{linkCertificateTlm PRESENT})})}
|
||||
ButterflyAuthorizationRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationRequest PRESENT})})}
|
||||
X509SignedButterflyAuthorizationRequestMessage ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{x509SignedbutterflyAuthorizationRequest PRESENT})})}
|
||||
ButterflyAuthorizationResponseMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationResponse PRESENT})})}
|
||||
ButterflyAtDownloadRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAtDownloadRequest PRESENT})})}
|
||||
|
||||
/************
|
||||
-- EtsiTs102941Data
|
||||
************/
|
||||
|
||||
EtsiTs102941Data::= SEQUENCE {
|
||||
version Version (v1),
|
||||
content EtsiTs102941DataContent
|
||||
}
|
||||
|
||||
EtsiTs102941DataContent ::= CHOICE {
|
||||
enrolmentRequest InnerEcRequestSignedForPop,
|
||||
enrolmentResponse InnerEcResponse,
|
||||
authorizationRequest InnerAtRequest,
|
||||
authorizationResponse InnerAtResponse,
|
||||
certificateRevocationList ToBeSignedCrl,
|
||||
certificateTrustListTlm ToBeSignedTlmCtl,
|
||||
certificateTrustListRca ToBeSignedRcaCtl,
|
||||
authorizationValidationRequest NULL,
|
||||
authorizationValidationResponse NULL,
|
||||
caCertificateRequest NULL,
|
||||
...,
|
||||
linkCertificateTlm ToBeSignedLinkCertificateTlm,
|
||||
singleSignedLinkCertificateRca NULL,
|
||||
doubleSignedlinkCertificateRca NULL,
|
||||
/* Extension for butterfly key provisioning */
|
||||
[[butterflyAuthorizationRequest EeRaCertRequest,
|
||||
x509SignedbutterflyAuthorizationRequest EtsiTs102941ButterflyAuthorizationRequest-X509Signed,
|
||||
butterflyAuthorizationResponse RaEeCertInfo,
|
||||
butterflyCertificateRequest NULL,
|
||||
butterflyCertificateResponse NULL,
|
||||
butterflyAtDownloadRequest EeRaDownloadRequest]]
|
||||
}
|
||||
|
||||
END
|
||||
+112
@@ -0,0 +1,112 @@
|
||||
/*************************************************************************************
|
||||
This file contains the EtsiTs102941MessagesItss module providing the ITS-S subset
|
||||
of messages defined in the module EtsiTs102941MessagesCA
|
||||
It should never be imported together with the module EtsiTs102941MessagesCA.
|
||||
Use the EtsiTs102941MessagesCA if all possible PKI message types are needed.
|
||||
|
||||
This module blocks the usage of unencrypted EC signature for AA requests.
|
||||
**************************************************************************************/
|
||||
EtsiTs102941MessagesItss
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) messagesItss(1) major-version-3(3) minor-version-3(3)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Data-Signed,
|
||||
EtsiTs103097Data-Encrypted-Unicast,
|
||||
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
|
||||
|
||||
Version
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
InnerEcRequestSignedForPop, InnerEcResponse
|
||||
FROM EtsiTs102941TypesEnrolment
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) enrolment(4) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
EtsiTs102941ButterflyAuthorizationRequest-X509Signed, InnerAtRequest, InnerAtResponse
|
||||
FROM EtsiTs102941TypesAuthorization
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authorization(5) major-version-3(3) minor-version-2(2) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
ToBeSignedCrl, ToBeSignedTlmCtl, ToBeSignedRcaCtl
|
||||
FROM EtsiTs102941TrustLists
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) trustLists(6) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
ToBeSignedLinkCertificate, ToBeSignedLinkCertificateTlm
|
||||
FROM EtsiTs102941TypesLinkCertificate
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) linkCertificate(9) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
EeRaCertRequest, RaEeCertInfo, EeRaDownloadRequest
|
||||
FROM Ieee1609Dot2Dot1EeRaInterface
|
||||
{ iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) ee-ra(11) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
/************
|
||||
-- Messages
|
||||
************/
|
||||
|
||||
EnrolmentRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentRequest PRESENT})})}
|
||||
EnrolmentResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{enrolmentResponse PRESENT})})}
|
||||
AuthorizationRequestMessage ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})}
|
||||
AuthorizationRequestMessageWithPop ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationRequest PRESENT})})}
|
||||
AuthorizationResponseMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{authorizationResponse PRESENT})})}
|
||||
CertificateRevocationListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateRevocationList PRESENT})})}
|
||||
TlmCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListTlm PRESENT})})}
|
||||
RcaCertificateTrustListMessage ::= EtsiTs103097Data-Signed{EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{certificateTrustListRca PRESENT})})}
|
||||
TlmLinkCertificateMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{linkCertificateTlm PRESENT})})}
|
||||
ButterflyAuthorizationRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationRequest PRESENT})})}
|
||||
X509SignedButterflyAuthorizationRequestMessage ::= EtsiTs103097Data-Encrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{x509SignedbutterflyAuthorizationRequest PRESENT})})}
|
||||
ButterflyAuthorizationResponseMessage ::= EtsiTs103097Data-Signed {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAuthorizationResponse PRESENT})})}
|
||||
ButterflyAtDownloadRequestMessage ::= EtsiTs103097Data-SignedAndEncrypted-Unicast {EtsiTs102941Data (WITH COMPONENTS{..., content (WITH COMPONENTS{butterflyAtDownloadRequest PRESENT})})}
|
||||
|
||||
/************
|
||||
-- EtsiTs102941Data
|
||||
************/
|
||||
|
||||
EtsiTs102941Data::= SEQUENCE {
|
||||
version Version (v1),
|
||||
content EtsiTs102941DataContent
|
||||
}
|
||||
|
||||
EtsiTs102941DataContent ::= CHOICE {
|
||||
enrolmentRequest InnerEcRequestSignedForPop,
|
||||
enrolmentResponse InnerEcResponse,
|
||||
authorizationRequest InnerAtRequest,
|
||||
authorizationResponse InnerAtResponse,
|
||||
certificateRevocationList ToBeSignedCrl,
|
||||
certificateTrustListTlm ToBeSignedTlmCtl,
|
||||
certificateTrustListRca ToBeSignedRcaCtl,
|
||||
authorizationValidationRequest NULL,
|
||||
authorizationValidationResponse NULL,
|
||||
caCertificateRequest NULL,
|
||||
...,
|
||||
linkCertificateTlm ToBeSignedLinkCertificateTlm,
|
||||
singleSignedLinkCertificateRca NULL,
|
||||
doubleSignedlinkCertificateRca NULL,
|
||||
/* Extension for butterfly key provisioning */
|
||||
[[butterflyAuthorizationRequest EeRaCertRequest,
|
||||
x509SignedbutterflyAuthorizationRequest EtsiTs102941ButterflyAuthorizationRequest-X509Signed,
|
||||
butterflyAuthorizationResponse RaEeCertInfo,
|
||||
butterflyCertificateRequest NULL,
|
||||
butterflyCertificateResponse NULL,
|
||||
butterflyAtDownloadRequest EeRaDownloadRequest]]
|
||||
} (WITH COMPONENTS{...,
|
||||
authorizationRequest (WITH COMPONENTS{...,
|
||||
ecSignature (WITH COMPONENTS{...,
|
||||
encryptedEcSignature PRESENT
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
END
|
||||
@@ -0,0 +1,3 @@
|
||||
The TS 102941 v2.2.1 PKI ASN1 files are copied from its [ETSI repository](https://forge.etsi.org/rep/ITS/asn1/pki_ts102941/-/tree/v2.2.1).
|
||||
|
||||
See [ETSI License](https://forge.etsi.org/rep/ITS/asn1/pki_ts102941/-/blob/v2.2.1/LICENSE) for copyright details.
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
EtsiTs102941TrustLists
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) trustLists(6) major-version-3(3) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Certificate, EtsiTs103097Data-SignedAndEncrypted, EtsiTs103097Data-Signed
|
||||
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
|
||||
|
||||
HashedId8, Time32, Version --, CertificateAuthorityConstraints
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
/************
|
||||
-- CRL
|
||||
************/
|
||||
ToBeSignedCrl ::= SEQUENCE {
|
||||
version Version,
|
||||
thisUpdate Time32,
|
||||
nextUpdate Time32,
|
||||
entries SEQUENCE OF CrlEntry,
|
||||
...
|
||||
}
|
||||
|
||||
CrlEntry ::= HashedId8
|
||||
|
||||
/************
|
||||
-- TLM CTL
|
||||
************/
|
||||
|
||||
ToBeSignedTlmCtl ::= CtlFormat (FullCtl | DeltaCtl) (WITH COMPONENTS {...,
|
||||
ctlCommands ( WITH COMPONENT(
|
||||
( WITH COMPONENTS {...,
|
||||
add ( WITH COMPONENTS {...,
|
||||
ea ABSENT,
|
||||
aa ABSENT
|
||||
})
|
||||
})
|
||||
))
|
||||
})
|
||||
|
||||
/************
|
||||
-- RCA CTL
|
||||
************/
|
||||
|
||||
ToBeSignedRcaCtl ::= CtlFormat (FullCtl | DeltaCtl) ( WITH COMPONENTS {...,
|
||||
ctlCommands ( WITH COMPONENT(
|
||||
( WITH COMPONENTS {...,
|
||||
add ( WITH COMPONENTS {...,
|
||||
rca ABSENT,
|
||||
tlm ABSENT
|
||||
})
|
||||
})
|
||||
))
|
||||
})
|
||||
|
||||
/************
|
||||
-- CTL
|
||||
************/
|
||||
|
||||
FullCtl::= CtlFormat ( WITH COMPONENTS {...,
|
||||
isFullCtl ( TRUE ),
|
||||
ctlCommands ( WITH COMPONENT(
|
||||
( WITH COMPONENTS {...,
|
||||
delete ABSENT
|
||||
})
|
||||
))
|
||||
})
|
||||
|
||||
DeltaCtl::= CtlFormat (WITH COMPONENTS {...,
|
||||
isFullCtl(FALSE)
|
||||
})
|
||||
|
||||
|
||||
CtlFormat ::= SEQUENCE {
|
||||
version Version,
|
||||
nextUpdate Time32,
|
||||
isFullCtl BOOLEAN,
|
||||
ctlSequence INTEGER (0..255),
|
||||
ctlCommands SEQUENCE OF CtlCommand,
|
||||
...
|
||||
}
|
||||
|
||||
CtlCommand ::= CHOICE {
|
||||
add CtlEntry,
|
||||
delete CtlDelete,
|
||||
...
|
||||
}
|
||||
|
||||
CtlEntry ::= CHOICE {
|
||||
rca RootCaEntry,
|
||||
ea EaEntry,
|
||||
aa AaEntry,
|
||||
dc DcEntry,
|
||||
tlm TlmEntry,
|
||||
...
|
||||
}
|
||||
|
||||
CtlDelete ::= CHOICE {
|
||||
cert HashedId8,
|
||||
dc DcDelete,
|
||||
...
|
||||
}
|
||||
|
||||
TlmEntry::= SEQUENCE {
|
||||
selfSignedTLMCertificate EtsiTs103097Certificate,
|
||||
successorTo EtsiTs103097Certificate OPTIONAL,
|
||||
accessPoint Url
|
||||
}
|
||||
|
||||
RootCaEntry ::= SEQUENCE {
|
||||
selfsignedRootCa EtsiTs103097Certificate,
|
||||
successorTo EtsiTs103097Certificate OPTIONAL
|
||||
}
|
||||
|
||||
EaEntry ::= SEQUENCE {
|
||||
eaCertificate EtsiTs103097Certificate,
|
||||
aaAccessPoint Url,
|
||||
itsAccessPoint Url OPTIONAL
|
||||
}
|
||||
|
||||
AaEntry ::= SEQUENCE {
|
||||
aaCertificate EtsiTs103097Certificate,
|
||||
accessPoint Url
|
||||
}
|
||||
|
||||
DcEntry ::= SEQUENCE {
|
||||
url Url,
|
||||
cert SEQUENCE OF HashedId8
|
||||
}
|
||||
|
||||
DcDelete ::= Url
|
||||
|
||||
Url::= IA5String
|
||||
|
||||
END
|
||||
+105
@@ -0,0 +1,105 @@
|
||||
EtsiTs102941TypesAuthorization
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authorization(5) major-version-3(3) minor-version-3(3)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Certificate,
|
||||
EtsiTs103097Data-Signed
|
||||
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
|
||||
|
||||
CertificateFormat, CertificateSubjectAttributes, EcSignature, HashedId8, PublicKeys, Version
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
EeRaInterfacePdu
|
||||
FROM Ieee1609Dot2Dot1EeRaInterface
|
||||
{ iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) ee-ra(11) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
Ieee1609Dot2Data-SignedX509AuthenticatedCertRequest, ScmsPdu-Scoped, SignerSingleX509Cert
|
||||
FROM Ieee1609Dot2Dot1Protocol
|
||||
{ iso(1) identified-organization(3) ieee(111) standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2) extension-standards(255) dot1(1) interfaces(1) protocol(17) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
;
|
||||
|
||||
/************
|
||||
-- AuthorizationRequest/Response
|
||||
************/
|
||||
|
||||
AuthorizationResponseCode ::= ENUMERATED {
|
||||
ok(0),
|
||||
-- ITS->AA
|
||||
its-aa-cantparse, -- valid for any structure
|
||||
its-aa-badcontenttype, -- not encrypted, not signed, not authorizationrequest
|
||||
its-aa-imnottherecipient, -- the "recipients" of the outermost encrypted data doesn't include me
|
||||
its-aa-unknownencryptionalgorithm, -- either kexalg or contentencryptionalgorithm
|
||||
its-aa-decryptionfailed, -- works for ECIES-HMAC and AES-CCM
|
||||
its-aa-keysdontmatch, -- HMAC keyTag verification fails
|
||||
its-aa-incompleterequest, -- some elements are missing
|
||||
its-aa-invalidencryptionkey, -- the responseEncryptionKey is bad
|
||||
its-aa-outofsyncrequest, -- signingTime is outside acceptable limits
|
||||
its-aa-unknownea, -- the EA identified by eaId is unknown to me
|
||||
its-aa-invalidea, -- the EA certificate is revoked
|
||||
its-aa-deniedpermissions, -- I, the AA, deny the requested permissions
|
||||
-- AA->EA
|
||||
aa-ea-cantreachea, -- the EA is unreachable (network error?)
|
||||
-- EA->AA
|
||||
ea-aa-cantparse, -- valid for any structure
|
||||
ea-aa-badcontenttype, -- not encrypted, not signed, not authorizationrequest
|
||||
ea-aa-imnottherecipient, -- the "recipients" of the outermost encrypted data doesn't include me
|
||||
ea-aa-unknownencryptionalgorithm, -- either kexalg or contentencryptionalgorithm
|
||||
ea-aa-decryptionfailed, -- works for ECIES-HMAC and AES-CCM
|
||||
-- TODO: to be continued...
|
||||
invalidaa, -- the AA certificate presented is invalid/revoked/whatever
|
||||
invalidaasignature, -- the AA certificate presented can't validate the request signature
|
||||
wrongea, -- the encrypted signature doesn't designate me as the EA
|
||||
unknownits, -- can't retrieve the EC/ITS in my DB
|
||||
invalidsignature, -- signature verification of the request by the EC fails
|
||||
invalidencryptionkey, -- signature is good, but the key is bad
|
||||
deniedpermissions, -- permissions not granted
|
||||
deniedtoomanycerts, -- parallel limit
|
||||
... }
|
||||
|
||||
|
||||
InnerAtRequest ::= SEQUENCE {
|
||||
publicKeys PublicKeys,
|
||||
hmacKey OCTET STRING (SIZE(32)),
|
||||
sharedAtRequest SharedAtRequest,
|
||||
ecSignature EcSignature,
|
||||
...
|
||||
}
|
||||
|
||||
SharedAtRequest ::= SEQUENCE {
|
||||
eaId HashedId8,
|
||||
keyTag OCTET STRING (SIZE(16)),
|
||||
certificateFormat CertificateFormat,
|
||||
requestedSubjectAttributes CertificateSubjectAttributes (WITH COMPONENTS{..., certIssuePermissions ABSENT}),
|
||||
...
|
||||
}
|
||||
|
||||
InnerAtResponse ::= SEQUENCE {
|
||||
requestHash OCTET STRING (SIZE(16)),
|
||||
responseCode AuthorizationResponseCode,
|
||||
certificate EtsiTs103097Certificate OPTIONAL,
|
||||
...
|
||||
}
|
||||
(WITH COMPONENTS { responseCode (ok), certificate PRESENT }
|
||||
| WITH COMPONENTS { responseCode (ALL EXCEPT ok), certificate ABSENT }
|
||||
)
|
||||
|
||||
EtsiTs102941ButterflyAuthorizationRequest-X509Signed ::= Ieee1609Dot2Data-SignedX509AuthenticatedCertRequest {
|
||||
ScmsPdu-Scoped {
|
||||
EeRaInterfacePdu (WITH COMPONENTS {
|
||||
eeRaCertRequest})
|
||||
},
|
||||
SignerSingleX509Cert
|
||||
}
|
||||
|
||||
END
|
||||
Vendored
+63
@@ -0,0 +1,63 @@
|
||||
EtsiTs102941TypesAuthorizationValidation
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authValidation(7) major-version-3(3) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Certificate
|
||||
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
|
||||
|
||||
CertificateFormat, CertificateSubjectAttributes,EcSignature, HashedId8, PublicKeys, Version
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
|
||||
SharedAtRequest
|
||||
FROM EtsiTs102941TypesAuthorization
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) authorization(5) major-version-3(3) minor-version-2(2) }
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
/************
|
||||
-- AuthorizationValidationRequest/Response
|
||||
************/
|
||||
|
||||
AuthorizationValidationResponseCode ::= ENUMERATED {
|
||||
ok(0),
|
||||
cantparse, -- valid for any structure
|
||||
badcontenttype, -- not encrypted, not signed, not permissionsverificationrequest
|
||||
imnottherecipient, -- the "recipients" of the outermost encrypted data doesn't include me
|
||||
unknownencryptionalgorithm, -- either kexalg or contentencryptionalgorithm
|
||||
decryptionfailed, -- works for ECIES-HMAC and AES-CCM
|
||||
invalidaa, -- the AA certificate presented is invalid/revoked/whatever
|
||||
invalidaasignature, -- the AA certificate presented can't validate the request signature
|
||||
wrongea, -- the encrypted signature doesn't designate me as the EA
|
||||
unknownits, -- can't retrieve the EC/ITS in my DB
|
||||
invalidsignature, -- signature verification of the request by the EC fails
|
||||
invalidencryptionkey, -- signature is good, but the responseEncryptionKey is bad
|
||||
deniedpermissions, -- requested permissions not granted
|
||||
deniedtoomanycerts, -- parallel limit
|
||||
deniedrequest, -- any other reason?
|
||||
... }
|
||||
|
||||
AuthorizationValidationRequest ::= SEQUENCE {
|
||||
sharedAtRequest SharedAtRequest,
|
||||
ecSignature EcSignature,
|
||||
...
|
||||
}
|
||||
|
||||
AuthorizationValidationResponse ::= SEQUENCE {
|
||||
requestHash OCTET STRING (SIZE(16)),
|
||||
responseCode AuthorizationValidationResponseCode,
|
||||
confirmedSubjectAttributes CertificateSubjectAttributes (WITH COMPONENTS{..., certIssuePermissions ABSENT}) OPTIONAL,
|
||||
...
|
||||
}
|
||||
(WITH COMPONENTS { responseCode (ok), confirmedSubjectAttributes PRESENT }
|
||||
| WITH COMPONENTS { responseCode (ALL EXCEPT ok), confirmedSubjectAttributes ABSENT }
|
||||
)
|
||||
|
||||
END
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
EtsiTs102941TypesCaManagement
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) caManagement(8) major-version-3(3) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Certificate, EtsiTs103097Data-Signed
|
||||
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
|
||||
|
||||
PublicKeys, CertificateSubjectAttributes
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
/************
|
||||
-- CA certificate request
|
||||
************/
|
||||
|
||||
CaCertificateRequest ::= SEQUENCE {
|
||||
publicKeys PublicKeys,
|
||||
requestedSubjectAttributes CertificateSubjectAttributes,
|
||||
...
|
||||
}
|
||||
|
||||
END
|
||||
+62
@@ -0,0 +1,62 @@
|
||||
EtsiTs102941TypesEnrolment
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) enrolment(4) major-version-3(3) minor-version-1(1) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
EtsiTs103097Certificate,
|
||||
EtsiTs103097Data-Signed
|
||||
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
|
||||
|
||||
CertificateFormat, CertificateSubjectAttributes, EcSignature, HashedId8, PublicKeys, Version
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1) }
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
/************
|
||||
-- EnrolmentRequest/Response
|
||||
************/
|
||||
|
||||
EnrolmentResponseCode ::= ENUMERATED {
|
||||
ok(0),
|
||||
cantparse, -- valid for any structure
|
||||
badcontenttype, -- not encrypted, not signed, not enrolmentrequest
|
||||
imnottherecipient, -- the "recipients" doesn't include me
|
||||
unknownencryptionalgorithm, -- either kexalg or contentencryptionalgorithm
|
||||
decryptionfailed, -- works for ECIES-HMAC and AES-CCM
|
||||
unknownits, -- can't retrieve the ITS from the itsId
|
||||
invalidsignature, -- signature verification of the request fails
|
||||
invalidencryptionkey, -- signature is good, but the responseEncryptionKey is bad
|
||||
baditsstatus, -- revoked, not yet active
|
||||
incompleterequest, -- some elements are missing
|
||||
deniedpermissions, -- requested permissions are not granted
|
||||
invalidkeys, -- either the verification_key of the encryption_key is bad
|
||||
deniedrequest, -- any other reason?
|
||||
... }
|
||||
|
||||
InnerEcRequestSignedForPop::= EtsiTs103097Data-Signed{InnerEcRequest}
|
||||
|
||||
InnerEcRequest ::= SEQUENCE {
|
||||
itsId OCTET STRING,
|
||||
certificateFormat CertificateFormat,
|
||||
publicKeys PublicKeys,
|
||||
requestedSubjectAttributes CertificateSubjectAttributes (WITH COMPONENTS{..., certIssuePermissions ABSENT}),
|
||||
...
|
||||
}
|
||||
|
||||
InnerEcResponse ::= SEQUENCE {
|
||||
requestHash OCTET STRING (SIZE(16)),
|
||||
responseCode EnrolmentResponseCode,
|
||||
certificate EtsiTs103097Certificate OPTIONAL,
|
||||
...
|
||||
}
|
||||
(WITH COMPONENTS { responseCode (ok), certificate PRESENT }
|
||||
| WITH COMPONENTS { responseCode (ALL EXCEPT ok), certificate ABSENT }
|
||||
)
|
||||
|
||||
END
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
EtsiTs102941TypesLinkCertificate
|
||||
{ itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) linkCertificate(9) major-version-3(3) minor-version-1(1) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
Time32, HashedData
|
||||
FROM EtsiTs102941BaseTypes
|
||||
{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) ts(102941) baseTypes(3) major-version-3(3) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
;
|
||||
|
||||
/************
|
||||
-- Link certificate messages
|
||||
************/
|
||||
|
||||
ToBeSignedLinkCertificate ::= SEQUENCE {
|
||||
expiryTime Time32,
|
||||
certificateHash HashedData,
|
||||
...
|
||||
}
|
||||
|
||||
ToBeSignedLinkCertificateTlm ::= ToBeSignedLinkCertificate
|
||||
ToBeSignedLinkCertificateRca ::= ToBeSignedLinkCertificate
|
||||
|
||||
END
|
||||
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
EtsiTs103097ExtensionModule
|
||||
{itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5(5) secHeaders(103097) extension(2) major-version-1(1) minor-version-1(1)}
|
||||
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
HashedId8,
|
||||
Time32
|
||||
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-3 (3)}
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
ExtensionModuleVersion::= INTEGER(1)
|
||||
|
||||
Extension {EXT-TYPE : ExtensionTypes} ::= SEQUENCE {
|
||||
id EXT-TYPE.&extId({ExtensionTypes}),
|
||||
content EXT-TYPE.&ExtContent({ExtensionTypes}{@.id})
|
||||
}
|
||||
|
||||
EXT-TYPE ::= CLASS {
|
||||
&extId ExtId,
|
||||
&ExtContent
|
||||
} WITH SYNTAX {&ExtContent IDENTIFIED BY &extId}
|
||||
|
||||
ExtId ::= INTEGER(0..255)
|
||||
|
||||
EtsiOriginatingHeaderInfoExtension ::= Extension{{EtsiTs103097HeaderInfoExtensions}}
|
||||
|
||||
EtsiTs103097HeaderInfoExtensionId ::= ExtId
|
||||
etsiTs102941CrlRequestId EtsiTs103097HeaderInfoExtensionId ::= 1 --'01'H
|
||||
etsiTs102941DeltaCtlRequestId EtsiTs103097HeaderInfoExtensionId ::= 2 --'02'H
|
||||
|
||||
EtsiTs103097HeaderInfoExtensions EXT-TYPE ::= {
|
||||
{ EtsiTs102941CrlRequest IDENTIFIED BY etsiTs102941CrlRequestId } |
|
||||
{ EtsiTs102941DeltaCtlRequest IDENTIFIED BY etsiTs102941DeltaCtlRequestId },
|
||||
...
|
||||
}
|
||||
|
||||
EtsiTs102941CrlRequest::= SEQUENCE {
|
||||
issuerId HashedId8,
|
||||
lastKnownUpdate Time32 OPTIONAL
|
||||
}
|
||||
|
||||
EtsiTs102941CtlRequest::= SEQUENCE {
|
||||
issuerId HashedId8,
|
||||
lastKnownCtlSequence INTEGER (0..255) OPTIONAL
|
||||
}
|
||||
|
||||
EtsiTs102941DeltaCtlRequest::= EtsiTs102941CtlRequest
|
||||
|
||||
END
|
||||
@@ -0,0 +1,123 @@
|
||||
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)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
Ieee1609Dot2Data, Certificate
|
||||
FROM Ieee1609Dot2 {iso(1) identified-organization(3) ieee(111)
|
||||
standards-association-numbered-series-standards(2) wave-stds(1609)
|
||||
dot2(2) base(1) schema(1) major-version-2(2) minor-version-4(4)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
ExtensionModuleVersion
|
||||
FROM EtsiTs103097ExtensionModule {itu-t(0) identified-organization(4)
|
||||
etsi(0) itsDomain(5) wg5(5) secHeaders(103097) extension(2) major-version-1(1) minor-version-1(1)}
|
||||
;
|
||||
|
||||
EtsiTs103097Certificate::= Certificate (WITH COMPONENTS{...,
|
||||
toBeSigned (WITH COMPONENTS{...,
|
||||
id (WITH COMPONENTS{...,
|
||||
linkageData ABSENT,
|
||||
binaryId ABSENT
|
||||
}),
|
||||
certRequestPermissions ABSENT,
|
||||
canRequestRollover ABSENT
|
||||
})
|
||||
})
|
||||
|
||||
EtsiTs103097Data::=Ieee1609Dot2Data (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {...,
|
||||
signedData (WITH COMPONENTS {..., -- constraints on signed data headers
|
||||
tbsData (WITH COMPONENTS {
|
||||
headerInfo (WITH COMPONENTS {...,
|
||||
generationTime PRESENT,
|
||||
p2pcdLearningRequest ABSENT,
|
||||
missingCrlIdentifier ABSENT
|
||||
})
|
||||
}),
|
||||
signer (WITH COMPONENTS {..., --constraints on the certificate
|
||||
certificate ((WITH COMPONENT (EtsiTs103097Certificate))^(SIZE(1)))
|
||||
})
|
||||
}),
|
||||
encryptedData (WITH COMPONENTS {..., -- constraints on encrypted data headers
|
||||
recipients (WITH COMPONENT (
|
||||
(WITH COMPONENTS {...,
|
||||
pskRecipInfo ABSENT,
|
||||
symmRecipInfo ABSENT,
|
||||
rekRecipInfo ABSENT
|
||||
})
|
||||
))
|
||||
}),
|
||||
signedCertificateRequest ABSENT
|
||||
})
|
||||
})
|
||||
|
||||
EtsiTs103097Data-Unsecured {ToBeSentDataContent} ::= EtsiTs103097Data (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {
|
||||
unsecuredData (CONTAINING ToBeSentDataContent)
|
||||
})
|
||||
})
|
||||
|
||||
EtsiTs103097Data-Signed {ToBeSignedDataContent} ::= EtsiTs103097Data (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {
|
||||
signedData (WITH COMPONENTS {...,
|
||||
tbsData (WITH COMPONENTS {
|
||||
payload (WITH COMPONENTS {
|
||||
data (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {
|
||||
unsecuredData (CONTAINING ToBeSignedDataContent)
|
||||
})
|
||||
}) PRESENT
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
EtsiTs103097Data-SignedExternalPayload ::= EtsiTs103097Data (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {
|
||||
signedData (WITH COMPONENTS {...,
|
||||
tbsData (WITH COMPONENTS {
|
||||
payload (WITH COMPONENTS {
|
||||
extDataHash (WITH COMPONENTS {
|
||||
sha256HashedData PRESENT
|
||||
}) PRESENT
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
EtsiTs103097Data-Encrypted {ToBeEncryptedDataContent} ::= EtsiTs103097Data (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {
|
||||
encryptedData (WITH COMPONENTS {...,
|
||||
ciphertext (WITH COMPONENTS {...,
|
||||
aes128ccm (WITH COMPONENTS {...,
|
||||
ccmCiphertext (CONSTRAINED BY {-- ccm encryption of -- ToBeEncryptedDataContent})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
EtsiTs103097Data-SignedAndEncrypted {ToBesignedAndEncryptedDataContent} ::= EtsiTs103097Data-Encrypted {EtsiTs103097Data-Signed {ToBesignedAndEncryptedDataContent}}
|
||||
|
||||
EtsiTs103097Data-Encrypted-Unicast {ToBeEncryptedDataContent} ::= EtsiTs103097Data-Encrypted { EtsiTs103097Data-Unsecured{ToBeEncryptedDataContent}} (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {
|
||||
encryptedData (WITH COMPONENTS {...,
|
||||
recipients (SIZE(1))
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
EtsiTs103097Data-SignedAndEncrypted-Unicast {ToBesignedAndEncryptedDataContent} ::= EtsiTs103097Data-Encrypted {EtsiTs103097Data-Signed {ToBesignedAndEncryptedDataContent}} (WITH COMPONENTS {...,
|
||||
content (WITH COMPONENTS {
|
||||
encryptedData (WITH COMPONENTS {...,
|
||||
recipients (SIZE(1))
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
END
|
||||
+229
@@ -0,0 +1,229 @@
|
||||
-- Draft V0.0.4_2.2.1 - VAM TS 103 300-1 ASN.1 module
|
||||
-- Based on the official version available at @url https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3/-/tree/v2.1.1
|
||||
-- Modified to import from the CDD module V2.1.1
|
||||
|
||||
VAM-PDU-Descriptions {itu-t(0) identified-organization(4) etsi(0) itsDomain(5)
|
||||
wg1(1) 103300 vam(1) major-version-3(3) minor-version-1(1)}
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
AccelerationChangeIndication, BasicContainer, CartesianAngle, ClusterBreakupInfo,
|
||||
ClusterJoinInfo, ClusterLeaveInfo, Curvature, CurvatureCalculationMode,
|
||||
DeltaTimeQuarterSecond, GenerationDeltaTime, HeadingChangeIndication, ItsPduHeader, LanePosition,
|
||||
LateralAcceleration, LongitudinalAcceleration, PathHistory, PathPredicted,
|
||||
SequenceOfSafeDistanceIndication, SequenceOfTrajectoryInterceptionIndication,
|
||||
SequenceOfTrajectoryInterceptionIndication, Speed, StabilityChangeIndication, StationId,
|
||||
TrajectoryInterceptionIndication, VerticalAcceleration, VruClusterInformation, VruDeviceUsage,
|
||||
VruEnvironment, VruExteriorLights, GeneralizedLanePosition, VruProfileAndSubprofile, VruMovementControl,
|
||||
VruSizeClass, YawRate, Wgs84Angle
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2) major-version-3 (4) minor-version-3 (3) }
|
||||
WITH SUCCESSORS
|
||||
;
|
||||
|
||||
VAM ::= SEQUENCE {
|
||||
header ItsPduHeaderVam,
|
||||
vam VruAwareness
|
||||
}
|
||||
|
||||
/**
|
||||
* @details ItsPduHeaderVam
|
||||
* The ITS PDU header for the VAM.
|
||||
*
|
||||
* This DF includes DEs for the VAM _protocolVersion_, the VAM message type identifier _messageID_
|
||||
* and the station identifier _stationID_ of the originating ITS-S.
|
||||
*
|
||||
* @category: Communication information
|
||||
* @revision: V2.2.1
|
||||
*/
|
||||
ItsPduHeaderVam ::= ItsPduHeader(WITH COMPONENTS {..., protocolVersion(3), messageId(vam)})
|
||||
|
||||
|
||||
/**
|
||||
* @details VruAwareness
|
||||
* VAM payload.
|
||||
*
|
||||
* It includes the time stamp of the VAM and the VAM different containers
|
||||
*
|
||||
* @category: Communication information
|
||||
* @revision: V2.2.1
|
||||
*/
|
||||
VruAwareness ::= SEQUENCE {
|
||||
generationDeltaTime GenerationDeltaTime,
|
||||
vamParameters VamParameters
|
||||
}
|
||||
|
||||
/**
|
||||
* @details VamParameters
|
||||
* The VAM payload includes the @ref BasicContainer and @ref VruHighFrequencyContainer.
|
||||
* The VAM payload may also include additional containers: @ref VruLowFrequencyContainer,
|
||||
* @ref VruClusterInformationContainer, @ref VruClusterOperationContainer and @ref VruMotionPredictionContainer.
|
||||
* The selection of the additional containers depends on the dissemination criteria,
|
||||
* e.g. _vruCluster_ or _MotionDynamicPrediction_ availability.
|
||||
*
|
||||
* @category: Communication information
|
||||
* @revision: V2.2.1
|
||||
**/
|
||||
VamParameters ::= SEQUENCE {
|
||||
basicContainer BasicContainer,
|
||||
vruHighFrequencyContainer VruHighFrequencyContainer,
|
||||
vruLowFrequencyContainer VruLowFrequencyContainer OPTIONAL,
|
||||
vruClusterInformationContainer VruClusterInformationContainer OPTIONAL,
|
||||
vruClusterOperationContainer VruClusterOperationContainer OPTIONAL,
|
||||
vruMotionPredictionContainer VruMotionPredictionContainer OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* @details VruHighFrequencyContainer
|
||||
* The VRU HF container of the VAM contains potentially fast-changing status information of the VRU ITS-S.
|
||||
* It includes the following components (setting indications are specified in clause 7.3.3 of TS 103 300-3):
|
||||
*
|
||||
* @field heading: heading and heading confidence of the originating VRU with regards to the true north.
|
||||
* @field speed: speed in moving direction and speed confidence of the originating VRU.
|
||||
* @field longitudinalAcceleration: longitudinal acceleration of the originating VRU.
|
||||
* @field curvature: related to the actual trajectory of the originating VRU vehicle.
|
||||
_(recommended for VRU Profile 2)_
|
||||
* @field curvatureCalculationMode: indicates whether vehicle yaw-rate is used in the calculation of
|
||||
* the curvature of the VRU vehicle ITS-S that originates the VAM. _(recommended for VRU Profile 2)_
|
||||
* @field yawRate: yaw rate of originating VRU vehicle. _(recommended for VRU Profile 2)_
|
||||
* @field lateralAcceleration: originating VRU lateral acceleration in the street plane.
|
||||
* This field shall be present if the data is available at the originating ITS-S. _(recommended for VRU Profile 2)_
|
||||
* @field verticalAcceleration: vertical acceleration of the originating VRU.
|
||||
* This field shall be present if the data is available at the originating ITS-S.
|
||||
* @field vruLanePosition: lane position of the referencePosition of a VRU, which is either a VRU-specific non-traffic lane
|
||||
* or a standard traffic lane. This field shall be present if the data is available at the originating ITS-S.
|
||||
* @field environment: provides contextual awareness of the VRU among other road users.
|
||||
* This field shall be present only if the data is available at the originating ITS-S.
|
||||
* @field movementControl: indicates the mechanism used by the VRU to control the longitudinal movement of the VRU vehicle.
|
||||
* This field shall be present only if the data is available at the originating ITS-S. _(recommended for VRU Profile 2)_
|
||||
* @field orientation : complements the dimensions of the VRU vehicle by defining the angle of the VRU vehicle longitudinal
|
||||
* axis with regards to the WGS84 north. _(recommended for VRU Profile 2)_
|
||||
* @field rollAngle: provides the angle and angle accuracy between the ground plane and the current orientation of a vehicle's
|
||||
* y-axis with respect to the ground plane about the x-axis according to the ISO 8855.
|
||||
* This field shall be present only if the data is available at the originating ITS-S. _(recommended for VRU Profile 2)_
|
||||
* @field deviceUsage: provides indications from the personal device about the potential
|
||||
* activity of the VRU. This field shall be present only if the data is available at the originating ITS-S.
|
||||
* _(recommended for VRU Profile 1)_
|
||||
*
|
||||
* @category: VRU information
|
||||
* @revision: V2.2.1
|
||||
*/
|
||||
VruHighFrequencyContainer ::= SEQUENCE {
|
||||
heading Wgs84Angle,
|
||||
speed Speed,
|
||||
longitudinalAcceleration LongitudinalAcceleration,
|
||||
curvature Curvature OPTIONAL,
|
||||
curvatureCalculationMode CurvatureCalculationMode OPTIONAL,
|
||||
yawRate YawRate OPTIONAL,
|
||||
lateralAcceleration LateralAcceleration OPTIONAL,
|
||||
verticalAcceleration VerticalAcceleration OPTIONAL,
|
||||
vruLanePosition GeneralizedLanePosition OPTIONAL,
|
||||
environment VruEnvironment OPTIONAL,
|
||||
movementControl VruMovementControl OPTIONAL,
|
||||
orientation Wgs84Angle OPTIONAL,
|
||||
rollAngle CartesianAngle OPTIONAL,
|
||||
deviceUsage VruDeviceUsage OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* @details VruLowFrequencyContainer
|
||||
* The VRU LF container of the VAM contains potentially slow-changing information of the VRU ITS-S.
|
||||
* It is mandatory with higher periodicity as specified in clause 6.2 or when VRU cluster operation container is present.
|
||||
* It includes the following components (setting indications are specified in clause 7.3.4 of TS 103 300-3):
|
||||
*
|
||||
* @field profileAndSubprofile: profile of the ITS-S that originates the VAM, including sub-profile information.
|
||||
* @field sizeClass: information about the size of the VRU.
|
||||
* @field exteriorLights: status of the most important exterior lights switches of the VRU ITS-S that originates the VAM.
|
||||
* _(conditional mandatory as specified in clause 7.3.4 of TS 103 300-3)_
|
||||
*
|
||||
* @category: VRU information
|
||||
* @revision: V2.2.1
|
||||
*/
|
||||
VruLowFrequencyContainer ::= SEQUENCE {
|
||||
profileAndSubprofile VruProfileAndSubprofile,
|
||||
sizeClass VruSizeClass OPTIONAL,
|
||||
exteriorLights VruExteriorLights OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* @details VruClusterInformationContainer
|
||||
* The VRU Cluster Information container of the VAM provides the information/parameters relevant to the VRU cluster.
|
||||
* It is mandatory if the VAM is transmitted by VRU cluster leader.
|
||||
* It includes the following components (setting indications are specified in clause 7.3.5 of TS 103 300-3):
|
||||
*
|
||||
* @field vruClusterInformation: set of parammeters releated to the VRU cluster.
|
||||
* When transmitted by a VRU ITS-S, the clusterId and clusterBoundingBoxShape fields inside this DF shall be present.
|
||||
* The clusterBoundingBoxShape is positioned with respect to the position sent in the BasicContainer.
|
||||
*
|
||||
* @category: VRU information
|
||||
* @revision: V2.2.1
|
||||
*/
|
||||
VruClusterInformationContainer::= SEQUENCE{
|
||||
vruClusterInformation VruClusterInformation (WITH COMPONENTS{..., clusterId, clusterBoundingBoxShape PRESENT}),
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @details VruClusterOperationContainer
|
||||
* The VRU Cluster Operation container of the VAM provides information relevant to change of cluster state and composition.
|
||||
* It is mandatory if the VAM is transmitted by a VRU joining, leaving or breaking up a cluster.
|
||||
* It includes the following components (setting indications are specified in clause 7.3.5 of TS 103 300-3).
|
||||
* At least one of the fields below shall be present if the container is present in the VAM:
|
||||
*
|
||||
* @field clusterJoinInfo: indicates the intent of an individual VAM transmitter to join a cluster.
|
||||
* @field clusterLeaveInfo : indicates that an individual VAM transmitter has recently left the VRU cluster.
|
||||
* @field clusterBreakupInfo: indicates the intent of a cluster VAM transmitter to stop sending cluster VAMs.
|
||||
* @field clusterIdChangeTimeInfo: indicates the intent of a cluster VAM transmitter to change cluster ID.
|
||||
*
|
||||
* @category: VRU information
|
||||
* @revision: V2.2.1
|
||||
*/
|
||||
VruClusterOperationContainer ::= SEQUENCE {
|
||||
clusterJoinInfo ClusterJoinInfo OPTIONAL,
|
||||
clusterLeaveInfo ClusterLeaveInfo OPTIONAL,
|
||||
clusterBreakupInfo ClusterBreakupInfo OPTIONAL,
|
||||
clusterIdChangeTimeInfo DeltaTimeQuarterSecond OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* @details VruMotionPredictionContainer
|
||||
* The VRU Motion Prediction container of the VAM carries the past and future motion state information of the VRU.
|
||||
* It includes the following components (setting indications are specified in clause 7.3.6 of TS 103 300-3).
|
||||
* At least one of the fields below shall be present if the container is present in the VAM:
|
||||
*
|
||||
* @field pathHistory: represents the VRU's recent movement over some past time and/or distance.
|
||||
* It consists of a list of path points.
|
||||
* @field pathPrediction: provides the set of predicted locations of the ITS-S, confidence values
|
||||
* and the corresponding future time instants.
|
||||
* @field safeDistance: provides indication of safe distance between an ego-VRU and up to 8 other ITS-S
|
||||
* or entity on the road to indicate whether the ego-VRU is at a safe distance (that is less likely to
|
||||
* physically collide) from another ITS-S or entity on the road.
|
||||
* @field trajectoryInterceptionIndication: provides the indication for possible trajectory interception
|
||||
* with up to 8 VRUs or other objects on the road..
|
||||
* @field accelerationChangeIndication: provides an acceleration change indication of the VRU.
|
||||
* When present this DF indicates an anticipated change in the VRU speed for period of actionDeltaTime.
|
||||
* @field headingChangeIndication: provides additional data elements associated to heading change indicators
|
||||
* such as a change of travel direction (left or right).
|
||||
* The direction change action is performed for a period of actionDeltaTime.
|
||||
* @field stabilityChangeIndication: provides an estimation of the VRU stability.
|
||||
*
|
||||
* @category: GeoReference information, VRU information
|
||||
* @revision: V2.2.1
|
||||
*/
|
||||
VruMotionPredictionContainer ::= SEQUENCE {
|
||||
pathHistory PathHistory OPTIONAL,
|
||||
pathPrediction PathPredicted OPTIONAL,
|
||||
safeDistance SequenceOfSafeDistanceIndication OPTIONAL,
|
||||
trajectoryInterceptionIndication SequenceOfTrajectoryInterceptionIndication OPTIONAL,
|
||||
accelerationChangeIndication AccelerationChangeIndication OPTIONAL,
|
||||
headingChangeIndication HeadingChangeIndication OPTIONAL,
|
||||
stabilityChangeIndication StabilityChangeIndication OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
END
|
||||
microbu-esp32c5/external/vanetza-idf/asn1/release2/TS103300-3v231/motorcyclist-special-container.asn
Vendored
+38
@@ -0,0 +1,38 @@
|
||||
-- Draft V0.0.4_2.2.1 - TS 103 300-3
|
||||
-- Based on the official version available at @url https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3/-/tree/v2.1.1
|
||||
-- Modified to import from the CDD module V2.1.1
|
||||
|
||||
-- This module defines a special container for motorcycles, to be integrated into the
|
||||
-- Cooperative Awareness Message (CAM) defined in ETSI TS 103 900
|
||||
|
||||
VRU-Motorcyclist-Special-Container {itu-t(0) identified-organization(4) etsi(0) itsDomain(5)
|
||||
wg1(1) 103300 motorcyclist-special-container(2) version2(2)}
|
||||
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
PathPredicted, SequenceOfSafeDistanceIndication,
|
||||
StabilityChangeIndication, Wgs84Angle, CartesianAngle,
|
||||
VruSizeClass, VruSubProfileMotorcyclist
|
||||
FROM ETSI-ITS-CDD
|
||||
{itu-t(0) identified-organization(4) etsi(0)
|
||||
itsDomain(5) wg1(1) 102894 cdd(2) major-version-3(4) minor-version-3(3)}
|
||||
;
|
||||
|
||||
MotorcylistSpecialContainer ::= SEQUENCE {
|
||||
motorcyclist VruSubProfileMotorcyclist,
|
||||
sizeClass VruSizeClass,
|
||||
rollAngle CartesianAngle OPTIONAL,
|
||||
orientation Wgs84Angle OPTIONAL,
|
||||
safeDistance SequenceOfSafeDistanceIndication OPTIONAL,
|
||||
pathPrediction PathPredicted OPTIONAL,
|
||||
stabilityChangeIndication StabilityChangeIndication OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
END
|
||||
microbu-esp32c5/external/vanetza-idf/asn1/release2/TS103324v211/CPM-OriginatingStationContainers.asn
Vendored
+54
@@ -0,0 +1,54 @@
|
||||
CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
CartesianAngle, MapReference, Speed, StationType, TrailerData, Wgs84Angle
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-3 (3)}
|
||||
;
|
||||
|
||||
/**
|
||||
* This DF represents the Originating Vehicle Container
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field orientationAngle: the angle and angle accuracy of the absolute orientation of the disseminating vehicle in the WGS84 coordinate system with respect to true North.
|
||||
*
|
||||
* @field pitchAngle: the optional angle and angle accuracy between the ground plane and the current orientation of the vehicle's x-axis with respect to the ground plane about the y-axis according to the ISO 8855.
|
||||
*
|
||||
* @field rollAngle: the optional angle and angle accuracy between the ground plane and the current orientation of a vehicle's y-axis with respect to the ground plane about the x-axis according to the ISO 8855
|
||||
*
|
||||
* @field trailerData: information about the trailer dimensions and orientation in case a trailer is present.
|
||||
*
|
||||
*/
|
||||
OriginatingVehicleContainer ::= SEQUENCE {
|
||||
orientationAngle Wgs84Angle,
|
||||
pitchAngle CartesianAngle OPTIONAL,
|
||||
rollAngle CartesianAngle OPTIONAL,
|
||||
trailerDataSet TrailerDataSet OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents the Originating RSU Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field mapReference: identifies the MAPEM containing the topology information reference in the Perceived Object Container
|
||||
*
|
||||
*/
|
||||
OriginatingRsuContainer ::= SEQUENCE{
|
||||
mapReference MapReference OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a list of trailer data.
|
||||
*
|
||||
*/
|
||||
TrailerDataSet::= SEQUENCE SIZE(1..8,...) OF TrailerData (WITH COMPONENTS {... ,frontOverhang ABSENT, rearOverhang ABSENT, trailerWidth ABSENT})
|
||||
|
||||
END
|
||||
+171
@@ -0,0 +1,171 @@
|
||||
CPM-PDU-Descriptions { itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) cpm (1) major-version-1 (1) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
ItsPduHeader, MessageRateHz, MessageSegmentationInfo, OrdinalNumber1B, ReferencePosition, StationType, TimestampIts
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-3 (3)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
OriginatingRsuContainer, OriginatingVehicleContainer
|
||||
FROM CPM-OriginatingStationContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) originatingStationContainers (2) major-version-1 (1) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
SensorInformationContainer
|
||||
FROM CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
PerceptionRegionContainer
|
||||
FROM CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
PerceivedObjectContainer
|
||||
FROM CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)}
|
||||
WITH SUCCESSORS
|
||||
|
||||
;
|
||||
|
||||
/**
|
||||
* This DF represents the Collective Perception Message (CPM) and is the top level Protocol Data Unit.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field header: the common message header for the facilities layer message.
|
||||
*
|
||||
* @field payload: the payload of the message.
|
||||
*
|
||||
*/
|
||||
CollectivePerceptionMessage ::= SEQUENCE {
|
||||
header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cpm)}),
|
||||
payload CpmPayload
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents the payload of the CPM.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field managementContainer: the management container.
|
||||
*
|
||||
* @field cpmContainers: the list of CPM containers, including its container type identifier and including either one or none of originatingVehicleContainer and/or originatingRsuContainer.
|
||||
*
|
||||
*/
|
||||
CpmPayload ::= SEQUENCE {
|
||||
managementContainer ManagementContainer,
|
||||
cpmContainers ConstraintWrappedCpmContainers,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents the management container of the CPM.
|
||||
* The management container provides basic information about the originating ITS-S, which are not specific to a specific type of station.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field referenceTime: the reference time for all time related information in the CPM.
|
||||
*
|
||||
* @field messageRateRange: the planned or expected range of the CPM generation rate.
|
||||
*
|
||||
* @field segmentationInfo: information regarding the message segmentation on facility layer.
|
||||
*
|
||||
* @field referencePosition: the reference position for all position related information in the CPM.
|
||||
*
|
||||
*/
|
||||
ManagementContainer ::= SEQUENCE {
|
||||
referenceTime TimestampIts,
|
||||
referencePosition ReferencePosition,
|
||||
segmentationInfo MessageSegmentationInfo OPTIONAL,
|
||||
messageRateRange MessageRateRange OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This information object class is an abstract template to instantiate containers.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field &id: the identifier of the container type.
|
||||
*
|
||||
* @field &Type: the container content.
|
||||
*
|
||||
*/
|
||||
|
||||
CPM-CONTAINER-ID-AND-TYPE ::= CLASS {
|
||||
&id CpmContainerId UNIQUE,
|
||||
&Type
|
||||
} WITH SYNTAX {&Type IDENTIFIED BY &id}
|
||||
|
||||
/**
|
||||
* This DE represents the identifier of the container type.
|
||||
*
|
||||
*/
|
||||
CpmContainerId ::= INTEGER (1..16)
|
||||
|
||||
/**
|
||||
* These value assignements represent specific values of the container type identifier.
|
||||
*/
|
||||
originatingVehicleContainer CpmContainerId ::= 1
|
||||
originatingRsuContainer CpmContainerId ::= 2
|
||||
sensorInformationContainer CpmContainerId ::= 3
|
||||
perceptionRegionContainer CpmContainerId ::= 4
|
||||
perceivedObjectContainer CpmContainerId ::= 5
|
||||
|
||||
|
||||
/**
|
||||
* This information object set represents the association between the container type and the container content.
|
||||
*/
|
||||
CpmContainers CPM-CONTAINER-ID-AND-TYPE ::= {
|
||||
{OriginatingVehicleContainer IDENTIFIED BY originatingVehicleContainer} |
|
||||
{OriginatingRsuContainer IDENTIFIED BY originatingRsuContainer} |
|
||||
{SensorInformationContainer IDENTIFIED BY sensorInformationContainer} |
|
||||
{PerceptionRegionContainer IDENTIFIED BY perceptionRegionContainer} |
|
||||
{PerceivedObjectContainer IDENTIFIED BY perceivedObjectContainer},
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a CPM container preceded by its type identifier and a lenght indicator.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field containerId: the identifier of the container type.
|
||||
*
|
||||
* @field containerData: the container content consistent with the container type.
|
||||
*
|
||||
*/
|
||||
WrappedCpmContainer ::= SEQUENCE {
|
||||
containerId CPM-CONTAINER-ID-AND-TYPE.&id( {CpmContainers} ),
|
||||
containerData CPM-CONTAINER-ID-AND-TYPE.&Type( {CpmContainers}{@containerId} )
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a list of CPM containers, each with their type identifier.
|
||||
*/
|
||||
WrappedCpmContainers::= SEQUENCE SIZE(1..8,...) OF WrappedCpmContainer
|
||||
|
||||
/**
|
||||
* This DF represents a list of CPM containers, each with their type identifier with an additional constraint.
|
||||
*/
|
||||
ConstraintWrappedCpmContainers ::= WrappedCpmContainers
|
||||
((WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 1)})) |
|
||||
(WITH COMPONENT (WITH COMPONENTS {..., containerId (ALL EXCEPT 2)})))
|
||||
|
||||
/**
|
||||
* This DF represents the planned or expected range of the message generation rate.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field messageRateMin: the minimum planned or expected message rate.
|
||||
*
|
||||
* @field messageRateMax: the maximum planned or expected message rate.
|
||||
*
|
||||
*/
|
||||
MessageRateRange::= SEQUENCE{
|
||||
messageRateMin MessageRateHz,
|
||||
messageRateMax MessageRateHz
|
||||
}
|
||||
|
||||
END
|
||||
Vendored
+34
@@ -0,0 +1,34 @@
|
||||
CPM-PerceivedObjectContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceivedObjectContainer (4) major-version-1 (1) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
CardinalNumber1B, PerceivedObject
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-3 (3)}
|
||||
;
|
||||
|
||||
/**
|
||||
* This DF represents the Perceived Object Container
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field numberOfPerceivedObjects: the total number of perceived objects at the time of generating the message.
|
||||
*
|
||||
* @field perceivedObjects: the list of perceived objects.
|
||||
*
|
||||
*/
|
||||
PerceivedObjectContainer ::= SEQUENCE {
|
||||
numberOfPerceivedObjects CardinalNumber1B,
|
||||
perceivedObjects PerceivedObjects,
|
||||
...
|
||||
}
|
||||
|
||||
/** @brief Perceived Objects
|
||||
* This DF provides a list of perceived objects represented in the coordinate system in which the y-axis corresponds to the North direction, the x-axis to the East direction, and the z- axis to the vertical direction.
|
||||
*/
|
||||
PerceivedObjects::= SEQUENCE SIZE(0..255, ...) OF PerceivedObject (WITH COMPONENTS {... ,objectId PRESENT})
|
||||
|
||||
END
|
||||
Vendored
+54
@@ -0,0 +1,54 @@
|
||||
CPM-PerceptionRegionContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) perceptionRegionContainer (5) major-version-1 (1) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
CardinalNumber1B, DeltaTimeMilliSecondSigned, Identifier2B, Shape, ConfidenceLevel, SensorType, SequenceOfIdentifier1B
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-3 (3)}
|
||||
;
|
||||
|
||||
/**
|
||||
* This DF represents the Perception Region Container as a list of perception region information objects.
|
||||
*/
|
||||
PerceptionRegionContainer ::= SEQUENCE SIZE(1..256, ...) OF PerceptionRegion
|
||||
|
||||
/**
|
||||
* This DF represents the actual perception capabilities available to the transmitting ITS-S, offering additional (often dynamic) details to the information provided in the sensor information container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
|
||||
* @field measurementDeltaTime: difference between the time of estimation of the perception region and the reference time. Positive values indicates that the provided information refers to a point in time after the reference time.
|
||||
*
|
||||
* @field perceptionRegionConfidence: the perception confidence.
|
||||
*
|
||||
* @field perceptionRegionShape: specification of the shape of the perception region.
|
||||
*
|
||||
* @field shadowingApplies: indicates if the standard shadowing approach applies to the described perception region.
|
||||
*
|
||||
* @field sensorIdList: the optional list of identifiers of the sensors which are involved in perceiving the region.
|
||||
*
|
||||
* @field numberOfPerceivedObjects: the optional number of perceived objects contained in the perception region specified in the component perceptionRegionShape.
|
||||
*
|
||||
* @field perceivedObjectIds: the optional list of identifiers of the objects specified in the Perceived Object Container that are contained in the perception region specified in the component perceptionRegionShape.
|
||||
*
|
||||
*/
|
||||
PerceptionRegion ::= SEQUENCE {
|
||||
measurementDeltaTime DeltaTimeMilliSecondSigned,
|
||||
perceptionRegionConfidence ConfidenceLevel,
|
||||
perceptionRegionShape Shape,
|
||||
shadowingApplies BOOLEAN,
|
||||
sensorIdList SequenceOfIdentifier1B OPTIONAL,
|
||||
numberOfPerceivedObjects CardinalNumber1B OPTIONAL,
|
||||
perceivedObjectIds PerceivedObjectIds OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a list of identifiers of perceived objects.
|
||||
*/
|
||||
PerceivedObjectIds::= SEQUENCE SIZE(0..255, ...) OF Identifier2B
|
||||
|
||||
END
|
||||
Vendored
+47
@@ -0,0 +1,47 @@
|
||||
CPM-SensorInformationContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (103324) sensorInformationContainer (3) major-version-1 (1) minor-version-1(1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
Shape, ConfidenceLevel, Identifier1B, SensorType
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-3 (3) }
|
||||
;
|
||||
|
||||
/**
|
||||
* This DF represents the Sensor Information Container as a list of information objects about the sensors or data fusion systems from which the station provides information about detected objects.
|
||||
*/
|
||||
SensorInformationContainer ::= SEQUENCE SIZE(1..128, ...) OF SensorInformation
|
||||
|
||||
|
||||
/**
|
||||
* This DF represents the characteristics of a single sensor or data fusion system.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field sensorId: identifier of the sensor or data fusion system used to relate the perceived object in the Perceived Object Container to the sensor that detected it.
|
||||
* this identifier shall uniquely identify the sensor inside the CPM, but may be changed from one CPM to the next.
|
||||
*
|
||||
* @field sensorType: the type of the sensor.
|
||||
*
|
||||
* @field perceptionRegionShape: the perception region of the sensor.
|
||||
*
|
||||
* @field perceptionRegionConfidence: the homogeneous perception region confidence that can be assumed for the entire perception region shape of this sensor.
|
||||
*
|
||||
* @field shadowingApplies: indicates if the standard shadowing approach applies to the described perception region.
|
||||
*
|
||||
*/
|
||||
|
||||
SensorInformation ::= SEQUENCE {
|
||||
sensorId Identifier1B,
|
||||
sensorType SensorType,
|
||||
perceptionRegionShape Shape OPTIONAL,
|
||||
perceptionRegionConfidence ConfidenceLevel OPTIONAL,
|
||||
shadowingApplies BOOLEAN,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
END
|
||||
@@ -0,0 +1,4 @@
|
||||
The TS 103324 v2.1.1 CPM ASN1 files are copied from its [ETSI repository](https://forge.etsi.org/rep/ITS/asn1/cpm_ts103324/-/tree/v2.1.1).
|
||||
For compatibility with CDD 2.2.1, the CDD import lines are manually patched from "major-version-3" to "major-version-4".
|
||||
|
||||
See [ETSI License](https://forge.etsi.org/rep/ITS/asn1/cpm_ts103324/-/blob/v2.1.1/LICENSE) for copyright details.
|
||||
@@ -0,0 +1,406 @@
|
||||
DENM-PDU-Description {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) denmPduRelease2 (103831)
|
||||
major-version-2 (2) minor-version-3 (3)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
ActionId, ActionIdList, CauseCodeV2, ClosedLanes, DangerousGoodsExtended, DeltaReferencePosition, DeltaTimeMilliSecondPositive, DeltaTimeSecond,
|
||||
EnergyStorageType, EventZone, GeneralizedLanePositions, HeightLonCarr, InformationQuality, ItsPduHeader, IvimReferences, LanePosition,
|
||||
LightBarSirenInUse, ItineraryPath, MapReferences, MetaInformation, MultiplicativeFactor, NumberOfOccupants, ObjectFace, OccupiedLanesWithConfidence,
|
||||
PerceivedObject, Position1d, PosLonCarr, PosCentMass, PositionOfPillars, PositioningSolutionType, PosFrontAx, PositionOfOccupants, PathPredictedList,
|
||||
RequestResponseIndication, ReferencePosition, RestrictedTypes, RoadConfigurationSectionList, RoadType, StandardLength3b,StandardLength12b,
|
||||
StationType, Speed, SpeedLimit, StationId, StationarySince, TimestampIts, Traces, TracesExtended, TrafficDirection, TrafficRule, TurningRadius,
|
||||
Temperature, VehicleMass, VehicleIdentification, Wgs84Angle, WheelBaseVehicle
|
||||
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2)
|
||||
major-version-4 (4) minor-version-3 (3)} WITH SUCCESSORS
|
||||
;
|
||||
|
||||
/**
|
||||
* This type represents the DENM PDU.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field header: the header of the DENM PDU.
|
||||
*
|
||||
* @field denm: the payload of the DENM PDU.
|
||||
*/
|
||||
DENM ::= SEQUENCE {
|
||||
header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(denm)}),
|
||||
denm DenmPayload
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the DENM payload.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field management: the Management Container.
|
||||
*
|
||||
* @field situation: the optional Situation Container.
|
||||
*
|
||||
* @field location: the optional Location Container.
|
||||
*
|
||||
* @field alacarte: the optional ALaCarte Container .
|
||||
*
|
||||
*/
|
||||
DenmPayload ::= SEQUENCE {
|
||||
management ManagementContainer,
|
||||
situation SituationContainer OPTIONAL,
|
||||
location LocationContainer OPTIONAL,
|
||||
alacarte AlacarteContainer OPTIONAL
|
||||
}
|
||||
((WITH COMPONENTS {..., management (WITH COMPONENTS {..., termination ABSENT}), situation PRESENT, location PRESENT}) |
|
||||
(WITH COMPONENTS {..., management (WITH COMPONENTS {..., termination PRESENT}), situation ABSENT, location ABSENT, alacarte ABSENT}))
|
||||
|
||||
/**
|
||||
* This type represents the Management Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field actionId: the identifier of the DENM.
|
||||
*
|
||||
* @field detectionTime: the time at which the event is detected.
|
||||
*
|
||||
* @field referenceTime: the time at which a new DENM, an update DENM or a cancellation DENM is generated
|
||||
*
|
||||
* @field termination: the optional termination type of the DENM.
|
||||
*
|
||||
* @field eventPosition: the geographical position used in the definition of the awareness area / relevance zone, see clause 6.1.3.
|
||||
*
|
||||
* @field awarenessDistance: the optional radius of the circular awareness area, with centre at the event position or at any of the
|
||||
* event history points as defined in clause 6.1.3.1.
|
||||
*
|
||||
* @field trafficDirection: the optional traffic direction along which the receiving ITS-S may encounter the event,
|
||||
* as defined in clause 6.1.3.
|
||||
*
|
||||
* @field validityDuration: the validity duration of a DENM. This component represents a time offset in the unit of second since detectionTime.
|
||||
*
|
||||
* @field transmissionInterval: the optional time interval for DENM transmission as defined by the originating ITS-S.
|
||||
* If the component is not present in DENM, a default value defaultValidity is assumed.
|
||||
*
|
||||
* @field stationType: the station type information of the originating ITS-S.
|
||||
*
|
||||
*/
|
||||
ManagementContainer ::= SEQUENCE {
|
||||
actionId ActionId,
|
||||
detectionTime TimestampIts,
|
||||
referenceTime TimestampIts,
|
||||
termination Termination OPTIONAL,
|
||||
eventPosition ReferencePosition,
|
||||
awarenessDistance StandardLength3b OPTIONAL,
|
||||
trafficDirection TrafficDirection OPTIONAL,
|
||||
validityDuration DeltaTimeSecond DEFAULT defaultValidity,
|
||||
transmissionInterval DeltaTimeMilliSecondPositive OPTIONAL,
|
||||
stationType StationType,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the situation container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field informationQuality: the quality level of the information provided by the ITS-S application of the originating ITS-S.
|
||||
* It indicates the probability of the detected event being truly existent at the event position.
|
||||
*
|
||||
* @field eventType: the event type, including direct cause and sub cause.
|
||||
*
|
||||
* @field linkedCause: the optional type of a linked event co-existing at the same time and the same place (same event zone),
|
||||
* including direct cause and sub cause of the linked event, for which no other DENM is sent out.
|
||||
*
|
||||
* @field eventZone: an optional list of EventPoint, using the position indicated in the component eventPosition of the Management container
|
||||
* as the reference position for the first EventPoint.
|
||||
*
|
||||
* @field linkedDenms: the optional list of DF ActionId, pointing to DENMs that are semantically connected because applying to consecutive
|
||||
* event zones at the same time.
|
||||
*
|
||||
* @field eventEnd: the end position of the event along the road that is affected by the event w.r.t. the component eventPosition of the
|
||||
* Management container. This end position is represented by the length of the event along the road.
|
||||
*
|
||||
* @field eventEndFactor: an optional component that applies to the component eventEnd. It is a factor to be multiplied with the value given in eventEnd.
|
||||
*
|
||||
* @field perceivedEvent: an optional component that, in case of vehicle ITS-S, indicates the nature of the information about the event.
|
||||
*
|
||||
*/
|
||||
SituationContainer ::= SEQUENCE {
|
||||
informationQuality InformationQuality,
|
||||
eventType CauseCodeV2,
|
||||
linkedCause CauseCodeV2 OPTIONAL,
|
||||
eventZone EventZone OPTIONAL,
|
||||
...,
|
||||
[[ linkedDenms ActionIdList OPTIONAL,
|
||||
eventEnd Position1d OPTIONAL ]], -- extension in minor-version-2
|
||||
[[ eventEndFactor MultiplicativeFactor OPTIONAL,
|
||||
perceivedEvent PerceivedEvent OPTIONAL ]] -- extension in minor-version-3
|
||||
}
|
||||
((WITH COMPONENTS {..., eventZone PRESENT, eventEnd ABSENT, eventEndFactor ABSENT}) |
|
||||
(WITH COMPONENTS {..., eventZone ABSENT, eventEnd PRESENT}) |
|
||||
(WITH COMPONENTS {..., eventZone ABSENT, eventEnd ABSENT, eventEndFactor ABSENT}))
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* This type represents the Location Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field eventSpeed: optional speed of a detected dynamic event and the confidence of the speed information.
|
||||
*
|
||||
* @field eventPositionHeading: the optional heading of the event and the confidence of the heading information.
|
||||
*
|
||||
* @field detectionZonesToEventPosition: the detection zone information approaching the event position, see clause 6.1.3.3.
|
||||
*
|
||||
* @field roadType: the optional road type information at the event position.
|
||||
*
|
||||
* @field lanePositions: the optional lane(s) where the event is located, at the position indicated by the component eventPosition
|
||||
* of the Management container and for a given reference direction.
|
||||
*
|
||||
* @field occupiedLanes: the optional lane(s) that are fully or partially occupied by the event, at the position indicated by the
|
||||
* component eventPosition of the Management container and for a given reference direction.
|
||||
*
|
||||
* @field linkedIvims: the optional list of DF IvimReference, pointing to IVIMs that are semantically connected because providing information
|
||||
* applying to the road segment(s) covered by the components detectionZonesToEventPosition, detectionZonesToSpecifiedEventPoint and
|
||||
* the SituationContainer component eventZone.
|
||||
*
|
||||
* @field linkedMapem: the optional list of DF Mapreference, pointing to MAPEMs that are semantically connected because providing information
|
||||
* applying to the road segment(s) covered by the component detectionZonesToEventPosition, detectionZonesToSpecifiedEventPoint and
|
||||
* the SituationContainer component eventZone.
|
||||
*
|
||||
* @field detectionZonesToSpecifiedEventPoint: the optional detection zone information approaching towards a
|
||||
* specified event point, see clause 6.1.3.3.
|
||||
*
|
||||
* @field predictedPaths: the optional list of future paths or trajectories that the event may move along or zones that the event may occupy.
|
||||
*
|
||||
*/
|
||||
LocationContainer ::= SEQUENCE {
|
||||
eventSpeed Speed OPTIONAL,
|
||||
eventPositionHeading Wgs84Angle OPTIONAL,
|
||||
detectionZonesToEventPosition Traces,
|
||||
roadType RoadType OPTIONAL,
|
||||
...,
|
||||
[[ lanePositions GeneralizedLanePositions OPTIONAL,
|
||||
occupiedLanes OccupiedLanesWithConfidence OPTIONAL,
|
||||
linkedIvims IvimReferences OPTIONAL,
|
||||
linkedMapems MapReferences OPTIONAL,
|
||||
detectionZonesToSpecifiedEventPoint TracesExtended OPTIONAL,
|
||||
predictedPaths PathPredictedList OPTIONAL ]] -- extension in minor-version-2
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detailed information about the vehicle in which the originating ITS-S is mounted, for mitigating the consequences
|
||||
* of a collision.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field heightLonCarrLeft: the height of the left longitudinal carrier of the vehicle from base to top.
|
||||
*
|
||||
* @field heightLonCarrRight: the height of the right longitudinal carrier of the vehicle from base to top.
|
||||
*
|
||||
* @field posLonCarrLeft: the position of the left longitudinal carrier of vehicle.
|
||||
*
|
||||
* @field posLonCarrRight: the position of the right longitudinal carrier of vehicle.
|
||||
*
|
||||
* @field positionOfPillars: information about the vertical support of the vehicle in which the originating ITS-S is mounted. It shall be
|
||||
* included for passenger vehicles only.
|
||||
*
|
||||
* @field posCentMass: the position of the centre of mass of the vehicle.
|
||||
*
|
||||
* @field wheelBaseVehicle: the wheel base of the vehicle.
|
||||
*
|
||||
* @field turningRadius: the turning radius of the vehicle.
|
||||
*
|
||||
* @field posFrontAx: the position of the front axle of the vehicle.
|
||||
*
|
||||
* @field positionOfOccupants: indicates whether an in-vehicle seat is occupied at the moment of generation of the message.
|
||||
*
|
||||
* @field vehicleMass: the mass of the unloaded vehicle
|
||||
*
|
||||
* @field requestResponseIndication: indicates whether the originating ITS-S transmitting the impactReduction component is requesting
|
||||
* the receiving ITS-S to provide also its impactReduction component.
|
||||
*
|
||||
*/
|
||||
ImpactReductionContainer ::= SEQUENCE {
|
||||
heightLonCarrLeft HeightLonCarr,
|
||||
heightLonCarrRight HeightLonCarr,
|
||||
posLonCarrLeft PosLonCarr,
|
||||
posLonCarrRight PosLonCarr,
|
||||
positionOfPillars PositionOfPillars,
|
||||
posCentMass PosCentMass,
|
||||
wheelBaseVehicle WheelBaseVehicle,
|
||||
turningRadius TurningRadius,
|
||||
posFrontAx PosFrontAx,
|
||||
positionOfOccupants PositionOfOccupants,
|
||||
vehicleMass VehicleMass,
|
||||
requestResponseIndication RequestResponseIndication
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detailed information about an object with which a vehicle and/or the traffic is likely to collide.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field perceivedPreCrashObject: information about a perceived object in the East, North, Up reference frame.
|
||||
*
|
||||
* @field objectStationId: the optional station Id of the object for which the information is provided.
|
||||
*
|
||||
* @field timeToCollision: the optional estimated time to collision of a vehicle with the object.
|
||||
*
|
||||
* @field impactSection: indication of the object's section where the impact will most likely occur.
|
||||
* When the target object is likely to be a vehicle, then this component should be present, otherwise it should not be provided.
|
||||
*
|
||||
* @field estimatedBrakingDistance: the optional estimated distance in which the vehicle would need to come to a complete hold,
|
||||
* if no obstruction was in the way.
|
||||
*/
|
||||
PreCrashContainer ::= SEQUENCE {
|
||||
perceivedPreCrashObject PerceivedObject,
|
||||
objectStationId StationId OPTIONAL,
|
||||
timeToCollision DeltaTimeMilliSecondPositive OPTIONAL,
|
||||
impactSection ObjectFace OPTIONAL,
|
||||
estimatedBrakingDistance StandardLength12b OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detailed information about the configuration of road section(s) that are geographically related to the event.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field roadConfigurationConfidence: information about the source of the road configuration and the confidence in the information.
|
||||
*
|
||||
* @field roadConfigurationSectionList: a list of road configuration information per applicable road section.
|
||||
*
|
||||
*/
|
||||
RoadConfigurationContainer ::= SEQUENCE {
|
||||
roadConfigurationConfidence MetaInformation,
|
||||
roadConfigurationSectionList RoadConfigurationSectionList,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detailed information of a roadwork zone and specific access conditions.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field lightBarSirenInUse: optionally indicates whether a roadwork vehicle has switched on the light bar or siren.
|
||||
* It is used when the roadwork involves a specific roadwork vehicle
|
||||
*
|
||||
* @field closedLanes: optionally indicates whether the roadwork has caused the closure of one or several driving lanes.
|
||||
* Optionally, it may indicate whether a hard shoulder lane is closed to traffic or can be used for specific usage (e.g. for stopping).
|
||||
*
|
||||
* @field restriction: the optional type(s) of vehicles that are restricted to access the road work zone.
|
||||
* More than one vehicle types may be provided by this component if the restriction apply to multiple vehicle types.
|
||||
*
|
||||
* @field speedLimit: the optional speed limitation applied to the roadwork zone.
|
||||
*
|
||||
* @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone.
|
||||
*
|
||||
* @field recommendedPath: the optional recommended itinerary in order to contour the roadworks zone. If present, a recommended path
|
||||
* shall be a list of path points in the order from the starting point closest to the roadworks zone to the end point of the recommended path.
|
||||
*
|
||||
* @field startingPointSpeedLimit: the optional effective starting position of a speed limit being applied to the roadwork zone,
|
||||
* with respect to the component eventPosition on the Management Container.
|
||||
* This component shall be present if the speed limit is applied at a certain distance prior to the roadwork zone starting position.
|
||||
*
|
||||
* @field trafficFlowRule: optionally indicates the side of the road to which the traffic should flow around a roadwork.
|
||||
*
|
||||
* @field referenceDenms: an optional sequence of actionIds for different DENMs that describe the same event.
|
||||
* If it is available, it indicates the actionIds of all other DENMs describing this event.
|
||||
*
|
||||
*/
|
||||
RoadWorksContainerExtended ::= SEQUENCE {
|
||||
lightBarSirenInUse LightBarSirenInUse OPTIONAL,
|
||||
closedLanes ClosedLanes OPTIONAL,
|
||||
restriction RestrictedTypes OPTIONAL,
|
||||
speedLimit SpeedLimit OPTIONAL,
|
||||
incidentIndication CauseCodeV2 OPTIONAL,
|
||||
recommendedPath ItineraryPath OPTIONAL,
|
||||
startingPointSpeedLimit DeltaReferencePosition OPTIONAL,
|
||||
trafficFlowRule TrafficRule OPTIONAL,
|
||||
referenceDenms ActionIdList OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detailed information about a stationary vehicle.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field stationarySince: the optional time duration of the stationary vehicle being stationary.
|
||||
*
|
||||
* @field stationaryCause: optional additional information to describe causes of the stationary vehicle event such as human problem.
|
||||
*
|
||||
* @field carryingDangerousGoods: optional information on the type of dangerous goods, the required emergency action and other information.
|
||||
*
|
||||
* @field numberOfOccupants: the optional estimated number of occupants involved in the stationary vehicle event.
|
||||
*
|
||||
* @field vehicleIdentification: the optional identification of the stationary vehicle.
|
||||
*
|
||||
* @field energyStorageType: the optional vehicle energy storage type information of the stationary vehicle, such as electric, diesel, etc.
|
||||
*
|
||||
*/
|
||||
StationaryVehicleContainer ::= SEQUENCE {
|
||||
stationarySince StationarySince OPTIONAL,
|
||||
stationaryCause CauseCodeV2 OPTIONAL,
|
||||
carryingDangerousGoods DangerousGoodsExtended OPTIONAL,
|
||||
numberOfOccupants NumberOfOccupants OPTIONAL,
|
||||
vehicleIdentification VehicleIdentification OPTIONAL,
|
||||
energyStorageType EnergyStorageType OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the A La Carte Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field lanePosition: the optional lane position of the event.
|
||||
*
|
||||
* @field impactReduction: optional vehicle data for collision mitigation.
|
||||
*
|
||||
* @field externalTemperature: optional the ambient temperature at the event position.
|
||||
*
|
||||
* @field roadWorks: optional information of the roadwork zone.
|
||||
*
|
||||
* @field positioningSolution: optionally indicates the technical solution being used by the originating ITS-S to estimate the event position.
|
||||
*
|
||||
* @field stationaryVehicle: optional information about a stationary vehicle.
|
||||
*
|
||||
* @field roadConfiguration: optional information about the configuration of the road.
|
||||
*
|
||||
* @field precrash: the optional information about perceived objects that represent hazards and/or could be subject of collisions.
|
||||
*
|
||||
*/
|
||||
AlacarteContainer ::= SEQUENCE {
|
||||
lanePosition LanePosition OPTIONAL,
|
||||
impactReduction ImpactReductionContainer OPTIONAL,
|
||||
externalTemperature Temperature OPTIONAL,
|
||||
roadWorks RoadWorksContainerExtended OPTIONAL,
|
||||
positioningSolution PositioningSolutionType OPTIONAL,
|
||||
stationaryVehicle StationaryVehicleContainer OPTIONAL,
|
||||
...,
|
||||
[[ roadConfiguration RoadConfigurationContainer OPTIONAL,
|
||||
preCrash PreCrashContainer OPTIONAL ]] -- extension in minor-version-2
|
||||
}
|
||||
|
||||
/**
|
||||
* This type specifies the default value for DENM validity duration used for DENM protocol operation.
|
||||
*/
|
||||
defaultValidity INTEGER ::= 600
|
||||
|
||||
/**
|
||||
* This DE indicates whether a vehicle has perceived an event (e.g. a stationary vehicle using camera sensors) or whether it is itself the cause of the event.
|
||||
* the value shall be set to:
|
||||
* - True - in case the vehicle has perceived the event
|
||||
* - False - in case the vehicle itself is the cause of the event (e.g. vehicle is stationary) or part of the cause (e.g. traffic jam) or is directly exposed to the environmental condition (e.g. adverse weather)
|
||||
*/
|
||||
PerceivedEvent::= BOOLEAN
|
||||
|
||||
/**
|
||||
* This indicates the termination type of generated DENM, i.e. if it is a cancellation DENM or a negation DENM
|
||||
*/
|
||||
|
||||
Termination ::= ENUMERATED {isCancellation(0), isNegation (1)}
|
||||
|
||||
END
|
||||
@@ -0,0 +1,542 @@
|
||||
--! @options: no-fields-header
|
||||
|
||||
CAM-PDU-Descriptions {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) camPduRelease2 (103900)
|
||||
major-version-2 (2) minor-version-3 (3)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
ItsPduHeader, CauseCodeV2, ReferencePosition, AccelerationControl, Curvature, CurvatureCalculationMode, Heading, LanePosition,
|
||||
EmergencyPriority, EmbarkationStatus, Speed, DriveDirection, AccelerationComponent, StationType, ExteriorLights, DangerousGoodsBasic,
|
||||
SpecialTransportType, LightBarSirenInUse, VehicleRole, VehicleLength, VehicleWidth, Path, RoadworksSubCauseCode, ClosedLanes,
|
||||
TrafficRule, SpeedLimit, SteeringWheelAngle, PerformanceClass, YawRate, PtActivation, ProtectedCommunicationZonesRSU,
|
||||
CenDsrcTollingZone, GenerationDeltaTime, BasicContainer, BrakeControl, VehicleHeight2, WiperStatus, GeneralizedLanePositions,
|
||||
PathPredictedList, CartesianAngle, Wgs84Angle, StabilityChangeIndication, VruSubProfileBicyclist, VruMovementControl,
|
||||
BasicLaneConfiguration, PolygonalLine, MetaInformation, ConfidenceLevels, VehicleMovementControl
|
||||
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 102894 cdd (2)
|
||||
major-version-4 (4) minor-version-3 (3)} WITH SUCCESSORS
|
||||
;
|
||||
|
||||
|
||||
-- The root data frame for cooperative awareness messages
|
||||
|
||||
/**
|
||||
* This type represents the CAM PDU.
|
||||
*
|
||||
* It shall include the following componenets:
|
||||
*
|
||||
* @field header: the header of the CAM PDU.
|
||||
*
|
||||
* @field cam: the payload of the CAM PDU.
|
||||
*/
|
||||
|
||||
CAM ::= SEQUENCE {
|
||||
header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (2), messageId(cam)}),
|
||||
cam CamPayload
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the CAM payload.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field generationDeltaTime: Time corresponding to the time of the reference position in the CAM, considered as time of the CAM generation.
|
||||
*
|
||||
* @field camParameters: The sequence of CAM mandatory and optional container.
|
||||
*
|
||||
*/
|
||||
CamPayload ::= SEQUENCE {
|
||||
generationDeltaTime GenerationDeltaTime,
|
||||
camParameters CamParameters
|
||||
}
|
||||
|
||||
/**
|
||||
* @field basicContainer: the mandatory basic container of the CAM.
|
||||
*
|
||||
* @field highFrequencyContainer: the mandatory container represents the high frequency of the CAM.
|
||||
*
|
||||
* @field lowFrequencyContainer: the optional conatainer represents the low frequency of the CAM.
|
||||
*
|
||||
* @field specialVehicleContainer: The special container of the CAM shall be present as defined in clause 6.1.2.
|
||||
* The content of the container shall be set according to the value of the vehicleRole component as specified in Table 5.
|
||||
*
|
||||
* @field extensionContainers: the list of CAM extension containers, including its container type identifier and the container itself.
|
||||
*/
|
||||
CamParameters ::= SEQUENCE {
|
||||
basicContainer BasicContainer,
|
||||
highFrequencyContainer HighFrequencyContainer,
|
||||
lowFrequencyContainer LowFrequencyContainer OPTIONAL,
|
||||
specialVehicleContainer SpecialVehicleContainer OPTIONAL,
|
||||
...,
|
||||
extensionContainers WrappedExtensionContainers OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the high frequency container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field basicVehicleContainerHighFrequency: The mandatory high frequency container of the CAM when the originating ITS-S is of the type vehicle ITS-S.
|
||||
*
|
||||
* @field rsuContainerHighFrequency: The mandatory high frequency container of CAM when the type of the originating ITS-S is RSU ITS-S.
|
||||
*/
|
||||
HighFrequencyContainer ::= CHOICE {
|
||||
basicVehicleContainerHighFrequency BasicVehicleContainerHighFrequency,
|
||||
rsuContainerHighFrequency RSUContainerHighFrequency,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the low frequency container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* The low frequency container of the CAM when the originating ITS-S is of the type vehicle ITS-S. It shall be present as defined in clause 6.1.2.
|
||||
*/
|
||||
LowFrequencyContainer ::= CHOICE {
|
||||
basicVehicleContainerLowFrequency BasicVehicleContainerLowFrequency (WITH COMPONENTS {..., pathHistory (SIZE (0..23))}),
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represent the Special Vehicle Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field publicTransportContainer: If the vehicleRole component is set to publicTransport(1) this container shall be present.
|
||||
*
|
||||
* @field specialTransportContainer: If the vehicleRole component is set to specialTransport(2) this container shall be present.
|
||||
*
|
||||
* @field dangerousGoodsContainer: If the vehicleRole component is set to dangerousGoods(3) this container shall be present.
|
||||
*
|
||||
* @field roadWorksContainerBasic: If the vehicleRole component is set to roadWork(4) this container shall be present.
|
||||
*
|
||||
* @field rescueContainer: If the vehicleRole component is set to rescue(5) this container shall be present.
|
||||
*
|
||||
* @field emergencyContainer: If the vehicleRole component is set to emergency(6) this container shall be present.
|
||||
*
|
||||
* @field safetyCarContainer: If the vehicleRole component is set to safetyCar(7) this container shall be present.
|
||||
*/
|
||||
SpecialVehicleContainer ::= CHOICE {
|
||||
publicTransportContainer PublicTransportContainer,
|
||||
specialTransportContainer SpecialTransportContainer,
|
||||
dangerousGoodsContainer DangerousGoodsContainer,
|
||||
roadWorksContainerBasic RoadWorksContainerBasic,
|
||||
rescueContainer RescueContainer,
|
||||
emergencyContainer EmergencyContainer,
|
||||
safetyCarContainer SafetyCarContainer,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Basic Vehicle Container High Frequency.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field heading: It represent the heading and heading accuracy of the vehicle movement of the originating ITS-S with regards to the true north.
|
||||
* The heading accuracy provided in the heading Confidence value shall provide the accuracy of the measured vehicle heading with a confidence level
|
||||
* of 95 %. Otherwise, the value of the headingConfidence shall be set to unavailable.
|
||||
*
|
||||
* @field speed: It represent driving speed and speed accuracy of the originating ITS-S. The speed accuracy provided in the speedConfidence shall
|
||||
* provide the accuracy of the speed value with a confidence level of 95 %. Otherwise, the speedConfidence shall be set to unavailable.
|
||||
*
|
||||
* @field driveDirection: This component represent the vehicle drive direction (forward or backward) of the originating ITS-S.
|
||||
*
|
||||
* @field vehicleLength: This component represent the vehicle length value and vehicle length confidence indication of the vehicle ITS-S that
|
||||
* originate the CAM.
|
||||
*
|
||||
* @field vehicleWidth: This component represents the Vehicle Width of the vehicle ITS-S that originates the CAM excluding side mirrors and possible
|
||||
* similar extensions.
|
||||
*
|
||||
* @field longitudinalAcceleration: It represent the vehicle Longitudinal Acceleration of the originating ITS-S in the centre of the mass of the
|
||||
* empty vehicle. It shall include the measured vehicle longitudinal acceleration and its accuracy value with the confidence level of 95 %.
|
||||
* Otherwise, the longitudinalAccelerationConfidence shall be set to unavailable.
|
||||
*
|
||||
* @field curvature: this component reppresent the actual trajectory of the vehicle.
|
||||
*
|
||||
* @field curvatureCalculationMode: It indicates whether vehicle yaw-rate is used in the calculation of the curvature of the vehicle ITS-S that
|
||||
* originates the CAM.
|
||||
*
|
||||
* @field yawRate: It denotes the vehicle rotation around the centre of mass of the empty vehicle. The leading sign denotes the direction of
|
||||
* rotation. The value is negative if the motion is clockwise when viewing from the top.
|
||||
* yawRateConfidence denotes the accuracy for the 95 % confidence level for the measured yawRateValue. Otherwise, the value of yawRateConfidence
|
||||
* shall be set to unavailable.
|
||||
*
|
||||
* @field accelerationControl: an optional component which represents the current status of the vehcile mechnanisms controlling the longitudinal movement of the vehcile ITS-S
|
||||
* (e.g. brake pedal, gas pedal, etc. engaged) that originate the CAM.
|
||||
*
|
||||
* @field lanePosition: an optional component which represents the lanePosition of the referencePosition of a vehicle. This component shall be present if the data is
|
||||
* available at the originating ITS-S.
|
||||
*
|
||||
* @field steeringWheelAngle: an optional component which indicates the steering wheel angle and accuracy as measured at the vehicle ITS-S that originates the CAM.
|
||||
*
|
||||
* @field lateralAcceleration: an optional component which represents the vehicle lateral acceleration of the originating ITS-S in the centre of the mass of the empty vehicle.
|
||||
* It shall include the measured vehicle lateral acceleration and its accuracy value with the confidence level of 95%.
|
||||
*
|
||||
* @field verticalAcceleration: an optional component which indicates the originating ITS-S in the centre of the mass of the empty vehicle.
|
||||
*
|
||||
* @field performanceClass: an optional component characterizes the maximum age of the CAM data elements with regard to the generation delta time.
|
||||
*
|
||||
* @field cenDsrcTollingZone: an optional component which represents the information about the position of a CEN DSRC Tolling Station operating in the 5,8 GHz frequency band.
|
||||
*/
|
||||
BasicVehicleContainerHighFrequency ::= SEQUENCE {
|
||||
heading Heading,
|
||||
speed Speed,
|
||||
driveDirection DriveDirection,
|
||||
vehicleLength VehicleLength,
|
||||
vehicleWidth VehicleWidth,
|
||||
longitudinalAcceleration AccelerationComponent,
|
||||
curvature Curvature,
|
||||
curvatureCalculationMode CurvatureCalculationMode,
|
||||
yawRate YawRate,
|
||||
accelerationControl AccelerationControl OPTIONAL,
|
||||
lanePosition LanePosition OPTIONAL,
|
||||
steeringWheelAngle SteeringWheelAngle OPTIONAL,
|
||||
lateralAcceleration AccelerationComponent OPTIONAL,
|
||||
verticalAcceleration AccelerationComponent OPTIONAL,
|
||||
performanceClass PerformanceClass OPTIONAL,
|
||||
cenDsrcTollingZone CenDsrcTollingZone OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Basic Vehicle Container Low Frequency.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field vehicleRole: represent the role of the vehicle ITS-S that originates the CAM. Only values 0 to 7 shall be used.
|
||||
*
|
||||
* @field exteriorLights: represent the status of the most important exterior lights switches of the vehicle ITS-S that originates the CAM.
|
||||
*
|
||||
* @field pathHistory: which represents the vehicle's recent movement over some past time and/or distance. It consists of a list of path points,
|
||||
* each represented as DF PathPoint. The list of path points may consist of up to 23 elements.
|
||||
*/
|
||||
BasicVehicleContainerLowFrequency ::= SEQUENCE {
|
||||
vehicleRole VehicleRole,
|
||||
exteriorLights ExteriorLights,
|
||||
pathHistory Path
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Public Transport Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field embarkationStatus: It indicates whether the passenger embarkation is currently ongoing.
|
||||
*
|
||||
* @field ptActivation: an optional component used for controlling traffic lights, barriers, bollards, etc.
|
||||
*/
|
||||
PublicTransportContainer ::= SEQUENCE {
|
||||
embarkationStatus EmbarkationStatus,
|
||||
ptActivation PtActivation OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Special Transport Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field specialTransportType: which indicates whether the originating ITS-S is mounted on a special transport vehicle with heavy or oversized load
|
||||
* or both. It shall be present if the data is available in originating ITS-S.
|
||||
*
|
||||
* @field lightBarSirenInUse: indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
|
||||
*/
|
||||
SpecialTransportContainer ::= SEQUENCE {
|
||||
specialTransportType SpecialTransportType,
|
||||
lightBarSirenInUse LightBarSirenInUse
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Dangerous Goods Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field dangerousGoodsBasic: identifies the type of the dangerous goods transported by the vehicle that originates the CAM. It shall be present if
|
||||
* the data is available in the originating ITS S.
|
||||
*/
|
||||
DangerousGoodsContainer ::= SEQUENCE {
|
||||
dangerousGoodsBasic DangerousGoodsBasic
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Road Works Container Basic.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field roadworksSubCauseCode: The optional component, in case the originating ITS-S is mounted to a vehicle ITS-S participating to roadwork. It
|
||||
* provides information on the type of roadwork that it is currently undertaking. This component shall be present if the data is available in
|
||||
* originating ITS S.
|
||||
*
|
||||
* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
|
||||
*
|
||||
* @field closedLanes: an optional component which provides information about the opening/closure status of the lanes ahead. Lanes are counted from
|
||||
* the inside boarder of the road. If a lane is closed to traffic, the corresponding bit shall be set to 1.
|
||||
*/
|
||||
RoadWorksContainerBasic ::= SEQUENCE {
|
||||
roadworksSubCauseCode RoadworksSubCauseCode OPTIONAL,
|
||||
lightBarSirenInUse LightBarSirenInUse,
|
||||
closedLanes ClosedLanes OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Rescue Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
|
||||
*/
|
||||
RescueContainer ::= SEQUENCE {
|
||||
lightBarSirenInUse LightBarSirenInUse
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Emergency Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
|
||||
*
|
||||
* @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone.
|
||||
*
|
||||
* @field emergencyPriority: the optional component represent right of way indicator of the vehicle ITS-S that originates the CAM PDU.
|
||||
*/
|
||||
EmergencyContainer ::= SEQUENCE {
|
||||
lightBarSirenInUse LightBarSirenInUse,
|
||||
incidentIndication CauseCodeV2 OPTIONAL,
|
||||
emergencyPriority EmergencyPriority OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the Safety Car Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field lightBarSirenInUse: it indicates whether light-bar or a siren is in use by the vehicle originating the CAM.
|
||||
*
|
||||
* @field incidentIndication: the optional incident related to the roadworks to provide additional information of the roadworks zone.
|
||||
*
|
||||
* @field trafficRule: an optional rule indicates whether vehicles are allowed to overtake a safety car that is originating this CAM.
|
||||
*
|
||||
* @field speedLimit: an optional speed indicates whether a speed limit is applied to vehicles following the safety car.
|
||||
*/
|
||||
SafetyCarContainer ::= SEQUENCE {
|
||||
lightBarSirenInUse LightBarSirenInUse,
|
||||
incidentIndication CauseCodeV2 OPTIONAL,
|
||||
trafficRule TrafficRule OPTIONAL,
|
||||
speedLimit SpeedLimit OPTIONAL
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains detaild information of the RSU Container High Frequency.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field protectedCommunicationZonesRSU: an optional Information about position of a CEN DSRC Tolling Station operating in the 5,8 GHz frequency
|
||||
* band. If this information is provided by RSUs a receiving vehicle ITS-S is prepared to adopt mitigation techniques when being in the vicinity of
|
||||
* CEN DSRC tolling stations.
|
||||
*/
|
||||
RSUContainerHighFrequency ::= SEQUENCE {
|
||||
protectedCommunicationZonesRSU ProtectedCommunicationZonesRSU OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This information object class is an abstract template to instantiate containers.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field &id: the identifier of the container type.
|
||||
*
|
||||
* @field &Type: the container content.
|
||||
*
|
||||
*/
|
||||
EXTENSION-CONTAINER-ID-AND-TYPE ::= CLASS {
|
||||
&id ExtensionContainerId UNIQUE,
|
||||
&Type
|
||||
} WITH SYNTAX {&Type IDENTIFIED BY &id}
|
||||
|
||||
/**
|
||||
* This DE represents the identifier of the container type.
|
||||
*/
|
||||
ExtensionContainerId ::= INTEGER (1..16,...)
|
||||
|
||||
/**
|
||||
* These value assignments represent specific values of the container type identifier.
|
||||
*/
|
||||
twoWheelerContainer ExtensionContainerId ::= 1
|
||||
eHorizonLocationSharingContainer ExtensionContainerId ::= 2
|
||||
veryLowFrequencyContainer ExtensionContainerId ::= 3
|
||||
pathPredictionContainer ExtensionContainerId ::= 4
|
||||
generalizedLanePositionsContainer ExtensionContainerId ::= 5
|
||||
vehicleMovementControlContainer ExtensionContainerId ::= 6
|
||||
|
||||
/**
|
||||
* This information object set represents the association between the container type and the container content.
|
||||
*/
|
||||
ExtensionContainers EXTENSION-CONTAINER-ID-AND-TYPE ::= {
|
||||
{TwoWheelerContainer IDENTIFIED BY twoWheelerContainer} |
|
||||
{EHorizonLocationSharingContainer IDENTIFIED BY eHorizonLocationSharingContainer} |
|
||||
{VeryLowFrequencyContainer IDENTIFIED BY veryLowFrequencyContainer} |
|
||||
{PathPredictionContainer IDENTIFIED BY pathPredictionContainer} |
|
||||
{GeneralizedLanePositionsContainer IDENTIFIED BY generalizedLanePositionsContainer} |
|
||||
{VehicleMovementControlContainer IDENTIFIED BY vehicleMovementControlContainer},
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a CAM container preceded by its type identifier and a length indicator.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field containerId: the identifier of the container type.
|
||||
*
|
||||
* @field containerData: the container content consistent with the container type.
|
||||
*
|
||||
*/
|
||||
WrappedExtensionContainer ::= SEQUENCE {
|
||||
containerId EXTENSION-CONTAINER-ID-AND-TYPE.&id( {ExtensionContainers} ),
|
||||
containerData EXTENSION-CONTAINER-ID-AND-TYPE.&Type( {ExtensionContainers}{@containerId} )
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a list of CAM containers, each with their type identifier.
|
||||
*/
|
||||
WrappedExtensionContainers ::= SEQUENCE SIZE(1..8,...) OF WrappedExtensionContainer
|
||||
|
||||
/**
|
||||
* This type contains detailed information about two wheelers. It is meant to use for StationType
|
||||
* cyclist, moped and motorcycle.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field typeSpecificInformation: this data field contains type specific information about two wheelers.
|
||||
*
|
||||
* @field rollAngle: this data field describes the roll angle of the two wheeler.
|
||||
*
|
||||
* @field orientation: this data field describes the orientation of the two wheeler.
|
||||
*
|
||||
* @field stabilityChangeIndication: this data field describes if the two wheeler is about to lose control.
|
||||
*
|
||||
*/
|
||||
TwoWheelerContainer ::= SEQUENCE {
|
||||
typeSpecificInformation TwoWheelerTypeSpecificInformation OPTIONAL,
|
||||
rollAngle CartesianAngle OPTIONAL,
|
||||
orientation Wgs84Angle OPTIONAL,
|
||||
stabilityChangeIndication StabilityChangeIndication OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains type specific information about a two wheeler.
|
||||
*
|
||||
* It includes one of the following components:
|
||||
*
|
||||
* @field cyclist: it contains cyclist-specific information.
|
||||
*
|
||||
*/
|
||||
TwoWheelerTypeSpecificInformation ::= CHOICE {
|
||||
cyclist CyclistTypeSpecificInformation,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains type-specific information about cyclists.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field vruSubProfileBicyclist: it indicates the detailed type of the cyclist.
|
||||
*
|
||||
* @field vruMovementControl: it includes information about the movement control of the bicycle.
|
||||
*
|
||||
*/
|
||||
CyclistTypeSpecificInformation ::= SEQUENCE {
|
||||
vruSubProfileBicyclist VruSubProfileBicyclist (unavailable | bicyclist | e-scooter | pedelec | speed-pedelec | roadbike | childrensbike) OPTIONAL,
|
||||
vruMovementControl VruMovementControl OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type contains contextual, map-based location information.
|
||||
* eHorizon is defined as a tool to convey the part of the road network and its characteristics derived from map data located in front of and behind the vehicle along the road.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field segmentAhead: the road segment that the vehicle is predicted to reach, starting from the reference position.
|
||||
* At least one node must be filled in so that the current map position can be calculated on the receiver side.
|
||||
*
|
||||
* @field nodeProbabilities: confidence values for each node in segmentAhead, indicating how confident we are that the ITS station will reach that point.
|
||||
*
|
||||
* @field segmentBehind: the road segment that the vehicle has passed, based on the collected data, starting from the reference position.
|
||||
* At least one node must be filled in so that the current map position can be calculated on the receiver side.
|
||||
*
|
||||
* @field laneLevelDetails: provides information about the configuration of the road at the position indicated by the component referencePosition of the Basic Container and for a given reference direction.
|
||||
*
|
||||
* @field segmentSource: it represents the origin of the map-specific data.
|
||||
*
|
||||
*/
|
||||
EHorizonLocationSharingContainer ::= SEQUENCE {
|
||||
segmentAhead PolygonalLine,
|
||||
nodeProbabilities ConfidenceLevels OPTIONAL,
|
||||
segmentBehind PolygonalLine,
|
||||
laneLevelDetails BasicLaneConfiguration OPTIONAL,
|
||||
segmentSource MetaInformation (WITH COMPONENTS {..., confidenceValue ABSENT}) OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the very low frequency container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field vehicleHeight: this component represents the height of the vehicle that originates the CAM.
|
||||
*
|
||||
* @field wiperStatus: this component represents the status of the wipers of the vehicle that originates the CAM, at the time indicated by generationDeltaTime.
|
||||
*
|
||||
* @field brakeControl: this component represents the status of the brake control system of the vehicle that originates the CAM,
|
||||
* at the time indicated by generationDeltaTime and during the period 10 seconds before that time.
|
||||
*/
|
||||
VeryLowFrequencyContainer ::= SEQUENCE {
|
||||
vehicleHeight VehicleHeight2 OPTIONAL,
|
||||
wiperStatus WiperStatus OPTIONAL,
|
||||
brakeControl BrakeControl OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the path prediction container.
|
||||
*
|
||||
* Contains information about the possible future paths of ITS station.
|
||||
*/
|
||||
PathPredictionContainer ::= SEQUENCE {
|
||||
pathPredictedList PathPredictedList,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the generalized lane positions container.
|
||||
*
|
||||
* Contains detailed information about the transversal position of the ITS station with respect to the road and potentially about the lane type.
|
||||
*/
|
||||
GeneralizedLanePositionsContainer ::= SEQUENCE {
|
||||
generalizedLanePositions GeneralizedLanePositions,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the vehicle movement control container.
|
||||
*
|
||||
* Contains information about the current vehicle movement control status
|
||||
* of ITS station.
|
||||
* This contains:
|
||||
* - brake and acceleration pedal position status information
|
||||
* - mechanism for lateral, longitudinal movements dimensions
|
||||
* of the vehicle
|
||||
*/
|
||||
VehicleMovementControlContainer ::= SEQUENCE {
|
||||
vehicleMovementControl VehicleMovementControl,
|
||||
...
|
||||
}
|
||||
|
||||
END
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
POIM-CommonContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) common(99) major-version-1 (1) minor-version-1 (1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
Identifier2B, IvimReferences, MapReferences, Provider, TimestampIts
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS
|
||||
|
||||
PoiType
|
||||
FROM POIM-PDU-Description {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) poim(0) major-version-1 (1) minor-version-1 (1)}
|
||||
;
|
||||
|
||||
/**
|
||||
* This type represents the common management container of the POI Information Blocks.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field serviceProviderId: identifier of the organization that provided the POI Information Block.
|
||||
*
|
||||
* @field blockIdentificationNumber: identifier of the POI Information Block, as assigned by the organization identified in serviceProviderId.
|
||||
*
|
||||
* @field timestamp: timestamp of the generation or last change of the POI Information Block
|
||||
*
|
||||
* @field linkedIvims: the optional list of references to IVIMs that are semantically connected because providing signage information applying to the POI.
|
||||
*
|
||||
* @field linkedMapem: the optional list of references to MAPEMs that are semantically connected because providing information applying to the POI.
|
||||
*
|
||||
*/
|
||||
PoiBlockManagementContainer::= SEQUENCE {
|
||||
serviceProviderId Provider,
|
||||
blockIdentificationNumber Identifier2B,
|
||||
timestamp TimestampIts,
|
||||
linkedIvims IvimReferences OPTIONAL,
|
||||
linkedMapems MapReferences OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type can be used to reference to other related POI Information Blocks.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field poiInfoBlockType: the type of related POI Information Blocks
|
||||
*
|
||||
* @field serviceProviderId: identifier of the organization that provided the related POI Information Block.
|
||||
*
|
||||
* @field blockIdentificationNumber: identifier of the related POI Information Block, as assigned by the organization identified in serviceProviderId.
|
||||
*
|
||||
* @field timestamp: optional timestamp of the generation or last change of the related POI Information Block
|
||||
*
|
||||
*/
|
||||
|
||||
RelatedPoiInfoBlock::= SEQUENCE{
|
||||
poiInfoBlockType PoiType,
|
||||
serviceProviderId Provider,
|
||||
blockIdentificationNumber Identifier2B,
|
||||
timestamp TimestampIts OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref RelatedPoiInfoBlock and represents a commmon container to refer to other POI Information Blocks.
|
||||
*
|
||||
*/
|
||||
RelatedPoiInfoBlockContainer::= SEQUENCE OF RelatedPoiInfoBlock
|
||||
|
||||
END
|
||||
+85
@@ -0,0 +1,85 @@
|
||||
POIM-PDU-Description {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) poim(0) major-version-1 (1) minor-version-1 (1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
ItsPduHeader
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS
|
||||
|
||||
ParkingAvailabilityBlock
|
||||
FROM POIM-ParkingAvailability {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) parkingAvailability(1) major-version-1 (1) minor-version-1 (1)} WITH SUCCESSORS
|
||||
|
||||
-- other block imports from separate standards to be added here when needed.
|
||||
;
|
||||
|
||||
/**
|
||||
* This type represents the POIM PDU.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field header: the header of the POIM PDU.
|
||||
*
|
||||
* @field payload: the payload of the POIM PDU.
|
||||
*/
|
||||
|
||||
POIM ::= SEQUENCE {
|
||||
header ItsPduHeader (WITH COMPONENTS {... , protocolVersion (1), messageId(poim)}),
|
||||
payload WrappedPoiInformationBlocks
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a list of POI information blocks, each with their type identifier.
|
||||
*/
|
||||
WrappedPoiInformationBlocks::= SEQUENCE (SIZE (1..8,...)) OF WrappedPoiInformationBlock
|
||||
|
||||
/**
|
||||
* This information object class is an abstract template to instantiate POI Information Blocks.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field &id: the identifier of the block type.
|
||||
*
|
||||
* @field &Type: the block content.
|
||||
*
|
||||
*/
|
||||
BLOCK-TYPE ::= CLASS {
|
||||
&id PoiType,
|
||||
&Content
|
||||
} WITH SYNTAX {&Content IDENTIFIED BY &id}
|
||||
|
||||
/**
|
||||
* This DE represents the identifier of the container type.
|
||||
*
|
||||
*/
|
||||
PoiType::= INTEGER(1..128,...)
|
||||
|
||||
/**
|
||||
* These value assignements represent specific values of the block type identifier.
|
||||
*/
|
||||
parkingAvailability PoiType ::= 1
|
||||
|
||||
/**
|
||||
* This information object set represents the association between the block type and the block content.
|
||||
*/
|
||||
|
||||
PoiInformationSet BLOCK-TYPE ::= {
|
||||
{ParkingAvailabilityBlock IDENTIFIED BY parkingAvailability}, ...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents a POI Information Block preceded by its type identifier and a lenght indicator.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field poiType: the identifier of the POI Information Block type.
|
||||
*
|
||||
* @field poiBlock: the POI Information Block.
|
||||
*
|
||||
*/
|
||||
WrappedPoiInformationBlock ::= SEQUENCE {
|
||||
poiType BLOCK-TYPE.&id({PoiInformationSet}),
|
||||
poiBlock BLOCK-TYPE.&Content({PoiInformationSet}{@poiType})
|
||||
}
|
||||
|
||||
END
|
||||
Vendored
+743
@@ -0,0 +1,743 @@
|
||||
POIM-ParkingAvailability {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) parkingAvailability(1) major-version-1 (1) minor-version-1 (1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
AltitudeValue, ConfidenceLevel, DangerousGoodsBasic, DeltaLatitude, DeltaLongitude, DeltaReferencePosition, EuVehicleCategoryCode, GeoPosition, Identifier2B, Latitude, Longitude,
|
||||
SpecialTransportType, TimestampIts, VehicleHeight, Wgs84Angle
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS
|
||||
|
||||
PoiBlockManagementContainer, RelatedPoiInfoBlockContainer
|
||||
FROM POIM-CommonContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) common(99) major-version-1 (1) minor-version-1 (1)} WITH SUCCESSORS
|
||||
;
|
||||
|
||||
-- Parking Availability Block for usage within the Point of Interest Message (POIM):
|
||||
|
||||
/**
|
||||
* This type represents the POI Information Block concerning a parking availability at a given facility.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field managementContainer: the management container of the parking availability POI Information Block.
|
||||
*
|
||||
* @field placeInfo: general information about the parking facility.
|
||||
*
|
||||
* @field aggregatedStatus: aggregated status information about the parking facility.
|
||||
*
|
||||
* @field detailedStatus: detailed topology and status information about the parking areas and spaces.
|
||||
*
|
||||
* @field relatedPoi: reference to other relevant POI Information Blocks.
|
||||
*
|
||||
*/
|
||||
ParkingAvailabilityBlock::= SEQUENCE{
|
||||
managementContainer PoiBlockManagementContainer,
|
||||
placeInfo GeneralParkingPlaceContainer,
|
||||
aggregatedStatus ParkingStatusContainer,
|
||||
detailedStatus ParkingSupplyCapabilitiesContainer OPTIONAL,
|
||||
relatedPoi RelatedPoiInfoBlockContainer OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
-- POIM-PA Containers:
|
||||
|
||||
/**
|
||||
* This type represents the General Parking Facility Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field position: the position of the parking facility.
|
||||
*
|
||||
* @field name: the name of the parking facility.
|
||||
*
|
||||
* @field openingPeriods: the optional opening periods of the parking facility.
|
||||
*
|
||||
* @field address: the address of the parking facility.
|
||||
*
|
||||
* @field phoneNumber: the phone number of the operator of the parking facility.
|
||||
*
|
||||
* @field website: the URL of the website of the operator of the parking facility.
|
||||
*
|
||||
*/
|
||||
GeneralParkingPlaceContainer::= SEQUENCE{
|
||||
position GeoPosition,
|
||||
name UTF8String (SIZE (1..31)),
|
||||
openingPeriods Periods OPTIONAL,
|
||||
address UTF8String (SIZE (1..255)) OPTIONAL,
|
||||
phoneNumber UTF8String (SIZE (1..31)) OPTIONAL,
|
||||
website UTF8String (SIZE (1..31)) OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the Parking Status Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field currentFacilityStatus: the current status of the facility.
|
||||
*
|
||||
* @field currentOccupancy: the optional current occupancy of the entire facility.
|
||||
* This component is only representative if the entire facility has areas and spaces of the same type. e.g. personal car parking spaces only.
|
||||
*
|
||||
* @field detailedStatus: the optional detailed parking availability status of the facility.
|
||||
*
|
||||
*/
|
||||
ParkingStatusContainer::= SEQUENCE {
|
||||
currentFacilityStatus OpeningStatus,
|
||||
currentOccupancy OccupancyInformation OPTIONAL,
|
||||
detailedStatus ParkingStatusList OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the ParkingSupplyCapabilitiesContainer and is a list of @ref ParkingAreas.
|
||||
*
|
||||
*/
|
||||
ParkingSupplyCapabilitiesContainer::= SEQUENCE OF ParkingAreas
|
||||
|
||||
-- DFs for parking availability:
|
||||
|
||||
/**
|
||||
* This DF indicates a geographical position with reference to a reference position.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field deltaLatitude: the delta latitude of the geographical position.
|
||||
*
|
||||
* @field deltaLongitude: the delta longitude of the geographical position.
|
||||
*
|
||||
*/
|
||||
DeltaPosition::=SEQUENCE{
|
||||
deltaLatitude DeltaLatitude,
|
||||
deltaLongitude DeltaLongitude
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain an an ordered sequence of @ref DeltaPosition with respect to the previous position
|
||||
* with the first instance referring to a reference position and with the order implicitly defining a direction.
|
||||
*
|
||||
*/
|
||||
DeltaPositions::= SEQUENCE (SIZE (1..32, ...)) OF DeltaPosition
|
||||
|
||||
/**
|
||||
* This DF indicates a geographical position.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field latitude: the latitude of the geographical position.
|
||||
*
|
||||
* @field longitude: the longitude of the geographical position.
|
||||
*
|
||||
* @field altitude: the altitude of the geographical position.
|
||||
*
|
||||
*/
|
||||
-- Redundant with GeoPosition from CDD (TS102894-2v221-CDD.asn)
|
||||
-- GeoPosition::= SEQUENCE{
|
||||
-- latitude Latitude,
|
||||
-- longitude Longitude,
|
||||
-- altitude AltitudeValue DEFAULT unavailable
|
||||
-- }
|
||||
|
||||
/**
|
||||
* This DF indicates a the load type of the vehicle.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field goodsType: optional information about the goods being transported.
|
||||
*
|
||||
* @field dangerousGoodsType: the optional type of dangerous goods according to the European Agreement concerning the International Carriage of Dangerous Goods by Road (ADR).
|
||||
*
|
||||
* @field specialTransportType: the type of special transport according to local regulations.
|
||||
*
|
||||
*/
|
||||
LoadType::= SEQUENCE{
|
||||
goodsType GoodsType OPTIONAL,
|
||||
dangerousGoodsType DangerousGoodsBasic OPTIONAL,
|
||||
specialTransportType SpecialTransportType,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents occupancy information.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field rate: the current occupancy in percentage, nominally = ((totalSpaces-freeSpaces)/totalSpaces) * 100.
|
||||
*
|
||||
* @field trend: the current trend of the occupancy.
|
||||
*
|
||||
* @field freeSpaces: the number of spaces that are actually available.
|
||||
*
|
||||
* @field totalSpaces: the total number of spaces.
|
||||
*
|
||||
* @field confidence: the confidence level of the above information.
|
||||
*
|
||||
*/
|
||||
OccupancyInformation::= SEQUENCE{
|
||||
rate OccupancyRate,
|
||||
trend OccupancyTrend,
|
||||
freeSpaces NumberOfSpaces,
|
||||
totalSpaces NumberOfSpaces,
|
||||
confidence ConfidenceLevel,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides information about the parking capabilities and availabilities of a parking identified area.
|
||||
*
|
||||
* @note:a parking area possibly groups all spaces with the same characteristics.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field id: the identifier of the parking area within the parking place/facility.
|
||||
*
|
||||
* @field currentOccupancy: the current occupancy information of the parking area.
|
||||
*
|
||||
* @field location: the location of the parking area.
|
||||
*
|
||||
* @field level: the level under/over ground floor of the parking area.
|
||||
*
|
||||
* @field arrangementType: the common arrangement of the parking spaces within the area.
|
||||
* the value ´mixed´ shall be used if there is no common arrangement. In this case the arrangement of the single spaces may be defined in the component spacesDetailed.
|
||||
*
|
||||
* @field boundary: the optional physical boundary of the parking area as a polygon using the component location as reference position.
|
||||
*
|
||||
* @field orientation: the optional common orientation of the parking spaces within the area.
|
||||
* This is component shall be absent if there is no common orientation. In this case the orientation of the single spaces may be defined in the component spacesDetailed.
|
||||
*
|
||||
* @field accessViaLane: the optional identifier of a lane that provides access to the parking area.
|
||||
*
|
||||
* @field allowedVehicleCategories: the categories of vehicles that are allowed in the parking area.
|
||||
*
|
||||
* @field notAllowedEngineCharacteristics: the optional characteristic(s) of engines that are not allowed in the parking area.
|
||||
*
|
||||
* @field allowedLoadTypes: the optional load type(s) that are allowed in the parking area.
|
||||
*
|
||||
* @field notallowedLoadTypes: the optional load type(s) that are not allowed in the parking area.
|
||||
*
|
||||
* @field heightRestriction: the optional applicable vehicle height restriction.
|
||||
*
|
||||
* @field reservationType: the optional parking reservation type(s) associated to the parking area.
|
||||
* This is component shall be absent if there is no common reservation type. In this case the reservation type of the single spaces may be defined in the component spacesDetailed.
|
||||
*
|
||||
* @field pricingInformation: the optional pricing information applicable to the parking area.
|
||||
*
|
||||
* @field paymentInformation: the optional payment information applicable to the parking area.
|
||||
*
|
||||
* @field bookingContactInfo: the optional booking contact information applicable to the parking area.
|
||||
*
|
||||
* @field accessCharachteristics: the optional access information to the area.
|
||||
*
|
||||
* @field freeSpacesPosition: the optional list of positions of free spaces.
|
||||
*
|
||||
* @field freeSpacesId: the optional list of Ids of free spaces.
|
||||
*
|
||||
* @field spacesBasic: the optional basic information about none, some or all parking spaces within the area.
|
||||
*
|
||||
* @field spacesDetailed: the optional detailed information about none, some or all parking spaces within the area.
|
||||
*
|
||||
*/
|
||||
ParkingArea::=SEQUENCE{
|
||||
id Identifier2B,
|
||||
currentOccupancy OccupancyInformation,
|
||||
location GeoPosition,
|
||||
level INTEGER(-8..16,...) DEFAULT 0,
|
||||
arrangementType ParkingAreaArrangementType,
|
||||
boundary DeltaPositions OPTIONAL,
|
||||
orientation Wgs84Angle OPTIONAL,
|
||||
accessViaLane Identifier2B OPTIONAL,
|
||||
allowedVehicleCategories SEQUENCE (SIZE(1..4,...)) OF EuVehicleCategoryCode,
|
||||
notAllowedEngineCharacteristics SEQUENCE (SIZE(1..4,...)) OF EngineCharacteristicsFromIso OPTIONAL,
|
||||
allowedLoadTypes SEQUENCE (SIZE(1..4,...)) OF LoadType OPTIONAL,
|
||||
notAllowedLoadTypes SEQUENCE (SIZE(1..4,...)) OF LoadType OPTIONAL,
|
||||
heightRestriction VehicleHeight OPTIONAL,
|
||||
reservationType SEQUENCE (SIZE(1..4,...)) OF ParkingReservationType OPTIONAL,
|
||||
pricingInformation UTF8String OPTIONAL,
|
||||
paymentInformation UTF8String OPTIONAL,
|
||||
bookingContactInfo UTF8String OPTIONAL,
|
||||
accessCharachteristics UTF8String OPTIONAL,
|
||||
freeSpacesPosition SEQUENCE OF DeltaPosition OPTIONAL,
|
||||
freeSpacesId SEQUENCE OF Identifier2B OPTIONAL,
|
||||
spacesBasic ParkingSpacesBasic OPTIONAL,
|
||||
spacesDetailed ParkingSpacesDetailed OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingArea.
|
||||
*
|
||||
*/
|
||||
ParkingAreas::= SEQUENCE OF ParkingArea
|
||||
|
||||
/**
|
||||
* This DF indicates the allowed type of occupancy of a parking space/area in terms of time and/or usage.
|
||||
*
|
||||
* The following options are available:
|
||||
*
|
||||
* @field unknown: indicates that the allowed type of occupancy is unknown.
|
||||
*
|
||||
* @field unlimitedOccupancy: indicates that it can be occupied without limits.
|
||||
*
|
||||
* @field onlyWhileCharging: indicates that it can be occupied only while charging an electric vehicle.
|
||||
*
|
||||
* @field limitedDuration: indicates that it can be occupied for a limited and indicated duration in minutes.
|
||||
*
|
||||
* @field onlyWhileChargingLimitedDuration: indicates that it can be occupied only while charging an electric vehicle and only for a limited and indicated duration in minutes.
|
||||
*
|
||||
* @field parkingAllowedUntil: indicates that it can be occupied only until an indicated moment in time.
|
||||
*
|
||||
* @field forcedParkingUntil: indicates that it can be occupied and departure is possible only after an indicated moment in time.
|
||||
*
|
||||
*/
|
||||
ParkingOccupancyInfo::= CHOICE {
|
||||
unknown NULL,
|
||||
unlimitedOccupancy NULL,
|
||||
onlyWhileCharging NULL,
|
||||
limitedDuration INTEGER,
|
||||
onlyWhileChargingLimitedDuration INTEGER,
|
||||
parkingAllowedUntil TimestampIts,
|
||||
forcedParkingUntil TimestampIts,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides basic information about the parking capabilities and availabilities of a single parking space.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field id: the unqiue identifier of the parking space within the parking area.
|
||||
*
|
||||
* @field location: the optional location of the geometrical center of the parking space w.r.t. the location of the parking area.
|
||||
*
|
||||
* @field status: the actual status of the parking space.
|
||||
*
|
||||
*/
|
||||
ParkingSpaceBasic ::= SEQUENCE{
|
||||
id Identifier2B,
|
||||
location DeltaReferencePosition OPTIONAL,
|
||||
status ParkingSpaceStatus
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides detailed information about the parking capabilities and availabilities of a single parking space.
|
||||
*
|
||||
* It is an extension of @ref ParkingSpaceBasic and it shall additionally include the following additional components:
|
||||
*
|
||||
* @field arrangementType: the optional arrangement of the parking space w.r.t. other spaces.
|
||||
* This is component, if present, overrides the common arrangementType defined in the @ref ParkingArea.
|
||||
*
|
||||
* @field boundary: the optional physical boundary of the parking space as a polygon w.r.t. the location of the parking space.
|
||||
*
|
||||
* @field orientation: the optional orientation of the parking space.
|
||||
* This is component, if present, overrides the common orientation defined in the @ref ParkingArea.
|
||||
*
|
||||
* @field occupancyRule: the occupancy rule applicable to the parking space.
|
||||
*
|
||||
* @field chargingStationId: the optional identitfier of a charging station that serves the parking space.
|
||||
*
|
||||
* @field accessViaLane: the optional identifier of a lane that provides access to the parking space.
|
||||
*
|
||||
* @field accessViaParkingSpaces: the optional identifier(s) of a parking spaces that provide access to the parking space.
|
||||
*
|
||||
* @field reservationType: the optional parking reservation type(s) associated to the parking space.
|
||||
* This is component, if present, overrides the common reservationType defined in the @ref ParkingArea.
|
||||
*
|
||||
*/
|
||||
ParkingSpaceDetailed ::= SEQUENCE{
|
||||
COMPONENTS OF ParkingSpaceBasic,
|
||||
arrangementType ParkingAreaArrangementType OPTIONAL,
|
||||
boundary DeltaPositions OPTIONAL,
|
||||
orientation Wgs84Angle OPTIONAL,
|
||||
occupancyRule ParkingOccupancyInfo,
|
||||
chargingStationId Identifier2B OPTIONAL,
|
||||
accessViaLane Identifier2B OPTIONAL,
|
||||
accessViaParkingSpaces SEQUENCE (SIZE(0..7)) OF Identifier2B OPTIONAL,
|
||||
reservationType SEQUENCE (SIZE(1..4,...)) OF ParkingReservationType OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingSpaceBasic.
|
||||
*
|
||||
*/
|
||||
ParkingSpacesBasic ::= SEQUENCE OF ParkingSpaceBasic
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingSpaceDetailed.
|
||||
*
|
||||
*/
|
||||
ParkingSpacesDetailed ::= SEQUENCE OF ParkingSpaceDetailed
|
||||
|
||||
/**
|
||||
* This DF indicates the status of parking space.
|
||||
*
|
||||
* The following options are available:
|
||||
*
|
||||
* @field unknown: indicates that the status is unknown.
|
||||
*
|
||||
* @field free: indicates that the parking space is free and hence available to be used.
|
||||
*
|
||||
* @field freeUntil: indicates that the parking space is free to be used until an indicated moment in time.
|
||||
*
|
||||
* @field fullyOccupied: indicates that the parking space is interely occupied.
|
||||
*
|
||||
* @field partiallyOccupied: indicates that the parking space that allows parking of multiple vehicles is occupied by an indicated percentage.
|
||||
*
|
||||
* @field occupiedUntil: indicates that the parking space is entirely occupied until an indicated moment in time.
|
||||
*
|
||||
* @field reservedUntil: indicates that the parking space is reserved (but not necessarily occupied) until an indicated moment in time.
|
||||
*
|
||||
* @field accessBlocked: indicates that the parking space cannot accessed, e.g. due to obstructing vehicles.
|
||||
*
|
||||
* @field retrictedUsage: indicates that the parking space is available but that it is not an official parking space and that there are some phyiscal restrictions applicable,
|
||||
* such as parking behind or in front of other vehicles that, depending on the situation, may then have problems entering or leaving their respective parking spaces.
|
||||
*
|
||||
*/
|
||||
ParkingSpaceStatus::= CHOICE {
|
||||
unknown NULL,
|
||||
free NULL,
|
||||
freeUntil TimestampIts,
|
||||
fullyOccupied NULL,
|
||||
partiallyOccupied INTEGER(0..100),
|
||||
occupiedUntil TimestampIts,
|
||||
reservedUntil TimestampIts,
|
||||
accessBlocked NULL,
|
||||
retrictedUsage NULL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides information about the status of a defined type of parking.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field vehicleTypes: the optional types of vehicle for which the parking status is provided.
|
||||
*
|
||||
* @field reservationTypes: the optional reservation types for which the parking status is provided.
|
||||
*
|
||||
* @field loadTypes: the optional load types for which the parking status is provided.
|
||||
*
|
||||
* @field parkingFeeTypes: the optional fee types for which the parking status is provided.
|
||||
*
|
||||
* @field occupancyTypes: the optional occupancy types for which the parking status is provided.
|
||||
*
|
||||
* @field currentOccupancy: the occupancy for the logical AND combination of the components defined above.
|
||||
*
|
||||
*/
|
||||
ParkingStatus ::= SEQUENCE {
|
||||
vehicleTypes SEQUENCE (SIZE(1..4,...)) OF EuVehicleCategoryCode OPTIONAL,
|
||||
reservationTypes SEQUENCE (SIZE(1..4,...)) OF ParkingReservationType OPTIONAL,
|
||||
loadTypes SEQUENCE (SIZE(1..4,...)) OF LoadType OPTIONAL,
|
||||
parkingFeeTypes SEQUENCE (SIZE(1..4,...)) OF ParkingFeeType OPTIONAL,
|
||||
occupancyTypes SEQUENCE (SIZE(1..4,...)) OF ParkingOccupancyInfo OPTIONAL,
|
||||
currentOccupancy OccupancyInformation,
|
||||
...
|
||||
}
|
||||
((WITH COMPONENTS {..., vehicleTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., reservationTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., loadTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., parkingFeeTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., occupancyTypes PRESENT}))
|
||||
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingStatus.
|
||||
*
|
||||
*/
|
||||
ParkingStatusList::= SEQUENCE (SIZE(1..16,...)) OF ParkingStatus
|
||||
|
||||
/**
|
||||
* This DF indicates a period occuring on defined days of the week.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field days: the applicable day(s) of the week.
|
||||
*
|
||||
* @field opening: the opening time in local time.
|
||||
*
|
||||
* @field closing: the closing time in local time.
|
||||
*
|
||||
*/
|
||||
Period ::= SEQUENCE {
|
||||
days DayOfWeek,
|
||||
opening TimeOfDay,
|
||||
closing TimeOfDay
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of up to 8 @ref Period.
|
||||
*
|
||||
*/
|
||||
Periods ::= SEQUENCE (SIZE(1..8,...)) OF Period
|
||||
|
||||
/**
|
||||
* This DF indicates the time of the day.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field hours: the number of hours after midnight.
|
||||
*
|
||||
* @field mins: the number of minutes after the hour.
|
||||
*
|
||||
*/
|
||||
TimeOfDay::= SEQUENCE {
|
||||
hours INTEGER (0..23),
|
||||
mins INTEGER (0..59)
|
||||
}
|
||||
|
||||
-- DEs for parking availability:
|
||||
|
||||
/**
|
||||
* This DE indicates the applicable day(s) of the week.
|
||||
*
|
||||
*/
|
||||
DayOfWeek::= BIT STRING {unused(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6), sunday(7)} (SIZE (8))
|
||||
|
||||
/**
|
||||
* This DE indicates the type of goods of a vehicle.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate: Transport of ammunition.
|
||||
* - `1` to indicate: Transport of chemicals of unspecified type.
|
||||
* - `2` to indicate: Empty load.
|
||||
* - `3` to indicate: Transport of fuel of unspecified type.
|
||||
* - `4` to indicate: Transport of glass.
|
||||
* - `5` to indicate: Transport of materials classified as of dangerous or hazardous nature.
|
||||
* - `6` to indicate: Transport of liquids of an unspecified nature.
|
||||
* - `7` to indicate: Transport of livestock.
|
||||
* - `8` to indicate: Transport of materials classed as being of a danger to people or animals.
|
||||
* - `9` to indicate: Transport of materials classed as being potentially dangerous to the environment.
|
||||
* - `10` to indicate: Transport of materials classed as being dangerous when exposed to water.
|
||||
* - `11` to indicate: Transport of fresh products or produce that will significantly degrade in quality or freshness over a short period of time.
|
||||
* - `12` to indicate: Transport of pharmaceutical materials.
|
||||
* - `13` to indicate: Transport of vehicles of any type.
|
||||
* - `14` to indicate: Refrigerated transport.
|
||||
*
|
||||
*/
|
||||
GoodsType::= INTEGER {
|
||||
ammunition (0),
|
||||
chemicals (1),
|
||||
empty (2),
|
||||
fuel (3),
|
||||
glass (4),
|
||||
dangerous (5),
|
||||
liquid (6),
|
||||
liveStock (7),
|
||||
dangerousForPeople (8),
|
||||
dangerousForTheEnvironment (9),
|
||||
dangerousForWater (10),
|
||||
perishableProducts (11),
|
||||
pharmaceutical (12),
|
||||
vehicles (13),
|
||||
refrigerated (14)
|
||||
-- other values reserved for future use
|
||||
} (0..15,...)
|
||||
|
||||
|
||||
/**
|
||||
* This DE represents a number of parking spaces.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `n` (`n > 0` and `n < 16383`) : for the number of spaces.
|
||||
* - `16383` : in case the number of spaces is not available.
|
||||
*
|
||||
*/
|
||||
NumberOfSpaces ::= INTEGER {
|
||||
unavailable (16383)
|
||||
} (1..16383)
|
||||
|
||||
/**
|
||||
* This DE represents an occupancy rate in percentage.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `n` (`n > 0` and `n < 101`) : for the occupany rate in %,
|
||||
* - `101` : in case the occupany rate is not available.
|
||||
*
|
||||
*/
|
||||
OccupancyRate ::= INTEGER {
|
||||
unavailable (101)
|
||||
} (1..101)
|
||||
|
||||
/**
|
||||
* This DE indicates the trend of occupancy.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that occupancy is decreasing,
|
||||
* - `1` to indicate that occupancy is decreasing quickly,
|
||||
* - `2` to indicate that occupancy is decreasing slowly,
|
||||
* - `3` to indicate that occupancy is increasing,
|
||||
* - `4` to indicate that occupancy is increasing quickly,
|
||||
* - `5` to indicate that occupancy is increasing slowly,
|
||||
* - `6` to indicate that occupancy is stable,
|
||||
* - `7` to indicate that occupancy is variable with no clear trend,
|
||||
* - `15` to indicate that occupancy is unknown,
|
||||
* - 8-14 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
OccupancyTrend ::= INTEGER {
|
||||
decreasing (0),
|
||||
decreasingQuickly (1),
|
||||
decreasingSlowly (2),
|
||||
increasing (3),
|
||||
increasingQuickly (4),
|
||||
increasingSlowly (5),
|
||||
stable (6),
|
||||
variable (7),
|
||||
unknown (15)
|
||||
} (0..15)
|
||||
|
||||
/**
|
||||
* This DE indicates the opening status.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that the opening status is: closed,
|
||||
* - `1` to indicate that the opening status is: open,
|
||||
* - `2` to indicate that the opening status is: open for subscribers only,
|
||||
* - `3` to indicate that the opening status is: open but currently full, i.e. no parking spaces available,
|
||||
* - `15` to indicate that occupancy is unknown,
|
||||
* - 4-14 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
OpeningStatus ::= INTEGER {
|
||||
closed (0),
|
||||
open (1),
|
||||
subscribersOnly (2),
|
||||
full (3),
|
||||
unknown (15)
|
||||
} (0..15)
|
||||
|
||||
/**
|
||||
* This DE indicates the arrangement of parking space in a parking area.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that the parking spaces are arranged in a line and parallel to a road or curb,
|
||||
* - `1` to indicate that the parking spaces are arranged side-by-side and diagonally to a curb,
|
||||
* - `2` to indicate that the parking spaces are arranged side-by-side and perpendicularly to a curb,
|
||||
* - `3` to indicate that the parking spaces are arranged so that vehicles form a queue,
|
||||
* - `4` to indicate that the parking spaces are arranged in a mixed fashion,
|
||||
* - 5-7 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
ParkingAreaArrangementType ::= INTEGER {
|
||||
parallelParkingSpace(0),
|
||||
diagonalParkingSpace(1),
|
||||
perpendicularParkingSpace(2),
|
||||
queueParking (3),
|
||||
mixed(4),
|
||||
unknown(7)
|
||||
} (0..7)
|
||||
|
||||
/**
|
||||
* This DE indicates the type of a reservation of a parking space/area.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that it is reserved to disabled persons,
|
||||
* - `1` to indicate that it is reserved to pregnant women,
|
||||
* - `2` to indicate that it is reserved to women,
|
||||
* - `3` to indicate that it is reserved to parents with small children,
|
||||
* - `4` to indicate that it is reserved for loading and unloading of goods,
|
||||
* - `5` to indicate that it is reserved for manual charging of electric vehicles,
|
||||
* - `6` to indicate that it is reserved for automated charging of electric vehicles,
|
||||
* - `7` to indicate that it is reserved for vehicles carrying out refrigerated transport of goods,
|
||||
* - `8` to indicate that it is reserved for VIPs,
|
||||
* - `9` to indicate that it is reserved for pre-booked reservations only,
|
||||
* - `10` to indicate that it is not reserved and can still be reserved,
|
||||
* - `11` to indicate that it cannot be reserved,
|
||||
* - `12` to indicate that it reserved for drop-off and pick-up of vehicles for automated valet parking,
|
||||
* - `13` to indicate that it is reserved for vehicles with a permit,
|
||||
* - 14-31 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
ParkingReservationType ::= INTEGER {
|
||||
disabled(0),
|
||||
pregnant(1),
|
||||
womenOnly(2),
|
||||
parentAndChild(3),
|
||||
loadAndOffloadGoods(4),
|
||||
manualElectricVehicleCharging (5),
|
||||
automatedElectricVehicleCharging (6),
|
||||
refriferatedTransport(7),
|
||||
vip(8),
|
||||
preBooking (9),
|
||||
freeToBeReserved (10),
|
||||
reservationNotPossible (11),
|
||||
automatedValetparking (12),
|
||||
permit (13)
|
||||
}(0..31)
|
||||
|
||||
|
||||
/**
|
||||
* This DE indicates the applicable type of parking fee.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that the applicable fee is time dependent, e.g. an hourly fee,
|
||||
* - `1` to indicate that ithe applicable fee is flat for a certain period, e.g. a flat fee for daily parking,
|
||||
* - `2` to indicate that the applicable fee is included in the subscription, e.g. a monthly subscription,
|
||||
* - 3-7 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
ParkingFeeType::= INTEGER {
|
||||
timeDependentFee(0),
|
||||
flatFee(1),
|
||||
subscription(2)
|
||||
}(0..7)
|
||||
|
||||
EngineCharacteristicsFromIso ::= INTEGER {
|
||||
noEntry (0),
|
||||
noEngine (1),
|
||||
petrolUnleaded (2),
|
||||
petrolLeaded (3),
|
||||
diesel (4),
|
||||
lpg (5),
|
||||
battery (6),
|
||||
solar (7),
|
||||
hybrid (8),
|
||||
hydrogen (9),
|
||||
multiFuel (10),
|
||||
bivalentPetrolLpg (11),
|
||||
bivalentPetrolCng (12),
|
||||
combinedPetrolElectric (13),
|
||||
cng (14),
|
||||
lng (15),
|
||||
combinedDieselElectric (16),
|
||||
combinedHydrogenElectric (17),
|
||||
bivalentHydrogenPetrol (18),
|
||||
bivalentHydrogenPetrolElectricEngine (19),
|
||||
fuelCellHydrogen (20),
|
||||
fuelCellPetrol (21),
|
||||
fuelCellMethanol (22),
|
||||
fuelCellEthanol (23),
|
||||
fuelCellDiesel (24),
|
||||
combinedMultiFuelElectricEngine (25),
|
||||
combinedCngElectricEngine (26),
|
||||
combinedLngElectricEngine (27),
|
||||
petrolEthanol (28),
|
||||
combinedLpgElectricEngine (29),
|
||||
hybridPetrolExternalBattery (30),
|
||||
hybridDieselExternalBattery (31),
|
||||
hybridLpgExternalBattery (32),
|
||||
hybridHydrogenExternalBattery (33),
|
||||
hybridMultiFuelExternalBattery (34),
|
||||
hybridCngExternalBattery (35),
|
||||
hybridLngExternalBattery (36),
|
||||
hybridBivalentHydrogenPetrolExternalBattery (37),
|
||||
hydrogenCng (38),
|
||||
hydrogenLng (39),
|
||||
hybridHydrogenCngExternalBattery (40),
|
||||
hybridHydrogenLngExternalBattery (41),
|
||||
ethanol (42),
|
||||
hybridFuelCellHydrogen (43),
|
||||
hybridFuelCellHydrogenExternalBattery (44),
|
||||
dualFuelLngDiesel (45),
|
||||
electricExternal (46),
|
||||
biogas (47),
|
||||
bioDiesel (48),
|
||||
bioPetrol (49),
|
||||
bivalentPetrolBiogas (50),
|
||||
combinedBiogasElectricEngine (51),
|
||||
dualFuelCngDiesel (52),
|
||||
-- (53-254) are reserved for future CEN and ISO use
|
||||
other (255)
|
||||
} (0..255)
|
||||
|
||||
END
|
||||
microbu-esp32c5/external/vanetza-idf/asn1/release2/TS103916v211/POIM-ParkingAvailabilityOriginal.asn
Vendored
+688
@@ -0,0 +1,688 @@
|
||||
POIM-ParkingAvailability {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) parkingAvailability(1) major-version-1 (1) minor-version-1 (1)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
|
||||
|
||||
IMPORTS
|
||||
|
||||
AltitudeValue, ConfidenceLevel, DangerousGoodsBasic, DeltaLatitude, DeltaLongitude, DeltaReferencePosition, EuVehicleCategoryCode, Identifier2B, Latitude, Longitude,
|
||||
SpecialTransportType, TimestampIts, VehicleHeight, Wgs84Angle
|
||||
FROM ETSI-ITS-CDD {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts (102894) cdd (2) major-version-4 (4) minor-version-1 (1)} WITH SUCCESSORS
|
||||
|
||||
PoiBlockManagementContainer, RelatedPoiInfoBlockContainer
|
||||
FROM POIM-CommonContainers {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) poi(103916) common(99) major-version-1 (1) minor-version-1 (1)} WITH SUCCESSORS
|
||||
|
||||
EngineCharacteristics
|
||||
FROM EfcDataDictionary {iso(1) standard(0) 17573 dd(3) version1(1) minorVersion3(3)} WITH SUCCESSORS
|
||||
-- available at https://standards.iso.org/iso/17573/-3/
|
||||
;
|
||||
|
||||
-- Parking Availability Block for usage within the Point of Interest Message (POIM):
|
||||
|
||||
/**
|
||||
* This type represents the POI Information Block concerning a parking availability at a given facility.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field managementContainer: the management container of the parking availability POI Information Block.
|
||||
*
|
||||
* @field placeInfo: general information about the parking facility.
|
||||
*
|
||||
* @field aggregatedStatus: aggregated status information about the parking facility.
|
||||
*
|
||||
* @field detailedStatus: detailed topology and status information about the parking areas and spaces.
|
||||
*
|
||||
* @field relatedPoi: reference to other relevant POI Information Blocks.
|
||||
*
|
||||
*/
|
||||
ParkingAvailabilityBlock::= SEQUENCE{
|
||||
managementContainer PoiBlockManagementContainer,
|
||||
placeInfo GeneralParkingPlaceContainer,
|
||||
aggregatedStatus ParkingStatusContainer,
|
||||
detailedStatus ParkingSupplyCapabilitiesContainer OPTIONAL,
|
||||
relatedPoi RelatedPoiInfoBlockContainer OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
-- POIM-PA Containers:
|
||||
|
||||
/**
|
||||
* This type represents the General Parking Facility Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field position: the position of the parking facility.
|
||||
*
|
||||
* @field name: the name of the parking facility.
|
||||
*
|
||||
* @field openingPeriods: the optional opening periods of the parking facility.
|
||||
*
|
||||
* @field address: the address of the parking facility.
|
||||
*
|
||||
* @field phoneNumber: the phone number of the operator of the parking facility.
|
||||
*
|
||||
* @field website: the URL of the website of the operator of the parking facility.
|
||||
*
|
||||
*/
|
||||
GeneralParkingPlaceContainer::= SEQUENCE{
|
||||
position GeoPosition,
|
||||
name UTF8String (SIZE (1..31)),
|
||||
openingPeriods Periods OPTIONAL,
|
||||
address UTF8String (SIZE (1..255)) OPTIONAL,
|
||||
phoneNumber UTF8String (SIZE (1..31)) OPTIONAL,
|
||||
website UTF8String (SIZE (1..31)) OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the Parking Status Container.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field currentFacilityStatus: the current status of the facility.
|
||||
*
|
||||
* @field currentOccupancy: the optional current occupancy of the entire facility.
|
||||
* This component is only representative if the entire facility has areas and spaces of the same type. e.g. personal car parking spaces only.
|
||||
*
|
||||
* @field detailedStatus: the optional detailed parking availability status of the facility.
|
||||
*
|
||||
*/
|
||||
ParkingStatusContainer::= SEQUENCE {
|
||||
currentFacilityStatus OpeningStatus,
|
||||
currentOccupancy OccupancyInformation OPTIONAL,
|
||||
detailedStatus ParkingStatusList OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This type represents the ParkingSupplyCapabilitiesContainer and is a list of @ref ParkingAreas.
|
||||
*
|
||||
*/
|
||||
ParkingSupplyCapabilitiesContainer::= SEQUENCE OF ParkingAreas
|
||||
|
||||
-- DFs for parking availability:
|
||||
|
||||
/**
|
||||
* This DF indicates a geographical position with reference to a reference position.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field deltaLatitude: the delta latitude of the geographical position.
|
||||
*
|
||||
* @field deltaLongitude: the delta longitude of the geographical position.
|
||||
*
|
||||
*/
|
||||
DeltaPosition::=SEQUENCE{
|
||||
deltaLatitude DeltaLatitude,
|
||||
deltaLongitude DeltaLongitude
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain an an ordered sequence of @ref DeltaPosition with respect to the previous position
|
||||
* with the first instance referring to a reference position and with the order implicitly defining a direction.
|
||||
*
|
||||
*/
|
||||
DeltaPositions::= SEQUENCE (SIZE (1..32, ...)) OF DeltaPosition
|
||||
|
||||
/**
|
||||
* This DF indicates a geographical position.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field latitude: the latitude of the geographical position.
|
||||
*
|
||||
* @field longitude: the longitude of the geographical position.
|
||||
*
|
||||
* @field altitude: the altitude of the geographical position.
|
||||
*
|
||||
*/
|
||||
GeoPosition::= SEQUENCE{
|
||||
latitude Latitude,
|
||||
longitude Longitude,
|
||||
altitude AltitudeValue DEFAULT unavailable
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF indicates a the load type of the vehicle.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field goodsType: optional information about the goods being transported.
|
||||
*
|
||||
* @field dangerousGoodsType: the optional type of dangerous goods according to the European Agreement concerning the International Carriage of Dangerous Goods by Road (ADR).
|
||||
*
|
||||
* @field specialTransportType: the type of special transport according to local regulations.
|
||||
*
|
||||
*/
|
||||
LoadType::= SEQUENCE{
|
||||
goodsType GoodsType OPTIONAL,
|
||||
dangerousGoodsType DangerousGoodsBasic OPTIONAL,
|
||||
specialTransportType SpecialTransportType,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF represents occupancy information.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field rate: the current occupancy in percentage, nominally = ((totalSpaces-freeSpaces)/totalSpaces) * 100.
|
||||
*
|
||||
* @field trend: the current trend of the occupancy.
|
||||
*
|
||||
* @field freeSpaces: the number of spaces that are actually available.
|
||||
*
|
||||
* @field totalSpaces: the total number of spaces.
|
||||
*
|
||||
* @field confidence: the confidence level of the above information.
|
||||
*
|
||||
*/
|
||||
OccupancyInformation::= SEQUENCE{
|
||||
rate OccupancyRate,
|
||||
trend OccupancyTrend,
|
||||
freeSpaces NumberOfSpaces,
|
||||
totalSpaces NumberOfSpaces,
|
||||
confidence ConfidenceLevel,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides information about the parking capabilities and availabilities of a parking identified area.
|
||||
*
|
||||
* @note:a parking area possibly groups all spaces with the same characteristics.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field id: the identifier of the parking area within the parking place/facility.
|
||||
*
|
||||
* @field currentOccupancy: the current occupancy information of the parking area.
|
||||
*
|
||||
* @field location: the location of the parking area.
|
||||
*
|
||||
* @field level: the level under/over ground floor of the parking area.
|
||||
*
|
||||
* @field arrangementType: the common arrangement of the parking spaces within the area.
|
||||
* the value ´mixed´ shall be used if there is no common arrangement. In this case the arrangement of the single spaces may be defined in the component spacesDetailed.
|
||||
*
|
||||
* @field boundary: the optional physical boundary of the parking area as a polygon using the component location as reference position.
|
||||
*
|
||||
* @field orientation: the optional common orientation of the parking spaces within the area.
|
||||
* This is component shall be absent if there is no common orientation. In this case the orientation of the single spaces may be defined in the component spacesDetailed.
|
||||
*
|
||||
* @field accessViaLane: the optional identifier of a lane that provides access to the parking area.
|
||||
*
|
||||
* @field allowedVehicleCategories: the categories of vehicles that are allowed in the parking area.
|
||||
*
|
||||
* @field notAllowedEngineCharacteristics: the optional characteristic(s) of engines that are not allowed in the parking area.
|
||||
*
|
||||
* @field allowedLoadTypes: the optional load type(s) that are allowed in the parking area.
|
||||
*
|
||||
* @field notallowedLoadTypes: the optional load type(s) that are not allowed in the parking area.
|
||||
*
|
||||
* @field heightRestriction: the optional applicable vehicle height restriction.
|
||||
*
|
||||
* @field reservationType: the optional parking reservation type(s) associated to the parking area.
|
||||
* This is component shall be absent if there is no common reservation type. In this case the reservation type of the single spaces may be defined in the component spacesDetailed.
|
||||
*
|
||||
* @field pricingInformation: the optional pricing information applicable to the parking area.
|
||||
*
|
||||
* @field paymentInformation: the optional payment information applicable to the parking area.
|
||||
*
|
||||
* @field bookingContactInfo: the optional booking contact information applicable to the parking area.
|
||||
*
|
||||
* @field accessCharachteristics: the optional access information to the area.
|
||||
*
|
||||
* @field freeSpacesPosition: the optional list of positions of free spaces.
|
||||
*
|
||||
* @field freeSpacesId: the optional list of Ids of free spaces.
|
||||
*
|
||||
* @field spacesBasic: the optional basic information about none, some or all parking spaces within the area.
|
||||
*
|
||||
* @field spacesDetailed: the optional detailed information about none, some or all parking spaces within the area.
|
||||
*
|
||||
*/
|
||||
ParkingArea::=SEQUENCE{
|
||||
id Identifier2B,
|
||||
currentOccupancy OccupancyInformation,
|
||||
location GeoPosition,
|
||||
level INTEGER(-8..16,...) DEFAULT 0,
|
||||
arrangementType ParkingAreaArrangementType,
|
||||
boundary DeltaPositions OPTIONAL,
|
||||
orientation Wgs84Angle OPTIONAL,
|
||||
accessViaLane Identifier2B OPTIONAL,
|
||||
allowedVehicleCategories SEQUENCE (SIZE(1..4,...)) OF EuVehicleCategoryCode,
|
||||
notAllowedEngineCharacteristics SEQUENCE (SIZE(1..4,...)) OF EngineCharacteristics OPTIONAL,
|
||||
allowedLoadTypes SEQUENCE (SIZE(1..4,...)) OF LoadType OPTIONAL,
|
||||
notAllowedLoadTypes SEQUENCE (SIZE(1..4,...)) OF LoadType OPTIONAL,
|
||||
heightRestriction VehicleHeight OPTIONAL,
|
||||
reservationType SEQUENCE (SIZE(1..4,...)) OF ParkingReservationType OPTIONAL,
|
||||
pricingInformation UTF8String OPTIONAL,
|
||||
paymentInformation UTF8String OPTIONAL,
|
||||
bookingContactInfo UTF8String OPTIONAL,
|
||||
accessCharachteristics UTF8String OPTIONAL,
|
||||
freeSpacesPosition SEQUENCE OF DeltaPosition OPTIONAL,
|
||||
freeSpacesId SEQUENCE OF Identifier2B OPTIONAL,
|
||||
spacesBasic ParkingSpacesBasic OPTIONAL,
|
||||
spacesDetailed ParkingSpacesDetailed OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingArea.
|
||||
*
|
||||
*/
|
||||
ParkingAreas::= SEQUENCE OF ParkingArea
|
||||
|
||||
/**
|
||||
* This DF indicates the allowed type of occupancy of a parking space/area in terms of time and/or usage.
|
||||
*
|
||||
* The following options are available:
|
||||
*
|
||||
* @field unknown: indicates that the allowed type of occupancy is unknown.
|
||||
*
|
||||
* @field unlimitedOccupancy: indicates that it can be occupied without limits.
|
||||
*
|
||||
* @field onlyWhileCharging: indicates that it can be occupied only while charging an electric vehicle.
|
||||
*
|
||||
* @field limitedDuration: indicates that it can be occupied for a limited and indicated duration in minutes.
|
||||
*
|
||||
* @field onlyWhileChargingLimitedDuration: indicates that it can be occupied only while charging an electric vehicle and only for a limited and indicated duration in minutes.
|
||||
*
|
||||
* @field parkingAllowedUntil: indicates that it can be occupied only until an indicated moment in time.
|
||||
*
|
||||
* @field forcedParkingUntil: indicates that it can be occupied and departure is possible only after an indicated moment in time.
|
||||
*
|
||||
*/
|
||||
ParkingOccupancyInfo::= CHOICE {
|
||||
unknown NULL,
|
||||
unlimitedOccupancy NULL,
|
||||
onlyWhileCharging NULL,
|
||||
limitedDuration INTEGER,
|
||||
onlyWhileChargingLimitedDuration INTEGER,
|
||||
parkingAllowedUntil TimestampIts,
|
||||
forcedParkingUntil TimestampIts,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides basic information about the parking capabilities and availabilities of a single parking space.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field id: the unqiue identifier of the parking space within the parking area.
|
||||
*
|
||||
* @field location: the optional location of the geometrical center of the parking space w.r.t. the location of the parking area.
|
||||
*
|
||||
* @field status: the actual status of the parking space.
|
||||
*
|
||||
*/
|
||||
ParkingSpaceBasic ::= SEQUENCE{
|
||||
id Identifier2B,
|
||||
location DeltaReferencePosition OPTIONAL,
|
||||
status ParkingSpaceStatus
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides detailed information about the parking capabilities and availabilities of a single parking space.
|
||||
*
|
||||
* It is an extension of @ref ParkingSpaceBasic and it shall additionally include the following additional components:
|
||||
*
|
||||
* @field arrangementType: the optional arrangement of the parking space w.r.t. other spaces.
|
||||
* This is component, if present, overrides the common arrangementType defined in the @ref ParkingArea.
|
||||
*
|
||||
* @field boundary: the optional physical boundary of the parking space as a polygon w.r.t. the location of the parking space.
|
||||
*
|
||||
* @field orientation: the optional orientation of the parking space.
|
||||
* This is component, if present, overrides the common orientation defined in the @ref ParkingArea.
|
||||
*
|
||||
* @field occupancyRule: the occupancy rule applicable to the parking space.
|
||||
*
|
||||
* @field chargingStationId: the optional identitfier of a charging station that serves the parking space.
|
||||
*
|
||||
* @field accessViaLane: the optional identifier of a lane that provides access to the parking space.
|
||||
*
|
||||
* @field accessViaParkingSpaces: the optional identifier(s) of a parking spaces that provide access to the parking space.
|
||||
*
|
||||
* @field reservationType: the optional parking reservation type(s) associated to the parking space.
|
||||
* This is component, if present, overrides the common reservationType defined in the @ref ParkingArea.
|
||||
*
|
||||
*/
|
||||
ParkingSpaceDetailed ::= SEQUENCE{
|
||||
COMPONENTS OF ParkingSpaceBasic,
|
||||
arrangementType ParkingAreaArrangementType OPTIONAL,
|
||||
boundary DeltaPositions OPTIONAL,
|
||||
orientation Wgs84Angle OPTIONAL,
|
||||
occupancyRule ParkingOccupancyInfo,
|
||||
chargingStationId Identifier2B OPTIONAL,
|
||||
accessViaLane Identifier2B OPTIONAL,
|
||||
accessViaParkingSpaces SEQUENCE (SIZE(0..7)) OF Identifier2B OPTIONAL,
|
||||
reservationType SEQUENCE (SIZE(1..4,...)) OF ParkingReservationType OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingSpaceBasic.
|
||||
*
|
||||
*/
|
||||
ParkingSpacesBasic ::= SEQUENCE OF ParkingSpaceBasic
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingSpaceDetailed.
|
||||
*
|
||||
*/
|
||||
ParkingSpacesDetailed ::= SEQUENCE OF ParkingSpaceDetailed
|
||||
|
||||
/**
|
||||
* This DF indicates the status of parking space.
|
||||
*
|
||||
* The following options are available:
|
||||
*
|
||||
* @field unknown: indicates that the status is unknown.
|
||||
*
|
||||
* @field free: indicates that the parking space is free and hence available to be used.
|
||||
*
|
||||
* @field freeUntil: indicates that the parking space is free to be used until an indicated moment in time.
|
||||
*
|
||||
* @field fullyOccupied: indicates that the parking space is interely occupied.
|
||||
*
|
||||
* @field partiallyOccupied: indicates that the parking space that allows parking of multiple vehicles is occupied by an indicated percentage.
|
||||
*
|
||||
* @field occupiedUntil: indicates that the parking space is entirely occupied until an indicated moment in time.
|
||||
*
|
||||
* @field reservedUntil: indicates that the parking space is reserved (but not necessarily occupied) until an indicated moment in time.
|
||||
*
|
||||
* @field accessBlocked: indicates that the parking space cannot accessed, e.g. due to obstructing vehicles.
|
||||
*
|
||||
* @field retrictedUsage: indicates that the parking space is available but that it is not an official parking space and that there are some phyiscal restrictions applicable,
|
||||
* such as parking behind or in front of other vehicles that, depending on the situation, may then have problems entering or leaving their respective parking spaces.
|
||||
*
|
||||
*/
|
||||
ParkingSpaceStatus::= CHOICE {
|
||||
unknown NULL,
|
||||
free NULL,
|
||||
freeUntil TimestampIts,
|
||||
fullyOccupied NULL,
|
||||
partiallyOccupied INTEGER(0..100),
|
||||
occupiedUntil TimestampIts,
|
||||
reservedUntil TimestampIts,
|
||||
accessBlocked NULL,
|
||||
retrictedUsage NULL,
|
||||
...
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF provides information about the status of a defined type of parking.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field vehicleTypes: the optional types of vehicle for which the parking status is provided.
|
||||
*
|
||||
* @field reservationTypes: the optional reservation types for which the parking status is provided.
|
||||
*
|
||||
* @field loadTypes: the optional load types for which the parking status is provided.
|
||||
*
|
||||
* @field parkingFeeTypes: the optional fee types for which the parking status is provided.
|
||||
*
|
||||
* @field occupancyTypes: the optional occupancy types for which the parking status is provided.
|
||||
*
|
||||
* @field currentOccupancy: the occupancy for the logical AND combination of the components defined above.
|
||||
*
|
||||
*/
|
||||
ParkingStatus ::= SEQUENCE {
|
||||
vehicleTypes SEQUENCE (SIZE(1..4,...)) OF EuVehicleCategoryCode OPTIONAL,
|
||||
reservationTypes SEQUENCE (SIZE(1..4,...)) OF ParkingReservationType OPTIONAL,
|
||||
loadTypes SEQUENCE (SIZE(1..4,...)) OF LoadType OPTIONAL,
|
||||
parkingFeeTypes SEQUENCE (SIZE(1..4,...)) OF ParkingFeeType OPTIONAL,
|
||||
occupancyTypes SEQUENCE (SIZE(1..4,...)) OF ParkingOccupancyInfo OPTIONAL,
|
||||
currentOccupancy OccupancyInformation,
|
||||
...
|
||||
}
|
||||
((WITH COMPONENTS {..., vehicleTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., reservationTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., loadTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., parkingFeeTypes PRESENT}) |
|
||||
(WITH COMPONENTS {..., occupancyTypes PRESENT}))
|
||||
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of @ref ParkingStatus.
|
||||
*
|
||||
*/
|
||||
ParkingStatusList::= SEQUENCE (SIZE(1..16,...)) OF ParkingStatus
|
||||
|
||||
/**
|
||||
* This DF indicates a period occuring on defined days of the week.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field days: the applicable day(s) of the week.
|
||||
*
|
||||
* @field opening: the opening time in local time.
|
||||
*
|
||||
* @field closing: the closing time in local time.
|
||||
*
|
||||
*/
|
||||
Period ::= SEQUENCE {
|
||||
days DayOfWeek,
|
||||
opening TimeOfDay,
|
||||
closing TimeOfDay
|
||||
}
|
||||
|
||||
/**
|
||||
* This DF shall contain a list of up to 8 @ref Period.
|
||||
*
|
||||
*/
|
||||
Periods ::= SEQUENCE (SIZE(1..8,...)) OF Period
|
||||
|
||||
/**
|
||||
* This DF indicates the time of the day.
|
||||
*
|
||||
* It shall include the following components:
|
||||
*
|
||||
* @field hours: the number of hours after midnight.
|
||||
*
|
||||
* @field mins: the number of minutes after the hour.
|
||||
*
|
||||
*/
|
||||
TimeOfDay::= SEQUENCE {
|
||||
hours INTEGER (0..23),
|
||||
mins INTEGER (0..59)
|
||||
}
|
||||
|
||||
-- DEs for parking availability:
|
||||
|
||||
/**
|
||||
* This DE indicates the applicable day(s) of the week.
|
||||
*
|
||||
*/
|
||||
DayOfWeek::= BIT STRING {unused(0), monday(1), tuesday(2), wednesday(3), thursday(4), friday(5), saturday(6), sunday(7)} (SIZE (8))
|
||||
|
||||
/**
|
||||
* This DE indicates the type of goods of a vehicle.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate: Transport of ammunition.
|
||||
* - `1` to indicate: Transport of chemicals of unspecified type.
|
||||
* - `2` to indicate: Empty load.
|
||||
* - `3` to indicate: Transport of fuel of unspecified type.
|
||||
* - `4` to indicate: Transport of glass.
|
||||
* - `5` to indicate: Transport of materials classified as of dangerous or hazardous nature.
|
||||
* - `6` to indicate: Transport of liquids of an unspecified nature.
|
||||
* - `7` to indicate: Transport of livestock.
|
||||
* - `8` to indicate: Transport of materials classed as being of a danger to people or animals.
|
||||
* - `9` to indicate: Transport of materials classed as being potentially dangerous to the environment.
|
||||
* - `10` to indicate: Transport of materials classed as being dangerous when exposed to water.
|
||||
* - `11` to indicate: Transport of fresh products or produce that will significantly degrade in quality or freshness over a short period of time.
|
||||
* - `12` to indicate: Transport of pharmaceutical materials.
|
||||
* - `13` to indicate: Transport of vehicles of any type.
|
||||
* - `14` to indicate: Refrigerated transport.
|
||||
*
|
||||
*/
|
||||
GoodsType::= INTEGER {
|
||||
ammunition (0),
|
||||
chemicals (1),
|
||||
empty (2),
|
||||
fuel (3),
|
||||
glass (4),
|
||||
dangerous (5),
|
||||
liquid (6),
|
||||
liveStock (7),
|
||||
dangerousForPeople (8),
|
||||
dangerousForTheEnvironment (9),
|
||||
dangerousForWater (10),
|
||||
perishableProducts (11),
|
||||
pharmaceutical (12),
|
||||
vehicles (13),
|
||||
refrigerated (14)
|
||||
-- other values reserved for future use
|
||||
} (0..15,...)
|
||||
|
||||
|
||||
/**
|
||||
* This DE represents a number of parking spaces.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `n` (`n > 0` and `n < 16383`) : for the number of spaces.
|
||||
* - `16383` : in case the number of spaces is not available.
|
||||
*
|
||||
*/
|
||||
NumberOfSpaces ::= INTEGER {
|
||||
unavailable (16383)
|
||||
} (1..16383)
|
||||
|
||||
/**
|
||||
* This DE represents an occupancy rate in percentage.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `n` (`n > 0` and `n < 101`) : for the occupany rate in %,
|
||||
* - `101` : in case the occupany rate is not available.
|
||||
*
|
||||
*/
|
||||
OccupancyRate ::= INTEGER {
|
||||
unavailable (101)
|
||||
} (1..101)
|
||||
|
||||
/**
|
||||
* This DE indicates the trend of occupancy.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that occupancy is decreasing,
|
||||
* - `1` to indicate that occupancy is decreasing quickly,
|
||||
* - `2` to indicate that occupancy is decreasing slowly,
|
||||
* - `3` to indicate that occupancy is increasing,
|
||||
* - `4` to indicate that occupancy is increasing quickly,
|
||||
* - `5` to indicate that occupancy is increasing slowly,
|
||||
* - `6` to indicate that occupancy is stable,
|
||||
* - `7` to indicate that occupancy is variable with no clear trend,
|
||||
* - `15` to indicate that occupancy is unknown,
|
||||
* - 8-14 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
OccupancyTrend ::= INTEGER {
|
||||
decreasing (0),
|
||||
decreasingQuickly (1),
|
||||
decreasingSlowly (2),
|
||||
increasing (3),
|
||||
increasingQuickly (4),
|
||||
increasingSlowly (5),
|
||||
stable (6),
|
||||
variable (7),
|
||||
unknown (15)
|
||||
} (0..15)
|
||||
|
||||
/**
|
||||
* This DE indicates the opening status.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that the opening status is: closed,
|
||||
* - `1` to indicate that the opening status is: open,
|
||||
* - `2` to indicate that the opening status is: open for subscribers only,
|
||||
* - `3` to indicate that the opening status is: open but currently full, i.e. no parking spaces available,
|
||||
* - `15` to indicate that occupancy is unknown,
|
||||
* - 4-14 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
OpeningStatus ::= INTEGER {
|
||||
closed (0),
|
||||
open (1),
|
||||
subscribersOnly (2),
|
||||
full (3),
|
||||
unknown (15)
|
||||
} (0..15)
|
||||
|
||||
/**
|
||||
* This DE indicates the arrangement of parking space in a parking area.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that the parking spaces are arranged in a line and parallel to a road or curb,
|
||||
* - `1` to indicate that the parking spaces are arranged side-by-side and diagonally to a curb,
|
||||
* - `2` to indicate that the parking spaces are arranged side-by-side and perpendicularly to a curb,
|
||||
* - `3` to indicate that the parking spaces are arranged so that vehicles form a queue,
|
||||
* - `4` to indicate that the parking spaces are arranged in a mixed fashion,
|
||||
* - 5-7 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
ParkingAreaArrangementType ::= INTEGER {
|
||||
parallelParkingSpace(0),
|
||||
diagonalParkingSpace(1),
|
||||
perpendicularParkingSpace(2),
|
||||
queueParking (3),
|
||||
mixed(4),
|
||||
unknown(7)
|
||||
} (0..7)
|
||||
|
||||
/**
|
||||
* This DE indicates the type of a reservation of a parking space/area.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that it is reserved to disabled persons,
|
||||
* - `1` to indicate that it is reserved to pregnant women,
|
||||
* - `2` to indicate that it is reserved to women,
|
||||
* - `3` to indicate that it is reserved to parents with small children,
|
||||
* - `4` to indicate that it is reserved for loading and unloading of goods,
|
||||
* - `5` to indicate that it is reserved for manual charging of electric vehicles,
|
||||
* - `6` to indicate that it is reserved for automated charging of electric vehicles,
|
||||
* - `7` to indicate that it is reserved for vehicles carrying out refrigerated transport of goods,
|
||||
* - `8` to indicate that it is reserved for VIPs,
|
||||
* - `9` to indicate that it is reserved for pre-booked reservations only,
|
||||
* - `10` to indicate that it is not reserved and can still be reserved,
|
||||
* - `11` to indicate that it cannot be reserved,
|
||||
* - `12` to indicate that it reserved for drop-off and pick-up of vehicles for automated valet parking,
|
||||
* - `13` to indicate that it is reserved for vehicles with a permit,
|
||||
* - 14-31 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
ParkingReservationType ::= INTEGER {
|
||||
disabled(0),
|
||||
pregnant(1),
|
||||
womenOnly(2),
|
||||
parentAndChild(3),
|
||||
loadAndOffloadGoods(4),
|
||||
manualElectricVehicleCharging (5),
|
||||
automatedElectricVehicleCharging (6),
|
||||
refriferatedTransport(7),
|
||||
vip(8),
|
||||
preBooking (9),
|
||||
freeToBeReserved (10),
|
||||
reservationNotPossible (11),
|
||||
automatedValetparking (12),
|
||||
permit (13)
|
||||
}(0..31)
|
||||
|
||||
|
||||
/**
|
||||
* This DE indicates the applicable type of parking fee.
|
||||
*
|
||||
* The value shall be set to:
|
||||
* - `0` to indicate that the applicable fee is time dependent, e.g. an hourly fee,
|
||||
* - `1` to indicate that ithe applicable fee is flat for a certain period, e.g. a flat fee for daily parking,
|
||||
* - `2` to indicate that the applicable fee is included in the subscription, e.g. a monthly subscription,
|
||||
* - 3-7 - reserved for future usage.
|
||||
*
|
||||
*/
|
||||
ParkingFeeType::= INTEGER {
|
||||
timeDependentFee(0),
|
||||
flatFee(1),
|
||||
subscription(2)
|
||||
}(0..7)
|
||||
|
||||
END
|
||||
@@ -0,0 +1,8 @@
|
||||
The TS 103916 v2.1.1 POIM ASN1 files are copied from its [ETSI repository](https://forge.etsi.org/rep/ITS/asn1/poim_ts103916/-/tree/v2.1.1).
|
||||
The submodule TS 103916 v2.1.1 PA (Parking Availability) ASN1 files are copied instead from [ETSI repository](https://forge.etsi.org/rep/ITS/asn1/pa_ts103916/-/tree/release2?ref_type=heads), due to a missing bug fix.
|
||||
|
||||
Finally, the current ASN1 definition is manually patched to:
|
||||
- Import GeoPosition field from CDD 2.2.1, instead of redefining it
|
||||
- Define locally the EngineCharacteristics (renamed EngineCharacteristicsFromIso) field to avoid generation of all fields from ISO17573-3-1.asn
|
||||
|
||||
See [ETSI License](https://forge.etsi.org/rep/ITS/asn1/poim_ts103916/-/blob/v2.1.1/LICENSE) for copyright details.
|
||||
Reference in New Issue
Block a user