Newer
Older
module BwManagementAPI_TypesAndValues {
// JSON
import from JSON all;
// LibCommon
import from LibCommon_BasicTypesAndValues all;
/**
* @desc Information of bandwidth resource
* @member timeStamp Time stamp to indicate when the corresponding information elements are sent
* @member appInsId Application instance identifier
* @member sessionFilter Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only
* @member requestType Numeric value (0 - 255) corresponding to specific type of consumer
* @member fixedBWPriority Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
* @member fixedAllocation Size of requested fixed BW allocation in [bps]
* @member allocationDirection The direction of the requested BW allocation
*/
type record BwInfo {
TimeStamp timeStamp optional,
AppInsId appInsId,
RequestType requestType,
SessionFilter sessionFilter optional,
FixedBWPriority fixedBWPriority optional,
FixedAllocation fixedAllocation,
AllocationDirection allocationDirection
}
/**
* @desc Conform to JSON merge patch format and processing rules specified IETF RFC 7396 [8], this type represents the attributes whose value are allowed to be updated with HTTP PATCH method in content format JSON
* @member appInsId Application instance identifier
* @member requestType Numeric value (0 - 255) corresponding to specific type of consumer
* @member sessionFilter Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION
* @member fixedBWPriority Indicates the allocation priority when dealing with several applications or sessions in parallel
* @member fixedAllocation Size of requested fixed BW allocation in [bps]
* @member allocationDirection The direction of the requested BW allocation
*/
type record BwInfoDeltas {
AppInsId appInsId,
RequestType requestType,
SessionFilter sessionFilter optional,
FixedBWPriority fixedBWPriority optional,
FixedAllocation fixedAllocation optional,
AllocationDirection allocationDirection optional
* @desc Time stamp description
* @member seconds The seconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
* @member nanoSeconds The nanoseconds part of the time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type record TimeStamp {
Seconds seconds,
NanoSeconds nanoSeconds
}
/**
* @desc Application instance identifier
*/
type JSON.String AppInsId;
/**
* @desc Numeric value (0 - 255) corresponding to specific type of consumer
*/
type enumerated RequestType {
APPLICATION_SPECIFIC_BW_ALLOCATION (0),
SESSION_SPECIFIC_BW_ALLOCATION (1)
} with {
variant "JSON: as number"
}
/**
* @desc Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
*/
type record of SessionFilterItems SessionFilter;
/**
* @desc Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected
* @member sourceIp Source address identity of session (including range)
* @member sourcePort Source port identity of session
* @member dstAddress Destination address identity of session (including range)
* @member dstPort Destination port identity of session
* @member protocol Protocol number
*/
SourceIp sourceIp optional,
SourcePort sourcePort optional,
DstAddress dstAddress optional,
DstPort dstPort optional,
Protocol protocol optional
}
/**
* @desc Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
*/
type enumerated FixedBWPriority {
} with {
variant "JSON: as number"
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
}
/**
* @desc Size of requested fixed BW allocation in [bps]
*/
type JSON.String FixedAllocation;
/**
* @desc The seconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 Seconds;
/**
* @desc The nanoseconds part of the Time. Time is defined as Unix-time since January 1, 1970, 00:00:00 UTC
*/
type UInt32 NanoSeconds;
/**
* @desc The direction of the requested BW allocation
*/
type enumerated AllocationDirection {
Downlink,
Uplink,
Symmetrical
}
/**
* @desc Source address identity of session (including range)
*/
type JSON.String SourceIp;
/**
* @desc Source port identity of session
*/
type record of JSON.String SourcePort;
/**
* @desc Destination address identity of session (including range)
*/
type JSON.String DstAddress;
/**
* @desc Destination port identity of session
*/
type record of JSON.String DstPort;
/**
* @desc Protocol number
*/
type JSON.String Protocol;
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
251
252
253
254
255
256
257
258
259
260
261
262
/**
* @desc The information on access network connection
* @member timeStamp Time stamp to indicate when the corresponding information elements are sent
* @member mtsAccessInfo The information on access network connection as defined below
* @member mtsMode Numeric value corresponding to a specific MTS operation supported by the TMS
*/
type record MtsCapabilityInfo {
TimeStamp timeStamp optional,
MtsAccessInfos mtsAccessInfo,
MtsModes mtsMode
}
type enumerated MtsMode {
LowCost (0),
LowLatency (1),
HighThroughput (2),
Redundancy (3),
QoS (4)
} with {
variant "JSON: as number"
}
type record of MtsMode MtsModes;
/**
* @desc The information on access network connection as defined below
* @member accessId Unique identifier for the access network connection
* @member accessType Numeric value (0-255) corresponding to specific type of access network
* @member metered Numeric value (0-255)
*/
type record MtsAccessInfo {
AccessId accessId,
AccessType accessType,
Metered metered
}
type record of MtsAccessInfo MtsAccessInfos;
type UInt32 AccessId;
type enumerated AccessType {
Unknown (0),
IEEE802_11_Based (1),
ThreeGPP_Based (2),
Fixed_Access (3),
IEEE802_11abg (11),
IEEE802_11abgn (12),
IEEE802_11abgnac (13),
IEEE802_11abgnacax (14),
IEEE802_11bgn (15),
ThreeGPP_GERAN_UTRA (31),
ThreeGPP_E_UTRA (32),
Three3GPP_NR (33)
} with {
variant "JSON: as number"
}
type enumerated Metered {
CxNotMetered (0),
CxMetered (1),
Unknown (2)
} with {
variant "JSON: as number"
}
/**
* @desc The information on access network connection as defined below
* @member timeStamp Time stamp to indicate when the corresponding information elements are sent
* @member appInsId Application instance identifier
* @member requestType Numeric value (0 - 255) corresponding to specific type of consumer
* @member flowFilter Traffic flow filtering criteria, applicable only
* @member qosD QoS requirement description of the MTS session
* @member mtsMode Numeric value corresponding to a specific MTS operation
* @member trafficDirection The direction of the requested MTS session
supported by the TMS
*/
type record MtsSessionInfo {
TimeStamp timeStamp optional,
AppInsId appInsId,
RequestType requestType,
FlowFilter flowFilter optional,
QosD qosD,
MtsModes mtsMode,
TrafficDirection trafficDirection
}
type record of MtsSessionInfo MtsSessionInfos
type SessionFilter FlowFilter;
type AllocationDirection TrafficDirection;
/**
* @desc
* @member minTpt Minimal throughput in [kbps]
* @member maxLatency Tolerable (one-way) delay in [10 nanoseconds]
* @member maxLoss Tolerable packet loss rate in [1/10^x]
* @member maxJitter Tolerable jitter in [10 nanoseconds]
* @member priority numeric value (0 - 255) corresponding to the traffic priority
*/
type record QosD {
UInt32 minTpt optional,
UInt32 maxLatency optional,
UInt32 maxLoss optional,
UInt32 maxJitter optional,
Priority priority optional
}
type enumerated Priority {
Low (0),
Medium (1),
High (2),
Critical (3)
} with {
variant "JSON: as number"
}
} // End of module BwManagementAPI_TypesAndValues