README.int.txt 2.6 KB

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