aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/p772/MMSHeadingExtensions.asn
blob: d20c1425275e93505a6f4c50d9c76a10307e6a44 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
MMSHeadingExtensions {iso(1) identified-organization(3) nato(26) stanags(0)
  mmhs(4406) object-identifiers(0) module(0) heading-extensions(6)} DEFINITIONS
IMPLICIT TAGS ::=
BEGIN

-- Prologue
-- Exports Everything
IMPORTS
  -- IPMS information objects
  IPMS-EXTENSION, ORDescriptor
    --=
    FROM IPMSInformationObjects {joint-iso-ccitt mhs-motis(6) ipms(1)
      modules(0) information-objects(2)}
  -- MMS upper bounds
  lb-military-sic, ub-military-number-of-sics, ub-military-sic
    --=
    FROM MMSUpperBounds {iso(1) identified-organization(3) nato(26) stanags(0)
      mmhs(4406) object-identifiers(0) module(0) upper-bounds(0)}
  -- MMS object identifiers
  id-nato-mmhs-mm-acp127-message-identifier,
    id-nato-mmhs-mm-address-list-indicator, id-nato-mmhs-mm-codress-message,
    id-nato-mmhs-mm-copy-precedence, id-nato-mmhs-mm-distribution-codes,
    id-nato-mmhs-mm-exempted-address,
    id-nato-mmhs-mm-extended-authorisation-info,
    id-nato-mmhs-mm-handling-instructions, id-nato-mmhs-mm-information-labels,
    id-nato-mmhs-mm-message-instructions, id-nato-mmhs-mm-message-type,
    id-nato-mmhs-mm-originator-reference, id-nato-mmhs-mm-originator-plad,
    id-nato-mmhs-mm-other-recipients-indicator,
    id-nato-mmhs-mm-pilot-forwarding-info, id-nato-mmhs-mm-primary-precedence
    --=
    FROM MMSObjectIdentifiers {iso(1) identified-organization(3) nato(26)
      stanags(0) mmhs(4406) object-identifiers(0)}
  -- MTS abstract service
  --Message--SecurityLabel
    --=
    FROM MTSAbstractService {joint-iso-ccitt mhs-motis(6) mts(3) modules(0)
      mts-abstract-service(1)};

-- exempted address
--exempted-address IPMS-EXTENSION ::= {
--  VALUE          SEQUENCE OF ExemptedAddress
--  IDENTIFIED BY  id-nato-mmhs-mm-exempted-address}

ExemptedAddressSeq ::= SEQUENCE OF ExemptedAddress

ExemptedAddress ::= ORDescriptor

-- extended authorisation information
--extended-authorisation-info IPMS-EXTENSION ::= {
--  VALUE          ExtendedAuthorisationInfo
--  IDENTIFIED BY  id-nato-mmhs-mm-extended-authorisation-info}

ExtendedAuthorisationInfo ::= UTCTime

-- UTCTime as defined in 8.5.4 of ITU-T X.411
-- Distribution codes
-- will carry subject indicator codes and leave room for expansion.
--distribution-codes IPMS-EXTENSION ::= {
--  VALUE          DistributionCodes
--  IDENTIFIED BY  id-nato-mmhs-mm-distribution-codes}

DistributionCodes ::= SET {
  sics
    [0]  SEQUENCE SIZE (1..ub-military-number-of-sics) OF Sic OPTIONAL,
  dist-Extensions  [1]  SEQUENCE OF DistributionExtensionField OPTIONAL}

Sic ::= PrintableString(SIZE (lb-military-sic..ub-military-sic))

--DistributionExtensionField ::= INSTANCE OF TYPE-IDENTIFIER
DistributionExtensionField ::= SEQUENCE {
       dist-type       OBJECT IDENTIFIER,
       dist-value      ANY --DEFINED BY dist-type-- }

-- Handling instructions
--handling-instructions IPMS-EXTENSION ::= {
--  VALUE          HandlingInstructions
--  IDENTIFIED BY  id-nato-mmhs-mm-handling-instructions}

HandlingInstructions ::= SEQUENCE OF MilitaryString

MilitaryString ::= PrintableString(SIZE (1..ub-military-string))

-- Message instructions
-- will carry operating signals
--message-instructions IPMS-EXTENSION ::= {
--  VALUE          MessageInstructions
--  IDENTIFIED BY  id-nato-mmhs-mm-message-instructions}

MessageInstructions ::= SEQUENCE OF MilitaryString

-- Codress message
-- Needed for transition or as long as codress messages need to be carried.
--codress-message IPMS-EXTENSION ::= {
--  VALUE          CodressMessage
--  IDENTIFIED BY  id-nato-mmhs-mm-codress-message}

CodressMessage ::= INTEGER

-- Originator reference
-- only used if a user designated identifier string becomes important.
--originator-reference IPMS-EXTENSION ::= {
--  VALUE          OriginatorReference
--  IDENTIFIED BY  id-nato-mmhs-mm-originator-reference}

OriginatorReference ::= MilitaryString

-- we have expanded MMHSPrecedence to PrimaryPrecedence and CopyPrecedence to
-- all rules to be written to highlight high priority messages.
MMHSPrecedence ::= INTEGER {
  deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
  -- these are used by some National systems XXX need to verify
  , ecp(16), critic(17), override(18)
}

-- Primary reference
--primary-precedence IPMS-EXTENSION ::= {
--  VALUE          MMHSPrecedence
--  IDENTIFIED BY  id-nato-mmhs-mm-primary-precedence}

PrimaryPrecedence ::= INTEGER {
  deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
  -- these are used by some National systems XXX need to verify
  , ecp(16), critic(17), override(18)
}

-- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
-- Values 16 to 31 are reserved for national user.
-- Copy precedence
--copy-precedence IPMS-EXTENSION ::= {
--  VALUE          MMHSPrecedence
--  IDENTIFIED BY  id-nato-mmhs-mm-copy-precedence}

CopyPrecedence ::= INTEGER {
  deferred(0), routine(1), priority(2), immediate(3), flash(4), override(5)
  -- these are used by some National systems XXX need to verify
  , ecp(16), critic(17), override(18)
}

-- Message type
--message-type IPMS-EXTENSION ::= {
--  VALUE          MessageType
--  IDENTIFIED BY  id-nato-mmhs-mm-message-type}

MessageType ::= SET {
  type        [0]  TypeMessage,
  identifier  [1]  MessageIdentifier OPTIONAL}

TypeMessage ::= INTEGER {exercise(0), operation(1), project(2), drill(3)}

-- Note: Values 0 to 127 are reserved for NATO defined Message Type
-- identifiers. Values above 128 to 255 are not defined by NATO and may
-- be used nationally or bilaterally.
MessageIdentifier ::=
  MilitaryString

-- Address list indicator
--address-list-indicator IPMS-EXTENSION ::= {
--  VALUE          SEQUENCE OF AddressListDesignator
--  IDENTIFIED BY  id-nato-mmhs-mm-address-list-indicator}

AddressListDesignatorSeq ::= SEQUENCE OF AddressListDesignator

AddressListDesignator ::= SET {
  type                 [0]  INTEGER {primaryAddressList(0), copyAddressList(1)},
  listName             [1]  ORDescriptor,
  notificationRequest  [2]  AddressListRequest OPTIONAL,
  replyRequest         [3]  AddressListRequest OPTIONAL}

AddressListRequest ::= INTEGER {action(0), info(1), both(2)}

-- Other recipients indicator
--other-recipients-indicator IPMS-EXTENSION ::= {
--  VALUE          SEQUENCE OF OtherRecipientDesignator
--  IDENTIFIED BY  id-nato-mmhs-mm-other-recipients-indicator}

OtherRecipientDesignatorSeq ::= SEQUENCE OF OtherRecipientDesignator

OtherRecipientDesignator ::= SET {
  type        [0]  INTEGER {primary(0), copy(1)},
  designator  [1]  MilitaryString}

-- pilot forwarding information
--pilot-forwarding-info IPMS-EXTENSION ::= {
--  VALUE          SEQUENCE OF PilotInformation
--  IDENTIFIED BY  id-nato-mmhs-mm-pilot-forwarding-info}

PilotInformationSeq ::= SEQUENCE OF PilotInformation

PilotInformation ::= SEQUENCE {
  pilotPrecedence  [0]  MMHSPrecedence OPTIONAL,
  -- Note: Values 0 to 15 are reserved for NATO defined precedence levels.
  -- Values 16 to 31 are reserved for national use.
  pilotRecipient   [1]  SEQUENCE OF ORDescriptor OPTIONAL,
  pilotSecurity    [2]  --Message--SecurityLabel OPTIONAL,
  pilotHandling    [3]  SEQUENCE OF MilitaryString OPTIONAL}

-- Acp127 message identifier
-- a string to store routing indicator, station serial number and julian file 
-- time seperated by spaces.
--acp127-message-identifier IPMS-EXTENSION ::= {
--  VALUE          Acp127MessageIdentifier
--  IDENTIFIED BY  id-nato-mmhs-mm-acp127-message-identifier}

Acp127MessageIdentifier ::= MilitaryString

-- Originator PLAD
--originator-plad IPMS-EXTENSION ::= {
--  VALUE          OriginatorPlad
--  IDENTIFIED BY  id-nato-mmhs-mm-originator-plad}

OriginatorPlad ::= MilitaryString

-- Information label
--security-information-labels IPMS-EXTENSION ::= {
--  VALUE          SecurityInformationLabels
--  IDENTIFIED BY  id-nato-mmhs-mm-information-labels}

SecurityInformationLabels ::= SEQUENCE {
  content-security-label     [0]  SecurityLabel,
  -- SecurityLabel as defined in 8.5.9 of ITU-T X.411
  heading-security-label     [1]  SecurityLabel OPTIONAL,
  body-part-security-labels  [2]  SEQUENCE OF BodyPartSecurityLabel OPTIONAL}

BodyPartSecurityLabel ::= SET {
  body-part-security-label   [0]  SecurityLabel,
  body-part-sequence-number  [1]  BodyPartSequenceNumber OPTIONAL}

BodyPartSequenceNumber ::= INTEGER

--  Note: If all body parts of the message are labelled, each 
--  element in the body sequence above shall correspond to the
--  same numbered element of the Body sequence, and the body 
--  part sequence number may be absent. (i.e. the first element
--  of this field shall correspond to the first body part, etc.
--  Otherwise the body part sequence number shall be present
--  and shall correspond to the sequence of the body part
--  to which the security label relates. (i.e. the value of the 
--  body part sequence number shall correspond to sequence in which
--  the originator encoded the body parts of the message).
-- NOTE: The security-information-labels heading extension is now
-- deprecated. Its use is, therefore, discouraged. See STANAG 4406
-- Annex B for instruction on the use of its replacement, the
-- ESSSecurityLabel.

PriorityLevelQualifier ::= ENUMERATED {
  low(0),
  high(1) }

END -- of Military heading extensions used in MMS