openapi: 3.0.0 info: version: 1.0.0 title: MMTel_CallControl description: | MMTel Enabler Server Call Control Service. © 2025, 3GPP Organizational Partners (ARIB, ATIS, CCSA, ETSI, TSDSI, TTA, TTC). All rights reserved. externalDocs: description: > 3GPP TS 29.392 V19.0.0; Application layer support for MMTel; MMTel Enabler Server Services; Stage 3. url: https://www.3gpp.org/ftp/Specs/archive/29_series/29.392/ servers: - url: '{apiRoot}/mmtel-callcontrol/v1' variables: apiRoot: default: https://example.com description: apiRoot as defined in clause 5.2.4 of 3GPP TS 29.122 security: - {} - oAuth2ClientCredentials: - mmtel-callcontrol paths: /ims-sessions: post: summary: Create IMS Session operationId: ImsSessionCreate tags: - IMS Sessions (Collection) requestBody: description: Creates a new Individual IMS Session resource. required: true content: application/json: schema: $ref: 'TS29522_ImsSessionManagement.yaml#/components/schemas/ImsSession' responses: '201': description: > The creation of an Individual IMS Session resource is confirmed and a representation of that resource is returned. content: application/json: schema: $ref: 'TS29522_ImsSessionManagement.yaml#/components/schemas/ImsSession' headers: Location: description: > The URI of the newly created resource, according to the structure: {apiRoot}/mmtel-callcontrol//ims-sessions/{sessionId}. schema: type: string '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' '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' '501': $ref: 'TS29571_CommonData.yaml#/components/responses/501' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' callbacks: ImsSessionEventNotification: '{$request.body#/notifUri}': post: requestBody: required: true content: application/json: schema: $ref: 'TS29175_Nimsas_ImsSessionManagement.yaml#/components/schemas/ImsSessionEventNotification' responses: '204': description: > No Content. The IMS session notification is successfully received and acknowledged. '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' /ims-sessions/{sessionId}: put: summary: Update an existing Individual IMS Session resource. operationId: ImsSessionUpdate tags: - Individual IMS Session parameters: - name: sessionId in: path description: Identifies an individual IMS session. required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: 'TS29522_ImsSessionManagement.yaml#/components/schemas/ImsSession' responses: '200': description: > OK. The Individual IMS Session resource is successfully updated and a representation of the updated resource is returned in the response body. content: application/json: schema: $ref: 'TS29522_ImsSessionManagement.yaml#/components/schemas/ImsSession' '204': description: > No Content. The Individual IMS Session Management resource is successfully updated and no content is returned in the response body. '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '409': $ref: 'TS29122_CommonData.yaml#/components/responses/409' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' patch: summary: Update an existing Individual IMS Session resource. operationId: ImsSessionPatch tags: - Individual IMS Session patch update parameters: - name: sessionId in: path description: Identifies an individual IMS session. required: true schema: type: string requestBody: required: true content: application/merge-patch+json: schema: $ref: 'TS29571_CommonData.yaml#/components/schemas/PatchItem' responses: '200': description: > OK. The "Individual IMS Session" resource is successfully modified and a representation of the updated resource is returned in the response body. content: application/json: schema: $ref: 'TS29522_ImsSessionManagement.yaml#/components/schemas/ImsSession' '204': description: > No Content. The "Individual IMS Session" resource is successfully modified and no content is returned in the response body. '307': $ref: 'TS29122_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29122_CommonData.yaml#/components/responses/308' '400': $ref: 'TS29122_CommonData.yaml#/components/responses/400' '401': $ref: 'TS29122_CommonData.yaml#/components/responses/401' '403': $ref: 'TS29122_CommonData.yaml#/components/responses/403' '404': $ref: 'TS29122_CommonData.yaml#/components/responses/404' '411': $ref: 'TS29122_CommonData.yaml#/components/responses/411' '413': $ref: 'TS29122_CommonData.yaml#/components/responses/413' '415': $ref: 'TS29122_CommonData.yaml#/components/responses/415' '429': $ref: 'TS29122_CommonData.yaml#/components/responses/429' '500': $ref: 'TS29122_CommonData.yaml#/components/responses/500' '503': $ref: 'TS29122_CommonData.yaml#/components/responses/503' default: $ref: 'TS29122_CommonData.yaml#/components/responses/default' delete: summary: delete the IMS session operationId: ImsSessionDelete tags: - IMS Session Deletion parameters: - name: sessionId in: path description: Identifies an individual IMS session. required: true schema: type: string responses: '204': description: No content, successful delete of the resource identified by sessionId. '307': $ref: 'TS29571_CommonData.yaml#/components/responses/307' '308': $ref: 'TS29571_CommonData.yaml#/components/responses/308' '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' '502': $ref: 'TS29571_CommonData.yaml#/components/responses/502' '503': $ref: 'TS29571_CommonData.yaml#/components/responses/503' default: $ref: 'TS29571_CommonData.yaml#/components/responses/default' components: securitySchemes: oAuth2ClientCredentials: type: oauth2 flows: clientCredentials: tokenUrl: '{tokenUrl}' scopes: {}