MEC029_FAI.yaml 80.3 KB
Newer Older
Muhammad Hamza's avatar
Muhammad Hamza committed
1
openapi: 3.1.0
Elian Kraja's avatar
Elian Kraja committed
2
3
info:
  title: "ETSI GS MEC 029 Fixed Access Information API"
4
  version: 2.2.1
Elian Kraja's avatar
Elian Kraja committed
5
6
7
  description: "ETSI GS MEC 029 Fixed Access Information API described using OpenAPI."
  license:
    name: BSD-3-Clause
Muhammad Hamza's avatar
Muhammad Hamza committed
8
    url: "https://forge.etsi.org/legal-matters"
Elian Kraja's avatar
Elian Kraja committed
9
  contact:
Elian Kraja's avatar
Elian Kraja committed
10
11
    name: ETSI Forge
    email: cti_support@etsi.org
Muhammad Hamza's avatar
Muhammad Hamza committed
12
    url: https://forge.etsi.org/rep/mec/gs029-fai-api
Elian Kraja's avatar
Elian Kraja committed
13
externalDocs:
14
15
  description: "ETSI GS MEC 029 Fixed Access Information API, v2.2.1"
  url: "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/029/02.02.01_60/gs_mec029v020201p.pdf"
Elian Kraja's avatar
Elian Kraja committed
16
servers:
Muhammad Hamza's avatar
Muhammad Hamza committed
17
  - url: "https://localhost/fai/v1"
Elian Kraja's avatar
Elian Kraja committed
18
tags:
19
  - name: Queries
piscione's avatar
piscione committed
20
    description: "APIs for Device and fa_info"
Muhammad Hamza's avatar
Muhammad Hamza committed
21
  - name: Subscription
piscione's avatar
piscione committed
22
    description: "Subscription API"
23
  - name: "Cable line info"
piscione's avatar
piscione committed
24
    description: "Cable line info API"
25
  - name: "Optical network info"
piscione's avatar
piscione committed
26
    description: "Optican network Info API"
Elian Kraja's avatar
Elian Kraja committed
27
paths:
Muhammad Hamza's avatar
Muhammad Hamza committed
28
29
30
31
32
33
34
35
  /queries/fa_info:
    get:
      tags:
        - "Queries"
      summary: "Retrieve information on the available fixed access networks."
      description: "Retrieve information on the available fixed access networks."
      operationId: fa_infoGET
      parameters:
Elian Kraja's avatar
Elian Kraja committed
36
37
38
        - in: query
          name: customerPremisesInfo
          schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
39
40
41
            type: array
            items:
              $ref: "#/components/schemas/CpInfo"
Elian Kraja's avatar
Elian Kraja committed
42
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
43
          description: "Comma separated list of customer premises information"
Elian Kraja's avatar
Elian Kraja committed
44
45
46
47
48
        - in: query
          name: lastMileTech
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
49
              type: integer
Elian Kraja's avatar
Elian Kraja committed
50
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
51
          description: "Comma separated list of last mile technologies."
Elian Kraja's avatar
Elian Kraja committed
52
53
54
55
56
        - in: query
          name: interfaceType
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
57
58
              type: integer
          description: "Comma separated list of interface types."
Elian Kraja's avatar
Elian Kraja committed
59
60
61
62
63
        - in: query
          name: dsbw
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
64
              type: integer
Elian Kraja's avatar
Elian Kraja committed
65
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
66
          description: "Comma separated list of the bandwidth (in Mbps) from the network towards the customer site."
Elian Kraja's avatar
Elian Kraja committed
67
68
69
70
71
        - in: query
          name: usbw
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
72
              type: integer
Elian Kraja's avatar
Elian Kraja committed
73
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
74
          description: "Comma separated list of the bandwidth (in Mbps) from the customer site towards the network."
Elian Kraja's avatar
Elian Kraja committed
75
76
77
78
79
        - in: query
          name: latency
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
80
              type: integer
Elian Kraja's avatar
Elian Kraja committed
81
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
82
83
84
85
          description: "Comma separated list of the maximum baseline latency (in ms) between customer site and service edge node."
      responses:
        "200":
          description: "A response body containing the FAI is returned. "
Elian Kraja's avatar
Elian Kraja committed
86
87
88
          content:
            application/json:
              schema:
89
90
91
                type: array
                items:
                  $ref: "#/components/schemas/FaInfo"
Muhammad Hamza's avatar
Muhammad Hamza committed
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"

  /queries/device_info:
    get:
      tags:
        - "Queries"
      summary: "retrieve information on the devices that are connected to a fixed access network."
      description: "retrieve information on the devices that are connected to a fixed access network."
      operationId: device_infoGET
      parameters:
Elian Kraja's avatar
Elian Kraja committed
107
108
109
        - in: query
          name: gwId
          schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
110
111
112
            type: array
            items:
              type: string
Elian Kraja's avatar
Elian Kraja committed
113
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
114
          description: "Comma separated list of gateway identifier"
Elian Kraja's avatar
Elian Kraja committed
115
116
117
118
119
        - in: query
          name: deviceId
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
120
              type: string
Elian Kraja's avatar
Elian Kraja committed
121
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
122
          description: "Comma separated list of device identifier."
Elian Kraja's avatar
Elian Kraja committed
123
124
125
126
127
        - in: query
          name: deviceStatus
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
128
129
130
131
132
              type: integer
          description: "Comma separated list of device status."

      responses:
        "200":
133
          description: "Upon success, a response body containing the information of zero or more devices is returned."
Elian Kraja's avatar
Elian Kraja committed
134
135
136
          content:
            application/json:
              schema:
137
138
139
                type: array
                items:
                 $ref: "#/components/schemas/DeviceInfo"
Muhammad Hamza's avatar
Muhammad Hamza committed
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"
        "404":
          $ref: "#/components/responses/404"
        "406":
          $ref: "#/components/responses/406"
        "429":
          $ref: "#/components/responses/429"

  /queries/cable_line_info:
    get:
      tags:
        - "Cable line info"
      summary: "It Queries information about the cable line of a fixed access network."
      description: "It Queries information about the cable line of a fixed access network."
      operationId: cable_line_infoGET
      parameters:
161
162
163
        - in: query
          name: customerPremisesInfo
          schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
164
165
166
            type: array
            items:
              $ref: "#/components/schemas/CpInfo"
167
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
168
          description: "Comma separated list of customer premises information"
169
170
171
172
173
        - in: query
          name: cmId
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
174
              type: string
175
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
176
177
178
179
          description: "Comma separated list of Cable Modem identifiers."

      responses:
        "200":
180
          description: "Upon success, a response body containing the information of zero or more cable lines is returned."
181
182
183
          content:
            application/json:
              schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
                $ref: "#/components/schemas/CableLineInfo"
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"
        "404":
          $ref: "#/components/responses/404"
        "406":
          $ref: "#/components/responses/406"
        "429":
          $ref: "#/components/responses/429"
  /queries/optical_network_info:
    get:
      tags:
        - "Optical network info"
      summary: "used to query information about the optical network."
      description: "used to query information about the optical network."
      operationId: optical_network_infoGET
      parameters:
205
206
207
        - in: query
          name: customerPremisesInfo
          schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
208
209
210
            type: array
            items:
              $ref: "#/components/schemas/CpInfo"
211
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
212
          description: "Comma separated list of customer premises information"
213
214
215
216
217
        - in: query
          name: ponYS_ID
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
218
              type: string
219
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
220
          description: "Comma separated list of optical system identifiers."
221
222
223
224
225
        - in: query
          name: onuId
          schema:
            type: array
            items:
Muhammad Hamza's avatar
Muhammad Hamza committed
226
              type: string
227
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
228
229
230
231
          description: "Comma separated list of optical network unit identifiers."

      responses:
        "200":
232
          description: "Upon success, a response body containing the information of zero or more optical networks is returned"
233
234
235
236
237
          content:
            application/json:
              schema:
                type: array
                items:
Muhammad Hamza's avatar
Muhammad Hamza committed
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
                  $ref: "#/components/schemas/PonInfo"
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"
        "404":
          $ref: "#/components/responses/404"
        "406":
          $ref: "#/components/responses/406"
        "429":
          $ref: "#/components/responses/429"

  /subscriptions:
    get:
      tags:
        - "Subscription"
      summary: "request information about the subscriptions for this requestor."
      description: "request information about the subscriptions for this requestor."
      operationId: subGET
      parameters:
260
261
262
        - in: query
          name: subscription_type
          schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
263
            type: string
264
          required: false
Muhammad Hamza's avatar
Muhammad Hamza committed
265

266
          description: "Query parameter to filter on a specific subscription type. Permitted values onu_alarm Optical Network Unit alarm  device_abnormal_alert Device abnormal alert - cm_connectivity_state Cable Modem connectivity state - ani_alarm Access Node Interface alarm"
Muhammad Hamza's avatar
Muhammad Hamza committed
267
268
269
      responses:
        "200":
          description: "A response body containing the list of links to requestor subscriptions is returned."
270
271
272
          content:
            application/json:
              schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
                $ref: "#/components/schemas/SubscriptionLinkList"
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"
        "404":
          $ref: "#/components/responses/404"
        "406":
          $ref: "#/components/responses/406"
        "429":
          $ref: "#/components/responses/429"
    post:
      tags:
        - "Subscription"
      summary: " create a new subscription to FAI notifications."
      description: " create a new subscription to FAI notifications."
      operationId: subPOST
      requestBody:
293
294
295
296
297
        required: true
        content:
          application/json:
            schema:
              oneOf:
Muhammad Hamza's avatar
Muhammad Hamza committed
298
299
300
301
302
303
304
305
                - $ref: "#/components/schemas/OnuAlarmSubscription"
                - $ref: "#/components/schemas/DevInfoSubscription"
                - $ref: "#/components/schemas/CmConnSubscription"
                - $ref: "#/components/schemas/AniAlarmSubscription"

      responses:
        "201":
          description: "In the returned NotificationSubscription structure, the created subscription is described using the appropriate data type."
306
307
308
          content:
            application/json:
              schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
                oneOf:
                  - $ref: "#/components/schemas/OnuAlarmSubscription"
                  - $ref: "#/components/schemas/DevInfoSubscription"
                  - $ref: "#/components/schemas/CmConnSubscription"
                  - $ref: "#/components/schemas/AniAlarmSubscription"
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"
        "404":
          $ref: "#/components/responses/404"
        "406":
          $ref: "#/components/responses/406"
        "415":
          $ref: "#/components/responses/415"
        "422":
          $ref: "#/components/responses/422"
        "429":
          $ref: "#/components/responses/429"

      callbacks:
        notification:
          "{$request.body#/callbackReference}":
334
            post:
Muhammad Hamza's avatar
Muhammad Hamza committed
335
336
              summary: "Callback POST used to send a notification"
              description: "A notification from FAIS."
337
338
339
340
341
342
343
344
              operationId: notificationPOST
              requestBody:
                description: Subscription notification
                required: true
                content:
                  application/json:
                    schema:
                      oneOf:
Muhammad Hamza's avatar
Muhammad Hamza committed
345
346
347
348
                        - $ref: "#/components/schemas/OnuAlarmNotification"
                        - $ref: "#/components/schemas/DevInfoNotification"
                        - $ref: "#/components/schemas/CmConnNotification"
                        - $ref: "#/components/schemas/AniAlarmNotification"
349
              responses:
Muhammad Hamza's avatar
Muhammad Hamza committed
350
351
                "204":
                  $ref: "#/components/responses/204"
piscione's avatar
piscione committed
352
353
                "400":
                  $ref: "#/components/responses/400"
354

Muhammad Hamza's avatar
Muhammad Hamza committed
355
356
357
358
359
360
361
362
  /subscriptions/{subscriptionId}:
    parameters:
      - in: path
        name: subscriptionId
        description: "Refers to created subscription, where the FAI API allocates a unique resource name for this subscription"
        schema:
          type: string
        required: true
363
364
365

    get:
      tags:
Muhammad Hamza's avatar
Muhammad Hamza committed
366
367
368
        - "Subscription"
      summary: "Retrieve information about this subscription."
      description: "Retrieve information about this subscription."
369
      operationId: individualSubscriptionGET
Muhammad Hamza's avatar
Muhammad Hamza committed
370

371
      responses:
Muhammad Hamza's avatar
Muhammad Hamza committed
372
373
        "200":
          description: "A response body containing data type describing the specific FAI event subscription is returned"
374
375
376
          content:
            application/json:
              schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
                oneOf:
                  - $ref: "#/components/schemas/OnuAlarmSubscription"
                  - $ref: "#/components/schemas/DevInfoSubscription"
                  - $ref: "#/components/schemas/CmConnSubscription"
                  - $ref: "#/components/schemas/AniAlarmSubscription"
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"
        "404":
          $ref: "#/components/responses/404"
        "406":
          $ref: "#/components/responses/406"
        "429":
          $ref: "#/components/responses/429"
394
395
396

    put:
      tags:
Muhammad Hamza's avatar
Muhammad Hamza committed
397
398
399
        - "Subscription"
      summary: "Used to update the existing subscription."
      description: "Used to update the existing subscription."
400
401
402
403
404
405
406
      operationId: individualSubscriptionPUT
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
Muhammad Hamza's avatar
Muhammad Hamza committed
407
408
409
410
                - $ref: "#/components/schemas/OnuAlarmSubscription"
                - $ref: "#/components/schemas/DevInfoSubscription"
                - $ref: "#/components/schemas/CmConnSubscription"
                - $ref: "#/components/schemas/AniAlarmSubscription"
411
      responses:
Muhammad Hamza's avatar
Muhammad Hamza committed
412
413
        "200":
          description: "A response body containing data type describing the updated subscription is returned"
414
415
416
          content:
            application/json:
              schema:
Muhammad Hamza's avatar
Muhammad Hamza committed
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
                oneOf:
                  - $ref: "#/components/schemas/OnuAlarmSubscription"
                  - $ref: "#/components/schemas/DevInfoSubscription"
                  - $ref: "#/components/schemas/CmConnSubscription"
                  - $ref: "#/components/schemas/AniAlarmSubscription"
        "400":
          $ref: "#/components/responses/400"
        "401":
          $ref: "#/components/responses/401"

        "403":
          $ref: "#/components/responses/403"

        "404":
          $ref: "#/components/responses/404"

        "406":
          $ref: "#/components/responses/406"

        "412":
          $ref: "#/components/responses/412"

        "422":
          $ref: "#/components/responses/422"

        "429":
          $ref: "#/components/responses/429"
444
445
    delete:
      tags:
Muhammad Hamza's avatar
Muhammad Hamza committed
446
447
448
        - "Subscription"
      summary: "Used to cancel the existing subscription."
      description: "Used to cancel the existing subscription."
449
450
      operationId: individualSubscriptionDELETE
      responses:
Muhammad Hamza's avatar
Muhammad Hamza committed
451
452
453
454
455
456
457
458
459
460
461
        "204":
          $ref: "#/components/responses/204"
        "401":
          $ref: "#/components/responses/401"
        "403":
          $ref: "#/components/responses/403"
        "404":
          $ref: "#/components/responses/404"
        "429":
          $ref: "#/components/responses/429"

Elian Kraja's avatar
Elian Kraja committed
462
463
464
components:
  schemas:
    AniAlarmNotification.alarm:
Muhammad Hamza's avatar
Muhammad Hamza committed
465
466
467
468
469
470
471
472
473
474
475
476
477
      description: "Indicates the alarm of the ANI: 0 = LowReceivedOpticalPower. 1 = HighReceivedOpticalPower. 2 = SignalFailure. 3 = SignalDegrade. 4 = LowTransmitOpticalPower.5 = HighTransmitOpticalPower.6 = LaserBiasCurrent."
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
      type: integer
      x-etsi-mec-cardinality: "1"
      x-etsi-mec-origin-type: Enum

Elian Kraja's avatar
Elian Kraja committed
478
479
    AniAlarmNotification.aniId:
      properties:
Muhammad Hamza's avatar
Muhammad Hamza committed
480
        onuId:
Elian Kraja's avatar
Elian Kraja committed
481
482
          description: The unique identifiers for the optical network unit.
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
483
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
484
          x-etsi-mec-origin-type: String
Muhammad Hamza's avatar
Muhammad Hamza committed
485
        aniIndex:
Elian Kraja's avatar
Elian Kraja committed
486
487
          description: The index of an access network interface supported by the optical network unit.
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
488
489
          x-etsi-mec-cardinality: "1"
          x-etsi-mec-origin-type: String
Elian Kraja's avatar
Elian Kraja committed
490
      required:
Muhammad Hamza's avatar
Muhammad Hamza committed
491
492
493
        - onuId
        - aniIndex

Elian Kraja's avatar
Elian Kraja committed
494
495
496
    AniAlarmNotification:
      properties:
        alarm:
Muhammad Hamza's avatar
Muhammad Hamza committed
497
          $ref: "#/components/schemas/AniAlarmNotification.alarm"
Elian Kraja's avatar
Elian Kraja committed
498
        aniId:
Muhammad Hamza's avatar
Muhammad Hamza committed
499
500
          $ref: "#/components/schemas/AniAlarmNotification.aniId"

Elian Kraja's avatar
Elian Kraja committed
501
502
503
        customerPremisesInfo:
          description: The physical location of the related customer sites.
          items:
Muhammad Hamza's avatar
Muhammad Hamza committed
504
            $ref: "#/components/schemas/CpInfo"
Elian Kraja's avatar
Elian Kraja committed
505
506
507
508
509
510
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: CpInfo
        notificationType:
          description: Shall be set to "AniAlarmNotification".
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
511
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
512
513
514
515
516
517
518
          x-etsi-mec-origin-type: String
        onuId:
          type: string
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
519
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
520
      required:
Muhammad Hamza's avatar
Muhammad Hamza committed
521
522
523
        - notificationType
        - aniIndex
        - alarm
Elian Kraja's avatar
Elian Kraja committed
524
525
      type: object
      x-etsi-ref: 6.4.6
Muhammad Hamza's avatar
Muhammad Hamza committed
526

Elian Kraja's avatar
Elian Kraja committed
527
    AniAlarmSubscription.filterCriteriaAniAlarm.alarms:
Muhammad Hamza's avatar
Muhammad Hamza committed
528
529
530
531
532
533
534
535
536
537
538
539
      description: "In case alarms is not included in the subscription request, the default value -1 = All shall be used and included in the response:\n0  =\tLowReceivedOpticalPower.\n(Received downstream optical power below threshold.)\n1  =\tHighReceivedOpticalPower.\n\t(Received downstream optical power above threshold.)\n2  =\tSignalFalure.\n(Bit error-based signal fail.)\n3  =\tSignalDegrade.\n(Bit error-based signal degrade.)\n4  =\tLowTransmitOpticalPower.\n(Transmit optical power below lower threshold.)\n5  =\tHighTransmitOpticalPower.\n(Transmit optical power above upper threshold.)\n6  =\tLaserBiasCurrent.\n(Laser bias current above threshold determined by vendor.)\n-1 =\tAll."
      enum:
        - 0
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - -1
      type: integer

Elian Kraja's avatar
Elian Kraja committed
540
    AniAlarmSubscription.links:
Muhammad Hamza's avatar
Muhammad Hamza committed
541
542
543
544
545
546
547
548
549
      properties:
        self:
          # description': Self referring URI. The URI shall be unique within the FAI API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: "#/components/schemas/LinkType"
      required:
        - self

Elian Kraja's avatar
Elian Kraja committed
550
    AniAlarmSubscription.filterCriteriaAniAlarm:
Muhammad Hamza's avatar
Muhammad Hamza committed
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
      description: "List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response."
      required:
        - onuId
        - aniId
      properties:
        customerPremisesInfo:
          required:
            - onuId
            - aniId
          description: 0 to N physical locations of the customer sites.
          type: array
          items:
            $ref: "#/components/schemas/CpInfo"

          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: CpInfo
        onuId:
          description: "1 to N unique identifiers for the optical network units.  Typical it is the unique serial number for each ONU, which contains the vendor ID and version number. The first four bytes are an ASCII-encoded four-letter vendor ID. The second four bytes are a binary encoded serial number, under the control of the ONU vendor."
          type: array
          items:
            type: string
            x-etsi-mec-cardinality: "1..N"
            x-etsi-mec-origin-type: String

        aniId:
          description: ""
          type: object
Elian Kraja's avatar
Elian Kraja committed
578
          required:
Muhammad Hamza's avatar
Muhammad Hamza committed
579
580
            - onuId
            - aniIndex
Elian Kraja's avatar
Elian Kraja committed
581
582
          properties:
            onuId:
Muhammad Hamza's avatar
Muhammad Hamza committed
583
584
585
586
587
588
589
590
591
592
              description: "The unique identifiers for the optical network unit"
              type: string
            aniIndex:
              description: "The index of an access network interface supported by the optical network unit"
              type: string
        alarms:
          type: array
          items:
            $ref: "#/components/schemas/AniAlarmSubscription.filterCriteriaAniAlarm.alarms"

Elian Kraja's avatar
Elian Kraja committed
593
594
595
    AniAlarmSubscription:
      properties:
        subscriptionType:
Muhammad Hamza's avatar
Muhammad Hamza committed
596
597
          description: 'Shall be set to \"AniAlarmSubscription\"'
          type: string
Elian Kraja's avatar
Elian Kraja committed
598
        _links:
Muhammad Hamza's avatar
Muhammad Hamza committed
599
          $ref: "#/components/schemas/AniAlarmSubscription.links"
Elian Kraja's avatar
Elian Kraja committed
600
601
602
        aniIndex:
          description: The index of an access network interface supported by the optical network unit.
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
603
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
604
605
          x-etsi-mec-origin-type: String
        callbackReference:
606
          description: URI exposed by the client on which to receive notifications via HTTP. At least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to FAIS to choose an alternative and return only that alternative in the response, as described in ETSI GS MEC 009, clause 6.12a.
Elian Kraja's avatar
Elian Kraja committed
607
608
          format: uri
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
609
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
610
          x-etsi-mec-origin-type: URI
611
612
613
614
615
616
        requestTestNotification:
          description: Shall be set to TRUE by the service consumer to request
          type: boolean      
        websockNotifConfig:
          description: Provides details to negotiate and signal the use of a Websocket connection between FAIS and the service consumer for notifications. At least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to FAIS to choose an alternative and return only that alternative in the response, as described in ETSI GS MEC 009, clause 6.12a.
          $ref: "#/components/schemas/WebsockNotifConfig" 
Elian Kraja's avatar
Elian Kraja committed
617
618
619
620
        expiryDeadline:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
621
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
622
        filterCriteriaAniAlarm:
Muhammad Hamza's avatar
Muhammad Hamza committed
623
          $ref: "#/components/schemas/AniAlarmSubscription.filterCriteriaAniAlarm"
Elian Kraja's avatar
Elian Kraja committed
624
      required:
Muhammad Hamza's avatar
Muhammad Hamza committed
625
626
627
628
629
        - subscriptionType
        - callbackReference
        - filterCriteriaAniAlarm
        - onuId
        - aniIndex
Elian Kraja's avatar
Elian Kraja committed
630
631
      type: object
      x-etsi-ref: 6.3.6
Muhammad Hamza's avatar
Muhammad Hamza committed
632
633


634
635
636
    CableLineInfo.cmStatus:
      description: "It provides CM connectivity status information of the CM."
      type: object
Muhammad Hamza's avatar
Muhammad Hamza committed
637
638
      required:
        - ifIndex
639
640
641
642
643
644
        - cmRegState
        - resets
        - lostSyncs
        - invalidRegRsps
        - energyMgt1x1OperStatus
        - emDlsOperStatus
Muhammad Hamza's avatar
Muhammad Hamza committed
645
646
      properties:
        ifIndex:
647
          description: "It denotes the MAC Domain interface index of the CM."
Muhammad Hamza's avatar
Muhammad Hamza committed
648
          type: string
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
        cmRegState:
          type: integer
          description: "It indicates the CM connectivity state. Enumeration of:  1 = notReady. 2 = notSynchronized. 3 = phySynchronized. 4 = dsTopologyResolutionInProgress.5 = usParametersAcquired. 6 = rangingInProgress.7 = rangingComplete. 8 = eaeInProgress.9 = dhcpv4InProgress. 10 = dhcpv6InProgress.11 = dhcpV4Complete.12 = dhcpV6Complete.13 = todEstablished.14 = securityEstablished.15 = configFileDownloadComplete.16 = registrationInProgress.17 = registrationComplete. 18 = accessDenied. 19 =operational. 20 = bpiInit.21 =forwardingDisabled. 22 = rangingInProgress. 23 = rfMuteAll."
          enum:
          - 1
          - 2
          - 3
          - 4
          - 5
          - 6
          - 7
          - 8
          - 9
          - 10
          - 11
          - 12
          - 13
          - 14
          - 15
          - 16
          - 17
          - 18
          - 19
          - 20
          - 21
          - 22
          - 23   
        resets:
          description: "It denotes the number of times the CM reset or initialized this interface."
Muhammad Hamza's avatar
Muhammad Hamza committed
678
679
          type: integer
        lostSyncs:
680
          description: "It denotes the number of times the CM lost synchronization with the downstream channel."
Muhammad Hamza's avatar
Muhammad Hamza committed
681
          type: integer
682
683
        invalidRegRsps:
          description: "It denotes the number of times the CM received invalid registration response messages."
Muhammad Hamza's avatar
Muhammad Hamza committed
684
          type: integer
685
686
687
688
689
690
691
692
693
694
        energyMgt1x1OperStatus:
          description: "It indicates whether the CM is currently operating in Energy Management 1x1 Mode."
          type: boolean
        emDlsOperStatus:
          description: "It indicates whether the CM is currently operating in Energy Management DLS Mode."
          type: boolean          



    CableLineInfo.cmDpvStats:
Muhammad Hamza's avatar
Muhammad Hamza committed
695
696
      required:
        - ifIndex
697
698
699
700
701
702
        - lastMeasLatency
        - lastMeasTime
        - minLatency
        - maxLatency
        - avgLatency
        - numMeas
Muhammad Hamza's avatar
Muhammad Hamza committed
703
704
705
706
707
      properties:
        ifIndex:
          description: It represents the interface Index of the Downstream Interface where the measurements are taken.
          type: string
        lastMeasLatency:
708
          description: The last latency measurement
Muhammad Hamza's avatar
Muhammad Hamza committed
709
710
          type: integer
        lastMeasTime:
711
712
713
714
         $ref: "#/components/schemas/TimeStamp"
        minLatency:
          description: The minimum latency measurement.
          type: integer
Muhammad Hamza's avatar
Muhammad Hamza committed
715
716
717
        maxLatency:
          description: The maximum latency measurement.
          type: integer
718
719
        avgLatency:
          description: The average latency measurement.
Muhammad Hamza's avatar
Muhammad Hamza committed
720
721
722
723
724
          type: integer
        numMeas:
          description: The number of latency measurements made.
          type: integer

725
726
727
728
729
730
731
732
733
734
    CableLineInfo.serviceFlowStats.serviceFlowInfo:
      type: object
      required:
         - serviceFlowId
         - description
         - timeCreated
         - timeActive
         - policedDropPkts
         - policedDelayPkts
         - aqmDroppedPkts
Muhammad Hamza's avatar
Muhammad Hamza committed
735
      properties:
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
          serviceFlowId:
            description: It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain.
            type: integer
          pkts:
            description: For outgoing Service Flows, this attribute counts the number of Packet Data PDUs forwarded to this Service Flow. For incoming upstream CMTS service flows, this attribute counts the number of Packet Data PDUs actually received on the Service Flow identified by the SID for which the packet was scheduled.
            type: integer
          timeCreated:
            description: For outgoing Service Flows, this attribute counts the number of Packet Data PDUs forwarded to this Service Flow. For incoming upstream CMTS service flows, this attribute counts the number of Packet Data PDUs actually received on the Service Flow identified by the SID for which the packet was scheduled.
            $ref: "#/components/schemas/TimeStamp"
          timeActive:
            description: FIt indicates the number of seconds that the service flow has been active
            type: integer
          policedDropPkts:
            description: For upstream service flows, this attribute counts the number of Packet Data PDUs classified to this service flow dropped due to 1) exceeding the selected Buffer Size for the service flow; or 2) UGS packets dropped due to exceeding the Unsolicited Grant Size with a Request/Transmission policy that requires such packets to be dropped.
            type: integer
          policedDelayPkts:
            description: It counts only outgoing packets delayed in order to maintain the Maximum Sustained Traffic Rate.
            type: integer
          aqmDroppedPkts:
            description: For upstream service flows on which AQM is enabled, this attribute counts the number of Packet Data PDUs classified to this service flow dropped due to Active Queue Management drop decisions.
            type: integer

    CableLineInfo.serviceFlowStats:
      type: object
      required:
        - ifIndex
        - serviceFlowInfo
piscione's avatar
piscione committed
763
764
765
766
767
768
769
770
771
      properties:
        ifIndex:
            description: It represents the interface index of the MAC Domain of the Service Flow.
            type: string
        serviceFlowInfo:
            description: It represents the information of a Service Flow.
            type: array
            items:
                $ref: "#/components/schemas/CableLineInfo.serviceFlowStats.serviceFlowInfo"
Muhammad Hamza's avatar
Muhammad Hamza committed
772

773
774
    CableLineInfo:
      type: object
Muhammad Hamza's avatar
Muhammad Hamza committed
775
      required:
776
        - customerPremisesInfo
Muhammad Hamza's avatar
Muhammad Hamza committed
777
778
779
780
781
782
783
        - cmId
      properties:
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: "#/components/schemas/TimeStamp"
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
        customerPremisesInfo:
          # description': The physical location of a customer site.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': CpInfo
          $ref: "#/components/schemas/CpInfo"          
        cmId:
          type: string
          description: Information (typically the serial number) to identify a Cable Modem at subscriber locations intended for use in conveying data communications on a cable data system.
                        This value SHALL remain fixed over the lifetime of the device, including across firmware updates.        
        cmStatus:
          $ref: "#/components/schemas/CableLineInfo.cmStatus"
        cmDpvStats:
           $ref: "#/components/schemas/CableLineInfo.cmDpvStats"
        serviceFlowStats:
          $ref: "#/components/schemas/CableLineInfo.serviceFlowStats"
Muhammad Hamza's avatar
Muhammad Hamza committed
799
800
      x-etsi-ref: 6.2.4

801
    CmConnNotification.cmIf.cmRegState:
802
      description: "It indicates the CM connectivity state. Enumeration of  1 = notReady. 2 = notSynchronized. 3 = phySynchronized. 4 = dsTopologyResolutionInProgress.5 = usParametersAcquired. 6 = rangingInProgress.7 = rangingComplete. 8 = eaeInProgress.9 = dhcpv4InProgress. 10 = dhcpv6InProgress.11 = dhcpV4Complete.12 = dhcpV6Complete.13 = todEstablished.14 = securityEstablished.15 = configFileDownloadComplete.16 = registrationInProgress.17 = registrationComplete. 18 = accessDenied. 19 =operational. 20 = bpiInit.21 =forwardingDisabled. 22 = rangingInProgress. 23 = rfMuteAll."
Muhammad Hamza's avatar
Muhammad Hamza committed
803
      enum:
Elian Kraja's avatar
Elian Kraja committed
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
        - 20
        - 21
Muhammad Hamza's avatar
Muhammad Hamza committed
825
826
      type: integer

Elian Kraja's avatar
Elian Kraja committed
827
    CmConnNotification.cmIf:
Muhammad Hamza's avatar
Muhammad Hamza committed
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
      description: ""
      properties:
        cmId:
          description: The Cable Modem identifier.
          type: string
          x-etsi-mec-cardinality: "1"
          x-etsi-mec-origin-type: String
        cmRegState:
          items:
            $ref: "#/components/schemas/CmConnNotification.cmIf.cmRegState"
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: Enum
        ifIndex:
          description: The MAC Domain interface index of the CM.
          items:
            type: string
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: String
      required:
        - cmId
        - ifIndex
        - cmRegState

Elian Kraja's avatar
Elian Kraja committed
855
    CmConnNotification:
Muhammad Hamza's avatar
Muhammad Hamza committed
856
      required:
Elian Kraja's avatar
Elian Kraja committed
857
858
        - notificationType
        - cmIf
Muhammad Hamza's avatar
Muhammad Hamza committed
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
      properties:
        cmIf:
          type: array
          items:
            $ref: "#/components/schemas/CmConnNotification.cmIf"
        customerPremisesInfo:
          # description': The physical location of a customer site.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': CpInfo
          $ref: "#/components/schemas/CpInfo"
        notificationType:
          description: 'Shall be set to \"CmconnNotification\".'
          type: string
          x-etsi-mec-cardinality: "1"
          x-etsi-mec-origin-type: String
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: "#/components/schemas/TimeStamp"
      type: object

      x-etsi-ref: 6.4.4

Elian Kraja's avatar
Elian Kraja committed
883
    CmConnSubscription.links:
Muhammad Hamza's avatar
Muhammad Hamza committed
884
885
886
887
888
889
890
891
892
893
894
      description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
      properties:
        self:
          # description': Self referring URI. The URI shall be unique within the FAI API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: "#/components/schemas/LinkType"
      required:
        - self
      type: object
      x-etsi-mec-cardinality: 0..1
895
896

    CmConnSubscription.filterCriteriaCmConn.cmIf.cmRegState:
Muhammad Hamza's avatar
Muhammad Hamza committed
897
898
      description: "It indicates the CM connectivity state. Enumeration of:  1 = notReady. 2 = notSynchronized. 3 = phySynchronized. 4 = dsTopologyResolutionInProgress.5 = usParametersAcquired. 6 = rangingInProgress.7 = rangingComplete. 8 = eaeInProgress.9 = dhcpv4InProgress. 10 = dhcpv6InProgress.11 = dhcpV4Complete.12 = dhcpV6Complete.13 = todEstablished.14 = securityEstablished.15 = configFileDownloadComplete.16 = registrationInProgress.17 = registrationComplete. 18 = accessDenied. 19 =operational. 20 = bpiInit.21 =forwardingDisabled."
      enum:
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
        - 13
        - 14
        - 15
        - 16
        - 17
        - 18
        - 19
        - 20
        - 21
Muhammad Hamza's avatar
Muhammad Hamza committed
920
921
      type: integer

Elian Kraja's avatar
Elian Kraja committed
922
    CmConnSubscription.filterCriteriaCmConn.cmIf:
Muhammad Hamza's avatar
Muhammad Hamza committed
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
      description: ""
      properties:
        cmId:
          description: The identifier of a Cable Modem at subscriber locations intended for use in conveying data communications on a cable data system.
          type: string
          x-etsi-mec-cardinality: "1"
          x-etsi-mec-origin-type: String
        cmRegState:
          items:
            $ref: "#/components/schemas/CmConnSubscription.filterCriteriaCmConn.cmIf.cmRegState"
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: Enum
        ifIndex:
          description: The MAC Domain interface index of the CM.
          items:
            type: string
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: String
      required:
        - cmId
        - ifIndex
        - cmRegState
    CmConnSubscription.filterCriteriaCmConn:
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
      properties:
        cmIf:
          type: array
          items:
            $ref: "#/components/schemas/CmConnSubscription.filterCriteriaCmConn.cmIf"
        customerPremisesInfo:
          # description': The physical location of a customer site.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': CpInfo
          $ref: "#/components/schemas/CpInfo"

      type: object
      x-etsi-mec-cardinality: "1"

Elian Kraja's avatar
Elian Kraja committed
965
966
967
    CmConnSubscription:
      properties:
        _links:
Muhammad Hamza's avatar
Muhammad Hamza committed
968
          $ref: "#/components/schemas/CmConnSubscription.links"
Elian Kraja's avatar
Elian Kraja committed
969
        callbackReference:
970
          description: URI exposed by the client on which to receive notifications via HTTP. At least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to FAIS to choose an alternative and return only that alternative in the response, as described in ETSI GS MEC 009, clause 6.12a.
Elian Kraja's avatar
Elian Kraja committed
971
972
          format: uri
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
973
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
974
          x-etsi-mec-origin-type: URI
975
976
977
978
979
980
        requestTestNotification:
          description: Shall be set to TRUE by the service consumer to request
          type: boolean      
        websockNotifConfig:
          description: Provides details to negotiate and signal the use of a Websocket connection between FAIS and the service consumer for notifications. At least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to FAIS to choose an alternative and return only that alternative in the response, as described in ETSI GS MEC 009, clause 6.12a.
          $ref: "#/components/schemas/WebsockNotifConfig" 
Elian Kraja's avatar
Elian Kraja committed
981
982
983
984
        expiryDeadline:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
985
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
986
        filterCriteriaCmConn:
Muhammad Hamza's avatar
Muhammad Hamza committed
987
          $ref: "#/components/schemas/CmConnSubscription.filterCriteriaCmConn"
Elian Kraja's avatar
Elian Kraja committed
988
989
990
        subscriptionType:
          description: Shall be set to "CmConnSubscription".
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
991
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
992
993
          x-etsi-mec-origin-type: String
      required:
Muhammad Hamza's avatar
Muhammad Hamza committed
994
995
        - subscriptionType
        - filterCriteriaCmConn
Elian Kraja's avatar
Elian Kraja committed
996
997
998
999
1000
1001
      type: object
      x-etsi-notes: "NOTE:\t'notReady' indicates that the CM has not started the registration process yet.\n\t'notSynchronized' indicates that the CM has not initiated or completed the synchronization of the downstream physical layer.\n\t'phySynchronized' indicates that the CM has completed the synchronization of the downstream physical layer.\n\t'dsTopologyResolutionInProgress' indicates that the CM is attempting to determine its MD-DS-SG.\n\t'usParametersAcquired' indicates that the CM has completed the upstream parameters acquisition or have completed the downstream and upstream service groups resolution.\n\t'rangingInProgress' indicates that the CM has initiated the initial ranging process.\n\t'rangingComplete' indicates that the CM has completed initial ranging and received a Ranging Status of success from the CMTS in the RNG-RSP message.\n\t'eaeInProgress' indicates that the CM has sent an Auth Info message for EAE.\n\t'dhcpv4InProgress' indicates that the CM has sent a DHCPv4 DISCOVER to gain IP connectivity.\n\t'dhcpv6InProgress' indicates that the CM has sent a DHCPv6 Solicit message.\n\t'dhcpv4Complete' indicates that the CM has received a DHCPv4 ACK message from the CMTS.\n\t'dhcpv6Complete' indicates that the CM has received a DHCPv6 Reply message from the CMTS.\n\t'todEstablished' indicates that the CM has successfully acquired time of day.\n\t'securityEstablished' indicates that the CM has successfully completed the BPI initialization process.\n\t'configFileDownloadComplete' indicates that the CM has completed the config file download process.\n\t'registrationInProgress' indicates that the CM has sent a Registration Request.\n\t'registrationComplete' indicates that the CM has successfully completed the Registration process with the CMTS.\n\t'accessDenied' indicates that the CM has received a registration aborted notification from the CMTS.\n\t'operational' indicates that the CM has completed all necessary initialization steps and is operational.\n\t'bpiInit' indicates that the CM has started the BPI initialization process as indicated in the CM config file.\n\t'forwardingDisabled' indicates that the registration process was completed, but the network access option in the received configuration file prohibits forwarding."
      x-etsi-ref: 6.3.4
    CpInfo:
      properties:
        latitude:
1002
          description: "Latitude (DATUM=WGS84) -90 to 90 in decimal degree format DDD.ddd"
Elian Kraja's avatar
Elian Kraja committed
1003
1004
1005
1006
1007
          format: Float
          type: number
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Float
        longitude:
1008
          description: "Longitude (DATUM=WGS84) -180 to 180 in decimal degree format DDD.ddd"
Elian Kraja's avatar
Elian Kraja committed
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
          format: Float
          type: number
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: Float
        postalCode:
          description: Postal code for the location
          type: string
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: String
      type: object
      x-etsi-ref: 6.5.3
    DevInfoNotification:
      properties:
        deviceErrStatus:
Muhammad Hamza's avatar
Muhammad Hamza committed
1023
          $ref: "#/components/schemas/deviceErrStatus"
Elian Kraja's avatar
Elian Kraja committed
1024
        #  x-etsi-mec-cardinality: '1'
Muhammad Hamza's avatar
Muhammad Hamza committed
1025
        # x-etsi-mec-origin-type: Enum
Elian Kraja's avatar
Elian Kraja committed
1026
1027
1028
        deviceId:
          description: The identifier for a device.
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
1029
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1030
1031
1032
1033
          x-etsi-mec-origin-type: String
        notificationType:
          description: Shall be set to "DevInfoNotification".
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
          x-etsi-mec-cardinality: "1"
          x-etsi-mec-origin-type: String
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
          $ref: "#/components/schemas/TimeStamp"
      required:
        - notificationType
        - deviceId
        - deviceErrStatus
      type: object
      x-etsi-ref: 6.4.3

    deviceErrStatus:
      description: "The abnormal operational status of the device. Enumeration of:  1 = Error. 2 = Disabled."
      enum:
        - 1
        - 2
      type: integer

    DevInfoSubscription.links:
      description: Hyperlink related to the resource. This shall be only included in the HTTP responses and in HTTP PUT requests.
      properties:
        self:
          # description': Self referring URI. The URI shall be unique within the FAI API as it acts as an ID for the subscription.
          # x-etsi-mec-cardinality': '1'
          # x-etsi-mec-origin-type': LinkType
          $ref: "#/components/schemas/LinkType"
      required:
        - self
      type: object
      x-etsi-mec-cardinality: 0..1

    DevInfoSubscription.filterCriteriaDevInfo:
      description: List of filtering criteria for the subscription. Any filtering criteria from below, which is included in the request, shall also be included in the response.
      properties:
        deviceErrStatus:
          items:
            $ref: "#/components/schemas/deviceErrStatus"
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: Enum
        deviceId:
          description: The device identifier.
          items:
            type: string
          type: array
          x-etsi-mec-cardinality: 0..N
          x-etsi-mec-origin-type: String
        gwId:
          description: The identifier of an Internet Gateway Device through which the customer premises device is connected.
          items:
            type: string
          type: array
          x-etsi-mec-cardinality: 0..N
Elian Kraja's avatar
Elian Kraja committed
1090
1091
          x-etsi-mec-origin-type: String
      type: object
Muhammad Hamza's avatar
Muhammad Hamza committed
1092
1093
      x-etsi-mec-cardinality: "1"

Elian Kraja's avatar
Elian Kraja committed
1094
1095
1096
    DevInfoSubscription:
      properties:
        _links:
Muhammad Hamza's avatar
Muhammad Hamza committed
1097
          $ref: "#/components/schemas/DevInfoSubscription.links"
Elian Kraja's avatar
Elian Kraja committed
1098
        callbackReference:
1099
          description: URI exposed by the client on which to receive notifications via HTTP. At least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to FAIS to choose an alternative and return only that alternative in the response, as described in ETSI GS MEC 009, clause 6.12a.
Elian Kraja's avatar
Elian Kraja committed
1100
1101
          format: uri
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
1102
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1103
          x-etsi-mec-origin-type: URI
1104
1105
1106
1107
1108
1109
        requestTestNotification:
          description: Shall be set to TRUE by the service consumer to request
          type: boolean      
        websockNotifConfig:
          description: Provides details to negotiate and signal the use of a Websocket connection between FAIS and the service consumer for notifications. At least one of callbackReference and websockNotifConfig shall be provided by the service consumer. If both are provided, it is up to FAIS to choose an alternative and return only that alternative in the response, as described in ETSI GS MEC 009, clause 6.12a.
          $ref: "#/components/schemas/WebsockNotifConfig" 
Elian Kraja's avatar
Elian Kraja committed
1110
1111
1112
1113
        expiryDeadline:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
1114
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
1115
        filterCriteriaDevInfo:
Muhammad Hamza's avatar
Muhammad Hamza committed
1116
          $ref: "#/components/schemas/DevInfoSubscription.filterCriteriaDevInfo"
Elian Kraja's avatar
Elian Kraja committed
1117
1118
1119
        subscriptionType:
          description: Shall be set to "DevInfoSubscription".
          type: string
Muhammad Hamza's avatar
Muhammad Hamza committed
1120
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1121
1122
          x-etsi-mec-origin-type: String
      required:
Muhammad Hamza's avatar
Muhammad Hamza committed
1123
1124
1125
        - subscriptionType
        - callbackReference
        - filterCriteriaDevInfo
Elian Kraja's avatar
Elian Kraja committed
1126
1127
      type: object
      x-etsi-ref: 6.3.3
Muhammad Hamza's avatar
Muhammad Hamza committed
1128

Elian Kraja's avatar
Elian Kraja committed
1129
    DeviceInfo.deviceStatus:
Muhammad Hamza's avatar
Muhammad Hamza committed
1130
1131
1132
1133
1134
1135
1136
1137
1138
      description: "Current operational status of the device. Enumeration of: 1 = Up. 2 = Initializing. 3 = Error. 4 = Disabled."
      enum:
        - 1
        - 2
        - 3
        - 4
      type: integer
      x-etsi-mec-cardinality: "1"
      x-etsi-mec-origin-type: Enum
Elian Kraja's avatar
Elian Kraja committed
1139
1140
1141
    DeviceInfo:
      properties:
        deviceId:
Muhammad Hamza's avatar
Muhammad Hamza committed
1142
          description: "Typically, the serial number of the device.This value shall remain fixed over the lifetime of the device, including across firmware updates."
1143
          type: string
1144
          x-etsi-mec-cardinality: 0..1
Elian Kraja's avatar
Elian Kraja committed
1145
1146
          x-etsi-mec-origin-type: String
        deviceStatus:
Muhammad Hamza's avatar
Muhammad Hamza committed
1147
          $ref: "#/components/schemas/DeviceInfo.deviceStatus"
Elian Kraja's avatar
Elian Kraja committed
1148
1149
1150
1151
        downloadDiagnostics:
          # description': The result of a HTTP and FTP DownloadDiagnostics Test.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': DownloadDiagnostics
Muhammad Hamza's avatar
Muhammad Hamza committed
1152
          $ref: "#/components/schemas/DownloadDiagnostics"
Elian Kraja's avatar
Elian Kraja committed
1153
        gwId:
Muhammad Hamza's avatar
Muhammad Hamza committed
1154
          description:
1155
            "Information (typically the serial number) to identify an Internet Gateway Device through which the customer premises device is connected. This value shall remain fixed over the lifetime of the device, including across firmware updates."
Elian Kraja's avatar
Elian Kraja committed
1156
1157
1158
1159
1160
1161
1162
1163
1164
          items:
            type: string
          minItems: 1
          type: array
          x-etsi-mec-cardinality: 1..N
          x-etsi-mec-origin-type: String
        iPConnectionUpTime:
          description: The time in seconds that the IP interface has been connected.
          type: integer
Muhammad Hamza's avatar
Muhammad Hamza committed
1165
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1166
1167
1168
1169
1170
          x-etsi-mec-origin-type: Integer
        iPPingDiagnostics:
          # description': The result of an IP-layer ping test.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': IPPingDiagnostics
Muhammad Hamza's avatar
Muhammad Hamza committed
1171
          $ref: "#/components/schemas/IPPingDiagnostics"
Elian Kraja's avatar
Elian Kraja committed
1172
1173
1174
1175
        timeStamp:
          # description': Time stamp.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
1176
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
1177
1178
1179
        totalBytesReceived:
          description: Total number of IP payload bytes received since the device was last restarted.
          type: integer
Muhammad Hamza's avatar
Muhammad Hamza committed
1180
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1181
1182
1183
1184
          x-etsi-mec-origin-type: Integer
        totalBytesSent:
          description: Total number of IP payload bytes sent since the device was last restarted.
          type: integer
Muhammad Hamza's avatar
Muhammad Hamza committed
1185
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1186
1187
1188
1189
          x-etsi-mec-origin-type: Integer
        totalPacketsReceived:
          description: Total number of packets received since the device was last restarted.
          type: integer
Muhammad Hamza's avatar
Muhammad Hamza committed
1190
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1191
1192
1193
1194
          x-etsi-mec-origin-type: Integer
        totalPacketsSent:
          description: Total number of packets sent since the device was last restarted.
          type: integer
Muhammad Hamza's avatar
Muhammad Hamza committed
1195
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1196
1197
1198
1199
1200
          x-etsi-mec-origin-type: Integer
        traceRouteDiagnostics:
          # description': The result of an IP-layer trace-route test.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TraceRouteDiagnostics
Muhammad Hamza's avatar
Muhammad Hamza committed
1201
          $ref: "#/components/schemas/TraceRouteDiagnostics"
Elian Kraja's avatar
Elian Kraja committed
1202
1203
1204
        upTime:
          description: Time in seconds since the device was last restarted.
          type: integer
Muhammad Hamza's avatar
Muhammad Hamza committed
1205
          x-etsi-mec-cardinality: "1"
Elian Kraja's avatar
Elian Kraja committed
1206
1207
1208
1209
1210
          x-etsi-mec-origin-type: Integer
        uploadDiagnostics:
          # description': The result of a HTTP and FTP UploadDiagnostics Test.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': UploadDiagnostics
Muhammad Hamza's avatar
Muhammad Hamza committed
1211
          $ref: "#/components/schemas/UploadDiagnostics"
Elian Kraja's avatar
Elian Kraja committed
1212
      required:
Muhammad Hamza's avatar
Muhammad Hamza committed
1213
        - gwId
1214
        - deviceId
Muhammad Hamza's avatar
Muhammad Hamza committed
1215
1216
1217
1218
1219
1220
1221
        - deviceStatus
        - upTime
        - iPConnectionUpTime
        - totalBytesSent
        - totalBytesReceived
        - totalPacketsSent
        - totalPacketsReceived
Elian Kraja's avatar
Elian Kraja committed
1222
1223
1224
      type: object
      x-etsi-ref: 6.2.3
    DownloadDiagnostics.diagnosticsState:
Muhammad Hamza's avatar
Muhammad Hamza committed
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
      description: "The state of the HTTP and FTP download test. Enumeration of:1 = None.2 = Requested.3 = Completed.4 = Error_InitConnectionFailed.5 = Error_NoResponse.6 = Error_TransferFailed. 7 = Error_PasswordRequestFailed.8 = Error_LoginFailed.9 = Error_NoTransferMode.10 = Error_NoPASV.11 = Error_IncorrectSize.12 = Error_Timeout."
      enum:
        - 1
        - 2
        - 3
        - 4
        - 5
        - 6
        - 7
        - 8
        - 9
        - 10
        - 11
        - 12
      type: integer
      x-etsi-mec-cardinality: "1"
      x-etsi-mec-origin-type: Enum
Elian Kraja's avatar
Elian Kraja committed
1242
1243
1244
1245
1246
1247
    DownloadDiagnostics:
      properties:
        bOMTime:
          # description': Begin of transmission time in UTC, which shall be specified to microsecond precision.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
1248
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
1249
        diagnosticsState:
Muhammad Hamza's avatar
Muhammad Hamza committed
1250
          $ref: "#/components/schemas/DownloadDiagnostics.diagnosticsState"
Elian Kraja's avatar
Elian Kraja committed
1251
1252
1253
        downloadURI:
          description: The URI for the device to perform the download on.
          format: uri
piscione's avatar
piscione committed
1254
          type: string
Elian Kraja's avatar
Elian Kraja committed
1255
1256
1257
1258
1259
1260
          x-etsi-mec-cardinality: 0..1
          x-etsi-mec-origin-type: URI
        eOMTime:
          # description': End of transmission in UTC, which shall be specified to microsecond precision.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
1261
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
1262
1263
1264
1265
        rOMTime:
          # description': Request time in UTC, which shall be specified to microsecond precision.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
1266
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
1267
1268
1269
1270
        tCPOpenReponseTime:
          # description': Response time in UTC, which shall be specified to microsecond precision.
          # x-etsi-mec-cardinality': 0..1
          # x-etsi-mec-origin-type': TimeStamp
Muhammad Hamza's avatar
Muhammad Hamza committed
1271
          $ref: "#/components/schemas/TimeStamp"
Elian Kraja's avatar
Elian Kraja committed
1272
1273
1274
1275
        tCPOpenRequestTime:
          # description': Request time in UTC, which shall be specified to microsecond precision.