Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update ICCID definition to support shorter ICCID (#9910)
GSM 11.1 Version 8 has been replaced by 3GPP TS 11.11, which itself has been replaced by 3GPP TS 102.211 Rel 16, and all of them share the same information for the definition of ICCID. ISO/IEC 7812-1 2017, ITU-T E.118 - 05/2006 and 3GPP TS 102.211 all alllow ICCID/Primary Account Numbers which are shorter than 19 digits. While ISO/IEC 7812-1 2017 and ITU-T E.118 - 05/2006 both require a maximum number of digits of 19, and GSM 11.11 is clear than 20 digits ICCID are allowed to be grandfathered in. ITU-T E.118 - 05/2006 mandates that all new SIM cards use a prefix of 89, but allows 66 as a transitional mechanism for older SIM cards. ISO/IEC 7812-1 2017 mandates a minimum length of 10 digits. No other specification comments on a minimum size, so we go with this. The original validation was based on an incorrect reading of the specs, where 19 and 20 were assumed to be the only valid lengths, and the comment on the transitional mechanism was missed. Even though changing the allowed values for a property is a breaking change, we think this is acceptable because: 1) This is our first stable API, there is no pre-existing stable API we need to be back-compatible with 2) 2022-04-01-preview to 2022-11-01 already contains breaking changes that we have discussed in https://eng.ms/docs/strategic-missions-and-technologies/strategic-missions-and-technologies-organization/azure-for-operators/packet-core/private-mobile-network/azure-private-5g-core/cross-team/releases/2022-11-01-arm-api/back-compatibility 3) We have customers who are currently blocked and having to work around this restriction, and it's acceptable for them to be unable to resubmit the data on the old API. 4) This is relaxing the restriction on a optional field, so the impact of this change is restricted anyway. 5) Not making this change leaves the product ill defined for ever.
- Loading branch information