Commit ab22eebd authored by Denis Filatov's avatar Denis Filatov
Browse files

add external module support in SAEM

parent 0409c3a7
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ include:
    file: '/gitlab-ci/base.yml'

variables:
  ASN1_SRC: 'SAEM-PDU-Descriptions.asn cdd/ETSI-ITS-CDD.asn'
  ASN1_SRC: '*.asn cdd/ETSI-ITS-CDD.asn'

validate:
  extends: .validate
+15 −4
Original line number Diff line number Diff line
@@ -5,10 +5,10 @@
 BEGIN
@@ -6,9 +6,13 @@
 
 IMPORTS
-
 
+ServicesAndUseCasesInfoContainer FROM SAEM-InfoContainer {
+    itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts104091 (104091) infoContainer (1) major-version-2 (2) minor-version-1 (1)
+}
+/*
 -- ISO 21218
 I-Param FROM ITSllsap {iso(1) standard(0) calm-ll-sap(21218) asnm-1 (1) version2 (2)}
@@ -11,7 +13,7 @@
 -- ISO 17419
 VarLengthNumber FROM CITSdataDictionary1 {iso(1) standard(0) cits-applMgmt (17419) dataDictionary (1) version1 (1)}
 
@@ -84,11 +84,11 @@
@@ -84,11 +88,11 @@
 	hundredPercent	(200),
 	unknown	(201)
 	}(0..255) -- values larger than 201 are prohibited
@@ -25,3 +27,12 @@
 
 -- SAM header extension elements
 
@@ -131,7 +135,7 @@
 
 WsaCountThresholdInterval ::= INTEGER (0..255) -- value 0 is not used
 
-SAMapplicationData ::= OCTET STRING 
+SAMapplicationData ::= OCTET STRING (CONTAINING ServicesAndUseCasesInfoContainer) 
 
 --ChannelInfo extension elements
 EdcaParameterSet ::= SEQUENCE{
+1 −1
Original line number Diff line number Diff line
# ASN.1 module for Services Announcement specification (SA) Rel.2 [ETSI EN 104 091]

These modules is a part of delivery **[ETSI TS 104 091 v2.1.1](https://www.etsi.org/deliver/etsi_ts/104000_104099/104091//02.01.01_60/ts_104091v020101p.pdf) (2024-XX)**
These modules is a part of delivery **[ETSI TS 104 091 v2.1.1](https://www.etsi.org/deliver/etsi_ts/104000_104099/104091//02.01.01_60/ts_104091v020101p.pdf) (2026-XX)**

This module is a successor of _SAEM-PDU-Descriptions_ module from **[ETSI TS 302 890-1 v1.2.1](https://forge.etsi.org/rep/ITS/asn1/saem_en302890_1)**

+29 −0
Original line number Diff line number Diff line
SAEM-ExternalModule

DEFINITIONS AUTOMATIC TAGS ::= BEGIN

IMPORTS INFO,Id FROM 

SAEM-InfoContainer {
    itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts104091 (104091) infoContainer (1) major-version-2 (2) minor-version-1 (1)
} WITH SUCCESSORS;

/**
 * This value assignement represent the identification of the organization that defines the services and use cases
*/
basedOid OBJECT IDENTIFIER ::= {iso (1) identified-organization(3)}

/**
 * These value assignements represent specific values of the information object identifier. 
*/
-- no assignements 

/**
 * This information object set represents the set of information objects each composed of the association between the information identifier and the optional information content.
*/
UseCaseInfoSet INFO ::= {
   ...
   }


END

SAEM-InfoContainer.asn

0 → 100644
+66 −0
Original line number Diff line number Diff line
SAEM-InfoContainer {itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts104091 (104091) infoContainer (1) major-version-2 (2) minor-version-1 (1)}

DEFINITIONS AUTOMATIC TAGS ::= BEGIN

IMPORTS

UseCaseInfoSet, basedOid 
FROM SAEM-ExternalModule;

/**
 * This type represents the identifier of the information object relative to the component ServicesAndUseCasesInfoContainer.baseOid. 
 *
*/
Id::= RELATIVE-OID

/**
 * This information object class is an abstract template to instantiate types that carry information.
 *
 * It shall include the following components: 
 *
 * @field &id: the identifier of the information.
 *
 * @field &Info: the information content.
 *
*/
INFO ::= CLASS {
   &id   Id,
   &Info
} WITH SYNTAX {&Info IDENTIFIED BY &id}

/**
 * This type represents a single information about an ITS service and one of its use cases, including mandatorily its identifier, based on the UseCaseInfoSet set.
 *
 * It shall include the following components: 
 *
 * @field infoId: the identifier of the information
 *
 * @field infoContent: the optional announcement information content.
 *
*/
ServiceAndUseCaseInfo ::= SEQUENCE {
   infoId        INFO.&id({UseCaseInfoSet}),
   infoContent   INFO.&Info({UseCaseInfoSet}{@.infoId}) OPTIONAL
}

/**
 * This DF represents a list of ServiceAndUseCaseInfo types, each including their identifier. 
*/
ServicesAndUseCasesInfo::= SEQUENCE (SIZE(1..32,...)) OF ServiceAndUseCaseInfo

/** 
 * This type represents a container that provides information about the provided ITS services and their use cases.
 *
 * It shall include the following components: 
 *
 * @field baseOid: the base OID that points to the organisation that defines the ITS services and use cases.
 *
 * @field info: the information about ITS services and their use cases.
*/
ServicesAndUseCasesInfoContainer::= SEQUENCE{
   baseOid   OBJECT IDENTIFIER (basedOid),
   info      ServicesAndUseCasesInfo,
   ...
}

END
Loading