Repository: camaraproject/ClickToDial
Pull request #34: Release r1.1 with 0.1.0-alpha.1
Author: login: YadingFang
Labels: name: subproject management
description: Indicating issues with subproject repository or release management process
name: Fall25
description: Issue in scope of Fall 25 （or under discussion for it）
Created: 2025-05-06T04:16:00Z | Merged: 2025-05-15T09:51:50Z

Preparing all files for r1.1 with 0.1.0-alpha.1 versions.

#### What type of PR is this?

Add one of the following kinds:
* subproject management


#### What this PR does / why we need it:

Prepare the release r1.1:
- Update CHANGELOG.md
- Update click-to-dial.yaml
- Set versions in all files

#### Which issue(s) this PR fixes:

<!-- Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`. -->

Fixes #33 

#### Special notes for reviewers:



Linked issue #33: Please create a release PR before creating r1.1 and let it get reviewed by release management team
**Problem description**
<!-- A clear and concise description of what the problem is.  -->

The current content of main for the release r1.1 looks already quite good, but is not yet consistent regarding the use of the API version number and some other minor points. See for example the [my comment](https://github.com/camaraproject/ClickToDial/pull/31#pullrequestreview-2813557229) on the already merged PR #31 

**Expected behavior**
<!-- A clear and concise description of what should be changed. -->

Create a "Release PR" which is correcting the API version consistently across the files of the repository and add @camaraproject/release-management_maintainers as reviewers. Wait until comments or approval from the release management team.

**Alternative solution**
<!-- A clear and concise description of any alternative solutions if any. -->

**Additional context**
<!-- Add any other context of the considered correction. -->


Diff:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3e6af91..9ece0fd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -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.**
 
@@ -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
 
@@ -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)
@@ -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/)
diff --git a/README.md b/README.md
index 1685fb0..c5a9ca0 100644
--- a/README.md
+++ b/README.md
@@ -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) -->
diff --git a/code/API_definitions/README.MD b/code/API_definitions/README.MD
deleted file mode 100644
index 04313f1..0000000
--- a/code/API_definitions/README.MD
+++ /dev/null
@@ -1 +0,0 @@
-Here you can add your definitions and delete this README.MD file
diff --git a/code/API_definitions/click-to-dial.yaml b/code/API_definitions/click-to-dial.yaml
index 8c798c2..46b4693 100644
--- a/code/API_definitions/click-to-dial.yaml
+++ b/code/API_definitions/click-to-dial.yaml
@@ -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
 
@@ -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
@@ -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:
@@ -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:
@@ -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 
@@ -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:
@@ -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:
@@ -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:
@@ -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:
@@ -204,20 +199,16 @@ 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:
@@ -225,7 +216,8 @@ components:
     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
@@ -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
@@ -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
diff --git a/code/Test_definitions/click-to-dial-clickToDialBegin.feature b/code/Test_definitions/click-to-dial-clickToDialBegin.feature
index 9396927..8421317 100644
--- a/code/Test_definitions/click-to-dial-clickToDialBegin.feature
+++ b/code/Test_definitions/click-to-dial-clickToDialBegin.feature
@@ -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"       |
diff --git a/code/Test_definitions/click-to-dial-clickToDialRelease.feature b/code/Test_definitions/click-to-dial-clickToDialRelease.feature
index 4cdb555..1841de3 100644
--- a/code/Test_definitions/click-to-dial-clickToDialRelease.feature
+++ b/code/Test_definitions/click-to-dial-clickToDialRelease.feature
@@ -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"       |
diff --git a/code/Test_definitions/click-to-dial-clickToDialStatusNotify.feature b/code/Test_definitions/click-to-dial-clickToDialStatusNotify.feature
index 55d51c8..92938f7 100644
--- a/code/Test_definitions/click-to-dial-clickToDialStatusNotify.feature
+++ b/code/Test_definitions/click-to-dial-clickToDialStatusNotify.feature
@@ -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"       |
diff --git a/code/Test_definitions/click-to-dial-recordingDownload.feature b/code/Test_definitions/click-to-dial-recordingDownload.feature
index 8ead43d..d9276f7 100644
--- a/code/Test_definitions/click-to-dial-recordingDownload.feature
+++ b/code/Test_definitions/click-to-dial-recordingDownload.feature
@@ -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"       |
diff --git a/documentation/API_documentation/README.MD b/documentation/API_documentation/README.MD
deleted file mode 100644
index 37aa0ff..0000000
--- a/documentation/API_documentation/README.MD
+++ /dev/null
@@ -1 +0,0 @@
-This README.MD can be deleted when the first file is added to this directory.
diff --git a/documentation/API_documentation/click-to-dial_API.md b/documentation/API_documentation/click-to-dial_API.md
index 55734be..333abb7 100644
--- a/documentation/API_documentation/click-to-dial_API.md
+++ b/documentation/API_documentation/click-to-dial_API.md
@@ -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
 
diff --git a/documentation/API_documentation/click-to-dial_User_Story.md b/documentation/API_documentation/click-to-dial_User_Story.md
index 1893e32..d64903e 100644
--- a/documentation/API_documentation/click-to-dial_User_Story.md
+++ b/documentation/API_documentation/click-to-dial_User_Story.md
@@ -1,4 +1,4 @@
-# Click-to-Dial (CtD) API User Story
+# Click-to-Dial (CTD) API User Story
 
 | **Item**   | **Details**    |
 | ------------------------ | ----------- |


Reviews:
user: login: hdamker
body: Some comments. They don't need necessarily be addressed for an alpha release, you can alternatively set the lines 2 and 3 within the readiness checklist to "N".
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-09T15:46:10Z
user: login: hdamker
body: Please touch the README.md of the repository and uncomment the line

<!-- Pre-releases of this sub project are available in https://github.com/camaraproject/§repo_name§/releases -->
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-09T15:49:26Z
user: login: hdamker
body: Please delete the "README.md" placeholder files in API_definitions and API_documention
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-09T15:50:45Z
user: login: YadingFang
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T00:55:30Z
user: login: YadingFang
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T00:59:05Z
user: login: YadingFang
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T01:01:44Z
user: login: YadingFang
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T03:01:00Z
user: login: YadingFang
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-13T03:10:30Z
user: login: hdamker
body: @YadingFang We are getting there ... thanks for addressing my previous comments. Please find a few new ones.
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-14T14:05:35Z
user: login: YadingFang
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-15T01:21:36Z
user: login: hdamker
body: Accidentally approved previously. 

See the above comments. Some of them should be addressed before the release.
state: CHANGES_REQUESTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-15T07:24:18Z
user: login: hdamker
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-05-15T09:21:28Z
user: login: hdamker
body: I will stop here to dig into more details, as an alpha version it looks good to me. 

Going forward you might want to revisit documentation/API_documentation/click-to-dial_API.md ... it's not in line with the API anymore and a lot of the information could be embedded into the API definition (where it will be available directly together with the API definition within tools like Swagger or Redoc). Examples how to use the API might be still valuable within the doc file.
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-15T09:33:23Z
user: login: HanbaiWang
body: LGTM
state: APPROVED
author_association: COLLABORATOR
submitted_at: 2025-05-15T09:48:53Z

Review comments:
diff_hunk: @@ -29,10 +29,14 @@ 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)
path: CHANGELOG.md
user: login: hdamker
body: I recommend avoiding abbreviations as far as possible:

```suggestion
- Add Click to Dial support material by @HanbaiWang  in [#6](https://github.com/camaraproject/ClickToDial/pull/6)
```
applies also to line 45

created_at: 2025-05-09T15:10:16Z
author_association: CONTRIBUTOR
path: CHANGELOG.md
user: login: hdamker
body: @wrathwolf @rartych and @hdamker don't need to be mentioned as contributors (as the PRs for good reasons also not listed).


created_at: 2025-05-09T15:16:38Z
author_association: CONTRIBUTOR
diff_hunk: @@ -207,10 +210,6 @@ components:
         - sponsor    
path: code/API_definitions/click-to-dial.yaml
user: login: hdamker
body: There is no property "sponsor" anymore.

created_at: 2025-05-09T15:33:04Z
author_association: CONTRIBUTOR
diff_hunk: @@ -207,10 +210,6 @@ components:
         - 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
path: code/API_definitions/click-to-dial.yaml
user: login: hdamker
body: Please see the schema definition of international phone numbers in CAMARA_common.yaml.

* the string should be restricted by a pattern
* we made the leading '+' mandatory consistent across the CAMARA APIs
created_at: 2025-05-09T15:38:37Z
author_association: CONTRIBUTOR
path: code/API_definitions/click-to-dial.yaml
user: login: hdamker
body: I haven't done a full review of the content, just a few comments (here on lines which I couldn't comment directly):

* line 16 and 17: that are operations (or endpoints) of the APIs, but not separate APIs

* line 49: the security section is not in line with the guidelines (I get the point that the API uses client credentials, but use also for the cc flow the openId security scheme). Also the scope definitions are missing, so the YAML is not yet aligned fully with Commonalities

The error responses 500 and 503 can be omitted from the definition

Line 219 ... format changed from `url` to `uri` in Commonalities 0.5

In general should the generic "string" type restricted, e.g. for ids request uuid.


created_at: 2025-05-09T15:43:14Z
author_association: CONTRIBUTOR
diff_hunk: @@ -29,10 +29,14 @@ 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)
path: CHANGELOG.md
user: login: YadingFang
body: I agree. I'll change it.
created_at: 2025-05-13T00:55:28Z
author_association: CONTRIBUTOR
path: CHANGELOG.md
user: login: YadingFang
body: Ok, I'll remove them.
created_at: 2025-05-13T00:59:03Z
author_association: CONTRIBUTOR
diff_hunk: @@ -207,10 +210,6 @@ components:
         - sponsor    
path: code/API_definitions/click-to-dial.yaml
user: login: YadingFang
body: I missed this one, I'll remove it.
created_at: 2025-05-13T01:01:43Z
author_association: CONTRIBUTOR
diff_hunk: @@ -207,10 +210,6 @@ components:
         - 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
path: code/API_definitions/click-to-dial.yaml
user: login: YadingFang
body: Ok, I'll change it.
created_at: 2025-05-13T03:00:58Z
author_association: CONTRIBUTOR
path: code/API_definitions/click-to-dial.yaml
user: login: YadingFang
body: Ok, I'll go through the file and fix the problems.
created_at: 2025-05-13T03:10:28Z
author_association: CONTRIBUTOR
diff_hunk: @@ -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 -->
+Pre-releases of this sub project are available in https://github.com/camaraproject/§repo_name§/releases
path: README.md
user: login: hdamker
body: ```suggestion
Pre-releases of this sub project are available in https://github.com/camaraproject/ClickToDial/releases
```
created_at: 2025-05-14T13:17:56Z
author_association: CONTRIBUTOR
diff_hunk: @@ -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 -->
+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) -->
+For changes see [CHANGELOG.md](https://github.com/camaraproject/§repo_name§/blob/main/CHANGELOG.md) 
path: README.md
user: login: hdamker
body: ```suggestion
For changes see [CHANGELOG.md](https://github.com/camaraproject/ClickToDial/blob/main/CHANGELOG.md) 
```
created_at: 2025-05-14T13:18:15Z
author_association: CONTRIBUTOR
diff_hunk: @@ -159,11 +157,16 @@ paths:
           $ref: '#/components/responses/Generic400'
         '403':
           $ref: '#/components/responses/Generic403'
-        '500':
-          $ref: '#/components/responses/Generic500'          
+      security:
+        - openId:
+            - "click-to-dial:click-to-dial:recording-download"
           
 components:
   securitySchemes:
+    openId:
+      type: openIdConnect
+      description: This API uses OpenID Connect for authentication and authorization.
+      openIdConnectUrl: "https://example.com/.well-known/openid-configuration"
     oAuth2ClientCredentials:
path: code/API_definitions/click-to-dial.yaml
user: login: hdamker
body: `oAuth2ClientCredentials` and especially `apiKey` must not be used and therefore omitted from the definition.
created_at: 2025-05-14T13:42:57Z
author_association: CONTRIBUTOR
diff_hunk: @@ -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:
path: code/API_definitions/click-to-dial.yaml
user: login: hdamker
body: An alternative path could be just "begin", as "click-to-dial" is already the API name and with that in the server URL.

I don't suggest to change it now ... but you might want to consider it in a next pre-release.
created_at: 2025-05-14T13:49:39Z
author_association: CONTRIBUTOR
diff_hunk: @@ -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"
path: code/API_definitions/click-to-dial.yaml
user: login: hdamker
body: According to https://github.com/camaraproject/Commonalities/blob/main/documentation/CAMARA-API-Design-Guide.md#66-scope-naming is the scope naming `api-name:[resource:]action`
* `resource` part is optional - you have only POST operation with verbs, so I would omit it here
* `action`: "For POST operations with a verb, it will be the verb. For example, from POST /location-verification/v1/verify, it would be verify"

So for the current path `click-to-dial-begin` the scope would be:

```suggestion
            - "click-to-dial:click-to-dial-begin"
```

If you would decide to shorten the path, it would be just `"click-to-dial:begin"`

The same applies to the scopes of `click-to-dial-release` and `recording-download`


created_at: 2025-05-14T14:00:43Z
author_association: CONTRIBUTOR
path: CHANGELOG.md
user: login: hdamker
body: Line 485: I haven't reviewed the event and notifications part (and I wouldn't be the right person for it), but `org.camaraproject.qod-provisioning.v0.status-changed` seems to be a copy/paste left-over. 
created_at: 2025-05-14T14:03:32Z
author_association: CONTRIBUTOR
diff_hunk: @@ -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:
path: code/API_definitions/click-to-dial.yaml
user: login: YadingFang
body: Ok, I'll make an issue for this, after alpha.1 pre-release, we'll work on it.
created_at: 2025-05-15T01:21:36Z
author_association: CONTRIBUTOR
diff_hunk: @@ -478,7 +470,7 @@ components:
           description: The type of the event.
           type: string
           enum:
-            - "org.camaraproject.qod-provisioning.v0.status-changed"
+            - "org.camaraproject.clicktodial.v0.status-changed"
path: code/API_definitions/click-to-dial.yaml
user: login: hdamker
body: The API name is `click-to-dial `(as defined in line 42)

```suggestion
            - "org.camaraproject.click-to-dial.v0.status-changed"
```
created_at: 2025-05-15T09:21:28Z
author_association: CONTRIBUTOR

PR comments:
user: login: YadingFang
created_at: 2025-05-14T05:07:26Z
body: @hdamker, I have made revisions based on your suggestions, thank you!
author_association: CONTRIBUTOR
user: login: YadingFang
created_at: 2025-05-15T09:16:17Z
body: @hdamker, I‘ve finished the revisions based on your recent comments. Please take a moment to review them.
author_association: CONTRIBUTOR
user: login: YadingFang
created_at: 2025-05-15T09:38:02Z
body: > I will stop here to dig into more details, as an alpha version it looks good to me.
> 
> Going forward you might want to revisit documentation/API_documentation/click-to-dial_API.md ... it's not in line with the API anymore and a lot of the information could be embedded into the API definition (where it will be available directly together with the API definition within tools like Swagger or Redoc). Examples how to use the API might be still valuable within the doc file.

Thanks, we'll work on it in the next release version. Now I'll put it into a new issue first.
author_association: CONTRIBUTOR
user: login: YadingFang
created_at: 2025-05-23T02:30:55Z
body: > I will stop here to dig into more details, as an alpha version it looks good to me.
> 
> Going forward you might want to revisit documentation/API_documentation/click-to-dial_API.md ... it's not in line with the API anymore and a lot of the information could be embedded into the API definition (where it will be available directly together with the API definition within tools like Swagger or Redoc). Examples how to use the API might be still valuable within the doc file.

@hdamker, one more question, if we put the important information from /API_documentation/click-to-dial_API.md into /API_definitions/click-to-dial.yaml, can we delete /API_documentation/click-to-dial_API.md, or should we update it to match the /API_definitions/click-to-dial.yaml file?
author_association: CONTRIBUTOR
user: login: hdamker
created_at: 2025-05-23T05:55:00Z
body: > > I will stop here to dig into more details, as an alpha version it looks good to me.
> > Going forward you might want to revisit documentation/API_documentation/click-to-dial_API.md ... it's not in line with the API anymore and a lot of the information could be embedded into the API definition (where it will be available directly together with the API definition within tools like Swagger or Redoc). Examples how to use the API might be still valuable within the doc file.
> 
> @hdamker, one more question, if we put the important information from /API_documentation/click-to-dial_API.md into /API_definitions/click-to-dial.yaml, can we delete /API_documentation/click-to-dial_API.md, or should we update it to match the /API_definitions/click-to-dial.yaml file?

@YadingFang there shouldn't be duplication of documentation, so if all information fits from the click-to-dial_API.md fits into the YAML, then you can delete it. The practice has shown that the risk of outdated documentation is much lower if it stays within the YAML. But if there is supplementary information left (e.g. a tutorial how to use the API or other background documentation) you can as well keep it. 

author_association: CONTRIBUTOR