Newer
Older
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
/**
* @author ETSI / STF449 / STF484 / STF517
* @version $Url: https://oldforge.etsi.org/svn/LibIts/tags/20170222_STF527_Final/ttcn/DENM/LibItsDenm_TypesAndValues.ttcn $
* $Id: LibItsDenm_TypesAndValues.ttcn 1318 2017-01-26 10:20:53Z filatov $
* @desc Module containing type and value definitions for DENM
*
*/
module LibItsDenm_TypesAndValues {
//LibCommon
import from LibCommon_BasicTypesAndValues all;
import from LibCommon_DataStrings all;
// LibIts
import from DENM_PDU_Descriptions language "ASN.1:1997" all;
import from ITS_Container language "ASN.1:1997" all;
group actionTypes {
/**
* @desc Indication of whether event cancellation has to be raised by the test system or iut
*/
type enumerated Trigger {
e_ets(0),
e_iut(1)
}
} // end group actionTypes
group otherTypes {
/**
* @desc List of SituationContainers used in behaviours
*/
type record of SituationContainer SituationContainerList;
/**
* @desc List of ActionIDs used in behaviours
*/
type record of ActionID ActionIDList;
}
group denmConstants {
const ValidityDuration c_duration_2sec := 2;
const ValidityDuration c_duration_5sec := 5;
const ValidityDuration c_duration_10sec := 10;
const TransmissionInterval c_interval_1sec := 1000;
const TransmissionInterval c_interval_2sec := 2000;
const TransmissionInterval c_interval_4sec := 4000;
const TransmissionInterval c_interval_5sec := 5000;
const TransmissionInterval c_interval_10sec := 10000;
} // end group denmConstants
group certificates {
const charstring PX_CERT_IUT_DENM_01 := "CERT_IUT_DENM_BO_01_AT";
const charstring PX_CERT_IUT_DENM_02 := "CERT_IUT_DENM_BO_02_AT";
}
group utPrimitives {
/**
* @desc Upper Tester message to initialize IUT
* @member hashedId8 In case of secured mode set, hashedId8 indicate which certificate the IUT shall use
*/
type record UtDenmInitialize {
Oct8 hashedId8
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester results message of the DENM IUT
* @member utDenmInitialize -
* @member utDenmTriggerResult -
* @member utDenmUpdateResult, -
* @member utDenmChangePositionResult -
* @member utDenmChangePseudonymResult -
*/
type union UtDenmResults {
boolean utDenmInitializeResult,
UtDenmTriggerResult utDenmTriggerResult,
UtDenmUpdateResult utDenmUpdateResult,
boolean utDenmTerminationResult,
boolean utDenmChangePositionResult,
boolean utDenmChangePseudonymResult
} with {
variant ""
} // End of type UtDenmResults
/**
* @desc Upper Tester message to request triggering of an event at IUT
*/
type record UtDenmTrigger {
TimestampIts detectionTime,
ValidityDuration validityDuration optional,
ValidityDuration repetitionDuration optional,
SituationContainer situation,
RelevanceDistance relevanceDistance,
RelevanceTrafficDirection relevanceTrafficDirection,
TransmissionInterval transmissionInterval optional,
TransmissionInterval repetitionInterval optional,
AlacarteContainer alacarte optional
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester result message of request of triggering of an event at IUT
*/
type record UtDenmTriggerResult {
boolean result,
ActionID actionId
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to update an event at IUT
*/
type record UtDenmUpdate {
ActionID actionId,
TimestampIts detectionTime,
ValidityDuration validityDuration optional,
SituationContainer situation optional,
LocationContainer location optional,
RelevanceDistance relevanceDistance optional,
RelevanceTrafficDirection relevanceTrafficDirection optional,
TransmissionInterval transmissionInterval optional,
TransmissionInterval repetitionInterval optional,
AlacarteContainer alacarte optional
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester result message of an update request of an event on DENM IUT
*/
type record UtDenmUpdateResult {
boolean result,
ActionID actionId
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to request the termination of an event at IUT
*/
type record UtDenmTermination {
ActionID actionId
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to change the position of IUT. Values a relatives
*/
type record UtDenmChangePosition {
Int32 latitude,
Int32 longitude,
Int32 elevation
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to change the pseudonym of the DENM IUT
*/
type record UtDenmChangePseudonym {
// empty on purpose
} with {
variant "FIELDORDER(msb)"
}
/**
* @desc Upper Tester message to check event/status on DENM IUT
*/
type record UtDenmEventInd {
DENM denMsg
} with {
encode (denMsg) "LibItsDenm_asn1"
}
/**
* @desc List of Upper Tester messages to check event/status on DENM IUT
*/
type record of UtDenmEventInd UtDenmEventIndList;
/**
* @desc List of ActionID received in response to the Upper Tester triggered messages
*/
type record of ActionID UtDenmActionIDList;
}
with {
encode "UpperTester"
variant ""
}
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
group facilityPrimitives {
group fa1Primitives {
/**
* @desc FA1 DENM Indication Primitive
* @member denmMsg
*/
type record DenmInd {
DENM msgIn,
UInt64 recvTime,
UInt8 gnNextHeader optional,
UInt8 gnHeaderType optional,
UInt8 gnHeaderSubtype optional,
UInt32 gnLifetime optional,
UInt8 gnTrafficClass optional,
UInt16 btpDestinationPort optional,
UInt16 btpInfo optional,
Bit256 ssp optional,
UInt32 its_aid optional
}
with {
encode (msgIn) "PER"
}
/**
* @desc FA1 DENM Request Primitive
* @member denmMsg
*/
type record DenmReq {
DENM msgOut
}
with {
encode (msgOut) "PER"
}
} // End of group fa1Primitives
} // End of group facilityPrimitives
with {
variant ""
encode "LibIts_Interface"
} // end interfacePrimitives