openapi: 3.2.0 info: title: Bring Your Own Number (BYON) Registration and Connectivity Management () Service RACM API description: This API provide REST API for clients to manage Registration and Connectivity (RACM) towards MNO's IMS Network. version: 1.0.0 servers: - url: '{apiRoot}/racm/{apiVersion}/{userId}' description: APIs to manage Client Registration and Connection variables: apiRoot: description: API Root default: http://localhost:9091 apiVersion: description: The version of API to be used default: v1 userId: description: User name allocated by the operator default: userId tags: - name: RACM paths: /session: post: tags: - RACM summary: Create RACM Session description: Create RACM Session parameters: - name: transactionId in: header description: Transaction ID associated with the request required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/RacmRequest' responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/RacmResponse' '400': $ref: '#/components/responses/Generic400' security: - BearerAuth: - read - write /session/{sessionId}: put: tags: - RACM summary: For sharing new AccessToken with WebRTC GW, the AccessToken is expected to be received from the Auth server. description: '**The client shall use the resourceUrl supplied in the session creation request. There is no need of constructing the URL**' parameters: - name: transactionId in: header description: Transaction ID associated with the request required: true style: simple explode: false schema: type: string - name: clientId in: header description: The Client ID assigned by WebRTC GW required: true style: simple explode: false schema: type: string - name: sessionId in: path description: The sessionId assigned by the WebRTC GW RACM service required: true style: simple explode: false schema: type: string responses: '200': description: No Content security: - BearerAuth: - read - write delete: tags: - RACM summary: Delete Registration Session. description: '**The client shall use the resourceUrl supplied in the session creation request. There is no need of constructing the URL**' parameters: - name: transactionId in: header description: Transaction ID associated with the request required: true style: simple explode: false schema: type: string - name: clientId in: header description: The Client ID assigned by WebRTC GW required: true style: simple explode: false schema: type: string - name: sessionId in: path description: The sessionId assigned by the WebRTC GW RACM service required: true style: simple explode: false schema: type: string responses: '204': description: No Content '400': $ref: '#/components/responses/NotFound404' security: - BearerAuth: - read - write components: schemas: ErrorInfo: type: object properties: status: type: integer description: HTTP status code returned along with this error response code: type: string description: Code given to this error message: type: string description: Detailed error description required: - status - code - message RacmRequest: type: object properties: deviceId: type: string description: The device-id of the client in UUID format. ConnectionInformation: type: object properties: clientId: type: string description: The unique id assigned by WebRTC GW for identifying the association of device with WebRTC GW. The clients are required to include this value in clientId header. NotificationChannelInformation: properties: channelURL: type: string description: The channel url which client need to use for WebSocket creation. RacmResponse: type: object properties: connectionInformation: $ref: '#/components/schemas/ConnectionInformation' notificationChannelInformation: $ref: '#/components/schemas/NotificationChannelInformation' resourceURL: type: string description: The resource URL allocated by WebRTC GW representing the RACM session created. The sessionId assigned for RACM session is part of the url. responses: NotFound404: description: Session Not found content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 404 code: NOT_FOUND message: Unable to find the session with the provided Id parameters Generic400: description: Bad request content: application/json: schema: $ref: '#/components/schemas/ErrorInfo' example: status: 400 code: INVALID_ARGUMENT message: Schema validation failed at ... securitySchemes: BearerAuth: type: http scheme: bearer