-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Notification compliance #53
base: main
Are you sure you want to change the base?
Notification compliance #53
Conversation
e83fc8a
to
72d67fa
Compare
72d67fa
to
dc87f0c
Compare
Hi team, Good news, PR is ready for a first review. Main elements to consider:
Use a Swagger rendered view appending The file is big, I know, so I will track your attention to:
Please, @deepakjaiswal1 , share with your team and provide some feedback, while I clean the linter errors and try to create some documentation for this update (workflows are not valida anymore) and document some bugs detected on other files. Best regards, |
682eba7
to
eae43b7
Compare
Hi all, An update about today's commit. I fixed all linter errors and also reviewed the examples for a better comprehension of the events. Reviewing the examples, I found that Waiting for comments and reviews |
description: Product documentation at CAMARA | ||
url: https://github.com/camaraproject/ | ||
servers: | ||
- url: "{apiRoot}/webrtc-events/v1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#53-api-versions-throughout-the-release-process
the url
should end with vwip
- url: "{apiRoot}/webrtc-events/v1" | |
- url: "{apiRoot}/webrtc-events/vwip" |
When the release is prepared it should be changed to {apiRoot}/webrtc-events/v0.1rc
and finally to {apiRoot}/webrtc-events/v0.1
https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#52-api-version-in-url-oas-servers-object
apiRoot: | ||
default: http://localhost:9091 | ||
description: API root | ||
deviceId: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
deviceId
is not used in url
above
Then the event types should be like (with v0 inserted): |
msisdn: | ||
type: string | ||
description: The MSISDN is the mapping of the telephone number to the subscriber identity module in a mobile or cellular phone system. A unique identifier on the network to this subscriber. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
CAMARA recommends to avoid Telco specific names and suggest to use phoneNumber
instead of MSISDN - https://github.com/camaraproject/Commonalities/blob/main/artifacts/CAMARA_common.yaml
PhoneNumber:
description: A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'.
type: string
pattern: '^\+[1-9][0-9]{4,14}$'
example: "+123456789"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agree, I also found that after push the PR. I will change it on next commits.
sessionRequest: | ||
description: Object present only when receiving a new session request | ||
type: object | ||
properties: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is subscriptionId
missing here?
required: | ||
- vvoipSessionID | ||
type: object | ||
properties: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is subscriptionId
missing here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
subscriptionId
included as per comms 4.0 -> https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#122-event-notification
- $ref: "#/components/parameters/x-correlator" | ||
security: | ||
- openId: | ||
- api-name:read |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- api-name:read | |
- webrtc-events-subscriptions:read |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In fact, it should include one of each, isn't it? I mean, if I'm not wrong, to have a valid GET reponse you need one of these permissions, one for each type of subscription.
- org.camaraproject.webrtc-events.session-status:read
- org.camaraproject.webrtc-events.session-invitation:read
🤔
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have changed the suggestion according to:
https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#apis-which-deal-with-explicit-subscriptions
Scopes should be represented as below for APIs that offer explicit event subscriptions with action read and delete, for example:
- API Name: device-roaming-subscriptions
- Grant-level, action on resource: read, delete
results in scope:
device-roaming-subscriptions:read
. This type of formulation is not used for the creation action.The format to define scopes for explicit subscriptions with action creation, includes the event type in its formulation to ensure that consent is managed at the level of subscribed event types.
e22fd79
to
a65545d
Compare
- Renamed event types - Removed atomic schemas - Reviewed descriptions
2be6276
to
b2ecfd3
Compare
a89a07c
to
db6cd15
Compare
- Change event types to include API version v0 - Reviewed descriptions for requests and examples - Resolved linter errors - Uniform schemas: Event_sufix and vvoipSessionInformation - Improved type definitions for VvoipSesisonId
Hi team, Big update following latest meeting agreements:
Please, @rartych and @deepakjaiswal1 , if you can review and approve or provide comments it will be great. Best regards, |
operationId: retrieveNotificationChannelSubscription | ||
security: | ||
- openId: | ||
- api-name:read |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- api-name:read | |
- webrtc-events-subscriptions:read |
description: delete a given webrtc-events subscription. | ||
security: | ||
- openId: | ||
- api-name:delete |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- api-name:delete | |
- webrtc-events-subscriptions:delete |
Note: for the Commonalities meta-release v0.4 we enforce to have only event type per subscription then for following meta-release use of array MUST be decided | ||
at API project level. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/camaraproject/Commonalities/blob/main/documentation/API-design-guidelines.md#subscriptions-data-model
About the Note, for the clarity, Note: As of now only one value MUST passed. Use of multiple value will be decided following meta-release at API project level.
how is this?
What type of PR is this?
Add one of the following kinds:
What this PR does / why we need it:
This PR is needed to have an event notification system compliant with the CAMARA framework and also to grant async event communications that are inherent for the WebRTC call use cases.
Which issue(s) this PR fixes:
Fixes #15
Special notes for reviewers:
n/a
Changelog input
Additional documentation
UML must be updated within this PR.
A dedicated websocket use case must be explained on Conlfuence or at supporting documentation