Support registration expiry updates and termination event notifications#83
Conversation
webrtc-registration.yaml:
- Added regSessionUpdate schema with registrationExpireTime to support client-driven registration expiry updates.
- Introduced 200 OK response for PUT /sessions/{registrationId} to confirm update success.
- Added expiresAt field to regSessionResponse schema to explicitly convey registration expiry time.
webrtc-events-subscription.yaml:
- Added new event type: webrtc-events:org.camaraproject.webrtc-events.v0.registration-ends for registration end notifications.
- Included example usage for registration ends subscription.
- Added REGISTRATION_EXPIRED to TerminationReason enum to distinguish expiry-based termination events.
| The device-id of the client in UUID format. A unique identifier for | ||
| the physical device where a registration is initiated. Generated | ||
| by the WebRTC application, and consistent within the same device. | ||
| registrationExpireTime: |
There was a problem hiding this comment.
If I understand correclty, the client should(can or better to) perform re-registration using a PUT request before the expiry time provided in the 200 OK response. Some description about how to treat the expiry time at client may be beneficial.
There was a problem hiding this comment.
@teikuran I've added a description outlining the client's behavior for re-registration. Could you please take a look and share your feedback?
There was a problem hiding this comment.
Thank you. And looks fine to me.
| security: | ||
| - openId: | ||
| - webrtc-registration:sessions:write | ||
| requestBody: |
There was a problem hiding this comment.
Just a clarification in relation to access token lifetime, is it correct to understand that even if the API access token expires while a WebRTC registration is active, the WebRTC registration itself will remain valid?
There was a problem hiding this comment.
Based on provided responses during the meeting, they are independent, one related with the API access, the other related with the device registration on the network.
The same applies to subscription-expires, that it is independent of the registration-expires.
|
Comments from today's meeting: @deepakjaiswal1 , needed to fulfil EasyCLA. Confirmed that it is in progress.
|
This commit refines the WebRTC registration documentation in three areas:
registrationExpireTime guidance
Keeps the field as an absolute RFC 3339 timestamp but now explains how
devices without a reliable clock can derive a TTL and refresh early.
Notes server-side defaulting when the client omits the field.
Refresh-time algorithm (PUT /sessions/{registrationId})
Documents the server logic for extending a registration: remaining =
prevExpire – requestTime; new = requestTime + operatorTTL.
Clarifies when a late refresh may be rejected and states that the same
registrationId is reused unless policy dictates otherwise.
Aligns request (registrationExpireTime) and response (expiresAt)
schema descriptions with this algorithm.
Editorial clean-ups
stroncoso-quobis
left a comment
There was a problem hiding this comment.
Great work. Agree on all changes!
But we need to address some mandatory changes:
- Remove .DS_Store file
- version field, to change to
vwip - recover
subscription-endsevent type
I tried to add suggestions for all changes, so it should be easy to cover on your side.
Thanks a lot for the contribution! 👏
Changed version to vwip and removed .DS_store
Removed .DS_Store
@stroncoso-quobis feedback incorporated.
stroncoso-quobis
left a comment
There was a problem hiding this comment.
LGTM!
After meeting and live review, PR is good to go.
Approving and merging.
Thanks for your contribution!
This pull request introduces enhancements to the WebRTC Registration and Event Subscription APIs to support explicit registration expiry handling and corresponding event notifications.
Changes in
webrtc-registration.yaml:regSessionUpdateschema with optionalregistrationExpireTimefield to allow clients to request a new expiry time.200 OKresponse definition forPUT /sessions/{registrationId}to acknowledge successful updates.regSessionResponseschema to includeexpiresAt, indicating the assigned expiry time of the registration session.Changes in
webrtc-events-subscription.yaml:webrtc-events:org.camaraproject.webrtc-events.v0.registration-endsto notify subscribers when a registration ends.registration-endsevent subscription.TerminationReasonenumeration to includeREGISTRATION_EXPIRED, allowing precise classification of expiry-based terminations.These updates support Issue #75 by enabling session expiry semantics and related eventing mechanisms as part of the WebRTC-Registration API.
Which issue(s) this PR fixes:
Fixes #75
Please review and provide feedback.
@stroncoso-quobis @pradeepachar-mavenir @teikuran