From 3047fea6b40c22bc31529e2eda8f1d1f6f4de699 Mon Sep 17 00:00:00 2001 From: "ASN.1 Checker" Date: Mon, 15 Jan 2024 11:52:44 +0000 Subject: [PATCH] Documentation update --- docs/EtsiTs103601Module.md | 88 ++++++++++++++++++++--------------- docs/Ieee1609Dot2BaseTypes.md | 2 +- 2 files changed, 52 insertions(+), 38 deletions(-) diff --git a/docs/EtsiTs103601Module.md b/docs/EtsiTs103601Module.md index 7468fe7..0246779 100644 --- a/docs/EtsiTs103601Module.md +++ b/docs/EtsiTs103601Module.md @@ -11,78 +11,92 @@ This component is the general PDU generated by the segmentation service to trans * _version_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8)
contains the version number of this PDU definition. For this version of this data type it shall be equal to `1`. -* _segmentationTime_ of type [**Time64**](Ieee1609Dot2BaseTypes.md#Time64)
+* _segmentationTime_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32)
contains information on when the message or file was segmented into 1 or several pieces. + So the segmentationTime of all the segments for this message or file shall be the same. -* segmentContent
+* _distributedAid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid)
+ the ITS-AID of the file. The Psid/ Its-AID is a variable length INTEGER number. + +* _fileId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
+ the id of the file to be distributed. It shall be set to the output of the SHA-256 hash function calculated on the transmitted CTL or file content. + +* _fileDescription_ of type **OCTET STRING** (SIZE(0..63))
+ the file description or metadata of the segmented file. + For instance, metadata could contain parameters required when coding scheme using a FEC encoding is used (cf. IETF RFC 6726) + In the current version of this standard, the fileDescription shall be of 0 byte length. + +* _segmentContent_ of type [**SegmentedData**](#SegmentedData)
contains the segmented data of the message or file. -- not included in the present version @field segmentationLocation: is the location at which the message or file was segmented ```asn1 -SegmentPDU ::= SEQUENCE { - version Uint8, - segmentationTime Time64, - segmentContent SegmentedData {Psid} +SegmentPDU {Psid} ::= SEQUENCE { + version Uint8, + segmentationTime Time32, + distributedAid Psid, + fileId HashedId8, + fileDescription OCTET STRING (SIZE(0..63)), + segmentContent SegmentedData } ``` ### SegmentedData -This component represents the payload of a segment/fragment of the file data. - It is composed of the following fields: +This component represents the payload of a segment/fragment of the file data. -* _distributedAid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid)
- the ITS-AID of the file. The Psid/ Its-AID is a variable length INTEGER number. - In the present version, the length of Its-AID will be less than or equal to 2 bytes. - -* _fileId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8)
- the id of the file to be distributed. It shall be set to the output of the SHA-256 hash function calculated on the transmitted CTL file content. +* _seqChunks_ of type [**SequentialChunksSegmentedData**](#SequentialChunksSegmentedData)
+```asn1 +SegmentedData ::= CHOICE { + seqChunks SequentialChunksSegmentedData, + ... +} +``` -* _fileDescription_ of type **OCTET STRING** (SIZE (5)) OPTIONAL
- optionally, the file description or metadata of the segmented file. - For instance, metadata could contain parameters required when coding scheme using a FEC encoding is used (cf. IETF RFC 6726) +### SequentialChunksSegmentedData +This component represents the payload of a segment/fragment of the file data when the sequential + segmentation method is used. This method is applied in case the fileDescription is set to value 'FF'. + It is composed of the following fields: -* _messageSegmentTotalNumber_ of type **INTEGER** (1..255) OPTIONAL
+* _messageSegmentTotalNumber_ of type **INTEGER** (1..255)
the total number of segments/fragments constituting the complete file. -* _thisMessageSegmentNumber_ of type **INTEGER** (1..255) OPTIONAL
+* _thisMessageSegmentNumber_ of type **INTEGER** (1..255)
the number that indicates the rank or position of this segment in the ordered sequence of segments constituting the complete CTL. - The fields messageSegmentTotalNumber and thisMessageSegmentNumber may be present or absent depending on the use of a network/transport - coding technique. If network/transport coding is used, these fields are unused and shall be absent. - Note that coding technique is not specified in the current version of the standard. * _data_ of type **OCTET STRING** (SIZE(1..MAX))
this field represents the file segment/fragment payload. MAX value is equal to the maximum size of the payload contained in the Segment PDU, i.e. the MTU-GN - control fields size. MTU value depends on the network access technology and on the network layer. For instance, if ITS-G5 access layer and GeoNetworking SHB protocol is used, MTU-GN - GN-Header - BTP-Header = 1428 bytes and MAX value is calculated as: - 1428 - control fields size (30 bytes restricting the ITS-AID size to a maximum of 2 bytes). + 1428 - control fields size. + +The fields messageSegmentTotalNumber and thisMessageSegmentNumber may be present or absent depending on the use of a network/transport + coding technique. If network/transport coding is used, these fields are unused and shall be absent. + Note that coding technique is not specified in the current version of the standard. + -All segments of the original full CTL, except the last one, shall have the same size equal to MAX value. + All the segments, but the last one, of the original file (e.g. the full CTL) shall have the same size equal to MAX value . ```asn1 -SegmentedData {Psid}::= SEQUENCE { - distributedAid Psid, - fileId HashedId8, - fileDescription OCTET STRING (SIZE (5)) OPTIONAL, - messageSegmentTotalNumber INTEGER(1..255) OPTIONAL, - thisMessageSegmentNumber INTEGER(1..255) OPTIONAL, - data OCTET STRING (SIZE(1..MAX)), -... +SequentialChunksSegmentedData ::= SEQUENCE { + messageSegmentTotalNumber INTEGER(1..255), + thisMessageSegmentNumber INTEGER(1..255), + data OCTET STRING (SIZE(1..MAX)) } ``` -The Segmented CTL Responsemessage (SCRM) is a specific Segment PDU: it uses the parametrized data type SegmentedData where the psid parameter value is set to - the ITS-AID value of the CTL service as specified in ETSI TS 102 965 (i.e. value 624) +The Segmented CTL Responsemessage (SCRM) is a specific Segment PDU: it uses the parametrized data type + SegmentedData where the psid parameter value is set to the ITS-AID value of the CTL service as specified in + ETSI TS 102 965 (i.e. value 624). For the SCRM message, the size of the control information (“header” fields) is 23 bytes. ```asn1 ctlPsid Psid ::= 624 ``` -### ScrmData +### ScrmPDU Values: * **Psid** (ctlPsid)
```asn1 -ScrmData ::= SegmentedData {Psid (ctlPsid)} +ScrmPDU ::= SegmentPDU {Psid (ctlPsid)} ``` diff --git a/docs/Ieee1609Dot2BaseTypes.md b/docs/Ieee1609Dot2BaseTypes.md index ba86c69..fc187bf 100644 --- a/docs/Ieee1609Dot2BaseTypes.md +++ b/docs/Ieee1609Dot2BaseTypes.md @@ -207,7 +207,7 @@ Time64 ::= Uint64 the validity period is given by start and the end is given by start + duration. -* _start_ of type [**Time32**](#Time32)
+* _start_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32)
* _duration_ of type [**Duration**](#Duration)
```asn1 ValidityPeriod ::= SEQUENCE { -- GitLab