Newer
Older
* @version $Id: LibIot_TypesAndValues.ttcn 16 2009-06-16 15:06:42Z pintar $
* @desc This module provides the (message) types and constants used by the test component
* for Iot tests.
*/
module LibIot_TypesAndValues {
import from LibCommon_BasicTypesAndValues {type UInt32, UInt16;}
import from LibCommon_VerdictControl {type FncRetCode;}
group commonTypes {
type enumerated IOTExecMode { e_realtime, e_offline }
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
type record Status {
FncRetCode code,
charstring reason optional
}
}
group interfaceInformationrelatedTypes {
/**
*
* @desc IP address type e.g. "127.0.0.1"
*/
type charstring IpAddress;
/**
*
* @desc Type for port number, e.g. "5060"
*/
type UInt16 PortNumber;
/**
*
* @desc List of port numbers
*/
type record of PortNumber PortNumberList;
type record InterfaceAvailable {
charstring interfaceName,
boolean available
}
type set of InterfaceAvailable InterfaceAvailableList;
/**
*
* @desc Required information for IP interfaces
* @member domainName the domain name
* @member IpAddress the ip address
* @member portNumbers the list of port numbers where message are received
*/
type record IpInterfaceInfo {
charstring domainName optional,
IpAddress IpAddress,
PortNumberList portNumbers
}
/**
*
* @desc List of IP interfacees
*/
type record of IpInterfaceInfo IpInterfaceInfoList;
/**
*
* @desc Collection of different interface types, e.g for IP communications
* This type can be extended with new alternative for other interface types
*/
type union InterfaceInfo {
IpInterfaceInfoList IpInterfaceInfo
}
/**
*
* @desc Type for representing EUT interface information for monitored logical interfaces
* @member interfaceName Name of logical interface
* @member interfaceInfo Interface information specific to this logical interface
*/
type record MonitorInterfaceInfo {
charstring interfaceName,
InterfaceInfo interfaceInfo
}
/**
*
* @desc List of monitored interfaces
*/
type record of MonitorInterfaceInfo MonitorInterfaceInfoList;
/**
*
* @desc List of VxLTE Monitor interfaces
*/
MonitorInterfaceInfo gmA optional,
MonitorInterfaceInfo gmB optional,
MonitorInterfaceInfo mmB_PSAP optional,// Mm interface at IBCF to PSAP
MonitorInterfaceInfo mwEB optional,// Mw interface at ECSCF to IBCF
MonitorInterfaceInfo mwS_PSAP optional,// Mw interface at SCSCF to PSAP
MonitorInterfaceInfo ic optional,
MonitorInterfaceInfo mwPI optional,// Mw interface at P-CSCF/I-CSCF or P-CSCF/S-CSCF if I-CSCF not used
MonitorInterfaceInfo mwPS optional,
MonitorInterfaceInfo mwPE optional,// Mw interface at P-CSCF to E-CSCF
MonitorInterfaceInfo mwIS optional,// Mw interface at I-CSCF/S-CSCF
MonitorInterfaceInfo mwPB optional,// Mw interface at P-CSCF/IBCF
MonitorInterfaceInfo mwIB optional,// Mw interface at I-CSCF/IBCF
MonitorInterfaceInfo mwIE optional,// Mw interface at I-CSCF/S-CSCF to E-CSCF
MonitorInterfaceInfo isc optional,
MonitorInterfaceInfo cxIH optional,
MonitorInterfaceInfo cxSH optional,
MonitorInterfaceInfo gx optional,
MonitorInterfaceInfo rx optional,
MonitorInterfaceInfo s6a optional,
MonitorInterfaceInfo s9 optional,
MonitorInterfaceInfo sh optional
/**
*
* @desc Product specific EUT interface information
* @member name the name of the vendor
* @member monitorInterfaces monitor interface configuration
*/
type record Product {
charstring productName,
MonitorInterfaceInfoList monitorInterfaces
}
/**
*
* @desc List of product specificr EUT interface information
*/
type record of Product ProductList;
}
group adapterConfigurationTypes {
type union CaptureMode {
LiveCapture liveCpature,
OfflineCapture offlineCapture
}
//
type record of charstring PhysicalInterfaceList;
type record LiveCapture {
PhysicalInterfaceList physicalInterfaces, // TODO document example syntax
RecordMode recordMode
}
type enumerated RecordMode {
e_norecord,
e_record
}
type record of charstring FileList;
type record MergeFileList {
FileList mergeFileList,
charstring mergeFilePath,
charstring mergeToolPath
}
type record CaptureSource {
charstring sessionsPath, // e.g., the path where session's PCAP files are located like /tmp/19
MergeFileList mergeFileList
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
}
type record TimeOffset
{
UInt32 seconds,
UInt32 microseconds
}
type record OfflineCapture {
TimeOffset offset,
CaptureSource captureSource
}
/**
*
* @desc Required information for EUTs IP interfaces
* @member IpAddress the ip address
* @member portNumber the list of port number where message are received
*/
type record EutInterfaceInfo {
charstring eut,
IpAddress ipAddress,
PortNumber portNumber
}
/**
*
* @desc List of IP interfaces for EUTs
*/
type record of EutInterfaceInfo EutInterfaceInfoList;
type record GeneralConfigurationReq {
charstring captureProcessIpAddress,
PortNumber captureProcessPort,
CaptureMode captureMode,
EutInterfaceInfoList eutInfoList optional
}
type record GeneralConfigurationRsp
{
Status status
}
//type record (2..infinity) of InterfaceInfo InterfaceInfoList;
type record of InterfaceInfo InterfaceInfoList;
type enumerated ProtocolFilter {
e_ip,
e_sip,
e_dns,
e_diameter
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
}
type record SetFilterReq {
ProtocolFilter protocol,
InterfaceInfoList interfaceInfos
}
type record SetFilterRsp
{
Status status
}
type record StartTrafficCaptureReq { }
type record StartTrafficCaptureRsp
{
Status status
}
type record StopTrafficCaptureReq { }
type record StopTrafficCaptureRsp
{
Status status
}
}
with{
encode "IOTCodec";
}
group oracleRelatedTypes {
// used for PIXIT definition
type enumerated IotVerdictType { e_e2e, e_conformance }
// used for verdict handling
type record VerdictType {
verdicttype verdict,
charstring reason optional
}
type union IotVerdict {
VerdictType e2e,
VerdictType conformance
}
}
/**
type record of default DefaultList;
type record ComponentId {
charstring name,
integer index // explain more
}
type set of ComponentId ComponentIdList;