Skip to content
Closed
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
16 changes: 16 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
{
"MD013": false,
"MD025": false,
"MD033": false,
"MD041": false,
"MD046": {
"style": "fenced"
},
"MD009": {
"br_spaces": 2
},
"MD012": false,
"MD022": true,
"MD023": true,
"MD024": false
}
70 changes: 70 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Table of Contents

- [r1.2](#r12)
- [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,6 +14,74 @@ 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.2

## Release Note

This release contains the definition and documentation of

- click-to-dial v0.1.0-alpha.2

The API definition(s) are based on

- Commonalities v0.6.0
- Identity and Consent Management v0.4.0

## click-to-dial v0.1.0-alpha.2

click-to-dial v0.1.0-alpha.2 is a 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.2/code/API_definitions/click-to-dial.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/ClickToDial/r1.2/code/API_definitions/click-to-dial.yaml)
- OpenAPI [YAML spec file](https://github.com/camaraproject/ClickToDial/blob/r1.2/code/API_definitions/click-to-dial.yaml)

### Added

- Introduced the fully RESTful `/calls` resource model:
- `POST /calls`
- `GET /calls/{callId}`
- `DELETE /calls/{callId}`
- `GET /calls/{callId}/recording`
- CloudEvents-based call status change notifications:
- type: `org.camaraproject.click-to-dial.v0.status-changed`
- specversion: "1.0"
- Structured `422 UnprocessableEntity` business validation error codes:
- `INVALID_PHONE_NUMBER`
- `SAME_CALLER_CALLEE`
- `RECORDING_NOT_SUPPORTED`
- `CALLER_NOT_AVAILABLE`
- `CALLEE_NOT_AVAILABLE`
- `INSUFFICIENT_BALANCE`
- `RESTRICTED_DESTINATION`

### Changed

- Enum values aligned with CAMARA lowerCamelCase conventions for status and reason.
- Updated sink credential schema to enforce `credentialType = "ACCESSTOKEN"`.
- Updated BDD test definitions to reflect the `/calls` endpoints and versioned base paths.
- Improved alignment of OpenAPI definitions and markdown API documentation examples.

### Fixed

- Corrected CloudEvent examples to match defined schemas and enum values.
- Resolved inconsistencies between error examples and the `ErrorInfo` schema.

### Removed

- Removed deprecated operations from earlier alpha versions:
- `beginCall`
- `releaseCall`
- `downloadRecording`
These have been replaced by the RESTful `/calls` design.

### New Contributors

- N/A

**Full Changelog**: [https://github.com/camaraproject/ClickToDial/commits/r1.2/](https://github.com/camaraproject/ClickToDial/commits/r1.2/)

# r1.1

## Release Note
Expand All @@ -29,6 +98,7 @@ 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://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/ClickToDial/r1.1/code/API_definitions/click-to-dial.yaml)
Expand Down
25 changes: 22 additions & 3 deletions code/API_definitions/click-to-dial.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,15 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
version: 0.1.0-alpha.2
x-camara-commonalities: 0.6

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

servers:
- url: '{apiRoot}/click-to-dial/vwip'
- url: '{apiRoot}/click-to-dial/v0.1alpha2'
variables:
apiRoot:
default: http://localhost:9091
Expand Down Expand Up @@ -94,7 +94,26 @@ paths:
$ref: '#/components/responses/Conflict409'
'422':
$ref: '#/components/responses/UnprocessableEntity422'

callbacks:
callStatusChanged:
'{$request.body#/sink}':
post:
summary: Call status changed event
description: |
Event notification delivered to the sink URL when the call status
changes (CloudEvents structured mode).
requestBody:
required: true
content:
application/cloudevents+json:
schema:
$ref: '#/components/schemas/EventCTDStatusChanged'
examples:
CALL_STATUS_CHANGED_EXAMPLE:
$ref: '#/components/examples/CALL_STATUS_CHANGED_EXAMPLE'
responses:
'2XX':
description: Event successfully received by the sink.
/calls/{callId}:
get:
tags:
Expand Down
2 changes: 1 addition & 1 deletion code/Test_definitions/click-to-dial-createCall.feature
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: CAMARA Click to Dial API, vwip - Operation createCall
Feature: CAMARA Click to Dial API, v0.1.0-alpha.2 - Operation createCall
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand Down
2 changes: 1 addition & 1 deletion code/Test_definitions/click-to-dial-getRecording.feature
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: CAMARA Click to Dial API, vwip - Operation getRecording
Feature: CAMARA Click to Dial API, v0.1.0-alpha.2 - Operation getRecording
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: CAMARA Click to Dial API, vwip - Operation terminateCall
Feature: CAMARA Click to Dial API, v0.1.0-alpha.2 - Operation terminateCall
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# API Readiness Checklist

Checklist for click-to-dial v0.1.0.alpha in r1.1
Checklist for click-to-dial v0.1.0-alpha.2 (Commonalities r3.3)

| Nr | API release assets | alpha | release-candidate | initial public | stable public | Status | Reference information |
| -- | -------------------------------------------- | :---: | :---------------: | :------------: | :-----------: | :----: | ------------------------------------------------------------------------------------------------------------------------- |
| 1 | API definition | M | M | M | M | Y | [/code/API_definitions/click-to-dial.yaml](/code/API_definitions/click-to-dial.yaml) |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r2.3](https://github.com/camaraproject/Commonalities/releases/tag/r2.3) |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r2.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r2.3) |
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 5 | API documentation | M | M | M | M | Y | [/code/API_definitions/click-to-dial_API.md](/code/API_definitions/click-to-dial_API.md) |
| 6 | User stories | O | O | O | M | Y | [/documentation/API_documentation/click-to-dial_User_Story.md](/documentation/API_documentation/click-to-dial_User_Story.md) |
| 7 | Basic API test cases & documentation | O | M | M | M | Y | [/code/Test_definitions](/code/Test_definitions) |
| 8 | Enhanced API test cases & documentation | O | O | O | M | Y | [/code/Test_definitions](/code/Test_definitions) |
| 9 | Test result statement | O | O | O | M | N | |
| 10 | API release numbering convention applied | M | M | M | M | Y | |
| 11 | Change log updated | M | M | M | M | Y | [/CHANGELOG.md](/CHANGELOG.md) |
| 12 | Previous public release was certified | O | O | O | M | Y | |
| 13 | API description (for marketing) | O | O | M | M | | [wiki link](https://lf-camaraproject.atlassian.net/wiki/xxx) |
| Nr | API release assets | alpha | release-candidate | initial public | stable public | Status | Reference information |
| -- | -------------------------------------------- | :---: | :---------------: | :------------: | :-----------: | :----: | ------------------------------------------------------------------------------------------ |
| 1 | API definition | M | M | M | M | Y | [code/API_definitions/click-to-dial.yaml](../../code/API_definitions/click-to-dial.yaml) |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/Commonalities/releases/tag/r3.3) |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.3](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.3) |
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 5 | API documentation | M | M | M | M | Y | [documentation/API_documentation/click-to-dial_API.md](../../documentation/API_documentation/click-to-dial_API.md) |
| 6 | User stories | O | O | O | M | Y | [documentation/API_documentation/click-to-dial_User_Story.md](../../documentation/API_documentation/click-to-dial_User_Story.md) |
| 7 | Basic API test cases & documentation | O | M | M | M | Y | [code/Test_definitions](../../code/Test_definitions) |
| 8 | Enhanced API test cases & documentation | O | O | O | M | Y | [code/Test_definitions](../../code/Test_definitions) |
| 9 | Test result statement | O | O | O | M | N | |
| 10 | API release numbering convention applied | M | M | M | M | Y | |
| 11 | Change log updated | M | M | M | M | Y | [CHANGELOG.md](../../CHANGELOG.md) |
| 12 | Previous public release was certified | O | O | O | M | N | |
| 13 | API description (for marketing) | O | O | M | M | Y | [wiki link](https://lf-camaraproject.atlassian.net/wiki/spaces/CAM/pages/14561756/) |

To fill the checklist:

Expand All @@ -27,4 +27,4 @@ To fill the checklist:

Note: the checklists of a public API version and of its preceding release-candidate API version can be the same.

The documentation for the content of the checklist is here: see API Readiness Checklist section in the [API Release Process](https://lf-camaraproject.atlassian)
The documentation for the content of the checklist is here: see API Readiness Checklist section in the [API Release Process](https://lf-camaraproject.atlassian.net)
Loading