-
Notifications
You must be signed in to change notification settings - Fork 253
/
TS26512_EventExposure.yaml
300 lines (287 loc) · 13.4 KB
/
TS26512_EventExposure.yaml
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
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
openapi: 3.0.0
info:
title: 5GMS Event Exposure
version: 1.0.0
description: |
5GMS Event Exposure syntax
© 2023, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC).
All rights reserved.
tags:
- name: 5GMS Event Exposure
description: '5G Media Streaming: Event Exposure'
externalDocs:
description: 'TS 26.512 V18.0.0; 5G Media Streaming (5GMS); Protocols'
url: 'https://www.3gpp.org/ftp/Specs/archive/26_series/26.512/'
paths: {}
components:
schemas:
BaseEventCollection:
type: object
description: Abstract base data type describing a collection of event records
required:
- collectionTimestamp
- startTimestamp
- endTimestamp
- sampleCount
- streamingDirection
- summarisations
- records
properties:
collectionTimestamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
# The date–time at which this collection was exposed by the Data Collection AF as an event to its subscribed event consumers.
startTimestamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
# Date–time of earliest data sample included in or summarised by this collection.
endTimestamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
# Date–time of latest data sample included in or summarised by this collection.
sampleCount:
type: integer
minimum: 1
description: The number of data samples included in or summarised by this collection.
streamingDirection:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ProvisioningSessionType'
summarisations:
type: array
minItems: 1
items:
$ref: 'TS26532_Ndcaf_DataReportingProvisioning.yaml#/components/schemas/DataAggregationFunctionType'
description: One or more data aggregation functions that have been applied to the UE data to produce summary records present in this collection.
records:
type: array
minItems: 0
items: {}
description: Type of record is defined by concrete data type.
BaseEventRecord:
type: object
description: Abstract base data type describing a single UE data record or summarising a set of UE data records.
required:
- recordType
- recordTimestamp
properties:
recordType:
$ref: '#/components/schemas/EventRecordType'
recordTimestamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
# The date–time at which the UE data carried in this record was sampled or summarised.
provisioningSessionId:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
# The identifier of the Provisioning Session to which this record pertains. Present only for individual data sample record type.
sessionId:
$ref: 'TS26512_CommonData.yaml#/components/schemas/MediaDeliverySessionId'
# A value synthesised by the 5GMS System that uniquely identifies the media streaming session to which this record pertains. Present only for individual data sample record type.
ueIdentification:
type: string
description: GPSI of the requesting UE or a stable globally unique string identifying the requesting Media Session Handler. Present only for individual data sample record type and only when exposure is permitted by the data exposure restrictions in force for the event type in question.
dataNetworkName:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn'
# Identifying the Data Network of the M4 media streaming session. Present only for individual data sample record type.
sliceId:
$ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai'
# The S-NSSAI identifying the Network Slice of the M4 media streaming session. Present only for individual data sample record type.
ueLocations:
type: array
minItems: 0
items:
$ref: 'TS29122_CommonData.yaml#/components/schemas/LocationArea5G'
description: The location of the UE when the data described by this record was sampled. Present only for individual data sample record type and only when exposure is permitted by the data exposure restrictions in force for the event in question.
EventRecordType:
description: Enumeration of event record types.
anyOf:
- type: string
enum: [INDIVIDUAL_SAMPLE, SUMMARY_MEAN, SUMMARY_MINIMUM, SUMMARY_MAXIMUM, SUMMARY_SUM]
- type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
QoEMetricsCollection:
description: A collection of QoE Metrics Event records.
allOf:
- $ref: '#/components/schemas/BaseEventCollection'
- type: object
required:
- records
properties:
records:
type: array
minItems: 0
items:
$ref: '#/components/schemas/QoEMetricsEvent'
description: A set of QoE Metrics Event records, each one describing a QoE metrics report or summarising a set of QoE metrics reports.
QoEMetricsEvent:
description: A QoE Metrics Event record.
allOf:
- $ref: '#/components/schemas/BaseEventRecord'
- type: object
required:
- metricType
properties:
metricType:
$ref: 'TS29122_CommonData.yaml#/components/schemas/Uri'
# A fully-qualified term identifier that uniquely identifies the QoE metrics reporting scheme and the type of QoE metric included in this record, as specified in clause E.2, up to but excluding the first hierarchical separator.
samples:
type: array
minItems: 1
items:
type: object
required:
- metrics
properties:
sampleTimestamp:
$ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime'
# The moment in time at which this QoE metric was sampled.
sampleDuration:
$ref: 'TS26512_CommonData.yaml#/components/schemas/Duration'
# The time duration over which this QoE metric was sampled.
mediaTimestamp:
$ref: 'TS26512_CommonData.yaml#/components/schemas/Duration'
# The time point in the media at which this QoE metric was sampled.
metrics:
type: array
minItems: 1
description: A set of key–value pairs for the samples metrics associated with this QoE metric sample.
items:
type: object
description: A name and optional value for a QoE metric within a QoE metric sample.
required:
- key
properties:
key:
type: string
description: A token that uniquely identifies the type of metric within the scope of the event type.
value: {}
ConsumptionReportingUnitsCollection:
description: A collection of Consumption Reporting Event records.
allOf:
- $ref: '#/components/schemas/BaseEventCollection'
- type: object
required:
- records
properties:
records:
type: array
minItems: 0
items:
$ref: '#/components/schemas/ConsumptionReportingEvent'
description: A set of records, each one describing a Consumption Reporting Unit.
ConsumptionReportingEvent:
description: A Consumption Reporting Event record, corresponding to a Consumption Reporting Unit.
allOf:
- $ref: '#/components/schemas/BaseEventRecord'
- type: object
required:
- unitDuration
- mediaPlayerEntryUrl
- mediaComponentIdentifier
properties:
unitDuration:
$ref: 'TS26512_CommonData.yaml#/components/schemas/Duration'
# The duration of this consumption reporting unit.
clientEndpointAddress:
$ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress'
# The endpoint address of the UE that consumed media.
serverEndpointAddress:
$ref: 'TS26512_CommonData.yaml#/components/schemas/EndpointAddress'
# The endpoint address of the 5GMS AS from which media was consumed.
mediaPlayerEntryUrl:
$ref: 'TS26512_CommonData.yaml#/components/schemas/AbsoluteUrl'
# The Media Player Entry URL to which this consumption reporting unit pertains.
mediaComponentIdentifier:
type: string
description: A token (e.g., an MPEG DASH representation identifier) identifying the media component of the Media Player Entry that was consumed during this consumption reporting unit.
NetworkAssistanceInvocationsCollection:
description: A collection of Network Assistance Invocation Event records.
allOf:
- $ref: '#/components/schemas/BaseEventCollection'
- type: object
required:
- records
properties:
records:
type: array
minItems: 0
items:
$ref: '#/components/schemas/NetworkAssistanceInvocationEvent'
description: A set of records, each one describing a Network Assistance invocation or summarising a set of Network Assistance invocations.
NetworkAssistanceInvocationEvent:
description: A Network Assistance Invocation Event record.
allOf:
- $ref: '#/components/schemas/BaseEventRecord'
- type: object
required:
- networkAssistanceType
properties:
networkAssistanceType:
$ref: '#/components/schemas/NetworkAssistanceType'
# The type of Network Assistance solicited by the Media Session Handler.
- $ref: 'TS26512_CommonData.yaml#/components/schemas/NetworkAssistanceInvocation'
NetworkAssistanceType:
description: The type of network assistance sought by the Media Session Handler.
anyOf:
- type: string
enum: [AF_THROUGHPUT_ESTIMATION, AF_DELIVERY_BOOST, ANBR_THROUGHPUT_ESTIMATION, ANBR_DELIVERY_BOOST]
- type: string
description: >
This string provides forward-compatibility with future
extensions to the enumeration but is not used to encode
content defined in the present version of this API.
DynamicPolicyInvocationsCollection:
description: A collection of Dynamic Policy Invocation Event records.
allOf:
- $ref: '#/components/schemas/BaseEventCollection'
- type: object
required:
- records
properties:
records:
type: array
minItems: 0
items:
$ref: '#/components/schemas/DynamicPolicyInvocationEvent'
description: A set of records, each one describing a dynamic policy invocation.
DynamicPolicyInvocationEvent:
description: A Dynamic Policy Invocation Event record.
allOf:
- $ref: '#/components/schemas/BaseEventRecord'
- type: object
required:
- policyTemplateId
properties:
policyTemplateId:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ResourceId'
serviceDataFlowDescriptions:
type: array
minItems: 1
items:
$ref: 'TS26512_CommonData.yaml#/components/schemas/ServiceDataFlowDescription'
description: The set of Service Data Flows to which the Media Session Handler requested that the Policy Template be applied. At least a domain name or one packet filter shall be present.
requestedQoS:
$ref: 'TS26512_CommonData.yaml#/components/schemas/UnidirectionalQoSSpecification'
# The network QoS parameters (if any) requested by the Media Session Handler.
enforcementMethod:
type: string
description: The policy enforcement method chosen by the 5GMS AF.
enforcementBitRate:
$ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate'
# The enforcement bit rate (if any) selected by the 5GMS AF.
MediaStreamingAccessesCollection:
description: A collection of Media Streaming Access Event records.
allOf:
- $ref: '#/components/schemas/BaseEventCollection'
- type: object
required:
- records
properties:
records:
type: array
minItems: 0
items:
$ref: '#/components/schemas/MediaStreamingAccessEvent'
description: A set of records, each one describing one media streaming access.
MediaStreamingAccessEvent:
description: A Media Streaming Access Event record.
allOf:
- $ref: '#/components/schemas/BaseEventRecord'
- $ref: 'TS26512_CommonData.yaml#/components/schemas/MediaStreamingAccess'