Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Table of Contents

- r1.1
- [r1.1](#r11)

**Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until it has been released. For example, changes may be reverted before a release is published. For the best results, use the latest published release.**

Expand All @@ -13,7 +13,7 @@ The below sections record the changes for each API version in each release as fo
- for subsequent release-candidate(s), only the delta to the previous release-candidate
- for a public release, the consolidated changes since the previous public release

## r1.1
# r1.1

## Release Note

Expand All @@ -29,12 +29,16 @@ The API definition(s) are based on
## click-to-dial v0.1.0-alpha.1

click-to-dial v0.1.0-alpha.1 is the first pre-release version of the click-to-dial API.
- API definition **with inline documentation**:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/ClickToDial/r1.1/code/API_definitions/click-to-dial.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/ClickToDial/r1.1/code/API_definitions/click-to-dial.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/ClickToDial/blob/r1.1/code/API_definitions/click-to-dial.yaml)

## Added

- Update for fall2025 @YadingFang in [#22](https://github.com/camaraproject/ClickToDial/pull/22), [#27](https://github.com/camaraproject/ClickToDial/pull/27), [#29](https://github.com/camaraproject/ClickToDial/pull/29), [#31](https://github.com/camaraproject/ClickToDial/pull/31)
- Update for fall2025 by @YadingFang in [#22](https://github.com/camaraproject/ClickToDial/pull/22), [#27](https://github.com/camaraproject/ClickToDial/pull/27), [#29](https://github.com/camaraproject/ClickToDial/pull/29), [#31](https://github.com/camaraproject/ClickToDial/pull/31), [#32](https://github.com/camaraproject/ClickToDial/pull/32)
- Create Click to Dial_API.md by @wuhonglin in [#9](https://github.com/camaraproject/ClickToDial/pull/9)
- Add CTD support material by @HanbaiWang in [#6](https://github.com/camaraproject/ClickToDial/pull/6)
- Add Click to Dial support material by @HanbaiWang in [#6](https://github.com/camaraproject/ClickToDial/pull/6)
- Create Click to Dial_User_Story by @seekwain in [#11](https://github.com/camaraproject/ClickToDial/pull/11)
- Add API yaml files by @seekwain in [#10](https://github.com/camaraproject/ClickToDial/pull/10)
- Create Click to Dial_API.md by @wuhonglin in [#9](https://github.com/camaraproject/ClickToDial/pull/9)
Expand All @@ -55,11 +59,8 @@ click-to-dial v0.1.0-alpha.1 is the first pre-release version of the click-to-di
## New Contributors

- @HanbaiWang made their first contribution in [#4](https://github.com/camaraproject/ClickToDial/pull/4)
- @rartych made their first contribution in [#5](https://github.com/camaraproject/ClickToDial/pull/5)
- @wuhonglin made their first contribution in [#9](https://github.com/camaraproject/ClickToDial/pull/9)
- @seekwain made their first contribution in [#10](https://github.com/camaraproject/ClickToDial/pull/10)
- @hdamker made their first contribution in [#14](https://github.com/camaraproject/ClickToDial/pull/14)
- @wrathwolf made their first contribution in [#19](https://github.com/camaraproject/ClickToDial/pull/19)
- @YadingFang make their first contribution in [#22](https://github.com/camaraproject/ClickToDial/pull/22)

**Full Changelog**: [https://github.com/camaraproject/ClickToDial/commits/r1.1/](https://github.com/camaraproject/ClickToDial/commits/r1.1/)
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ Repository to describe, develop, document and test the ClickToDial API family

## Release Information
<!-- Use/uncomment one or multiple the following options -->
<!-- Pre-releases of this sub project are available in https://github.com/camaraproject/§repo_name§/releases -->
<!-- The latest public release is available here: https://github.com/camaraproject/§repo_name§/releases/latest -->
<!-- For changes see [CHANGELOG.md](https://github.com/camaraproject/§repo_name§/blob/main/CHANGELOG.md) -->
Pre-releases of this sub project are available in https://github.com/camaraproject/ClickToDial/releases
<!-- The latest public release is available here: https://github.com/camaraproject/ClickToDial/releases/latest -->
For changes see [CHANGELOG.md](https://github.com/camaraproject/ClickToDial/blob/main/CHANGELOG.md)

## Contributing
* Meetings are held virtually <!-- for new API families request a meeting link from the LF admin team or replace the information with the existing meeting information (of the API family) -->
Expand Down
1 change: 0 additions & 1 deletion code/API_definitions/README.MD

This file was deleted.

123 changes: 41 additions & 82 deletions code/API_definitions/click-to-dial.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@ openapi: 3.0.0

info:
title: Click to Dial Service API
version: 0.1.0
description: |
The Click to Dial API refers to the ability of users to initiate a call request through an enterprise platform or application. The Click to Dial API receives the request and processes it, subsequently connecting both the calling and called parties. Once the parties answer the call, it enables point-to-point voice communication between them.For specific details, please refer to [Click-to-Dial_API.md](https://github.com/camaraproject/ClickToDial/blob/main/code/API_definitions/Click-to-Dial_API.md)
The Click to Dial API refers to the ability of users to initiate a call request through an enterprise platform or application. The Click to Dial API receives the request and processes it, subsequently connecting both the calling and called parties. Once the parties answer the call, it enables point-to-point voice communication between them.For specific details, please refer to [click-to-dial_API.md](/documentation/API_documentation/click-to-dial_API.md)

# Introduction

Expand All @@ -14,8 +13,8 @@ info:

Based on the Click-to-Dial API, users can initiate and terminate click-to-call sessions. The Click-to-Call API has the following features:

* The API user invokes the Click-to-Dial Begin API to establish a call between the caller and the callee.
* The API user invokes the Click-to-Dial Release API to end the call between the caller and the callee.
* The API user invokes the Click-to-Dial Begin Operation to establish a call between the caller and the callee.
* The API user invokes the Click-to-Dial Release Operation to end the call between the caller and the callee.
* The API user can optionally specify a callback URL (parameter) to receive status notifications at that URL. <br>

# Authorization and authentication
Expand All @@ -29,21 +28,22 @@ info:
# Further info and support

(FAQs will be added in a later version of the documentation)

license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: 0.1.0-alpha.1
x-camara-commonalities: 0.5

externalDocs:
description: Product documentation at Camara
url: https://github.com/camaraproject/
description: Project documentation at Camara
url: https://github.com/camaraproject/ClickToDial

servers:
- url: '{serverRoot}/click-to-dial/v0.1.0'
- url: '{apiRoot}/click-to-dial/v0.1alpha1'
variables:
apiRoot:
default: https://example.com
description: API root

security:
- oAuth2ClientCredentials: []
default: http://localhost:9091
description: API root, defined by the service provider, e.g. `api.example.com` or `api.example.com/somepath`

paths:
/click-to-dial-begin:
Expand All @@ -65,10 +65,10 @@ paths:
notifications:
"{$request.body#/sink}":
post:
summary: Provisioning notifications callback
summary: Call status notifications callback
description: |
Important: this endpoint is to be implemented by the API consumer.The CTD server will call this endpoint whenever any CTD provisioning change related event occurs.Currently only `CALL_STATUS_CHANGED` event is defined.
operationId: postProvisioningNotification
Important: this endpoint is to be implemented by the API consumer.The Click To Dial server will call this endpoint whenever any Click To Dial call status change related event occurs.Currently only `CALL_STATUS_CHANGED` event is defined.
operationId: postNotification
parameters:
- $ref: "#/components/parameters/x-correlator"
requestBody:
Expand All @@ -92,10 +92,6 @@ paths:
$ref: "#/components/responses/Generic401"
"403":
$ref: "#/components/responses/Generic403"
"500":
$ref: "#/components/responses/Generic500"
"503":
$ref: "#/components/responses/Generic503"
responses:
'200':
description: The result of Click to Dial Begin
Expand All @@ -107,8 +103,9 @@ paths:
$ref: '#/components/responses/Generic400'
'403':
$ref: '#/components/responses/Generic403'
'500':
$ref: '#/components/responses/Generic500'
security:
- openId:
- "click-to-dial:click-to-dial-begin"

/click-to-dial-release/{callidentifier}:
delete:
Expand All @@ -131,8 +128,9 @@ paths:
$ref: '#/components/responses/Generic400'
'403':
$ref: '#/components/responses/Generic403'
'500':
$ref: '#/components/responses/Generic500'
security:
- openId:
- "click-to-dial:click-to-dial-release"

/recording-download/{callidentifier}:
get:
Expand All @@ -159,29 +157,24 @@ paths:
$ref: '#/components/responses/Generic400'
'403':
$ref: '#/components/responses/Generic403'
'500':
$ref: '#/components/responses/Generic500'
security:
- openId:
- "click-to-dial:click-to-dial-download"

components:
securitySchemes:
oAuth2ClientCredentials:
type: oauth2
description: This API uses OAuth 2 with the client credentials grant flow.
flows:
clientCredentials:
tokenUrl: "{tokenUrl}"
scopes: {}
apiKey:
type: apiKey
description: API key to authorize requests
name: apikey
in: query
openId:
type: openIdConnect
description: This API uses OpenID Connect for authentication and authorization.
openIdConnectUrl: "https://example.com/.well-known/openid-configuration"

headers:
x-correlator:
description: Correlation id for the different services
schema:
type: string
pattern: '^[a-zA-Z0-9-]{0,55}$'
example: 'b4333c46-49c0-4f62-80d7-f0ef930f1c46'

parameters:
x-correlator:
Expand All @@ -190,6 +183,8 @@ components:
description: Correlation id for the different services
schema:
type: string
pattern: '^[a-zA-Z0-9-]{0,55}$'
example: 'b4333c46-49c0-4f62-80d7-f0ef930f1c46'

schemas:
ClickToDialBeginRequest:
Expand All @@ -204,28 +199,25 @@ components:
sinkCredential:
$ref: '#/components/schemas/sinkCredential'
required:
- sponsor
- caller
- callee
sponsor:
type: string
description: Platform number, and the number format follows E.164
example: '01052680000'
caller:
type: string
description: Caller number, and the number format follows E.164
example: '12345678'
pattern: '^\+[1-9]\d{1,14}$'
example: '+12345678'
sink:
type: string
format: url
format: uri
description: The address to which events shall be delivered, using the HTTP protocol.
example: "https://endpoint.example.com/sink"
sinkCredential:
$ref: "#/components/schemas/SinkCredential"
callee:
type: string
description: Callee number, and the number format follows E.164
example: '12345678'
pattern: '^\+[1-9]\d{1,14}$'
example: '+12345678'
SinkCredential:
description: A sink credential provides authentication or authorization information necessary to enable delivery of events to a target.
type: object
Expand Down Expand Up @@ -478,7 +470,7 @@ components:
description: The type of the event.
type: string
enum:
- "org.camaraproject.qod-provisioning.v0.status-changed"
- "org.camaraproject.click-to-dial.v0.status-changed"
specversion:
description: Version of the specification to which this event conforms (must be 1.0 if it conforms to cloudevents 1.0.2 version)
type: string
Expand Down Expand Up @@ -584,44 +576,11 @@ components:
status: 404
code: NOT_FOUND
message: The specified resource is not found.
Generic503:
description: Service unavailable
headers:
x-correlator:
$ref: "#/components/headers/x-correlator"
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorInfo"
examples:
GENERIC_503_UNAVAILABLE:
description: Service is not available. Temporary situation usually related to maintenance process in the server side
value:
status: 503
code: UNAVAILABLE
message: Service Unavailable.

Generic500:
description: Internal server error
headers:
x-correlator:
$ref: "#/components/headers/x-correlator"
content:
application/json:
schema:
$ref: "#/components/schemas/ErrorInfo"
examples:
GENERIC_500_INTERNAL:
description: Problem in Server side. Regular Server Exception
value:
status: 500
code: INTERNAL
message: Unknown server error. Typically a server bug.

examples:
CALL_STATUS_CHANGED_EXAMPLE:
description: Provisioning status changed
summary: Cloud event example for QoD provisioning status change to UNAVAILABLE due to NETWORK_TERMINATED
description: Call status changed
summary: Cloud event example for Click To Dial status change to CallingCaller due to Calling the Caller
value:
id: 83a0d986-0866-4f38-b8c0-fc65bfcda452
source: https://api.example.com/clicktodial/v0.1/clicktodialstatusnotify/123e4567-e89b-12d3-a456-426614174000
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Feature: CAMARA Click to Dial API, v0.1.0 - Operation clickToDialBegin
Feature: CAMARA Click to Dial API, v0.1.0-alpha.1 - Operation clickToDialBegin
# Input to be provided by the implementation to the tester
#
# Implementation indications:
# * apiRoot: API root of the server URL
#
# References to OAS spec schemas refer to schemas specified in Click to Dial.yaml, version 0.1.0
# References to OAS spec schemas refer to schemas specified in click-to-dial.yaml, version 0.1.0-alpha.1

Background: Common ClickToDialBegin setup
Given an environment at "apiRoot" |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Feature: CAMARA Click to Dial API, v0.1.0 - Operation clickToDialRelease
Feature: CAMARA Click to Dial API, v0.1.0-alpha.1 - Operation clickToDialRelease
# Input to be provided by the implementation to the tester
#
# Implementation indications:
# * apiRoot: API root of the server URL
#
# References to OAS spec schemas refer to schemas specified in Click to Dial.yaml, version 0.1.0
# References to OAS spec schemas refer to schemas specified in click-to-dial.yaml, version 0.1.0-alpha.1

Background: Common ClickToDialRelease setup
Given an environment at "apiRoot" |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Feature: CAMARA Click to Dial API, v0.1.0 - Operation clickToDialStatusNotify
Feature: CAMARA Click to Dial API, v0.1.0-alpha.1 - Operation clickToDialStatusNotify
# Input to be provided by the implementation to the tester
#
# Implementation indications:
# * apiRoot: API root of the server URL
#
# References to OAS spec schemas refer to schemas specified in Click to Dial.yaml, version 0.1.0
# References to OAS spec schemas refer to schemas specified in click-to-dial.yaml, version 0.1.0-alpha.1

Background: Common ClickToDialStatusNotify setup
Given an environment at "apiRoot" |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
Feature: CAMARA Click to Dial API, v0.1.0 - Operation recordingDownload
Feature: CAMARA Click to Dial API, v0.1.0-alpha.1 - Operation recordingDownload
# Input to be provided by the implementation to the tester
#
# Implementation indications:
# * apiRoot: API root of the server URL
#
# References to OAS spec schemas refer to schemas specified in Click to Dial.yaml, version 0.1.0
# References to OAS spec schemas refer to schemas specified in click-to-dial.yaml, version 0.1.0-alpha.1

Background: Common RecordingDownload setup
Given an environment at "apiRoot" |
Expand Down
1 change: 0 additions & 1 deletion documentation/API_documentation/README.MD

This file was deleted.

2 changes: 1 addition & 1 deletion documentation/API_documentation/click-to-dial_API.md
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ The client uses the access token to make authorized API requests to access the p

### 4.1 API Version

0.1.0
0.1.0-alpha.1

### 4.2 Details

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Click-to-Dial (CtD) API User Story
# Click-to-Dial (CTD) API User Story

| **Item** | **Details** |
| ------------------------ | ----------- |
Expand Down