Skip to content
Snippets Groups Projects
Commit 31f58cbf authored by ASN.1 Documenter's avatar ASN.1 Documenter
Browse files

final version of ASN.1 code

parent 257a82af
No related branches found
No related tags found
No related merge requests found
Pipeline #16609 passed
......@@ -2,18 +2,22 @@ EtsiTs103601Module {itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg5
minor-version-1(1)}
DEFINITIONS AUTOMATIC TAGS ::= BEGIN
------------------------------------------
-- Specification of the segment message format to be used for the segmentation service
-- Specification of the segment message format to be used for the segmentation service.
-- Different segmentation methods are supported. One method consists in splitting the original file or message into several
-- sequential segments (called sequential chunks). This specification can be extended to integrate transport coding methods
-- using various FEC schemes.
------------------------------------------
IMPORTS
HashedId8,
Opaque,
Psid,
Time64,
Uint8 FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111)
standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
base(1) base-types(2) major-version-2(2) minor-version-4(4)}
WITH SUCCESSORS
Time32,
Uint8
FROM Ieee1609Dot2BaseTypes {iso(1) identified-organization(3) ieee(111)
standards-association-numbered-series-standards(2) wave-stds(1609) dot2(2)
base(1) base-types(2) major-version-2(2) minor-version-4(4)}
WITH SUCCESSORS
;
/**
......@@ -23,31 +27,44 @@ IMPORTS
* @field version: contains the version number of this PDU definition. For this version of this data type it shall be equal to `1`.
*
* @field segmentationTime: 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.
*
* - not included in the present version @field segmentationLocation: is the location at which the message or file was segmented
* @field distributedAid: the ITS-AID of the file. The Psid/ Its-AID is a variable length INTEGER number.
*
* @field fileId: 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.
*
* @field fileDescription: 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.
*
* @field segmentContent : contains the segmented data of the message or file.
*/
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
}
/**
* This component represents the payload of a segment/fragment of the file data.
*/
SegmentedData ::= CHOICE {
seqChunks 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:
* @field distributedAid: 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.
*
* @field fileId: 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.
*
* @field fileDescription: 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)
*
* @field messageSegmentTotalNumber: the total number of segments/fragments constituting the complete file.
*
* @field thisMessageSegmentNumber: 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.
......@@ -56,26 +73,24 @@ SegmentPDU ::= SEQUENCE {
* 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.
*
* 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 .
*/
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.
*/
ctlPsid Psid ::= 624
ScrmData ::= SegmentedData {Psid (ctlPsid)}
ScrmPDU ::= SegmentPDU {Psid (ctlPsid)}
END
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment