63 lines
2.6 KiB
Plaintext
63 lines
2.6 KiB
Plaintext
About the International Phone Number format
|
|
===========================================
|
|
|
|
These rules have been formulated off of the E.123 (for display) and
|
|
E.164 (for input) specifications published by the ITU. In order to
|
|
prevent ambiguity, we have chosen to restrict some of the stipulations
|
|
these specifications give.
|
|
|
|
In summary, country calling codes are assigned by the ITU Telecommunication
|
|
Standardization Sector in E.164. We take an international phone number to
|
|
have the form +XX YYYYYYY where XX is the country code, and YYYYYYY to be
|
|
the subscriber's number, possibly with intervening spaces. The maximum
|
|
length for these phone numbers is 15.
|
|
|
|
Reference materials can be found here:
|
|
- http://www.itu.int/rec/T-REC-E.123/en
|
|
- http://www.itu.int/rec/T-REC-E.164/en
|
|
|
|
Modifications to E.123
|
|
----------------------
|
|
|
|
7.1: The international prefix symbol "+" MUST prefix international
|
|
phone numbers. All numbers missing this symbol will be assumed to be in
|
|
the default country code.
|
|
|
|
When reformatting numbers to a standard format, the following conventions
|
|
will be taken:
|
|
|
|
7.2: Parentheses will be normalized to spaces.
|
|
|
|
We do not support the multiple phone numbers as described by (7.4); users
|
|
can always specify that multiple values are allowed if this is desired.
|
|
The functionality specified by 7.5, 7.6 and 8 IS NOT implemented.
|
|
|
|
9.2 specifies that spacing SHALL OCCUR between the country code, the trunk
|
|
code and the subscriber number. As trunk codes are omitted by convention,
|
|
this means the only guaranteed separation will be between the country code
|
|
and subscriber number. Our implementation MAY treat hyphens, spaces and
|
|
parentheses as advisory indicators as to where spaces should be placed.
|
|
However, +1 7329060489 will stay as it was specified, while +1 (732) 906-0489
|
|
will be normalized to +1 732 906 0489. As a future feature, rules may
|
|
be implemented for country codes specifying these conventions, however,
|
|
I have deemed such functionality out of scope for now.
|
|
|
|
The Drupal task specifies that we should validate country codes, however,
|
|
due to the highly volatile nature of these codes, the author does not
|
|
believe that it is a good idea to maintain a list of valid country codes.
|
|
Thus, we only validate that the country code is three or less digits.
|
|
|
|
Modifications to E.164
|
|
----------------------
|
|
|
|
Our processing for NDD's will be similarly constrained. As per
|
|
7.3.2, we will treat 0 as a valid trunk code for all countries.
|
|
Other digits may be specified if the fall in the form of (X), where X is
|
|
a single digit that is 7 or 8.
|
|
|
|
Postscript
|
|
----------
|
|
|
|
Modifications to our implementation will occur as necessary by user bug
|
|
reports.
|