|
|
-- ##########################################################################################
-- #
-- # FCB Dynamic Content - Version 1.0.1 (2021-05-12)
-- #
-- # This file is available on the UIC FCB User Group GitHub:
-- # https://github.com/UnionInternationalCheminsdeFer/UIC-barcode
-- #
-- # Please check this link to see if a more recent version of this file is available.
-- #
-- # The type UicDynamicContentData defined below is at least intended to generate a data
-- # that, once valued and encoded as PER unaligned [UPER],
-- # is to be stored in UicBarcodeHeader.level2SignedData.level2Data.data,
-- # and identified as "FDC1" in UicBarcodeHeader.level2SignedData.level2Data.dataFormat.
-- #
-- ##########################################################################################
-- Creator: ASN.1 Editor (http://asneditor.sourceforge.net)
-- Author: ClemensGantert
-- Created: Mon Jun 28 14:14:28 CEST 2021
ASN-Module-DynamicContentData DEFINITIONS AUTOMATIC TAGS ::= BEGIN
-- imports and exports
-- EXPORTS ALL;
UicDynamicContentData ::= SEQUENCE {
-- Identification of the mobile application that generated the barcode
-- and filled in the data of its dynamic part.
--
-- The possible values are defined by the security provider
-- (the security provider being UicBarcodeHeader.level2SignedData.level1Data.securityProviderNum/IA5)
dynamicContentMobileAppId IA5String OPTIONAL,
-- Moment of generation of the dynamic content, expressed in UTC
dynamicContentTimeStamp TimeStampData OPTIONAL,
-- Coordinates of the place where the dynamic content has been generated
-- (same GeoCoordinateType type as in UicRailTicketData)
dynamicContentGeoCoordinate GeoCoordinateType OPTIONAL,
-- ##########################################################################################
-- #
-- # List of predefined values that can be used for the extensionId data element used in
-- # UicDynamicContentData.dynamicContentResponseToChallenge.
-- #
-- ##########################################################################################
-- ..........................................................................................
-- extensionId value | extensionData content
-- .....................+....................................................................
-- "=" | Exactly the data received from the control device
-- .....................+....................................................................
-- "UTF" | UTF-8 encoded text provided by the train staff to the traveler
-- .....................+....................................................................
-- "PHC" | Hash value of a phone identifier that is available in the ticket
-- | control data provided in an annotation according to UIC IRS 90918-4
-- | (e.g. via ETCD).
-- .....................+....................................................................
-- "EPC" | Hash value of an electronic passport that is available in the
-- | ticketcontrol data provided in an annotation according to
-- | UIC IRS 90918-4 (e.g. via ETCD).
-- | The control app can read the passport at the time of control.
-- .....................+....................................................................
-- "+" + country + addon| Specific data. See the possible values for extensionId and the
-- "_" + RICS + addon | corresponding extensionData content in the comments above the
-- "*" + addon | definition of ExtensionData (below).
-- ..........................................................................................
dynamicContentResponseToChallenge SEQUENCE OF ExtensionData OPTIONAL,
-- Proprietary data defined bilaterally (same ExtensionData type as in UicRailTicketData).
dynamicContentExtension ExtensionData OPTIONAL,
...
}
-- ##########################################################################################
-- # Generic type for timestamp, with a precision to the second.
-- #
-- # Day is the number of the day in the year (1 = January 1st, 2 = January 2nd...)
-- #
-- # Time is the number of seconds of the day (from 0 = 0:00:00 to 86399 = 23:59:59)
-- ##########################################################################################
TimeStampData ::= SEQUENCE {
day INTEGER (1..366),
time INTEGER (0..86399)
}
-- ##########################################################################################
-- # Generic type for geo coordinates.
-- ##########################################################################################
GeoCoordinateType ::= SEQUENCE {
geoUnit GeoUnitType DEFAULT milliDegree,
coordinateSystem GeoCoordinateSystemType DEFAULT wgs84,
hemisphereLongitude HemisphereLongitudeType DEFAULT north, -- separate hemisphere flag reduces the data size
hemisphereLatitude HemisphereLatitudeType DEFAULT east, -- separate hemisphere flag reduces the data size
longitude INTEGER,
latitude INTEGER,
accuracy GeoUnitType OPTIONAL
}
GeoCoordinateSystemType ::= ENUMERATED {
wgs84 (0), -- WGS 84 standard system
grs80 (1) -- (outdated) GRS 80 coordinate system
}
GeoUnitType ::= ENUMERATED {
microDegree (0), -- approx. 11 cm on earth surface
tenthmilliDegree (1), -- 1 / 10000 degree is approx. 11 meter on earth surface
milliDegree (2), -- approx 110 meter on earth surface
centiDegree (3),
deciDegree (4)
}
HemisphereLongitudeType ::= ENUMERATED {
north (0),
south (1)
}
HemisphereLatitudeType ::= ENUMERATED {
east (0),
west (1)
}
-- ###########################################################################################
-- # Generic extension element (same definition as in UicRailTicketData).
-- #
-- # The value of 'extensionId' describes how 'extensionData' is encoded:
-- # "+" + [2-letters ISO 3166 country code] + [addon, chosen by the standardization body of that country]
-- # means that 'extensionData' is a content defined by this national standardization body,
-- # identified as 'addon' by this body.
-- # "_" + [4-digit RICS] + [addon, chosen by this company] means that 'extensionData' is a proprietary
-- # content of the company identified by the RICS code, identified as 'addon' by this company.
-- # "*" + [addon] means that 'extensionData' is a content specific to this barcode,
-- # identified as 'addon', with no further information on who defined it.
-- # Others values are reserved for future UIC use and shall not be used.
-- ###########################################################################################
ExtensionData ::= SEQUENCE {
extensionId IA5String,
extensionData OCTET STRING
}
END
|