Commits (7)
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"openapi": "3.1.0", "openapi": "3.1.0",
"info": { "info": {
"title": "ETSI GS MEC 029 Fixed Access Information API", "title": "ETSI GS MEC 029 Fixed Access Information API",
"version": "2.1.1", "version": "2.2.1",
"description": "ETSI GS MEC 029 Fixed Access Information API described using OpenAPI.", "description": "ETSI GS MEC 029 Fixed Access Information API described using OpenAPI.",
"license": { "license": {
"name": "BSD-3-Clause", "name": "BSD-3-Clause",
...@@ -15,8 +15,8 @@ ...@@ -15,8 +15,8 @@
} }
}, },
"externalDocs": { "externalDocs": {
"description": "ETSI GS MEC 029 Fixed Access Information API, v2.1.1", "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.01.01_60/gs_mec029v020101p.pdf" "url": "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/029/02.02.01_60/gs_mec029v020201p.pdf"
}, },
"servers": [ "servers": [
{ {
...@@ -29,6 +29,12 @@ ...@@ -29,6 +29,12 @@
}, },
{ {
"name": "Subscription" "name": "Subscription"
},
{
"name": "Cable line info"
},
{
"name": "Optical network info"
} }
], ],
"paths": { "paths": {
...@@ -119,10 +125,13 @@ ...@@ -119,10 +125,13 @@
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FaInfo" "$ref": "#/components/schemas/FaInfo"
} }
} }
} }
}
}, },
"400": { "400": {
"$ref": "#/components/responses/400" "$ref": "#/components/responses/400"
...@@ -132,15 +141,6 @@ ...@@ -132,15 +141,6 @@
}, },
"403": { "403": {
"$ref": "#/components/responses/403" "$ref": "#/components/responses/403"
},
"404": {
"$ref": "#/components/responses/404"
},
"406": {
"$ref": "#/components/responses/406"
},
"429": {
"$ref": "#/components/responses/429"
} }
} }
} }
...@@ -192,14 +192,17 @@ ...@@ -192,14 +192,17 @@
], ],
"responses": { "responses": {
"200": { "200": {
"description": "A response body containing the device information is returned", "description": "Upon success, a response body containing the information of zero or more devices is returned.",
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DeviceInfo" "$ref": "#/components/schemas/DeviceInfo"
} }
} }
} }
}
}, },
"400": { "400": {
"$ref": "#/components/responses/400" "$ref": "#/components/responses/400"
...@@ -258,7 +261,7 @@ ...@@ -258,7 +261,7 @@
], ],
"responses": { "responses": {
"200": { "200": {
"description": "A response body containing the cable line information is returned.", "description": "Upon success, a response body containing the information of zero or more cable lines is returned.",
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
...@@ -336,7 +339,7 @@ ...@@ -336,7 +339,7 @@
], ],
"responses": { "responses": {
"200": { "200": {
"description": "A response body containing the optical network information is returned.", "description": "Upon success, a response body containing the information of zero or more optical networks is returned",
"content": { "content": {
"application/json": { "application/json": {
"schema": { "schema": {
...@@ -385,7 +388,7 @@ ...@@ -385,7 +388,7 @@
"type": "string" "type": "string"
}, },
"required": false, "required": false,
"description": "Query parameter to filter on a specific subscription type. Permitted values: ONU_ALARM. DEVICE_ABNORMAL_ALERT. CM_CONNECTIVITY_STATE. ANI_ALARM." "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"
} }
], ],
"responses": { "responses": {
...@@ -760,7 +763,6 @@ ...@@ -760,7 +763,6 @@
"items": { "items": {
"$ref": "#/components/schemas/CpInfo" "$ref": "#/components/schemas/CpInfo"
}, },
"minItems": 0,
"type": "array", "type": "array",
"x-etsi-mec-cardinality": "0..N", "x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "CpInfo" "x-etsi-mec-origin-type": "CpInfo"
...@@ -823,7 +825,6 @@ ...@@ -823,7 +825,6 @@
"aniId" "aniId"
], ],
"description": "0 to N physical locations of the customer sites.", "description": "0 to N physical locations of the customer sites.",
"minItems": 0,
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/components/schemas/CpInfo" "$ref": "#/components/schemas/CpInfo"
...@@ -882,12 +883,20 @@ ...@@ -882,12 +883,20 @@
"x-etsi-mec-origin-type": "String" "x-etsi-mec-origin-type": "String"
}, },
"callbackReference": { "callbackReference": {
"description": "URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response.", "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.",
"format": "uri", "format": "uri",
"type": "string", "type": "string",
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI" "x-etsi-mec-origin-type": "URI"
}, },
"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"
},
"expiryDeadline": { "expiryDeadline": {
"$ref": "#/components/schemas/TimeStamp" "$ref": "#/components/schemas/TimeStamp"
}, },
...@@ -905,83 +914,26 @@ ...@@ -905,83 +914,26 @@
"type": "object", "type": "object",
"x-etsi-ref": "6.3.6" "x-etsi-ref": "6.3.6"
}, },
"CableLineInfo.cmInfo.serviceFlowStats": { "CableLineInfo.cmStatus": {
"description": "It describes statistics associated with the Service Flows in a managed device.", "description": "It provides CM connectivity status information of the CM.",
"properties": {
"ifIndex": {
"description": "It represents the interface index of the MAC Domain of the Service Flow",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"serviceFlowInfo": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CableLineInfo.cmInfo.serviceFlowStats.serviceFlowInfo"
}
}
},
"type": "object", "type": "object",
"required": [ "required": [
"ifIndex", "ifIndex",
"serviceFlowInfo" "cmRegState",
] "resets",
}, "lostSyncs",
"CableLineInfo.cmInfo.serviceFlowStats.serviceFlowInfo": { "invalidRegRsps",
"description": "It represents the information of a Service Flow.", "energyMgt1x1OperStatus",
"emDlsOperStatus"
],
"properties": { "properties": {
"aqmDroppedPkts": { "ifIndex": {
"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.", "description": "It denotes the MAC Domain interface index of the CM.",
"type": "integer", "type": "string"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-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",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
},
"policedDelayPkts": {
"description": "It counts only outgoing packets delayed in order to maintain the Maximum Sustained Traffic Rate.",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-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:\n1)\texceeding the selected Buffer Size for the service flow; or\n2)\tUGS packets dropped due to exceeding the Unsolicited Grant Size with a Request/Transmission policy that requires such packets to be dropped.",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
},
"serviceFlowId": {
"description": "It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain.",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
}, },
"timeActive": { "cmRegState": {
"description": "It indicates the number of seconds that the service flow has been active.",
"type": "integer", "type": "integer",
"x-etsi-mec-cardinality": "1", "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.",
"x-etsi-mec-origin-type": "Integer"
},
"timeCreated": {
"$ref": "#/components/schemas/TimeStamp"
}
},
"required": [
"serviceFlowId",
"pkts",
"timeCreated",
"timeActive",
"policedDropPkts",
"policedDelayPkts",
"aqmDroppedPkts"
]
},
"CableLineInfo.cmInfo.cmStatus.cmRegState": {
"description": "It defines the CM connectivity state. Enumeration of: 1 = other. 2 = notReady. 3 = notSynchronized. 4 = phySynchronized. 5 = usParametersAcquired. 6 = rangingComplete. 7 = dhcpV4Complete. 8 = todEstablished. 9 = securityEstablished. 10 = configFileDownloadComplete. 11 = registrationComplete. 12 = operational. 13 = accessDenied. 14 = eaeInProgress. 15 = dhcpv4InProgress. 16 = dhcpv6InProgress. 17 = dhcpV6Complete. 18 = registrationInProgress. 19 = bpiInit. 20 = forwardingDisabled. 21 = dsTopologyResolutionInProgress. 22 = rangingInProgress. 23 = rfMuteAll.",
"enum": [ "enum": [
1, 1,
2, 2,
...@@ -1006,167 +958,161 @@ ...@@ -1006,167 +958,161 @@
21, 21,
22, 22,
23 23
], ]
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum"
},
"CableLineInfo.cmInfo.cmStatus": {
"description": "It provides CM connectivity status information of the CM.",
"properties": {
"cmRegState": {
"$ref": "#/components/schemas/CableLineInfo.cmInfo.cmStatus.cmRegState"
},
"emDlsOperStatus": {
"description": "It indicates whether the CM is currently operating in Energy Management DLS Mode.",
"type": "boolean",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Boolean"
}, },
"energyMgt1x1OperStatus": { "resets": {
"description": "It indicates whether the CM is currently operating in Energy Management 1x1 Mode.", "description": "It denotes the number of times the CM reset or initialized this interface.",
"type": "boolean", "type": "integer"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Boolean"
}, },
"ifIndex": { "lostSyncs": {
"description": "It denotes the MAC Domain interface index of the CM.", "description": "It denotes the number of times the CM lost synchronization with the downstream channel.",
"type": "string", "type": "integer"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}, },
"invalidRegRsps": { "invalidRegRsps": {
"description": "It denotes the number of times the CM received invalid registration response messages.", "description": "It denotes the number of times the CM received invalid registration response messages.",
"type": "integer", "type": "integer"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
}, },
"lostSyncs": { "energyMgt1x1OperStatus": {
"description": "It denotes the number of times the CM lost synchronization with the downstream channel.", "description": "It indicates whether the CM is currently operating in Energy Management 1x1 Mode.",
"type": "integer", "type": "boolean"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
}, },
"resets": { "emDlsOperStatus": {
"description": "It denotes the number of times the CM reset or initialized this interface.", "description": "It indicates whether the CM is currently operating in Energy Management DLS Mode.",
"type": "integer", "type": "boolean"
"x-etsi-mec-cardinality": "1", }
"x-etsi-mec-origin-type": "Integer"
} }
}, },
"CableLineInfo.cmDpvStats": {
"required": [ "required": [
"ifIndex", "ifIndex",
"cmRegState", "lastMeasLatency",
"resets", "lastMeasTime",
"lostSyncs", "minLatency",
"invalidRegRsps", "maxLatency",
"energyMgt1x1OperStatus", "avgLatency",
"emDlsOperStatus" "numMeas"
] ],
},
"CableLineInfo.cmInfo.cmDpvStats": {
"description": "It represents the DOCSIS Path Verify Statistics collected in the cable modem device.",
"properties": { "properties": {
"avgLatency": {
"description": "The average latency measurement.",
"type": "integer",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
},
"ifIndex": { "ifIndex": {
"description": "It represents the interface Index of the Downstream Interface where the measurements are taken.", "description": "It represents the interface Index of the Downstream Interface where the measurements are taken.",
"type": "string", "type": "string"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}, },
"lastMeasLatency": { "lastMeasLatency": {
"description": "The last latency measurement.", "description": "The last latency measurement",
"type": "integer", "type": "integer"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
}, },
"lastMeasTime": { "lastMeasTime": {
"$ref": "#/components/schemas/TimeStamp" "$ref": "#/components/schemas/TimeStamp"
}, },
"minLatency": {
"description": "The minimum latency measurement.",
"type": "integer"
},
"maxLatency": { "maxLatency": {
"description": "The maximum latency measurement.", "description": "The maximum latency measurement.",
"type": "integer", "type": "integer"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
}, },
"minLatency": { "avgLatency": {
"description": "The minimum latency measurement.", "description": "The average latency measurement.",
"type": "integer", "type": "integer"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Integer"
}, },
"numMeas": { "numMeas": {
"description": "The number of latency measurements made.", "description": "The number of latency measurements made.",
"type": "integer", "type": "integer"
"x-etsi-mec-cardinality": "1", }
"x-etsi-mec-origin-type": "Integer"
} }
}, },
"CableLineInfo.serviceFlowStats.serviceFlowInfo": {
"type": "object",
"required": [ "required": [
"ifIndex", "serviceFlowId",
"lastMeasLatency", "description",
"lastMeasTime", "timeCreated",
"minLatency", "timeActive",
"maxLatency", "policedDropPkts",
"avgLatency", "policedDelayPkts",
"numMeas" "aqmDroppedPkts"
] ],
},
"CableLineInfo.cmInfo": {
"description": "",
"properties": { "properties": {
"cmDpvStats": { "serviceFlowId": {
"type": "array", "description": "It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain.",
"items": { "type": "integer"
"$ref": "#/components/schemas/CableLineInfo.cmInfo.cmDpvStats"
}
}, },
"cmId": { "pkts": {
"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 thedevice, including across firmware updates.", "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": "string", "type": "integer"
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}, },
"cmStatus": { "timeCreated": {
"$ref": "#/components/schemas/CableLineInfo.cmInfo.cmStatus" "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"
}, },
"serviceFlowStats": { "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"
],
"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", "type": "array",
"items": { "items": {
"$ref": "#/components/schemas/CableLineInfo.cmInfo.serviceFlowStats" "$ref": "#/components/schemas/CableLineInfo.serviceFlowStats.serviceFlowInfo"
} }
} }
}, },
"CableLineInfo": {
"type": "object",
"required": [ "required": [
"customerPremisesInfo",
"cmId" "cmId"
] ],
},
"CableLineInfo": {
"properties": { "properties": {
"cmInfo": { "timeStamp": {
"$ref": "#/components/schemas/CableLineInfo.cmInfo" "$ref": "#/components/schemas/TimeStamp"
}, },
"customerPremisesInfo": { "customerPremisesInfo": {
"$ref": "#/components/schemas/CpInfo" "$ref": "#/components/schemas/CpInfo"
}, },
"timeStamp": { "cmId": {
"$ref": "#/components/schemas/TimeStamp" "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"
} }
}, },
"type": "object",
"required": [
"customerPremisesInfo",
"cmInfo"
],
"x-etsi-ref": "6.2.4" "x-etsi-ref": "6.2.4"
}, },
"CmConnNotification.cmIf.cmRegState": { "CmConnNotification.cmIf.cmRegState": {
"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.", "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": [ "enum": [
1, 1,
2, 2,
...@@ -1355,12 +1301,20 @@ ...@@ -1355,12 +1301,20 @@
"$ref": "#/components/schemas/CmConnSubscription.links" "$ref": "#/components/schemas/CmConnSubscription.links"
}, },
"callbackReference": { "callbackReference": {
"description": "URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response.", "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.",
"format": "uri", "format": "uri",
"type": "string", "type": "string",
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI" "x-etsi-mec-origin-type": "URI"
}, },
"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"
},
"expiryDeadline": { "expiryDeadline": {
"$ref": "#/components/schemas/TimeStamp" "$ref": "#/components/schemas/TimeStamp"
}, },
...@@ -1376,7 +1330,6 @@ ...@@ -1376,7 +1330,6 @@
}, },
"required": [ "required": [
"subscriptionType", "subscriptionType",
"callbackReference",
"filterCriteriaCmConn" "filterCriteriaCmConn"
], ],
"type": "object", "type": "object",
...@@ -1386,14 +1339,14 @@ ...@@ -1386,14 +1339,14 @@
"CpInfo": { "CpInfo": {
"properties": { "properties": {
"latitude": { "latitude": {
"description": "Latitude (DATUM=WGS84)\n-90 to 90 in decimal degree format DDD.ddd", "description": "Latitude (DATUM=WGS84) -90 to 90 in decimal degree format DDD.ddd",
"format": "Float", "format": "Float",
"type": "number", "type": "number",
"x-etsi-mec-cardinality": "0..1", "x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "Float" "x-etsi-mec-origin-type": "Float"
}, },
"longitude": { "longitude": {
"description": "Longitude (DATUM=WGS84)\n-180 to 180 in decimal degree format DDD.ddd", "description": "Longitude (DATUM=WGS84) -180 to 180 in decimal degree format DDD.ddd",
"format": "Float", "format": "Float",
"type": "number", "type": "number",
"x-etsi-mec-cardinality": "0..1", "x-etsi-mec-cardinality": "0..1",
...@@ -1466,7 +1419,6 @@ ...@@ -1466,7 +1419,6 @@
"items": { "items": {
"$ref": "#/components/schemas/deviceErrStatus" "$ref": "#/components/schemas/deviceErrStatus"
}, },
"minItems": 0,
"type": "array", "type": "array",
"x-etsi-mec-cardinality": "0..N", "x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Enum" "x-etsi-mec-origin-type": "Enum"
...@@ -1476,7 +1428,6 @@ ...@@ -1476,7 +1428,6 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"minItems": 0,
"type": "array", "type": "array",
"x-etsi-mec-cardinality": "0..N", "x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "String" "x-etsi-mec-origin-type": "String"
...@@ -1486,7 +1437,6 @@ ...@@ -1486,7 +1437,6 @@
"items": { "items": {
"type": "string" "type": "string"
}, },
"minItems": 0,
"type": "array", "type": "array",
"x-etsi-mec-cardinality": "0..N", "x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "String" "x-etsi-mec-origin-type": "String"
...@@ -1501,12 +1451,20 @@ ...@@ -1501,12 +1451,20 @@
"$ref": "#/components/schemas/DevInfoSubscription.links" "$ref": "#/components/schemas/DevInfoSubscription.links"
}, },
"callbackReference": { "callbackReference": {
"description": "URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response.", "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.",
"format": "uri", "format": "uri",
"type": "string", "type": "string",
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI" "x-etsi-mec-origin-type": "URI"
}, },
"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"
},
"expiryDeadline": { "expiryDeadline": {
"$ref": "#/components/schemas/TimeStamp" "$ref": "#/components/schemas/TimeStamp"
}, },
...@@ -1544,10 +1502,7 @@ ...@@ -1544,10 +1502,7 @@
"properties": { "properties": {
"deviceId": { "deviceId": {
"description": "Typically, the serial number of the device.This value shall remain fixed over the lifetime of the device, including across firmware updates.", "description": "Typically, the serial number of the device.This value shall remain fixed over the lifetime of the device, including across firmware updates.",
"type": "array", "type": "string",
"items": {
"type": "string"
},
"x-etsi-mec-cardinality": "0..1", "x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "String" "x-etsi-mec-origin-type": "String"
}, },
...@@ -1558,7 +1513,7 @@ ...@@ -1558,7 +1513,7 @@
"$ref": "#/components/schemas/DownloadDiagnostics" "$ref": "#/components/schemas/DownloadDiagnostics"
}, },
"gwId": { "gwId": {
"description": "Information (typically the serial number) to identify an Internet Gateway Device through which\nthe customer premises device is connected.\n\nThis value shall remain fixed over the lifetime of the device, including across firmware updates.", "description": "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.",
"items": { "items": {
"type": "string" "type": "string"
}, },
...@@ -1618,6 +1573,7 @@ ...@@ -1618,6 +1573,7 @@
}, },
"required": [ "required": [
"gwId", "gwId",
"deviceId",
"deviceStatus", "deviceStatus",
"upTime", "upTime",
"iPConnectionUpTime", "iPConnectionUpTime",
...@@ -1660,7 +1616,7 @@ ...@@ -1660,7 +1616,7 @@
"downloadURI": { "downloadURI": {
"description": "The URI for the device to perform the download on.", "description": "The URI for the device to perform the download on.",
"format": "uri", "format": "uri",
"type": "string", "type": "uri",
"x-etsi-mec-cardinality": "0..1", "x-etsi-mec-cardinality": "0..1",
"x-etsi-mec-origin-type": "URI" "x-etsi-mec-origin-type": "URI"
}, },
...@@ -1701,7 +1657,7 @@ ...@@ -1701,7 +1657,7 @@
"self": { "self": {
"description": "Self referring URI. This shall be included in the response from the FAIS. The URI shall be unique within the FAI API as it acts as an ID for the subscription.", "description": "Self referring URI. This shall be included in the response from the FAIS. The URI shall be unique within the FAI API as it acts as an ID for the subscription.",
"format": "uri", "format": "uri",
"type": "string", "type": "uri",
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI" "x-etsi-mec-origin-type": "URI"
} }
...@@ -1940,7 +1896,6 @@ ...@@ -1940,7 +1896,6 @@
"items": { "items": {
"$ref": "#/components/schemas/CpInfo" "$ref": "#/components/schemas/CpInfo"
}, },
"minItems": 0,
"type": "array", "type": "array",
"x-etsi-mec-cardinality": "0..N", "x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "CpInfo" "x-etsi-mec-origin-type": "CpInfo"
...@@ -2012,7 +1967,6 @@ ...@@ -2012,7 +1967,6 @@
"items": { "items": {
"$ref": "#/components/schemas/OnuAlarmSubscription.alarms" "$ref": "#/components/schemas/OnuAlarmSubscription.alarms"
}, },
"minItems": 0,
"type": "array", "type": "array",
"x-etsi-mec-cardinality": "0..N", "x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "Enum" "x-etsi-mec-origin-type": "Enum"
...@@ -2022,13 +1976,12 @@ ...@@ -2022,13 +1976,12 @@
"items": { "items": {
"$ref": "#/components/schemas/CpInfo" "$ref": "#/components/schemas/CpInfo"
}, },
"minItems": 0,
"type": "array", "type": "array",
"x-etsi-mec-cardinality": "0..N", "x-etsi-mec-cardinality": "0..N",
"x-etsi-mec-origin-type": "CpInfo" "x-etsi-mec-origin-type": "CpInfo"
}, },
"onuId": { "onuId": {
"description": "1 to N unique identifiers for the optical network units.\nTypical 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.", "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.",
"items": { "items": {
"type": "string" "type": "string"
}, },
...@@ -2044,18 +1997,39 @@ ...@@ -2044,18 +1997,39 @@
"type": "object", "type": "object",
"x-etsi-mec-cardinality": "1" "x-etsi-mec-cardinality": "1"
}, },
"WebsockNotifConfig": {
"type": "object",
"properties": {
"subscriptionType": {
"description": "Set by FAIS to indicate to the service consumer the Websocket URI to be used for delivering notifications.",
"type": "uri"
},
"requestWebsocketUri": {
"description": "Set to true by the service consumer to indicate that Websocket delivery is requested.",
"type": "boolean"
}
}
},
"OnuAlarmSubscription": { "OnuAlarmSubscription": {
"properties": { "properties": {
"_links": { "_links": {
"$ref": "#/components/schemas/OnuAlarmSubscription.links" "$ref": "#/components/schemas/OnuAlarmSubscription.links"
}, },
"callbackReference": { "callbackReference": {
"description": "URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response.", "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.",
"format": "uri", "format": "uri",
"type": "string", "type": "string",
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI" "x-etsi-mec-origin-type": "URI"
}, },
"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"
},
"expiryDeadline": { "expiryDeadline": {
"$ref": "#/components/schemas/TimeStamp" "$ref": "#/components/schemas/TimeStamp"
}, },
...@@ -2071,7 +2045,6 @@ ...@@ -2071,7 +2045,6 @@
}, },
"required": [ "required": [
"subscriptionType", "subscriptionType",
"callbackReference",
"filterCriteriaOnuAlarm" "filterCriteriaOnuAlarm"
], ],
"type": "object", "type": "object",
...@@ -2120,15 +2093,24 @@ ...@@ -2120,15 +2093,24 @@
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum" "x-etsi-mec-origin-type": "Enum"
}, },
"PonInfo.opticalNetworkInfo": { "PonInfo": {
"description": "", "properties": {
"items": { "timeStamp": {
"type": "object" "$ref": "#/components/schemas/TimeStamp"
}, },
"customerPremisesInfo": {
"description": "The physical location of a customer site.",
"$ref": "#/components/schemas/CpInfo",
"minItems": 1, "minItems": 1,
"properties": { "type": "array",
"dsRate": { "x-etsi-mec-cardinality": "1..N",
"$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.dsRate" "x-etsi-mec-origin-type": "CpInfo"
},
"ponSYS_ID": {
"description": "The 20-bit identity of the optical system within a certain domain.This is a reference value set by the OSS.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
}, },
"onuId": { "onuId": {
"description": "Information to identify an Optical Network Unit.", "description": "Information to identify an Optical Network Unit.",
...@@ -2136,80 +2118,50 @@ ...@@ -2136,80 +2118,50 @@
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String" "x-etsi-mec-origin-type": "String"
}, },
"ponTech": {
"$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.ponTech"
},
"operationalState": { "operationalState": {
"$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.operationalState" "$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.operationalState"
}, },
"ponTech": { "dsRate": {
"$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.ponTech" "$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.dsRate"
}, },
"usRate": { "usRate": {
"$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.usRate" "$ref": "#/components/schemas/PonInfo.opticalNetworkInfo.usRate"
} }
}, },
"required": [ "required": [
"customerPremisesInfo",
"ponSYS_ID",
"opticalNetworkInfo",
"onuId", "onuId",
"ponTech", "ponTech",
"operationalState", "operationalState",
"dsRate", "dsRate",
"usRate" "usRate"
]
},
"PonInfo": {
"properties": {
"customerPremisesInfo": {
"description": "The physical location of a customer site.",
"items": {
"$ref": "#/components/schemas/CpInfo"
},
"minItems": 1,
"type": "array",
"x-etsi-mec-cardinality": "1..N",
"x-etsi-mec-origin-type": "CpInfo"
},
"opticalNetworkInfo": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PonInfo.opticalNetworkInfo"
}
},
"ponSYS_ID": {
"description": "The 20-bit identity of the optical system within a certain domain.This is a reference value set by the OSS.",
"type": "string",
"x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "String"
},
"timeStamp": {
"$ref": "#/components/schemas/TimeStamp"
}
},
"required": [
"customerPremisesInfo",
"ponSYS_ID",
"opticalNetworkInfo"
], ],
"type": "object", "type": "object",
"x-etsi-ref": "6.2.5" "x-etsi-ref": "6.2.5"
}, },
"SubscriptionLinkList.links.subscription.subscriptionType": { "SubscriptionLinkList.links.subscription.subscriptionType": {
"description": "Numeric value (0 - 255) corresponding to specified type of subscription as following: 0 = RESERVED. 1 = ONU_ALARM. 2 = DEVICE_ABNORMAL_ALERT. 3 = CM_CONNECTIVITY_STATE.4 = ANI_ALARM.", "description": "Type of the subscription. The string shall be set according to the \"subscriptionType\" attribute of the associated subscription data type defined in clauses 6.3.2, 6.3.3, 6.3.4 and 6.3.6 \"OnuAlarmSubscription\" \"DevInfoSubscription\" \"CmConnSubscription\" \"AniAlarmSubscription\"",
"enum": [ "enum": [
0, "OnuAlarmSubscription",
1, "DevInfoSubscription",
2, "CmConnSubscription",
3, "AniAlarmSubscription\""
4
], ],
"type": "integer", "type": "string",
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "Enum" "x-etsi-mec-origin-type": "Enum"
}, },
"SubscriptionLinkList.links.subscription": { "SubscriptionLinkList.links.subscription": {
"description": "A link to a subscription.",
"properties": { "properties": {
"href": { "href": {
"description": "The URI referring to the subscription.", "description": "The URI referring to the subscription.",
"format": "uri", "format": "uri",
"type": "string", "type": "uri",
"x-etsi-mec-cardinality": "1", "x-etsi-mec-cardinality": "1",
"x-etsi-mec-origin-type": "URI" "x-etsi-mec-origin-type": "URI"
}, },
...@@ -2223,9 +2175,17 @@ ...@@ -2223,9 +2175,17 @@
] ]
}, },
"SubscriptionLinkList.links": { "SubscriptionLinkList.links": {
"description": "List of hyperlinks related to the resource.", "description": "Hyperlinks related to the resource.",
"type": "object",
"required": [
"self"
],
"properties": { "properties": {
"subscription": { "self": {
"$ref": "#/components/schemas/LinkType"
},
"subscriptions": {
"description": "The service consumer's subscriptions.",
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/components/schemas/SubscriptionLinkList.links.subscription" "$ref": "#/components/schemas/SubscriptionLinkList.links.subscription"
...@@ -2245,6 +2205,31 @@ ...@@ -2245,6 +2205,31 @@
"type": "object", "type": "object",
"x-etsi-ref": "6.3.5" "x-etsi-ref": "6.3.5"
}, },
"TestNotification": {
"type": "object",
"required": [
"notificationType",
"_links"
],
"properties": {
"notificationType": {
"description": "Shall be set to \"TestNotification",
"type": "string"
},
"_links": {
"description": "Hyperlink related to the resource.",
"type": "object",
"required": [
"subscription"
],
"properties": {
"subscription": {
"$ref": "#/components/schemas/LinkType"
}
}
}
}
},
"TimeStamp": { "TimeStamp": {
"properties": { "properties": {
"nanoSeconds": { "nanoSeconds": {
...@@ -2399,7 +2384,7 @@ ...@@ -2399,7 +2384,7 @@
"x-etsi-ref": "6.5.7" "x-etsi-ref": "6.5.7"
}, },
"LinkType": { "LinkType": {
"description": "'This data type represents a type of link'", "description": "'URI referring to a resource'",
"type": "object", "type": "object",
"required": [ "required": [
"href" "href"
...@@ -2563,4 +2548,4 @@ ...@@ -2563,4 +2548,4 @@
} }
} }
} }
} }
\ No newline at end of file \ No newline at end of file
openapi: 3.1.0 openapi: 3.1.0
info: info:
title: "ETSI GS MEC 029 Fixed Access Information API" title: "ETSI GS MEC 029 Fixed Access Information API"
version: 2.1.1 version: 2.2.1
description: "ETSI GS MEC 029 Fixed Access Information API described using OpenAPI." description: "ETSI GS MEC 029 Fixed Access Information API described using OpenAPI."
license: license:
name: BSD-3-Clause name: BSD-3-Clause
...@@ -11,14 +11,15 @@ info: ...@@ -11,14 +11,15 @@ info:
email: cti_support@etsi.org email: cti_support@etsi.org
url: https://forge.etsi.org/rep/mec/gs029-fai-api url: https://forge.etsi.org/rep/mec/gs029-fai-api
externalDocs: externalDocs:
description: "ETSI GS MEC 029 Fixed Access Information API, v2.1.1" 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.01.01_60/gs_mec029v020101p.pdf" url: "https://www.etsi.org/deliver/etsi_gs/MEC/001_099/029/02.02.01_60/gs_mec029v020201p.pdf"
servers: servers:
- url: "https://localhost/fai/v1" - url: "https://localhost/fai/v1"
tags: tags:
- name: Queries - name: Queries
- name: Subscription - name: Subscription
- name: "Cable line info"
- name: "Optical network info"
paths: paths:
/queries/fa_info: /queries/fa_info:
get: get:
...@@ -81,6 +82,8 @@ paths: ...@@ -81,6 +82,8 @@ paths:
content: content:
application/json: application/json:
schema: schema:
type: array
items:
$ref: "#/components/schemas/FaInfo" $ref: "#/components/schemas/FaInfo"
"400": "400":
$ref: "#/components/responses/400" $ref: "#/components/responses/400"
...@@ -88,12 +91,6 @@ paths: ...@@ -88,12 +91,6 @@ paths:
$ref: "#/components/responses/401" $ref: "#/components/responses/401"
"403": "403":
$ref: "#/components/responses/403" $ref: "#/components/responses/403"
"404":
$ref: "#/components/responses/404"
"406":
$ref: "#/components/responses/406"
"429":
$ref: "#/components/responses/429"
/queries/device_info: /queries/device_info:
get: get:
...@@ -129,10 +126,12 @@ paths: ...@@ -129,10 +126,12 @@ paths:
responses: responses:
"200": "200":
description: "A response body containing the device information is returned" description: "Upon success, a response body containing the information of zero or more devices is returned."
content: content:
application/json: application/json:
schema: schema:
type: array
items:
$ref: "#/components/schemas/DeviceInfo" $ref: "#/components/schemas/DeviceInfo"
"400": "400":
$ref: "#/components/responses/400" $ref: "#/components/responses/400"
...@@ -174,7 +173,7 @@ paths: ...@@ -174,7 +173,7 @@ paths:
responses: responses:
"200": "200":
description: "A response body containing the cable line information is returned." description: "Upon success, a response body containing the information of zero or more cable lines is returned."
content: content:
application/json: application/json:
schema: schema:
...@@ -226,7 +225,7 @@ paths: ...@@ -226,7 +225,7 @@ paths:
responses: responses:
"200": "200":
description: "A response body containing the optical network information is returned." description: "Upon success, a response body containing the information of zero or more optical networks is returned"
content: content:
application/json: application/json:
schema: schema:
...@@ -260,7 +259,7 @@ paths: ...@@ -260,7 +259,7 @@ paths:
type: string type: string
required: false required: false
description: "Query parameter to filter on a specific subscription type. Permitted values: ONU_ALARM. DEVICE_ABNORMAL_ALERT. CM_CONNECTIVITY_STATE. ANI_ALARM." 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"
responses: responses:
"200": "200":
description: "A response body containing the list of links to requestor subscriptions is returned." description: "A response body containing the list of links to requestor subscriptions is returned."
...@@ -497,7 +496,6 @@ components: ...@@ -497,7 +496,6 @@ components:
description: The physical location of the related customer sites. description: The physical location of the related customer sites.
items: items:
$ref: "#/components/schemas/CpInfo" $ref: "#/components/schemas/CpInfo"
minItems: 0
type: array type: array
x-etsi-mec-cardinality: 0..N x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: CpInfo x-etsi-mec-origin-type: CpInfo
...@@ -554,7 +552,6 @@ components: ...@@ -554,7 +552,6 @@ components:
- onuId - onuId
- aniId - aniId
description: 0 to N physical locations of the customer sites. description: 0 to N physical locations of the customer sites.
minItems: 0
type: array type: array
items: items:
$ref: "#/components/schemas/CpInfo" $ref: "#/components/schemas/CpInfo"
...@@ -600,11 +597,17 @@ components: ...@@ -600,11 +597,17 @@ components:
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
callbackReference: callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response. 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.
format: uri format: uri
type: string type: string
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: URI x-etsi-mec-origin-type: URI
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"
expiryDeadline: expiryDeadline:
# description': Time stamp. # description': Time stamp.
# x-etsi-mec-cardinality': 0..1 # x-etsi-mec-cardinality': 0..1
...@@ -621,73 +624,25 @@ components: ...@@ -621,73 +624,25 @@ components:
type: object type: object
x-etsi-ref: 6.3.6 x-etsi-ref: 6.3.6
CableLineInfo.cmInfo.serviceFlowStats:
description: "It describes statistics associated with the Service Flows in a managed device."
properties:
ifIndex:
description: "It represents the interface index of the MAC Domain of the Service Flow"
type: string
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: String
serviceFlowInfo:
type: array
items:
$ref: "#/components/schemas/CableLineInfo.cmInfo.serviceFlowStats.serviceFlowInfo"
type: object
CableLineInfo.cmStatus:
description: "It provides CM connectivity status information of the CM."
type: object
required: required:
- ifIndex - ifIndex
- serviceFlowInfo - cmRegState
- resets
CableLineInfo.cmInfo.serviceFlowStats.serviceFlowInfo: - lostSyncs
description: It represents the information of a Service Flow. - invalidRegRsps
- energyMgt1x1OperStatus
- emDlsOperStatus
properties: properties:
aqmDroppedPkts: ifIndex:
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. description: "It denotes the MAC Domain interface index of the CM."
type: integer type: string
x-etsi-mec-cardinality: "1" cmRegState:
x-etsi-mec-origin-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
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
policedDelayPkts:
description: It counts only outgoing packets delayed in order to maintain the Maximum Sustained Traffic Rate.
type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-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:\n1)\texceeding the selected Buffer Size for the service flow; or\n2)\tUGS packets dropped due to exceeding the Unsolicited Grant Size with a Request/Transmission policy that requires such packets to be dropped."
type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
serviceFlowId:
description: It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain.
type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
timeActive:
description: It indicates the number of seconds that the service flow has been active.
type: integer type: integer
x-etsi-mec-cardinality: "1" 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."
x-etsi-mec-origin-type: Integer
timeCreated:
# description': It indicates the time when the service flow was created.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TimeStamp
$ref: "#/components/schemas/TimeStamp"
required:
- serviceFlowId
- pkts
- timeCreated
- timeActive
- policedDropPkts
- policedDelayPkts
- aqmDroppedPkts
CableLineInfo.cmInfo.cmStatus.cmRegState:
description: "It defines the CM connectivity state. Enumeration of: 1 = other. 2 = notReady. 3 = notSynchronized. 4 = phySynchronized. 5 = usParametersAcquired. 6 = rangingComplete. 7 = dhcpV4Complete. 8 = todEstablished. 9 = securityEstablished. 10 = configFileDownloadComplete. 11 = registrationComplete. 12 = operational. 13 = accessDenied. 14 = eaeInProgress. 15 = dhcpv4InProgress. 16 = dhcpv6InProgress. 17 = dhcpV6Complete. 18 = registrationInProgress. 19 = bpiInit. 20 = forwardingDisabled. 21 = dsTopologyResolutionInProgress. 22 = rangingInProgress. 23 = rfMuteAll."
enum: enum:
- 1 - 1
- 2 - 2
...@@ -712,144 +667,132 @@ components: ...@@ -712,144 +667,132 @@ components:
- 21 - 21
- 22 - 22
- 23 - 23
resets:
description: "It denotes the number of times the CM reset or initialized this interface."
type: integer type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Enum
CableLineInfo.cmInfo.cmStatus:
description: It provides CM connectivity status information of the CM.
properties:
cmRegState:
$ref: "#/components/schemas/CableLineInfo.cmInfo.cmStatus.cmRegState"
emDlsOperStatus:
description: It indicates whether the CM is currently operating in Energy Management DLS Mode.
type: boolean
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Boolean
energyMgt1x1OperStatus:
description: It indicates whether the CM is currently operating in Energy Management 1x1 Mode.
type: boolean
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Boolean
ifIndex:
description: It denotes the MAC Domain interface index of the CM.
type: string
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: String
invalidRegRsps:
description: It denotes the number of times the CM received invalid registration response messages.
type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
lostSyncs: lostSyncs:
description: It denotes the number of times the CM lost synchronization with the downstream channel. description: "It denotes the number of times the CM lost synchronization with the downstream channel."
type: integer type: integer
x-etsi-mec-cardinality: "1" invalidRegRsps:
x-etsi-mec-origin-type: Integer description: "It denotes the number of times the CM received invalid registration response messages."
resets:
description: It denotes the number of times the CM reset or initialized this interface.
type: integer type: integer
x-etsi-mec-cardinality: "1" energyMgt1x1OperStatus:
x-etsi-mec-origin-type: Integer 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:
required: required:
- ifIndex - ifIndex
- cmRegState - lastMeasLatency
- resets - lastMeasTime
- lostSyncs - minLatency
- invalidRegRsps - maxLatency
- energyMgt1x1OperStatus - avgLatency
- emDlsOperStatus - numMeas
CableLineInfo.cmInfo.cmDpvStats:
description: It represents the DOCSIS Path Verify Statistics collected in the cable modem device.
properties: properties:
avgLatency:
description: The average latency measurement.
type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
ifIndex: ifIndex:
description: It represents the interface Index of the Downstream Interface where the measurements are taken. description: It represents the interface Index of the Downstream Interface where the measurements are taken.
type: string type: string
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: String
lastMeasLatency: lastMeasLatency:
description: The last latency measurement. description: The last latency measurement
type: integer type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
lastMeasTime: lastMeasTime:
# description': The last measurement time of the last latency measurement.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': TimeStamp
$ref: "#/components/schemas/TimeStamp" $ref: "#/components/schemas/TimeStamp"
minLatency:
description: The minimum latency measurement.
type: integer
maxLatency: maxLatency:
description: The maximum latency measurement. description: The maximum latency measurement.
type: integer type: integer
x-etsi-mec-cardinality: "1" avgLatency:
x-etsi-mec-origin-type: Integer description: The average latency measurement.
minLatency:
description: The minimum latency measurement.
type: integer type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
numMeas: numMeas:
description: The number of latency measurements made. description: The number of latency measurements made.
type: integer type: integer
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Integer
required:
- ifIndex
- lastMeasLatency
- lastMeasTime
- minLatency
- maxLatency
- avgLatency
- numMeas
CableLineInfo.cmInfo: CableLineInfo.serviceFlowStats.serviceFlowInfo:
description: "" type: object
required:
- serviceFlowId
- description
- timeCreated
- timeActive
- policedDropPkts
- policedDelayPkts
- aqmDroppedPkts
properties: properties:
cmDpvStats: serviceFlowId:
type: array description: It represents an identifier assigned to a Service Flow by CMTS within a MAC Domain.
items: type: integer
$ref: "#/components/schemas/CableLineInfo.cmInfo.cmDpvStats" pkts:
cmId: 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.
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 thedevice, including across firmware updates." 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
ifIndex:
description: It represents the interface index of the MAC Domain of the Service Flow.
type: string type: string
x-etsi-mec-cardinality: "1" serviceFlowInfo:
x-etsi-mec-origin-type: String description: It represents the information of a Service Flow.
cmStatus:
$ref: "#/components/schemas/CableLineInfo.cmInfo.cmStatus"
serviceFlowStats:
type: array type: array
items: items:
$ref: "#/components/schemas/CableLineInfo.cmInfo.serviceFlowStats" $ref: "#/components/schemas/CableLineInfo.serviceFlowStats.serviceFlowInfo"
CableLineInfo:
type: object
required: required:
- customerPremisesInfo
- cmId - cmId
CableLineInfo:
properties: properties:
cmInfo:
$ref: "#/components/schemas/CableLineInfo.cmInfo"
customerPremisesInfo:
# description': The physical location of a customer site.
# x-etsi-mec-cardinality': '1'
# x-etsi-mec-origin-type': CpInfo
$ref: "#/components/schemas/CpInfo"
timeStamp: timeStamp:
# description': Time stamp. # description': Time stamp.
# x-etsi-mec-cardinality': 0..1 # x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp # x-etsi-mec-origin-type': TimeStamp
$ref: "#/components/schemas/TimeStamp" $ref: "#/components/schemas/TimeStamp"
type: object customerPremisesInfo:
required: # description': The physical location of a customer site.
- customerPremisesInfo # x-etsi-mec-cardinality': '1'
- cmInfo # 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"
x-etsi-ref: 6.2.4 x-etsi-ref: 6.2.4
CmConnNotification.cmIf.cmRegState: CmConnNotification.cmIf.cmRegState:
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." 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: enum:
- 1 - 1
- 2 - 2
...@@ -1018,13 +961,18 @@ components: ...@@ -1018,13 +961,18 @@ components:
properties: properties:
_links: _links:
$ref: "#/components/schemas/CmConnSubscription.links" $ref: "#/components/schemas/CmConnSubscription.links"
callbackReference: callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response. 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.
format: uri format: uri
type: string type: string
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: URI x-etsi-mec-origin-type: URI
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"
expiryDeadline: expiryDeadline:
# description': Time stamp. # description': Time stamp.
# x-etsi-mec-cardinality': 0..1 # x-etsi-mec-cardinality': 0..1
...@@ -1039,7 +987,6 @@ components: ...@@ -1039,7 +987,6 @@ components:
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
required: required:
- subscriptionType - subscriptionType
- callbackReference
- filterCriteriaCmConn - filterCriteriaCmConn
type: object 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-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."
...@@ -1047,17 +994,13 @@ components: ...@@ -1047,17 +994,13 @@ components:
CpInfo: CpInfo:
properties: properties:
latitude: latitude:
description: "Latitude (DATUM=WGS84) description: "Latitude (DATUM=WGS84) -90 to 90 in decimal degree format DDD.ddd"
-90 to 90 in decimal degree format DDD.ddd"
format: Float format: Float
type: number type: number
x-etsi-mec-cardinality: 0..1 x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: Float x-etsi-mec-origin-type: Float
longitude: longitude:
description: "Longitude (DATUM=WGS84) description: "Longitude (DATUM=WGS84) -180 to 180 in decimal degree format DDD.ddd"
-180 to 180 in decimal degree format DDD.ddd"
format: Float format: Float
type: number type: number
x-etsi-mec-cardinality: 0..1 x-etsi-mec-cardinality: 0..1
...@@ -1123,7 +1066,6 @@ components: ...@@ -1123,7 +1066,6 @@ components:
deviceErrStatus: deviceErrStatus:
items: items:
$ref: "#/components/schemas/deviceErrStatus" $ref: "#/components/schemas/deviceErrStatus"
minItems: 0
type: array type: array
x-etsi-mec-cardinality: 0..N x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: Enum x-etsi-mec-origin-type: Enum
...@@ -1131,7 +1073,6 @@ components: ...@@ -1131,7 +1073,6 @@ components:
description: The device identifier. description: The device identifier.
items: items:
type: string type: string
minItems: 0
type: array type: array
x-etsi-mec-cardinality: 0..N x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
...@@ -1139,7 +1080,6 @@ components: ...@@ -1139,7 +1080,6 @@ components:
description: The identifier of an Internet Gateway Device through which the customer premises device is connected. description: The identifier of an Internet Gateway Device through which the customer premises device is connected.
items: items:
type: string type: string
minItems: 0
type: array type: array
x-etsi-mec-cardinality: 0..N x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
...@@ -1151,11 +1091,17 @@ components: ...@@ -1151,11 +1091,17 @@ components:
_links: _links:
$ref: "#/components/schemas/DevInfoSubscription.links" $ref: "#/components/schemas/DevInfoSubscription.links"
callbackReference: callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response. 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.
format: uri format: uri
type: string type: string
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: URI x-etsi-mec-origin-type: URI
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"
expiryDeadline: expiryDeadline:
# description': Time stamp. # description': Time stamp.
# x-etsi-mec-cardinality': 0..1 # x-etsi-mec-cardinality': 0..1
...@@ -1189,8 +1135,6 @@ components: ...@@ -1189,8 +1135,6 @@ components:
properties: properties:
deviceId: deviceId:
description: "Typically, the serial number of the device.This value shall remain fixed over the lifetime of the device, including across firmware updates." description: "Typically, the serial number of the device.This value shall remain fixed over the lifetime of the device, including across firmware updates."
type: array
items:
type: string type: string
x-etsi-mec-cardinality: 0..1 x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
...@@ -1203,12 +1147,7 @@ components: ...@@ -1203,12 +1147,7 @@ components:
$ref: "#/components/schemas/DownloadDiagnostics" $ref: "#/components/schemas/DownloadDiagnostics"
gwId: gwId:
description: description:
"Information (typically the serial number) to identify an Internet Gateway Device through which "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."
the customer premises device is connected.
This value shall remain fixed over the lifetime of the device, including across firmware updates."
items: items:
type: string type: string
minItems: 1 minItems: 1
...@@ -1267,6 +1206,7 @@ components: ...@@ -1267,6 +1206,7 @@ components:
$ref: "#/components/schemas/UploadDiagnostics" $ref: "#/components/schemas/UploadDiagnostics"
required: required:
- gwId - gwId
- deviceId
- deviceStatus - deviceStatus
- upTime - upTime
- iPConnectionUpTime - iPConnectionUpTime
...@@ -1306,7 +1246,7 @@ components: ...@@ -1306,7 +1246,7 @@ components:
downloadURI: downloadURI:
description: The URI for the device to perform the download on. description: The URI for the device to perform the download on.
format: uri format: uri
type: string type: uri
x-etsi-mec-cardinality: 0..1 x-etsi-mec-cardinality: 0..1
x-etsi-mec-origin-type: URI x-etsi-mec-origin-type: URI
eOMTime: eOMTime:
...@@ -1349,7 +1289,7 @@ components: ...@@ -1349,7 +1289,7 @@ components:
self: self:
description: Self referring URI. This shall be included in the response from the FAIS. The URI shall be unique within the FAI API as it acts as an ID for the subscription. description: Self referring URI. This shall be included in the response from the FAIS. The URI shall be unique within the FAI API as it acts as an ID for the subscription.
format: uri format: uri
type: string type: uri
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: URI x-etsi-mec-origin-type: URI
required: required:
...@@ -1568,7 +1508,6 @@ components: ...@@ -1568,7 +1508,6 @@ components:
description: The physical location of the related customer sites. description: The physical location of the related customer sites.
items: items:
$ref: "#/components/schemas/CpInfo" $ref: "#/components/schemas/CpInfo"
minItems: 0
type: array type: array
x-etsi-mec-cardinality: 0..N x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: CpInfo x-etsi-mec-origin-type: CpInfo
...@@ -1627,14 +1566,12 @@ components: ...@@ -1627,14 +1566,12 @@ components:
- self - self
type: object type: object
x-etsi-mec-cardinality: 0..1 x-etsi-mec-cardinality: 0..1
OnuAlarmSubscription.filterCriteriaOnuAlarm: OnuAlarmSubscription.filterCriteriaOnuAlarm:
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. 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: properties:
alarms: alarms:
items: items:
$ref: "#/components/schemas/OnuAlarmSubscription.alarms" $ref: "#/components/schemas/OnuAlarmSubscription.alarms"
minItems: 0
type: array type: array
x-etsi-mec-cardinality: 0..N x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: Enum x-etsi-mec-origin-type: Enum
...@@ -1642,14 +1579,11 @@ components: ...@@ -1642,14 +1579,11 @@ components:
description: 0 to N physical locations of the customer sites. description: 0 to N physical locations of the customer sites.
items: items:
$ref: "#/components/schemas/CpInfo" $ref: "#/components/schemas/CpInfo"
minItems: 0
type: array type: array
x-etsi-mec-cardinality: 0..N x-etsi-mec-cardinality: 0..N
x-etsi-mec-origin-type: CpInfo x-etsi-mec-origin-type: CpInfo
onuId: onuId:
description: "1 to N unique identifiers for the optical network units. 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."
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."
items: items:
type: string type: string
minItems: 1 minItems: 1
...@@ -1660,16 +1594,32 @@ components: ...@@ -1660,16 +1594,32 @@ components:
- onuId - onuId
type: object type: object
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
WebsockNotifConfig:
type: object
properties:
subscriptionType:
description: Set by FAIS to indicate to the service consumer the Websocket URI to be used for delivering notifications.
type: uri
requestWebsocketUri:
description: Set to true by the service consumer to indicate that Websocket delivery is requested.
type: boolean
OnuAlarmSubscription: OnuAlarmSubscription:
properties: properties:
_links: _links:
$ref: "#/components/schemas/OnuAlarmSubscription.links" $ref: "#/components/schemas/OnuAlarmSubscription.links"
callbackReference: callbackReference:
description: URI selected by the service consumer to receive notifications on the subscribed FAIS information. This shall be included both in the request and in response. 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.
format: uri format: uri
type: string type: string
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: URI x-etsi-mec-origin-type: URI
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"
expiryDeadline: expiryDeadline:
# description': Time stamp. # description': Time stamp.
# x-etsi-mec-cardinality': 0..1 # x-etsi-mec-cardinality': 0..1
...@@ -1684,7 +1634,6 @@ components: ...@@ -1684,7 +1634,6 @@ components:
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
required: required:
- subscriptionType - subscriptionType
- callbackReference
- filterCriteriaOnuAlarm - filterCriteriaOnuAlarm
type: object type: object
x-etsi-ref: 6.3.2 x-etsi-ref: 6.3.2
...@@ -1724,82 +1673,72 @@ components: ...@@ -1724,82 +1673,72 @@ components:
type: integer type: integer
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Enum x-etsi-mec-origin-type: Enum
PonInfo.opticalNetworkInfo:
description: ""
items:
type: object
minItems: 1
properties:
dsRate:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.dsRate"
onuId:
description: Information to identify an Optical Network Unit.
type: string
x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: String
operationalState:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.operationalState"
ponTech:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.ponTech"
usRate:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.usRate"
required:
- onuId
- ponTech
- operationalState
- dsRate
- usRate
PonInfo: PonInfo:
properties: properties:
timeStamp:
# description': Time stamp.
# x-etsi-mec-cardinality': 0..1
# x-etsi-mec-origin-type': TimeStamp
$ref: "#/components/schemas/TimeStamp"
customerPremisesInfo: customerPremisesInfo:
description: The physical location of a customer site. description: The physical location of a customer site.
items:
$ref: "#/components/schemas/CpInfo" $ref: "#/components/schemas/CpInfo"
minItems: 1 minItems: 1
type: array type: array
x-etsi-mec-cardinality: 1..N x-etsi-mec-cardinality: 1..N
x-etsi-mec-origin-type: CpInfo x-etsi-mec-origin-type: CpInfo
opticalNetworkInfo:
type: array
items:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo"
ponSYS_ID: ponSYS_ID:
description: "The 20-bit identity of the optical system within a certain domain.This is a reference value set by the OSS." description: "The 20-bit identity of the optical system within a certain domain.This is a reference value set by the OSS."
type: string type: string
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: String x-etsi-mec-origin-type: String
timeStamp: onuId:
# description': Time stamp. description: Information to identify an Optical Network Unit.
# x-etsi-mec-cardinality': 0..1 type: string
# x-etsi-mec-origin-type': TimeStamp x-etsi-mec-cardinality: "1"
$ref: "#/components/schemas/TimeStamp" x-etsi-mec-origin-type: String
ponTech:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.ponTech"
operationalState:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.operationalState"
dsRate:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.dsRate"
usRate:
$ref: "#/components/schemas/PonInfo.opticalNetworkInfo.usRate"
required: required:
- customerPremisesInfo - customerPremisesInfo
- ponSYS_ID - ponSYS_ID
- opticalNetworkInfo - opticalNetworkInfo
- onuId
- ponTech
- operationalState
- dsRate
- usRate
type: object type: object
x-etsi-ref: 6.2.5 x-etsi-ref: 6.2.5
SubscriptionLinkList.links.subscription.subscriptionType: SubscriptionLinkList.links.subscription.subscriptionType:
description: "Numeric value (0 - 255) corresponding to specified type of subscription as following: 0 = RESERVED. 1 = ONU_ALARM. 2 = DEVICE_ABNORMAL_ALERT. 3 = CM_CONNECTIVITY_STATE.4 = ANI_ALARM." description: Type of the subscription. The string shall be set according to the "subscriptionType" attribute of the associated subscription data type defined in clauses 6.3.2, 6.3.3, 6.3.4 and 6.3.6 "OnuAlarmSubscription" "DevInfoSubscription" "CmConnSubscription" "AniAlarmSubscription"
enum: enum:
- 0 - "OnuAlarmSubscription"
- 1 - "DevInfoSubscription"
- 2 - "CmConnSubscription"
- 3 - AniAlarmSubscription"
- 4 type: string
type: integer
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: Enum x-etsi-mec-origin-type: Enum
SubscriptionLinkList.links.subscription: SubscriptionLinkList.links.subscription:
description: A link to a subscription.
properties: properties:
href: href:
description: The URI referring to the subscription. description: The URI referring to the subscription.
format: uri format: uri
type: string type: uri
x-etsi-mec-cardinality: "1" x-etsi-mec-cardinality: "1"
x-etsi-mec-origin-type: URI x-etsi-mec-origin-type: URI
subscriptionType: subscriptionType:
...@@ -1809,9 +1748,15 @@ components: ...@@ -1809,9 +1748,15 @@ components:
- subscriptionType - subscriptionType
SubscriptionLinkList.links: SubscriptionLinkList.links:
description: List of hyperlinks related to the resource. description: Hyperlinks related to the resource.
type: object
required:
- self
properties: properties:
subscription: self:
$ref: "#/components/schemas/LinkType"
subscriptions:
description: The service consumer's subscriptions.
type: array type: array
items: items:
$ref: "#/components/schemas/SubscriptionLinkList.links.subscription" $ref: "#/components/schemas/SubscriptionLinkList.links.subscription"
...@@ -1824,6 +1769,27 @@ components: ...@@ -1824,6 +1769,27 @@ components:
- _links - _links
type: object type: object
x-etsi-ref: 6.3.5 x-etsi-ref: 6.3.5
TestNotification:
type: object
required:
- notificationType
- _links
properties:
notificationType:
description: Shall be set to "TestNotification
type: string
_links:
description: Hyperlink related to the resource.
type: object
required:
- subscription
properties:
subscription:
$ref: "#/components/schemas/LinkType"
TimeStamp: TimeStamp:
properties: properties:
nanoSeconds: nanoSeconds:
...@@ -1977,7 +1943,7 @@ components: ...@@ -1977,7 +1943,7 @@ components:
LinkType: LinkType:
description: >- description: >-
'This data type represents a type of link' 'URI referring to a resource'
type: object type: object
required: required:
- href - href
......
...@@ -5,7 +5,7 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E ...@@ -5,7 +5,7 @@ This repository contains OpenAPIs descriptions for the interfaces specified in E
## Online resources ## Online resources
* [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/029/02.01.01_60/gs_MEC029v020101p.pdf) * [Specification document](https://www.etsi.org/deliver/etsi_gs/MEC/001_099/029/02.02.01_60/gs_MEC029v020201p.pdf)
* [Navigate the Fixed Access Information API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/rep/mec/gs029-fai-api/raw/stf606-final/MEC029_FAI.yaml) * [Navigate the Fixed Access Information API in the browser](https://forge.etsi.org/swagger/ui/?url=https://forge.etsi.org/rep/mec/gs029-fai-api/raw/stf606-final/MEC029_FAI.yaml)
* [Edit the Fixed Access Information API online ](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/rep/mec/gs029-fai-api/raw/stf606-final/MEC029_FAI.yaml) * [Edit the Fixed Access Information API online ](https://forge.etsi.org/swagger/editor/?url=https://forge.etsi.org/rep/mec/gs029-fai-api/raw/stf606-final/MEC029_FAI.yaml)
......