camaraproject / DeviceStatus

Repository to describe, develop, document and test the Device Status API family
Apache License 2.0
11 stars 33 forks source link

Support of Multi-SIM lines in DeviceStatus APIs #212

Open jlurien opened 1 month ago

jlurien commented 1 month ago

Problem description As introduced in https://github.com/camaraproject/Commonalities/issues/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:

Alternative solution

(this discussion is similar to the one being held in https://github.com/camaraproject/DeviceLocation/issues/257)

eric-murray commented 2 weeks ago

@jlurien

Discussing this internally for device-reachability-status, the conclusion was:

We can implement this using the existing specification based on the Device object, but using different logic dependent on whether the phoneNumber is a primary or secondary MSISDN.

This only works because our multi-SIM implementation uses primary and secondary MSISDNs, but any specification that allows these requirements to be met is fine.

The one "gap" is that our implementation cannot query the reachability status of the primary device (the smartphone) alone, because for that device, the secondary MSISDN is the primary MSISDN. That's not particularly important for us, but could be supported by introducing a multi-SIM "flag" to indicate whether the response should be for an individual device or multi-SIM group.