Skip to content

device-roaming-status-subscriptions v0.8: clarification on SubscriptionEnded requiring countryCode #67

@lfekete1

Description

@lfekete1

Problem description:

In Device roaming status subscriptions (e.g. v0.8), SubscriptionEnded is defined with allOf that merges BasicDeviceEventData with a second object that lists countryCode under required:

SubscriptionEnded:
description: Event detail structure for org.camaraproject.device-roaming-status-subscriptions.v0.subscription-ended event
allOf:
- $ref: "#/components/schemas/BasicDeviceEventData"
- type: object
required:
- countryCode
required:
- terminationReason
properties:
terminationReason:
$ref: "#/components/schemas/TerminationReason"
terminationDescription:
type: string

For a subscription-ended notification, requiring countryCode is problematic:

Termination can occur for reasons unrelated to roaming or location (e.g. max events, expiry, delete, token expiry).
At termination time, country/roaming context may be unknown, not applicable, or stale.
So consumers should not be required to supply or expect countryCode on this event.

Expected action:

Confirm whether countryCode was intentionally required on SubscriptionEnded for roaming subscriptions v0.8.
If it was not intentional (likely copy-paste from another schema such as RoamingChangeCountry), remove countryCode from the required list in the allOf fragment and align the description with the actual payload.
Update the spec / changelog so implementers and generated clients do not enforce an invalid constraint.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions