Skip to content

Enhancements Subscription/Notification Architecture for Fall25#464

Merged
rartych merged 10 commits intocamaraproject:mainfrom
PedroDiez:enhancements_subscription_notification_architecture_fall25
Jun 10, 2025
Merged

Enhancements Subscription/Notification Architecture for Fall25#464
rartych merged 10 commits intocamaraproject:mainfrom
PedroDiez:enhancements_subscription_notification_architecture_fall25

Conversation

@PedroDiez
Copy link
Contributor

@PedroDiez PedroDiez commented May 16, 2025

What type of PR is this?

  • enhancement/feature

What this PR does / why we need it:

This PR provides a resolution for topics commented within Issue #437.
Some points has been discussed within #440.

Explanation about PR:

  • Decided to not impact CAMARA-API-Design-Guide.md and CAMARA_common.yaml documentation.

    • Rationale is that the sink concept is managed within CAMARA-API-Event-Subscription-and-Notification-Guide.md and
      event-subscription-template.yaml
    • Also in CAMARA-API-Design-Guide.md it is defined the format: 400 | {{SPECIFIC_CODE}} | {{SPECIFIC_CODE_MESSAGE}}, so
      implicitly cover the error 400 - INVALID_SINK as well as other errors already documented in the event-subscription- template.yaml (e.g. 400 - INVALID_TOKEN)

    NOTE: So, as the relevant documents are CAMARA-API-Event-Subscription-and-Notification-Guide.md and
    event-subscription-template.yaml think is better to not duplicate info as implies more maintenance actions and does not
    provide any additional value. Anyway up to the WG, just to be transparent with the approach.

  • Impacted CAMARA-API-Event-Subscription-and-Notification-Guide.md. Added new sections:

    • 3.2. subscription-begins event

    • 3.3 subscription-updates event

  • Impacted event-subscription-template.yaml

    • Added sink pattern and specific 400 - INVALID_SINK error
    • In POST /subscriptions, settle subscriptionId as mandatory in response. As per current model definition it also makes it
      mandatory in DELETE /subscriptions. That also makes sense, to deal with Asynchronous DELETE scenarios and also when the
      status DELETED is managed by a Telco Operator.
    • Define and add support for subscription-begins event
    • Define and add support for subscription-updates event
    • Fix typo removing unused exception since Spring25 - 403 - INVALID_TOKEN_CONTEXT
    • (NEW - 04/JUN) Alignment with PR#455 and remove 422 - IDENTIFIER_MISMATCH exception. Commit 738731f22328ecaf6eaa4042e4d0e01fcfc9ed47

Which issue(s) this PR fixes:

Fixes #437

Does this PR introduce a breaking change?

  • Yes
  • No

subscription-ends event is renamed to subscription-ended event.
This is a breaking change in terms of design due to an event type is renamed.
APIs impacted (i.e. subscription APIs) are in initial versions so as the change can be accommodated without impacting major version.

422 - IDENTIFIER_MISMTACH exception is removed

Special notes for reviewers:

N/A

Changelog input

 Enhancements Subscription/Notification Architecture for Fall25

Additional documentation

N/A

@rartych
Copy link
Contributor

rartych commented May 20, 2025

For me subscription-update sounds more natural (singular noun) as the event contains one change only.
@eric-murray @Kevsy ?

@rartych rartych requested a review from bigludo7 May 20, 2025 10:37
@rartych rartych added enhancement New feature or request Fall25 labels May 20, 2025
Copy link
Collaborator

@bigludo7 bigludo7 left a comment

Choose a reason for hiding this comment

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

One small miscue to fix.

PedroDiez and others added 2 commits May 22, 2025 16:42
@PedroDiez PedroDiez requested review from bigludo7 and rartych May 22, 2025 15:12
Copy link
Collaborator

@bigludo7 bigludo7 left a comment

Choose a reason for hiding this comment

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

LGTM

@rartych
Copy link
Contributor

rartych commented May 26, 2025

I am not sure if there is clear requirement if API definitions should add subscription-begins and subscription-updates - is it optional or mandatory?

other consideration - changing names:
subscription-begins --> subscription-started
subscription-updates --> subscription-updated
subscription-ends --> subscription-ended

Any view on that?

@pjhac
Copy link
Collaborator

pjhac commented May 26, 2025

I am not sure if there is clear requirement if API definitions should add subscription-begins and subscription-updates - is it optional or mandatory?

other consideration - changing names: subscription-begins --> subscription-started subscription-updates --> subscription-updated subscription-ends --> subscription-ended

Any view on that?

Personally I would also prefer to use the past, as the action already took place.

@bigludo7
Copy link
Collaborator

Hello
@rartych considering your questions:

I'm fine to have it in all CAMARA Subscription API definition but do we consider them as mandatory for an implementation? I mean if an implem did not trigger subscription-begins do we consider it as non CAMARA compliant? Just my perspective but we should not enforce this - only recommend use of them. Happy to hear from the team.

For the name I'm fine with both so will follow team preference :)

@sachinvodafone
Copy link
Collaborator

Hello @rartych considering your questions:

I'm fine to have it in all CAMARA Subscription API definition but do we consider them as mandatory for an implementation? I mean if an implem did not trigger subscription-begins do we consider it as non CAMARA compliant? Just my perspective but we should not enforce this - only recommend use of them. Happy to hear from the team.

For the name I'm fine with both so will follow team preference :)

I believe, starting with optional events provides flexibility for providers to adopt them based on their current capabilities but it may result in inconsistent behaviors—such as one provider supporting an event while another does not. This could require clients to adapt to different implementations during integration.

As part of an initial phased approach, keeping events optional makes sense. However, after collecting feedback and assessing the readiness of telecom providers to support these scenarios consistently, we can move towards making these events mandatory for long term.

@PedroDiez
Copy link
Contributor Author

Hi, @rartych, @pjhac, @bigludo7, @sachinvodafone.

  • Fine to document the new events are optional. I will make clarification for the subscription-begins that is recommended when the subscription request flow is asynchronous

  • Fine to rename to past-tense

subscription-begins --> subscription-started
subscription-updates --> subscription-updated
subscription-ends --> subscription-ended

Will be updating documentation with these points

@PedroDiez PedroDiez requested a review from bigludo7 May 28, 2025 11:28
Copy link
Collaborator

@bigludo7 bigludo7 left a comment

Choose a reason for hiding this comment

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

LGTM

patrice-conil
patrice-conil previously approved these changes Jun 4, 2025
Copy link
Contributor

@patrice-conil patrice-conil left a comment

Choose a reason for hiding this comment

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

LGTM

…o enhancements_subscription_notification_architecture_fall25
@PedroDiez
Copy link
Contributor Author

04/JUN: Taking advantage of this PR, have also covered aligment with PR#455 and remove 422 - IDENTIFIER_MISMATCH exception. Commit 738731f22328ecaf6eaa4042e4d0e01fcfc9ed47

cc @rartych, @bigludo7, @patrice-conil, @eric-murray

patrice-conil
patrice-conil previously approved these changes Jun 5, 2025
Copy link
Contributor

@patrice-conil patrice-conil left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Collaborator

@bigludo7 bigludo7 left a comment

Choose a reason for hiding this comment

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

LGTM

…uide.md

Co-authored-by: Rafal Artych <121048129+rartych@users.noreply.github.com>
…uide.md

Co-authored-by: Rafal Artych <121048129+rartych@users.noreply.github.com>
Copy link
Contributor Author

@PedroDiez PedroDiez left a comment

Choose a reason for hiding this comment

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

A few more alignments

@PedroDiez PedroDiez requested a review from bigludo7 June 6, 2025 08:50
Copy link
Contributor

@jlurien jlurien left a comment

Choose a reason for hiding this comment

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

LGTM

Copy link
Contributor

@patrice-conil patrice-conil left a comment

Choose a reason for hiding this comment

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

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request Fall25

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enhancements for CAMARA Subscription/Notification Architecture

7 participants