Skip to content
Open
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
68 changes: 68 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,72 @@ 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-rc.1

The API definition(s) are based on

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

## click-to-dial v0.1.0-rc.1

click-to-dial v0.1.0-rc.1 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`

### 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 +96,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
4 changes: 2 additions & 2 deletions code/API_definitions/click-to-dial.yaml

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed the use of the "subject" property in the CloudEvent structure (line 558) which is not supported by CAMARA. as the same information is already in the "data" property of the event, it can simply be removed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tanjadegroot — fixed in PR #67 by removing subject from the CloudEvent schema/required list and the example. Any remaining documentation mentions of subject were updated in PR #68.

Original file line number Diff line number Diff line change
Expand Up @@ -35,15 +35,15 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
version: 0.1.0-rc.1
x-camara-commonalities: "0.7"

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.1rc1'
variables:
apiRoot:
default: http://localhost:9091
Expand Down
2 changes: 1 addition & 1 deletion code/Test_definitions/click-to-dial-createCall.feature

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. The resource URL is missing from the background section. E.g. add after line 10:

And the resource "/click-to-dial/v0.1rc1/calls"

  1. As x-correlator parameter is part of teh API, in the background section add!

And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"

Same comments on the other 2 feature files, but with resource adapted to .../{callId} and .../{callId}/recording respectively

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @tanjadegroot — addressed in PR #66. We updated the Background sections of all three .feature files to include the appropriate resource URL (/calls, /calls/{callId}, /calls/{callId}/recording) and added the x-correlator header with an explicit reference to #/components/schemas/XCorrelator in the common setup.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The different error codes are not covered by test scenarios which would be useful for API consumers. However, you can address this also in a later version. But would recommmend to set item 8 (Enhanced test cases) = in the API readiness checklist to "N" at this point.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed — item 8 (Enhanced test cases) has been set to "N" in the API Readiness Checklist in commit 9ce324a. We'll add error-code-specific test scenarios in a future iteration.

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-rc.1 - 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-rc.1 - 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-rc.1 - 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-rc.1 in r1.2

| 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) |
| 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 | [/code/API_definitions/click-to-dial_API.md](/code/API_definitions/click-to-dial_API.md) |
| 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) |
| 8 | Enhanced API test cases & documentation | O | O | O | M | N | |
| 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) |
| 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)
4 changes: 2 additions & 2 deletions documentation/API_documentation/click-to-dial_API.md

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would recommend not to duplicate release information in the API documentation as it is captured in the CHANGELOG.md and the README.md and will be handled automatically in the future.

Most API documentation should be in the API yaml file which should be self sufficient.

Additional info like the curl commands can be here to be part the release. Other information is up to you.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR #68 covers the documentation/README updates based on your feedback. If any release-note refinements are needed, we’ll apply them in CHANGELOG.md via the release PR #65 as the authoritative place for release information.

Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ This API uses **OpenID Connect** for authentication and authorization. Obtain yo

### 4.1 API Version

wip
0.1.0-rc.1

### 4.2 Details

Expand Down Expand Up @@ -312,7 +312,7 @@ N/A
### 4.9 Release Notes

This section lists release notes for historical versions.
The current version on the main branch is **wip**.
The current version on the main branch is **v0.1.0-rc.1**.

- **0.1.0-alpha.1** — Initial release (archived).

Expand Down
Loading