Skip to content

Support of Multi-SIM lines in DeviceStatus APIs #212

@jlurien

Description

@jlurien

Problem description
As introduced in camaraproject/Commonalities#302, for Multi-SIM services. providing a phoneNumber as input does not identify a single device uniquely.

Current DeviceStatus specs do not consider or give guidelines about how to behave in scenarios when the input is only a phoneNumber of a Multi-SIM service and specific device (SIM) cannot be inferred from the access token or other device identifier.

Possible evolution
Discuss the problem and alternatives. There may be impact in other tracks, such as IC&M. We may need also to discuss implications in the short term when dealing with this situation in current versions.

In the case of DeviceStatus each API has each own considerations, as each SIM may have a different status:

  • For device-roaming-status, a user may have left one device linked to the multiSIM phone number at home while is travelling abroad with another one. Should API return roaming=True in that case? A corner case would be that several devices were roaming in different countries, and in that case a single countryCode/countryName couldn't be returned.
  • For device-reachability-status, several SIMs may have different reachabilityStatus. Should API return a consolidated response taking into account if any of the SIMs is connected?
  • For the subscription APIs, should an event be triggered if any of the SIMs changes its status? Should each device be identified uniquely in the event?

Alternative solution

  • Relying on 3-legged tokens as much as possible would minimize the problem, but currently we cannot assure that they always identify a single device instead of a phone number.
  • Finally we can handle the situation with errors, such as 422 UNIDENTIFIABLE_DEVICE, or another dedicated code, informing clients to provide an alternative identifier that can identify the specific device. But this should be limited to corner situations as it is not dev friendly and in most cases developers do not know if a phone number belongs to a multi-SIM service.

(this discussion is similar to the one being held in camaraproject/DeviceLocation#257)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions