wireshark/epan/dissectors/asn1/atn-cm/atn-cm.asn

195 lines
4.8 KiB
Groff

-- ICAO doc 9705 Edition 2 Contact Management (CM)
CMMessageSetVersion1 DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- ----------------------------------------------------------------------------------
-- CM Message Structure
-- ----------------------------------------------------------------------------------
-- Aircraft-generated messages
CMAircraftMessage ::= CHOICE
{
cmLogonRequest [0] CMLogonRequest,
cmContactResponse [1] CMContactResponse,
cmAbortReason [2] CMAbortReason,
...
}
-- Ground-generated messages
CMGroundMessage ::= CHOICE
{
cmLogonResponse [0] CMLogonResponse,
cmUpdate [1] CMUpdate,
cmContactRequest [2] CMContactRequest,
cmForwardRequest [3] CMForwardRequest,
cmAbortReason [4] CMAbortReason,
cmForwardResponse [5] CMForwardResponse,
...
}
-- ----------------------------------------------------------------------------------
-- CM Message Components
-- ----------------------------------------------------------------------------------
AircraftFlightIdentification ::= IA5String(SIZE(2..8))
Airport ::=IA5String (SIZE(4))
APAddress ::= CHOICE
{
longTsap [0] LongTsap,
shortTsap [1] ShortTsap
}
AEQualifier ::= INTEGER (0..255)
-- ATN AE-Qualifier Numeric Values are described in 4
AEQualifierVersion ::= SEQUENCE
{
aeQualifier AEQualifier,
apVersion VersionNumber
}
AEQualifierVersionAddress ::= SEQUENCE
{
aeQualifier AEQualifier,
apVersion VersionNumber,
apAddress APAddress
}
CMAbortReason ::= ENUMERATED
{
timer-expired (0),
undefined-error (1),
invalid-PDU (2),
protocol-error (3),
dialogue-acceptance-not-permitted (4),
dialogue-end-not-accepted (5),
communication-service-error (6),
communication-service-failure (7),
invalid-QOS-parameter (8),
expected-PDU-missing (9),
...
}
CMContactRequest ::= SEQUENCE
{
facilityDesignation FacilityDesignation,
address LongTsap
}
CMContactResponse ::= Response
CMForwardRequest ::= CMLogonRequest
CMForwardResponse ::= ENUMERATED
{
success (0),
incompatible-version (1),
service-not-supported (2)
}
CMLogonRequest ::= SEQUENCE
{
aircraftFlightIdentification [0] AircraftFlightIdentification,
cMLongTSAP [1] LongTsap,
groundInitiatedApplications [2] SEQUENCE SIZE (1..256) OF AEQualifierVersionAddress OPTIONAL,
airOnlyInitiatedApplications [3] SEQUENCE SIZE (1..256) OF AEQualifierVersion OPTIONAL,
facilityDesignation [4] FacilityDesignation OPTIONAL,
airportDeparture [5] Airport OPTIONAL,
airportDestination [6] Airport OPTIONAL,
dateTimeDepartureETD [7] DateTime OPTIONAL
}
CMLogonResponse ::= SEQUENCE
{
airInitiatedApplications [0] SEQUENCE SIZE (1..256) OF AEQualifierVersionAddress
OPTIONAL,
groundOnlyInitiatedApplications [1] SEQUENCE SIZE (1..256) OF AEQualifierVersion
OPTIONAL
}
CMUpdate ::= CMLogonResponse
Date ::= SEQUENCE
{
year Year,
month Month,
day Day
}
-- The Date field does not have to correspond to the flight if the field is not to be used;
-- the field's value can be assigned a meaningless, but compliant, value locally. If operational
-- use of the Date field is intended, there must be bilateral agreements in place to ensure its proper
-- use. This is a local implementation issue.
DateTime ::= SEQUENCE
{
date Date,
time Time
}
Day ::= INTEGER (1..31)
--unit = Day, Range (1..31), resolution = 1
FacilityDesignation ::= IA5String (SIZE(4..8))
LongTsap ::= SEQUENCE
{
rDP OCTET STRING (SIZE(5)),
shortTsap ShortTsap
}
Month ::= INTEGER (1..12)
--unit = Month, Range (1..12), resolution = 1
Response ::= ENUMERATED
{
contactSuccess (0),
contactNotSuccessful (1)
}
ShortTsap ::= SEQUENCE
{
aRS [0] OCTET STRING (SIZE(3)) OPTIONAL,
-- the aRS contains the ICAO 24 bit aircraft address when the ShortTsap belongs to an aircraft;
-- or a ground address when the Short Tsap belongs to a ground system
locSysNselTsel [1] OCTET STRING (SIZE(10..11))
}
Time ::= SEQUENCE
{
hours Timehours,
minutes Timeminutes
}
Timehours ::= INTEGER (0..23)
-- units = hour, range (0..23), resolution = 1 hour
Timeminutes ::= INTEGER (0..59)
-- units = minute, range (0..59), resolution = 1 minute
VersionNumber ::= INTEGER (1..255)
-- VersionNumber 0 is reserved for the Dialogue Service
Year ::= INTEGER (1996..2095)
--unit = Year, Range (1996..2095), resolution = 1
END
--
-- Editor modelines - https://www.wireshark.org/tools/modelines.html
--
-- Local variables:
-- c-basic-offset: 4
-- tab-width: 8
-- indent-tabs-mode: nil
-- End:
--
-- vi: set shiftwidth=4 tabstop=8 expandtab:
-- :indentSize=4:tabSize=8:noTabs=true:
--