Commit 3047fea6 authored by ASN.1 Checker's avatar ASN.1 Checker
Browse files

Documentation update

parent 31f58cbf
Loading
Loading
Loading
Loading
+51 −37
Original line number Diff line number Diff line
@@ -11,78 +11,92 @@ This component is the general PDU generated by the segmentation service to trans
* _version_ of type [**Uint8**](Ieee1609Dot2BaseTypes.md#Uint8) <br>
  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) <br>
* _segmentationTime_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32) <br>
  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<br>
* _distributedAid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid) <br>
  the ITS-AID of the file. The Psid/ Its-AID is a variable length INTEGER number.

* _fileId_ of type [**HashedId8**](Ieee1609Dot2BaseTypes.md#HashedId8) <br>
  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))<br>
  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) <br>
  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 {
SegmentPDU {Psid} ::= SEQUENCE {
    version           Uint8,
    segmentationTime       Time64,
    segmentContent	SegmentedData {Psid}
    segmentationTime  Time32,
    distributedAid    Psid,
    fileId            HashedId8,
    fileDescription   OCTET STRING (SIZE(0..63)),
    segmentContent	  SegmentedData
}
```

### <a name="SegmentedData"></a>SegmentedData
This component represents the payload of a segment/fragment of the file data.
 It is composed of the following fields:

* _distributedAid_ of type [**Psid**](Ieee1609Dot2BaseTypes.md#Psid) <br>
  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) <br>
  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) <br>
```asn1
SegmentedData ::= CHOICE {  
    seqChunks SequentialChunksSegmentedData,
    ...
}
```

* _fileDescription_ of type **OCTET STRING**  (SIZE (5)) OPTIONAL<br>
  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)
### <a name="SequentialChunksSegmentedData"></a>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<br>
* _messageSegmentTotalNumber_ of type **INTEGER** (1..255)<br>
  the total number of segments/fragments constituting the complete file. 

* _thisMessageSegmentNumber_ of type **INTEGER** (1..255) OPTIONAL<br>
* _thisMessageSegmentNumber_ of type **INTEGER** (1..255)<br>
  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))<br>
  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. 

All segments of the original full CTL, except the last one, shall have the same size equal to MAX value.
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 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
```

### <a name="ScrmData"></a>ScrmData
### <a name="ScrmPDU"></a>ScrmPDU

Values:
* **Psid** (ctlPsid)<br>
```asn1
ScrmData ::= SegmentedData {Psid (ctlPsid)}
ScrmPDU ::= SegmentPDU {Psid (ctlPsid)}
```


+1 −1
Original line number Diff line number Diff line
@@ -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) <br>
* _start_ of type [**Time32**](Ieee1609Dot2BaseTypes.md#Time32) <br>
* _duration_ of type [**Duration**](#Duration) <br>
```asn1
ValidityPeriod ::= SEQUENCE {