Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mandate '+' in all Phone Number formats #87

Closed
chrishowell opened this issue Nov 6, 2023 · 13 comments · Fixed by #148
Closed

Mandate '+' in all Phone Number formats #87

chrishowell opened this issue Nov 6, 2023 · 13 comments · Fixed by #148
Labels
enhancement New feature or request

Comments

@chrishowell
Copy link

Problem description
The standards are a bit iffy around whether or not a '+' is required for phone numbers, we've agreed in SimSwap to have a '+' only, but I think it makes its sense to make it an agreed CAMARA standard across all APIs.

Possible evolution
camaraproject/NumberVerification#65

@chrishowell chrishowell added the enhancement New feature or request label Nov 6, 2023
@patrice-conil
Copy link
Collaborator

Hi @chrishowell,
I completely agree with you that sharing the same constrained format could simplify the use of the APIs.

@fernandopradocabrillo
Copy link
Contributor

HI @chrishowell
From Telefónica we also agree with this proposal.

@rartych
Copy link
Collaborator

rartych commented Nov 13, 2023

In fact in Glossary.md we have Phone Number described as: In order to be globally unique it has to be formatted in international format, according to E.164 standard.

What should be changed or added to Design Guidelines to make it normative for CAMARA APIs?

@bigludo7
Copy link
Collaborator

bigludo7 commented Nov 16, 2023

@rartych Asked the question to ...ChatGPT :) if "+"is mandatory in E.164:

While the use of the "+" sign is strongly recommended and widely accepted in E.164 format, it is not technically mandatory. E.164 itself does not explicitly require the use of the "+" sign. However, in practice, the use of the "+" sign has become a convention to indicate the international dialing prefix.

So probably we can add a note in Glossary that we mandate the '+' ? WDYT ?

@sachinvodafone
Copy link
Collaborator

In fact in Glossary.md we have Phone Number described as: In order to be globally unique it has to be formatted in international format, according to E.164 standard.

What should be changed or added to Design Guidelines to make it normative for CAMARA APIs?

I suggest that we must apply the same definitions and rules from the Glossary across all APIs. For instance, in the case of device status, we have used the exact description "A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, optionally prefixed with '+'." , However, mentioning the "+" explicitly at the end of the statement is not ideal. Instead, it should be integrated within the glossary definition itself for clarity and consistency.

@fernandopradocabrillo
Copy link
Contributor

Generally speaking,being explicit with the definition is the best way to avoid misunderstandings and and deviations in implementations. I think we can update the Glossary and apply the definition to every API:

A public identifier addressing a telephone subscription. In mobile networks it corresponds to the MSISDN (Mobile Station International Subscriber Directory Number). In order to be globally unique it has to be formatted in international format, according to E.164 standard, prefixed with '+'.

@rartych
Copy link
Collaborator

rartych commented Nov 22, 2023

Referring to Issue #93 : would it be possible to define format for phone number string and give recommendation in API Design Guidelines to use it? Glossary is not the main source for CAMARA API requirements.

According to OAS spec:

the format property is an open string-valued property, and can have any value.

@nickvenezia
Copy link

A lot of platforms, and databases follow E.164

Interoperability is important.

"DNS Mapping of E.164 numbers
Main article: Telephone number mapping
Some national telephone administrations and telephone companies have implemented an Internet-based database for their numbering spaces. E.164 numbers may be registered in the Domain Name System (DNS) of the Internet in which the second-level domain e164.arpa has been reserved for telephone number mapping (ENUM). In the system, any telephone number may be mapped into a domain name using a reverse sequence of subdomains for each digit. For example, the telephone number +19995550123 translates to the domain name 3.2.1.0.5.5.5.9.9.9.1.e164.arpa. When a number is mapped, a DNS query may be used to locate the service facilities on the Internet that accept and process telephone calls to the owner of record of the number, using, for example, the Session Initiation Protocol (SIP), a call-signaling VoIP protocol whose SIP addresses are similar in format (user@domain...) to e-mail addresses. This allows a direct, end-to-end Internet connection without passing through the public switched telephone network."
Source:

Additional Links
https://www.itu.int/rec/T-REC-E.164/

@MarkCornall
Copy link
Collaborator

Can we make a decision on this issue. My proposal is to make the inclusion of "+" mandatory in all cases as a commonality.

@sachinvodafone
Copy link
Collaborator

I think it's a good idea to let client use phone numbers with or without the '+' sign. This way, both local and international users can enter numbers the way they're comfortable with. I believe, Camara's API will mostly be used by local Opco, for example, a UK client may not prefer to check the device status of Spanish people, so using '+44' may not be useful to them. So I would prefer to make it optional.

@MarkCornall
Copy link
Collaborator

Already agreed is e164 that uses country code so "44" in UK would already be mandated. Question is on mandating a "+44" or to leave as is where operators will need to code to handle both +44 and 44 as either can be used. Mandating "+" makes implementation simpler as you only need to support one option.

@sachinvodafone
Copy link
Collaborator

Thanks for clarifying it @MarkCornall. However, mandating the '+' sign, like '+44' for the UK, makes things easier for developer as you stated and I agreed too. However, making it optional like '44' , gives users more choices and can be more friendly for them. So I would little favour client over developer but I'm open to either option . Thanks again.

@rartych
Copy link
Collaborator

rartych commented Feb 5, 2024

PR should be prepared covering Glossary, CAMARA_common.yaml and possibly API Design Guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants