blob: 685ac2d58fa6e5ea0e64709e0babff0395ba57da [file] [log] [blame]
# ========================LICENSE_START=================================
# O-RAN-SC
#
# Copyright (C) 2019 AT&T Intellectual Property and Nokia
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ========================LICENSE_END===================================
openapi: 3.0.0
info:
title: E2 Manager Service
description: E2 Manager Service APIs
version: 2.0.5
servers:
- url: 'http://{apiRoot}/v1'
variables:
apiRoot:
default: 'localhost:3800'
paths:
/nodeb/x2-setup:
post:
summary: X2 Setup
tags:
- nodeb
operationId: x2Setup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetupRequest'
required: true
responses:
'200':
description: Success
'400':
description: Invalid input
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/nodeb/endc-setup:
post:
tags:
- nodeb
summary: ENDC Setup
operationId: endcSetup
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetupRequest'
required: true
responses:
'200':
description: Success
'400':
description: Invalid input
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'/nodeb/{ranName}':
get:
tags:
- nodeb
summary: Get RAN by name
operationId: getNb
parameters:
- name: ranName
in: path
required: true
description: Name of RAN to return
schema:
type: string
responses:
'200':
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/GetNodebResponse'
'400':
description: The specified RAN name is invalid
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: A RAN with the specified name was not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/nodeb/shutdown:
put:
tags:
- nodeb
summary: >-
Close all connections to the RANs
responses:
'204':
description: Successful operation
'500':
description: Internal Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/nodeb/ids:
get:
tags:
- nodeb
summary: Get RANs identities list
operationId: getNodebIdList
responses:
'200':
description: Successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NodebIdentity'
'500':
description: Internal Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/nodeb/{ranName}/reset:
put:
tags:
- nodeb
summary: >-
Upon receipt of this message, 'ranName' shall abort any other ongoing procedures over X2 between the RIC and the RAN. The RAN shall delete all the context information related to the RIC, except the application level configuration data exchanged during the X2 Setup or eNB Configuration Update procedures, and release the corresponding resource.
operationId: reset
parameters:
- name: ranName
in: path
required: true
description: Name of RAN to return
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResetRequest'
required: false
responses:
'204':
description: Successful operation
'400':
description: Invalid input (invalid cause, RAN in wrong state)
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'404':
description: A RAN with the specified name was not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: Internal Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/ErrorResponse'
/health:
get:
tags:
- Health Check
summary: E2 Manager Service Health Check
responses:
'200':
description: OK
components:
schemas:
SetupRequest:
type: object
required:
- ranIp
- ranPort
- ranName
properties:
ranIp:
type: string
ranPort:
type: integer
format: uint16
ranName:
type: string
ResetRequest:
type: object
required:
- cause
properties:
cause:
type: string
enum: [misc:control-processing-overload,
misc:hardware-failure,
misc:om-intervention,
misc:not-enough-user-plane-processing-resources,
misc:unspecified,
protocol:transfer-syntax-error,
protocol:abstract-syntax-error-reject,
protocol:abstract-syntax-error-ignore-and-notify,
protocol:message-not-compatible-with-receiver-state,
protocol:semantic-error,
protocol:unspecified,
protocol:abstract-syntax-error-falsely-constructed-message,
transport:transport-resource-unavailable,
transport:unspecified,
radioNetwork:handover-desirable-for-radio-reasons,
radioNetwork:time-critical-handover,
radioNetwork:resource-optimisation-handover,
radioNetwork:reduce-load-in-serving-cell,
radioNetwork:partial-handover,
radioNetwork:unknown-new-eNB-UE-X2AP-ID,
radioNetwork:unknown-old-eNB-UE-X2AP-ID,
radioNetwork:unknown-pair-of-UE-X2AP-ID,
radioNetwork:ho-target-not-allowed,
radioNetwork:tx2relocoverall-expiry,
radioNetwork:trelocprep-expiry,
radioNetwork:cell-not-available,
radioNetwork:no-radio-resources-available-in-target-cell,
radioNetwork:invalid-MME-GroupID,
radioNetwork:unknown-MME-Code,
radioNetwork:encryption-and-or-integrity-protection-algorithms-not-supported,
radioNetwork:reportCharacteristicsEmpty,
radioNetwork:noReportPeriodicity,
radioNetwork:existingMeasurementID,
radioNetwork:unknown-eNB-Measurement-ID,
radioNetwork:measurement-temporarily-not-available,
radioNetwork:unspecified,
radioNetwork:load-balancing,
radioNetwork:handover-optimisation,
radioNetwork:value-out-of-allowed-range,
radioNetwork:multiple-E-RAB-ID-instances,
radioNetwork:switch-off-ongoing,
radioNetwork:not-supported-QCI-value,
radioNetwork:measurement-not-supported-for-the-object,
radioNetwork:tDCoverall-expiry,
radioNetwork:tDCprep-expiry,
radioNetwork:action-desirable-for-radio-reasons,
radioNetwork:reduce-load,
radioNetwork:resource-optimisation,
radioNetwork:time-critical-action,
radioNetwork:target-not-allowed,
radioNetwork:no-radio-resources-available,
radioNetwork:invalid-QoS-combination,
radioNetwork:encryption-algorithms-not-aupported,
radioNetwork:procedure-cancelled,
radioNetwork:rRM-purpose,
radioNetwork:improve-user-bit-rate,
radioNetwork:user-inactivity,
radioNetwork:radio-connection-with-UE-lost,
radioNetwork:failure-in-the-radio-interface-procedure,
radioNetwork:bearer-option-not-supported,
radioNetwork:mCG-Mobility,
radioNetwork:sCG-Mobility,
radioNetwork:count-reaches-max-value,
radioNetwork:unknown-old-en-gNB-UE-X2AP-ID,
radioNetwork:pDCP-Overload]
NodebIdentity:
properties:
globalNbId:
properties:
nbId:
type: string
plmnId:
type: string
type: object
inventoryName:
type: string
type: object
GetNodebResponse:
properties:
connectionStatus:
oneOf:
- type: string
- type: integer
enb:
properties:
enbType:
oneOf:
- type: string
- type: integer
guGroupIds:
items:
type: string
type: array
servedCells:
items:
properties:
bandwidthReducedSi:
oneOf:
- type: string
- type: integer
broadcastPlmns:
items:
type: string
type: array
cellId:
type: string
choiceEutraMode:
properties:
fdd:
properties:
dlTransmissionBandwidth:
oneOf:
- type: string
- type: integer
dlearFcn:
type: integer
ulTransmissionBandwidth:
oneOf:
- type: string
- type: integer
ulearFcn:
type: integer
additionalProperties: false
type: object
tdd:
properties:
additionalSpecialSubframeExtensionInfo:
properties:
additionalSpecialSubframePatternsExtension:
oneOf:
- type: string
- type: integer
cyclicPrefixDl:
oneOf:
- type: string
- type: integer
cyclicPrefixUl:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalSpecialSubframeInfo:
properties:
additionalSpecialSubframePatterns:
oneOf:
- type: string
- type: integer
cyclicPrefixDl:
oneOf:
- type: string
- type: integer
cyclicPrefixUl:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
earFcn:
type: integer
specialSubframeInfo:
properties:
cyclicPrefixDl:
oneOf:
- type: string
- type: integer
cyclicPrefixUl:
oneOf:
- type: string
- type: integer
specialSubframePatterns:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
subframeAssignment:
oneOf:
- type: string
- type: integer
transmissionBandwidth:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
csgId:
type: string
eutraMode:
oneOf:
- type: string
- type: integer
freqBandIndicatorPriority:
oneOf:
- type: string
- type: integer
mbmsServiceAreaIdentities:
items:
type: string
type: array
mbsfnSubframeInfos:
items:
properties:
radioframeAllocationOffset:
type: integer
radioframeAllocationPeriod:
oneOf:
- type: string
- type: integer
subframeAllocation:
type: string
subframeAllocationType:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
type: array
multibandInfos:
items:
type: integer
type: array
neighbourInfos:
items:
properties:
earFcn:
type: integer
ecgi:
type: string
pci:
type: integer
tac:
type: string
additionalProperties: false
type: object
type: array
numberOfAntennaPorts:
oneOf:
- type: string
- type: integer
pci:
type: integer
prachConfiguration:
properties:
highSpeedFlag:
type: boolean
prachConfigurationIndex:
type: integer
prachFrequencyOffset:
type: integer
rootSequenceIndex:
type: integer
zeroCorrelationZoneConfiguration:
type: integer
additionalProperties: false
type: object
tac:
type: string
additionalProperties: false
type: object
type: array
additionalProperties: false
type: object
failureType:
oneOf:
- type: string
- type: integer
globalNbId:
properties:
nbId:
type: string
plmnId:
type: string
additionalProperties: false
type: object
gnb:
properties:
servedNrCells:
items:
properties:
nrNeighbourInfos:
items:
properties:
choiceNrMode:
properties:
fdd:
properties:
dlarFcnFreqInfo:
properties:
frequencyBands:
items:
properties:
nrFrequencyBand:
type: integer
supportedSulBands:
items:
type: integer
type: array
additionalProperties: false
type: object
type: array
nrArFcn:
oneOf:
- type: integer
sulInformation:
properties:
sulArFcn:
oneOf:
- type: integer
sulTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
ularFcnFreqInfo:
properties:
frequencyBands:
items:
properties:
nrFrequencyBand:
type: integer
supportedSulBands:
items:
type: integer
type: array
additionalProperties: false
type: object
type: array
nrArFcn:
oneOf:
- type: integer
sulInformation:
properties:
sulArFcn:
oneOf:
- type: integer
sulTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
tdd:
properties:
arFcnNrFreqInfo:
properties:
frequencyBands:
items:
properties:
nrFrequencyBand:
type: integer
supportedSulBands:
items:
type: integer
type: array
additionalProperties: false
type: object
type: array
nrArFcn:
oneOf:
- type: integer
sulInformation:
properties:
sulArFcn:
oneOf:
- type: integer
sulTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
configuredStac:
type: string
nrCgi:
type: string
nrMode:
oneOf:
- type: string
- type: integer
nrPci:
type: integer
stac5g:
type: string
additionalProperties: false
type: object
type: array
servedNrCellInformation:
properties:
cellId:
type: string
choiceNrMode:
properties:
fdd:
properties:
dlFreqInfo:
properties:
frequencyBands:
items:
properties:
nrFrequencyBand:
type: integer
supportedSulBands:
items:
type: integer
type: array
additionalProperties: false
type: object
type: array
nrArFcn:
oneOf:
- type: integer
sulInformation:
properties:
sulArFcn:
oneOf:
- type: integer
sulTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
dlTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
ulFreqInfo:
properties:
frequencyBands:
items:
properties:
nrFrequencyBand:
type: integer
supportedSulBands:
items:
type: integer
type: array
additionalProperties: false
type: object
type: array
nrArFcn:
oneOf:
- type: integer
sulInformation:
properties:
sulArFcn:
oneOf:
- type: integer
sulTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
ulTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
tdd:
properties:
nrFreqInfo:
properties:
frequencyBands:
items:
properties:
nrFrequencyBand:
type: integer
supportedSulBands:
items:
type: integer
type: array
additionalProperties: false
type: object
type: array
nrArFcn:
oneOf:
- type: integer
sulInformation:
properties:
sulArFcn:
oneOf:
- type: integer
sulTransmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
transmissionBandwidth:
properties:
ncnrb:
oneOf:
- type: string
- type: integer
nrscs:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
additionalProperties: false
type: object
configuredStac:
type: string
nrMode:
oneOf:
- type: string
- type: integer
nrPci:
type: integer
servedPlmns:
items:
type: string
type: array
stac5g:
type: string
additionalProperties: false
type: object
additionalProperties: false
type: object
type: array
additionalProperties: false
type: object
ip:
type: string
nodeType:
oneOf:
- type: string
- type: integer
port:
type: integer
ranName:
type: string
setupFailure:
properties:
criticalityDiagnostics:
properties:
informationElementCriticalityDiagnostics:
items:
properties:
ieCriticality:
oneOf:
- type: string
- type: integer
ieId:
type: integer
typeOfError:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
type: array
procedureCode:
type: integer
procedureCriticality:
oneOf:
- type: string
- type: integer
triggeringMessage:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
miscellaneousCause:
oneOf:
- type: string
- type: integer
networkLayerCause:
oneOf:
- type: string
- type: integer
protocolCause:
oneOf:
- type: string
- type: integer
timeToWait:
oneOf:
- type: string
- type: integer
transportLayerCause:
oneOf:
- type: string
- type: integer
additionalProperties: false
type: object
additionalProperties: false
type: object
ErrorResponse:
type: object
required:
- errorCode
- errorMessage
properties:
errorCode:
type: string
description: '401 - corrupted json, 402 - validation error, 403 - RAN in wrong state, 404 - resource not found, 500 - RNIB error, 501 - internal problem, 502 - RMR error'
errorMessage:
type: string
description: Human readable text