openapi: 3.0.0 info: title: Npcf_PolicyAuthorization Service API version: 1.0.3 description: | PCF Policy Authorization Service. © 2019, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: 3GPP TS 29.514 V15.6.0; 5G System; Policy Authorization Service;Stage 3. url: 'http://www.3gpp.org/ftp/Specs/archive/29_series/29.514/' # servers: - url: '{apiRoot}/npcf-policyauthorization/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in subclause 4.4 of 3GPP TS 29.501 security: - {} - oAuth2ClientCredentials: - npcf-policyauthorization paths: /app-sessions: post: summary: Creates a new Individual Application Session Context resource operationId: PostAppSessions tags: - Application Sessions (Collection) requestBody: description: Contains the information for the creation the resource required: true content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' responses: '201': description: Successful creation of the resource content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' headers: Location: description: 'Contains the URI of the created individual application session context resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId} or the URI of the created events subscription sub-resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' required: true schema: type: string '303': description: See Other. The result of the HTTP POST request would be equivalent to the existing Application Session Context. The HTTP response shall contain a Location header field set to the URI of the existing individual Application Session Context resource '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': description: Forbidden content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Retry-After: description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.' schema: anyOf: - type: integer - type: string '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' callbacks: terminationRequest: '{$request.body#/ascReqData/notifUri}/terminate': post: requestBody: description: Request of the termination of the Individual Application Session Context content: application/json: schema: $ref: '#/components/schemas/TerminationInfo' responses: '204': description: The receipt of the notification is acknowledged. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' eventNotification: '{$request.body#/ascReqData/evSubsc/notifUri}/notify': post: requestBody: description: Notification of an event occurrence in the PCF. content: application/json: schema: $ref: '#/components/schemas/EventsNotification' responses: '204': description: The receipt of the notification is acknowledged '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' /app-sessions/{appSessionId}: get: summary: "Reads an existing Individual Application Session Context" operationId: GetAppSession tags: - Individual Application Session Context (Document) parameters: - name: appSessionId description: string identifying the resource in: path required: true schema: type: string responses: '200': description: A representation of the resource is returned. content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '406': $ref: 'TS29571_CommonData.yaml#/components/responses/406' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' patch: summary: "Modifies an existing Individual Application Session Context" operationId: ModAppSession tags: - Individual Application Session Context (Document) parameters: - name: appSessionId description: string identifying the resource in: path required: true schema: type: string requestBody: description: modification of the resource. required: true content: application/merge-patch+json: schema: $ref: '#/components/schemas/AppSessionContextUpdateData' responses: '200': description: successful modification of the resource and a representation of that resource is returned content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' '204': description: The successful modification '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': description: Forbidden content: application/problem+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/ProblemDetails' headers: Retry-After: description: 'Indicates the time the AF has to wait before making a new request. It can be a non-negative integer (decimal number) indicating the number of seconds the AF has to wait before making a new request or an HTTP-date after which the AF can retry a new request.' schema: anyOf: - type: integer - type: string '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' callbacks: eventNotification: '{$request.body#/evSubsc/notifUri}/notify': post: requestBody: description: Notification of an event occurrence in the PCF. content: application/json: schema: $ref: '#/components/schemas/EventsNotification' responses: '204': description: The receipt of the notification is acknowledged '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' # # /app-sessions/{appSessionId}/delete: post: summary: "Deletes an existing Individual Application Session Context" operationId: DeleteAppSession tags: - Individual Application Session Context (Document) parameters: - name: appSessionId description: string identifying the Individual Application Session Context resource in: path required: true schema: type: string requestBody: description: deletion of the Individual Application Session Context resource, req notification required: false content: application/json: schema: $ref: '#/components/schemas/EventsSubscReqData' responses: '200': description: The deletion of the resource is confirmed and a resource is returned content: application/json: schema: $ref: '#/components/schemas/AppSessionContext' '204': description: The deletion is confirmed without returning additional data. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' # /app-sessions/{appSessionId}/events-subscription: put: summary: "creates or modifies an Events Subscription subresource" operationId: updateEventsSubsc tags: - Events Subscription (Document) parameters: - name: appSessionId description: string identifying the Events Subscription resource in: path required: true schema: type: string requestBody: description: Creation or modification of an Events Subscription resource. required: true content: application/json: schema: $ref: '#/components/schemas/EventsSubscReqData' responses: '201': description: The creation of the Events Subscription resource is confirmed and its representation is returned. content: application/json: schema: anyOf: - $ref: '#/components/schemas/EventsSubscReqData' - $ref: '#/components/schemas/EventsNotification' headers: Location: description: 'Contains the URI of the created Events Subscription resource, according to the structure: {apiRoot}/npcf-policyauthorization/v1/app-sessions/{appSessionId}/events-subscription}' required: true schema: type: string '200': description: The modification of the of the Events Subscription resource is confirmed its representation is returned. content: application/json: schema: anyOf: - $ref: '#/components/schemas/EventsSubscReqData' - $ref: '#/components/schemas/EventsNotification' '204': description: The modification of the Events Subscription subresource is confirmed without returning additional data. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' callbacks: eventNotification: '{$request.body#/notifUri}/notify': post: requestBody: description: Contains the information for the notification of an event occurrence in the PCF. content: application/json: schema: $ref: '#/components/schemas/EventsNotification' responses: '204': description: The receipt of the notification is acknowledged. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29571_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29571_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29571_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' delete: summary: deletes the Events Subscription subresource operationId: DeleteEventsSubsc tags: - Events Subscription (Document) parameters: - name: appSessionId description: string identifying the Individual Application Session Context resource in: path required: true schema: type: string responses: '204': description: The deletion of the of the Events Subscription sub-resource is confirmed without returning additional data. '400': $ref: 'TS29571_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29571_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29571_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29571_CommonData.yaml#/components/responses/404' '429': $ref: 'TS29571_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29571_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{nrfApiRoot}/oauth2/token' scopes: npcf-policyauthorization: Access to the Npcf_PolicyAuthorization API schemas: AppSessionContext: description: Represents an Individual Application Session Context resource. type: object properties: ascReqData: $ref: '#/components/schemas/AppSessionContextReqData' ascRespData: $ref: '#/components/schemas/AppSessionContextRespData' evsNotif: $ref: '#/components/schemas/EventsNotification' AppSessionContextReqData: description: Identifies the service requirements of an Individual Application Session Context. type: object required: - notifUri - suppFeat oneOf: - required: [ueIpv4] - required: [ueIpv6] - required: [ueMac] properties: afAppId: $ref: '#/components/schemas/AfAppId' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirement' aspId: $ref: '#/components/schemas/AspId' bdtRefId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' dnn: $ref: 'TS29571_CommonData.yaml#/components/schemas/Dnn' evSubsc: $ref: '#/components/schemas/EventsSubscReqData' medComponents: type: object additionalProperties: $ref: '#/components/schemas/MediaComponent' minProperties: 1 ipDomain: type: string mpsId: description: indication of MPS service request type: string resPrio: $ref: '#/components/schemas/ReservPriority' notifUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' sliceInfo: $ref: 'TS29571_CommonData.yaml#/components/schemas/Snssai' sponId: $ref: '#/components/schemas/SponId' sponStatus: $ref: '#/components/schemas/SponsoringStatus' supi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Supi' gpsi: $ref: 'TS29571_CommonData.yaml#/components/schemas/Gpsi' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' ueIpv4: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' ueIpv6: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' ueMac: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' AppSessionContextRespData: description: Describes the authorization data of an Individual Application Session Context created by the PCF. type: object properties: servAuthInfo: $ref: '#/components/schemas/ServAuthInfo' suppFeat: $ref: 'TS29571_CommonData.yaml#/components/schemas/SupportedFeatures' AppSessionContextUpdateData: description: Identifies the modifications to an Individual Application Session Context and may include the modifications to the sub-resource Events Subscription. type: object properties: afAppId: $ref: '#/components/schemas/AfAppId' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirementRm' aspId: $ref: '#/components/schemas/AspId' bdtRefId: $ref: 'TS29122_CommonData.yaml#/components/schemas/BdtReferenceId' evSubsc: $ref: '#/components/schemas/EventsSubscReqDataRm' medComponents: type: object additionalProperties: $ref: '#/components/schemas/MediaComponentRm' minProperties: 1 mpsId: description: indication of MPS service request type: string resPrio: $ref: '#/components/schemas/ReservPriority' sponId: $ref: '#/components/schemas/SponId' sponStatus: $ref: '#/components/schemas/SponsoringStatus' EventsSubscReqData: description: Identifies the events the application subscribes to. type: object required: - events properties: events: type: array items: $ref: '#/components/schemas/AfEventSubscription' minItems: 1 notifUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' usgThres: $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThreshold' EventsSubscReqDataRm: description: this data type is defined in the same way as the EventsSubscReqData data type, but with the OpenAPI nullable property set to true. type: object required: - events properties: events: type: array items: $ref: '#/components/schemas/AfEventSubscription' notifUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' usgThres: $ref: 'TS29122_CommonData.yaml#/components/schemas/UsageThresholdRm' nullable: true MediaComponent: description: Identifies a media component. type: object required: - medCompN properties: afAppId: $ref: '#/components/schemas/AfAppId' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirement' contVer: $ref: '#/components/schemas/ContentVersion' codecs: type: array items: $ref: '#/components/schemas/CodecData' minItems: 1 maxItems: 2 fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' medCompN: type: integer medSubComps: type: object additionalProperties: $ref: '#/components/schemas/MediaSubComponent' minProperties: 1 medType: $ref: '#/components/schemas/MediaType' mirBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' mirBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' resPrio: $ref: '#/components/schemas/ReservPriority' MediaComponentRm: description: This data type is defined in the same way as the MediaComponent data type, but with the OpenAPI nullable property set to true type: object required: - medCompN properties: afAppId: $ref: '#/components/schemas/AfAppId' afRoutReq: $ref: '#/components/schemas/AfRoutingRequirementRm' contVer: $ref: '#/components/schemas/ContentVersion' codecs: type: array items: $ref: '#/components/schemas/CodecData' minItems: 1 maxItems: 2 fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' medCompN: type: integer medSubComps: type: object additionalProperties: $ref: '#/components/schemas/MediaSubComponentRm' minProperties: 1 medType: $ref: '#/components/schemas/MediaType' mirBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' mirBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' resPrio: $ref: '#/components/schemas/ReservPriority' nullable: true MediaSubComponent: description: Identifies a media subcomponent type: object required: - fNum properties: ethfDescs: type: array items: $ref: '#/components/schemas/EthFlowDescription' minItems: 1 maxItems: 2 fNum: type: integer fDescs: type: array items: $ref: '#/components/schemas/FlowDescription' minItems: 1 maxItems: 2 fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRate' tosTrCl: $ref: '#/components/schemas/TosTrafficClass' flowUsage: $ref: '#/components/schemas/FlowUsage' MediaSubComponentRm: description: This data type is defined in the same way as the MediaSubComponent data type, but with the OpenAPI nullable property set to true. Removable attributes marBwDl and marBwUl are defined with the corresponding removable data type. type: object required: - fNum properties: ethfDescs: type: array items: $ref: '#/components/schemas/EthFlowDescription' minItems: 1 maxItems: 2 nullable: true fNum: type: integer fDescs: type: array items: $ref: '#/components/schemas/FlowDescription' minItems: 1 maxItems: 2 nullable: true fStatus: $ref: '#/components/schemas/FlowStatus' marBwDl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' marBwUl: $ref: 'TS29571_CommonData.yaml#/components/schemas/BitRateRm' tosTrCl: $ref: '#/components/schemas/TosTrafficClassRm' flowUsage: $ref: '#/components/schemas/FlowUsage' nullable: true EventsNotification: description: describes the notification of a matched event type: object required: - evSubsUri - evNotifs properties: accessType: $ref: 'TS29571_CommonData.yaml#/components/schemas/AccessType' anGwAddr: $ref: '#/components/schemas/AnGwAddress' evSubsUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' evNotifs: type: array items: $ref: '#/components/schemas/AfEventNotification' minItems: 1 failedResourcAllocReports: type: array items: $ref: '#/components/schemas/ResourcesAllocationInfo' minItems: 1 plmnId: $ref: 'TS29571_CommonData.yaml#/components/schemas/PlmnId' qncReports: type: array items: $ref: '#/components/schemas/QosNotificationControlInfo' minItems: 1 ratType: $ref: 'TS29571_CommonData.yaml#/components/schemas/RatType' usgRep: $ref: 'TS29122_CommonData.yaml#/components/schemas/AccumulatedUsage' AfEventSubscription: description: describes the event information delivered in the subscription type: object required: - event properties: event: $ref: '#/components/schemas/AfEvent' notifMethod: $ref: '#/components/schemas/AfNotifMethod' AfEventNotification: description: describes the event information delivered in the notification type: object required: - event properties: event: $ref: '#/components/schemas/AfEvent' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 TerminationInfo: description: indicates the cause for requesting the deletion of the Individual Application Session Context resource type: object required: - termCause - resUri properties: termCause: $ref: '#/components/schemas/TerminationCause' resUri: $ref: 'TS29571_CommonData.yaml#/components/schemas/Uri' AfRoutingRequirement: description: describes the event information delivered in the subscription type: object properties: appReloc: type: boolean routeToLocs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' minItems: 1 spVal: $ref: '#/components/schemas/SpatialValidity' tempVals: type: array items: $ref: '#/components/schemas/TemporalValidity' minItems: 1 upPathChgSub: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' SpatialValidity: description: describes explicitly the route to an Application location type: object required: - presenceInfoList properties: presenceInfoList: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' minProperties: 1 SpatialValidityRm: description: this data type is defined in the same way as the SpatialValidity data type, but with the OpenAPI nullable property set to true type: object required: - presenceInfoList properties: presenceInfoList: type: object additionalProperties: $ref: 'TS29571_CommonData.yaml#/components/schemas/PresenceInfo' minProperties: 1 nullable: true AfRoutingRequirementRm: description: this data type is defined in the same way as the AfRoutingRequirement data type, but with the OpenAPI nullable property set to true and the spVal and tempVals attributes defined as removable. type: object properties: appReloc: type: boolean routeToLocs: type: array items: $ref: 'TS29571_CommonData.yaml#/components/schemas/RouteToLocation' minItems: 1 nullable: true spVal: $ref: '#/components/schemas/SpatialValidityRm' tempVals: type: array items: $ref: '#/components/schemas/TemporalValidity' minItems: 1 nullable: true upPathChgSub: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/UpPathChgEvent' nullable: true AnGwAddress: description: describes the address of the access network gateway control node type: object anyOf: - required: [anGwIpv4Addr] - required: [anGwIpv6Addr] properties: anGwIpv4Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv4Addr' anGwIpv6Addr: $ref: 'TS29571_CommonData.yaml#/components/schemas/Ipv6Addr' Flows: description: Identifies the flows type: object required: - medCompN properties: contVers: type: array items: $ref: '#/components/schemas/ContentVersion' minItems: 1 fNums: type: array items: type: integer minItems: 1 medCompN: type: integer EthFlowDescription: description: Identifies an Ethernet flow type: object required: - ethType properties: destMacAddr: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' ethType: type: string fDesc: $ref: '#/components/schemas/FlowDescription' fDir: $ref: 'TS29512_Npcf_SMPolicyControl.yaml#/components/schemas/FlowDirection' sourceMacAddr: $ref: 'TS29571_CommonData.yaml#/components/schemas/MacAddr48' vlanTags: type: array items: type: string minItems: 1 maxItems: 2 ResourcesAllocationInfo: description: describes the status of the PCC rule(s) related to certain media components. type: object required: - mcResourcStatus properties: mcResourcStatus: $ref: '#/components/schemas/MediaComponentResourcesStatus' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 TemporalValidity: description: Indicates the time interval(s) during which the AF request is to be applied type: object properties: startTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' stopTime: $ref: 'TS29571_CommonData.yaml#/components/schemas/DateTime' # QosNotificationControlInfo: description: Indicates whether the QoS targets for a GRB flow are not guaranteed or guaranteed again type: object required: - notifType properties: notifType: $ref: '#/components/schemas/QosNotifType' flows: type: array items: $ref: '#/components/schemas/Flows' minItems: 1 # # SIMPLE DATA TYPES # AfAppId: description: Contains an AF application identifier. type: string AspId: description: Contains an identity of an application service provider. type: string CodecData: description: Contains codec related information. type: string ContentVersion: description: Represents the content version of some content. type: integer FlowDescription: description: Defines a packet filter of an IP flow. type: string SponId: description: Contains an identity of a sponsor. type: string TosTrafficClass: description: 2-octet string, where each octet is encoded in hexadecimal representation. The first octet contains the IPv4 Type-of-Service or the IPv6 Traffic-Class field and the second octet contains the ToS/Traffic Class mask field. type: string TosTrafficClassRm: description: this data type is defined in the same way as the TosTrafficClass data type, but with the OpenAPI nullable property set to true type: string nullable: true # # ENUMERATIONS DATA TYPES # MediaType: anyOf: - type: string enum: - AUDIO - VIDEO - DATA - APPLICATION - CONTROL - TEXT - MESSAGE - OTHER - type: string # ReservPriority: anyOf: - type: string enum: - PRIO_1 - PRIO_2 - PRIO_3 - PRIO_4 - PRIO_5 - PRIO_6 - PRIO_7 - PRIO_8 - PRIO_9 - PRIO_10 - PRIO_11 - PRIO_12 - PRIO_13 - PRIO_14 - PRIO_15 - PRIO_16 - type: string # ServAuthInfo: anyOf: - type: string enum: - TP_NOT_KNOWN - TP_EXPIRED - TP_NOT_YET_OCURRED - type: string # SponsoringStatus: anyOf: - type: string enum: - SPONSOR_DISABLED - SPONSOR_ENABLED - type: string # AfEvent: anyOf: - type: string enum: - ACCESS_TYPE_CHANGE - FAILED_RESOURCES_ALLOCATION - PLMN_CHG - QOS_NOTIF - SUCCESSFUL_RESOURCES_ALLOCATION - USAGE_REPORT - type: string # AfNotifMethod: anyOf: - type: string enum: - EVENT_DETECTION - ONE_TIME - type: string # QosNotifType: anyOf: - type: string enum: - GUARANTEED - NOT_GUARANTEED - type: string # TerminationCause: anyOf: - type: string enum: - ALL_SDF_DEACTIVATION - PDU_SESSION_TERMINATION - type: string # MediaComponentResourcesStatus: anyOf: - type: string enum: - ACTIVE - INACTIVE - type: string # # FlowUsage: anyOf: - type: string enum: - NO_INFO - RTCP - type: string FlowStatus: anyOf: - type: string enum: - ENABLED-UPLINK - ENABLED-DOWNLINK - ENABLED - DISABLED - REMOVED - type: string