Commit 836fb794 authored by ASN.1 Documenter's avatar ASN.1 Documenter
Browse files

ETSI TS 103 724 v2.1.1

parents 32f89663 b005c64c
Loading
Loading
Loading
Loading

.gitlab-ci.mk

0 → 100755
+45 −0
Original line number Diff line number Diff line
ASN1_SRC   :=  IMZM-PDU-Descriptions.asn \
               cam/CAM-PDU-Descriptions.asn \
               vam/VAM-Temp-Imports.asn \
               cdd/ITS-Container.asn

ASN1_SRC_VALIDATE := \
               iso/iso19091_2018.asn \
               iso/iso24534-3_1_2015.asn \
               iso/iso24534-3_2_2015.asn \
               iso/ISO14816_AVIAEINumberingAndDataStructures.asn

ASN1_PDU := IMZM
ASN1_KNOWN := DATE

#ASN1CDIR    ?= $(USERPROFILE)/Work/asn1c-fillabs
ifneq (,$(ASN1CDIR))
  ASN1C := $(ASN1CDIR)/asn1c/.libs/asn1c -S $(ASN1CDIR)/skeletons
else
  ASN1C := asn1c
endif

.PHONY: validate doc build

validate: iso build

doc: docs
	python3 asn2md.py -o docs --brief-as-title $(ASN1_SRC)
		
iso docs:
	mkdir -p $@

build: $(ASN1_SRC) $(ASN1_SRC_VALIDATE)
	$(ASN1C) -E -F -fcompound-names $(addprefix -fknown-extern-type=,$(ASN1_KNOWN)) $(addprefix -pdu=,$(ASN1_PDU)) $^ >/dev/null

iso/iso19091_2018.asn: 
	curl -o $@ 'https://standards.iso.org/iso/ts/19091/ed-2/en/ISO-TS-19091-addgrp-C-2018.asn'

iso/iso24534-3_1_2015.asn:
	curl -o $@ 'https://standards.iso.org/iso/24534/-3/ISO%2024534-3%20ASN.1%20repository/ISO24534-3_ElectronicRegistrationIdentificationVehicleDataModule_ForBallot.asn'

iso/iso24534-3_2_2015.asn:
	curl -o $@ 'https://standards.iso.org/iso/24534/-3/ISO%2024534-3%20ASN.1%20repository/ISO24534-3_ElectronicRegistrationIdentificationEfcVehicleDataModule_ForBallot.asn'

iso/ISO14816_AVIAEINumberingAndDataStructures.asn:
	curl -o $@ 'https://standards.iso.org/iso/14816/ISO14816%20ASN.1%20repository/ISO14816_AVIAEINumberingAndDataStructures.asn'

.gitlab-ci.yml

0 → 100644
+32 −0
Original line number Diff line number Diff line
variables:
 GIT_SUBMODULE_STRATEGY: normal

image: danya25/asn1c:0.0.5

validate:
  stage: test
  script: make -f .gitlab-ci.mk validate
  only:
    changes:
      - "*.asn"

documentation:
  stage: deploy
  script:
    - >
      if ! [ -f asn2md.py ]; then
        curl -o asn2md.py --header "PRIVATE-TOKEN:$CI_JOB_TOKEN" "https://forge.etsi.org/rep/api/v4/projects/592/repository/files/asn2md.py/raw?ref=master"
      fi
    - make -f .gitlab-ci.mk doc
    - git add docs/*.md
    - >
      if [ -z "$(git status --untracked-files=no --porcelain)" ]; then
        echo "No changes found";
      else 
        git commit -m "Documentation update" &&
        git remote rm origin && git remote add origin "https://oauth2:${CI_DOC_TOKEN}@forge.etsi.org/rep/$CI_PROJECT_PATH.git" &&
        git push origin "HEAD:$CI_COMMIT_REF_NAME";
      fi
  only:
    changes:
      - "*.asn"
+268 −0
Original line number Diff line number Diff line
--! @brief Specification of the Interference Management Zone Message ETSI TS 103 724
--! Latest version available at @url https://forge.etsi.org/rep/ITS/asn1/imzm_ts103724

IMZM-PDU-Descriptions {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) ts103724 (103724) imzm (1) version1 (1)
}

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

IMPORTS 
--! @brief Include ETSI TS 102 894-2
--! Include references from @url https://forge.etsi.org/rep/ITS/asn1/cdd_ts102894_2/blob/master/ITS-Container.asn
ItsPduHeader, Latitude, Longitude, TimestampIts, ProtectedZoneRadius, ProtectedZoneID FROM ITS-Container {
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 
ts (102894) cdd (2) version (2) 
}

--! @brief Include ETSI EN 302 637-2
--! Include references from @url https://forge.etsi.org/rep/ITS/asn1/cam_en302637_2/blob/master/CAM-PDU-Descriptions.asn
BasicContainer, GenerationDeltaTime FROM CAM-PDU-Descriptions { 
itu-t (0) identified-organization (4) etsi (0) itsDomain (5) wg1 (1) 
en (302637) cam (2) version (2)
}

--! @brief Include ETSI TS 103 300-3
--! All data types, imported from `VAM-Temp-Imports` will be imported from the CDD ETSI TS 102 894-2 Release 2 when available  
--! Include references from @url https://forge.etsi.org/rep/ITS/asn1/vam-ts103300_3/blob/master/VAM-Temp-Imports.asn  
AreaCircular, AreaRectangle, AreaPolygon, OffsetPoint, SemiRangeLength, WGS84AngleValue FROM VAM-Temp-Imports { 
itu-t(0) identified-organization(4) etsi(0) itsDomain(5) wg1(1)  
ts(103300) temp-imports(255) version1(1)
}
;

--! @brief DF: Interference Management Zone Message Root
--! This DF includes DEs for the IMZM `protocolVersion`, the IMZ message type identifier `messageID` 
--! and the station identifier `stationID` of the originating ITS-S. 
IMZM ::= SEQUENCE {
    --! @details header
    --! - The DE `protocolVersion` is used to select the appropriate protocol decoder at the receiving
    --!   ITS-S. For TS 103 724 V2.1.1, the value of the DE `protocolVersion` shall be set to 1.
    --! - The DE `messageID` shall be harmonized with other V2X message identifier definitions.
    --!   For IMZM, the DE messageID shall be set to `imzm(15)`.
   header ItsPduHeader,
   imzm InterferenceManagementZoneMessage
}

--! @brief DF: Interference Management Zone Message
--! This is the actual IMZM Payload. It shall include the time stamp of the IMZM and the applicable
--! containers of type `BasicContainer` and `ImzmContainer`.
InterferenceManagementZoneMessage ::= SEQUENCE {
   generationDeltaTime GenerationDeltaTime, -- from CAM-PDU-Descriptions
   imzmParameters ImzmParameters
}

--! @brief DF: IMZM Parameters
--! The sequence of containers in the IMZM. Other containers may be added in the future.
ImzmParameters ::= SEQUENCE {
    --! @details basicContainer
    --! imported from CAM-PDU-Descriptions
    basicContainer BasicContainer, 
    --! @details imzmContainer
    --! container specific to the IMZM
    imzmContainer ImzmContainer,
   ...
}

--! @brief DF: IMZM Container
--! The IMZM container includes a sequence of up to 16 interference management zones. 
--! For each interference management zones, it contains a sequence of interference 
--! management zones per channel together with their characteristics.
ImzmContainer ::= SEQUENCE {
    --! @details interferenceManagementZones
    --! mapped to the DF_ProtectedCommunicationZone in ETSI TS 102 894-2 
    interferenceManagementZones InterferenceManagementZones,
    ...
}

--! @brief DF: List of Interference Management Zones
--! A list of up to 16 interference management zones.  
--!
--! **EXAMPLE**: An interference management communication zone may be defined around a 
--!    CEN DSRC road side equipment or an urban rail operational area.
--! @category: Infrastructure information, Communication information
InterferenceManagementZones ::= SEQUENCE (SIZE(1..16), ...) OF InterferenceManagementZone

--! @brief DF: Interference Management Zone
--! Describes a zone of interferenceManagement inside which the ITS communication should
--! be restricted.
--! @category: Infrastructure information, Communication information
InterferenceManagementZone ::= SEQUENCE {
	zoneDefinition             ZoneDefinition,
	interferenceManagementInfo InterferenceManagementInfo
}

--! @brief DF: Zone Definition
--! Describes the zone where band sharing occurs. When reusing CDD Rel.1 types, names are unchanged.
--! @category: Infrastructure information, Communication information
ZoneDefinition::= SEQUENCE{     
	 --! @details interferenceManagementZoneLatitude
     --! Latitude of the centre point of the interference management zone.
    interferenceManagementZoneLatitude   Latitude, -- from ITS-Container
     --! @details interferenceManagementZoneLongitude
     --! Longitude of the centre point of the interference management zone.
    interferenceManagementZoneLongitude  Longitude, -- from ITS-Container
     --! @details interferenceManagementZoneRadius
     --! Radius of the interference management zone in metres. 
     --! This DE is present if the data is available
    interferenceManagementZoneRadius     ProtectedZoneRadius OPTIONAL, -- from ITS-Container
     --! @details interferenceManagementZoneID
     --! Identification of the interference management zone. 
     --! This DE is present if the data is available.
    interferenceManagementZoneID         ProtectedZoneID OPTIONAL, -- from ITS-Container
     --! @details interferenceManagementZoneShape
     --! Shape of the interference management zone. 
     --! This DF is present if the data is available.
    interferenceManagementZoneShape      InterferenceManagementZoneShape OPTIONAL,
    ...
}

--! @brief DF: Interference Management Information
--! A list of up to 16 definitions containing which interference management may be applied in the zone, 
--! per affected frequency channels.
--!  
--! **Note**: in the case where no mitigation should be applied by the ITS-S, this is indicated 
--! by the value of interferenceManagementMitigationType set to unavailable. 
--! @category: Infrastructure information, Communication information
InterferenceManagementInfo::= SEQUENCE (SIZE(1..16,...)) OF InterferenceManagementInfoPerChannel

--! @brief DF: Interference Management Information Per Channel 
--! A break up of the interference management information per affected frequency channels.
--! @category: Infrastructure information, Communication information
InterferenceManagementInfoPerChannel ::= SEQUENCE {
     --! @details interferenceManagementChannel
     --! Characteritics of the frequency channel for which the zone
     --! should be applied interference management 
    interferenceManagementChannel         InterferenceManagementChannel,
     --! @details interferenceManagementZoneType
     --! Type of the interference management zone. 
    interferenceManagementZoneType        InterferenceManagementZoneType,
     --! @details interferenceManagementMitigationType
     --! Type of the mitigation to be used in the interference management zone.
    interferenceManagementMitigationType  InterferenceManagementMitigationType OPTIONAL,
     --! @details expiryTime
     --! Time at which the validity of the interference management communication zone will expire.
     --! This DE is present when the interference management is temporarily valid
    expiryTime                            TimestampIts OPTIONAL, -- from ITS-Container
    ...
}

--! @brief DF: InterferenceManagementChannel
--! Indicates which shared frequency channel should be applied interference management in the zone. 
--! @category: Communication information
InterferenceManagementChannel ::= SEQUENCE {
     --! @details centre frequency of the channel
     --! @unit: 10exp+2 Hz (where exp is exponent)
    centreFrequency INTEGER (1 .. 99999),
     --! @details width of the channel
     --! @unit: 10exp Hz (where exp is exponent)
    channelWidth    INTEGER (0 .. 9999),
     --! @details exponent of the power of 10
     --! @unit: N/A
    exponent        INTEGER (0 .. 15) 
}

--! @brief DE: InterferenceManagementZoneType
--! defines the type of an interference management zone, so that an ITS-S can
--! assert the actions to do while passing by such zone (e.g. reduce the transmit
--! power in case of a DSRC tolling station).
--! @unit: N/A
--! @category: Communication information
InterferenceManagementZoneType ::= ENUMERATED {
    permanentCenDsrcTolling(0), --!< as specified in ETSI TS 102 792
    temporaryCenDsrcTolling(1), --!< as specified in ETSI TS 102 792
    unavailable(2),             --!< default value. Set to 2 for backwards compatibility with DSRC tolling
    urbanRail(3),               --!< as specified in ETSI TS 103 724, clause 7
    satelliteStation(4),        --!< as specified in ETSI TS 103 724, clause 7
    fixedLinks(5),              --!< as specified in ETSI TS 103 724, clause 7
    ...
}

--! @brief DF: Mitigation type in the interference management zone
--! Information and commands defining the required mitigation type the 
--! receiving ITS-S has to use in the defined interference management zone. 
--! It indicates the type of mitigation and the parameters to be used to protect the 
--! potential victim in the interference management zone per channel access technology class.
--! @category: Communication information
InterferenceManagementMitigationType ::= CHOICE {
     --! @details unavailable is the default value to be used when data is not available. 
    unavailable   NULL,   
    mitigationForTechnologies MitigationForTechnologies
}

--! @brief DF: Mitigation type container for the different channel access technology classes 
--! Class of parameters for the relevant channel access technology classes,
--! as specified in ETSI TS 103 724, clause 7. 
--! @category: Communication information
MitigationForTechnologies ::= SEQUENCE (SIZE(1..8)) OF MitigationPerTechnologyClass

--! @brief DF: Mitigation type container per channel access technology class 
--! Class of parameters for the specific technology indicated in the container.
--! All parameters are optional, as they may not apply to some of the technologies or
--! interference management zone types. Specification details are in ETSI TS 103 724, clause 7. 
--! @category: Communication information
MitigationPerTechnologyClass ::= SEQUENCE {
     --! @details channel access technology in which this mitigation is applied.
     --! @unit: N/A
   accessTechnologyClass  AccessTechnologyClass, 
     --! @details duty cycle limit.
     --! @unit: 0.01% steps
   lowDutyCycle  INTEGER (0 .. 10000) OPTIONAL, 
     --! @details power reduction.
     --! @unit: dB
   powerReduction INTEGER (0 .. 30) OPTIONAL,
     --! @details Idle time limit as defined in ETSI TS 103 175.
     --! @unit: ms
   dmcToffLimit   INTEGER (0 .. 1200) OPTIONAL,   
     --! @details Transmission duration limit, as defined in ETSI EN 302 571.
     --! @unit: ms
   dmcTonLimit   INTEGER (0 .. 20) OPTIONAL,   
   ...
}

--! @brief DE: channel access technology class 
--! Access technology to which the mitigation type applies.
--! @category: Communication information
AccessTechnologyClass ::= ENUMERATED {
   any(0),         --!< any access technology class (see clause 7 of TS 103 724).
   itsg5Class(1),  --!< ITS-G5 access technology class.
   ltev2xClass(2), --!< LTE-V2X access technology class.
   nrv2xClass(3),  --!< NR-V2X access technology class.
   ...
}

--! @brief DF: Shape of the interference management zone
--! Bounding box of an interference management  zone
--! @category: GeoReference information
InterferenceManagementZoneShape::= CHOICE {
   rectangle    AreaRectangle, -- imported from VAM-Temp-Imports
   circle       AreaCircular,  -- imported from VAM-Temp-Imports
   polygon      AreaPolygon,   -- imported from VAM-Temp-Imports
   ellipse      AreaEllipse,   -- could not be imported from another specification yet
   ...
}

--! @brief DF: Area Ellipse
--! Area Ellipse copied from CPM TR 103 562. Will be removed when CDD Release 2 is available.
--! Describes an elliptical area. The ellipse is centred about the reference point 
--! of the ITS-S or about the nodeCenterPoint (if provided).
--! @category: GeoReference information
AreaEllipse  ::= SEQUENCE {
    --! @details nodeCenterPoint
    --! Optional offset point about which the ellipse is centred with respect to the reference
    --! position of the ITS-S.
    nodeCenterPoint             OffsetPoint OPTIONAL,
    --! @details semiMajorRangeLength
    --! Minor radius of the ellipse.
    semiMajorRangeLength        SemiRangeLength,
    --! @details semiMinorRangeLength
    --! Major radius of the ellipse.
    semiMinorRangeLength        SemiRangeLength,
    --! @details semiMajorRangeOrientation
    --! Orientation of the semiMajorRangeLength of the ellipse in the WGS84 coordinate system.
    semiMajorRangeOrientation   WGS84AngleValue
}

END
+2 −2
Original line number Diff line number Diff line
# ASN.1 module for PZM [ETSI TS 103 724]

This repository will contain the ASN.1 module for ETSI TS 103 724 - Protected Zone beacon message
This repository will contain the ASN.1 module for ETSI Interference Management Zone Service in the file **IMZM-PDU-Descriptions.asn** 
* The module is published with the **[ETSI TS 103 724 v2.1.1](http://www.etsi.org/deliver/etsi_ts/103700_103799/103724/02.01.01_60/ts_103274v020101p.pdf)**.

* Note: The base specification is in the draft state

## License

+269 −0

File added.

Preview size limit exceeded, changes collapsed.

Loading