numbering-plans v2.7.0
Numbering plans
Goals
This project aims to build a list of international numbering plans for the purposes of:
- building dialing plans for customers, preventing to flag missing routes where the customer actually misdialed;
- helping to build LCR routing tables;
- helping to build rating tables.
It aims to be updated regularly to adapt to changes in international numbering plans. Contributions are welcome in the form of a Pull Request on github!
Validating numbers
var numbers = require('numbering-plans')
numbers.validate('12123141212')
# returns:
# { min: 10, max: 10, mixed: true, geographic: true, name: 'NY',
# country: 'us', conterminous: true, national_name: 'NANPA',
# full_name: 'NY (NANPA)' }
numbers.validate('33612341234')
# { max: 9, min: 9, mobile: true, country: 'fr',
# national_name: 'France', full_name: 'France' }
numbers.validate('33_112')
# { max: 3, min: 3, special: true, emergency: true,
# country: 'fr', national_name: 'France', full_name: 'France' }
numbers.validate('3397234713')
# false → number is invalid
numbers.validate('4372617278')
# null → unable to decideConventions
Available fields, where applicable, are:
min: minimum length of national numbermax: maximum lenght of national number
One of:
block-- non-dialable, non-routable, etc.fixedmobile- 'mixed' -- could be fixed or mobile (e.g. NANPA)
specialvalue_added
For mixed:
geographicmight be true (e.g. US geographic numbers) or false (e.g. US non-geo)corporatemight be true
For fixed:
geographiccorporate
For value_added:
freephoneshared_costpersonalpremiumadult
For special:
voicemailtestvpnemergency
If a field is absent its value is assumed to be false.
Other fields might be available for specific destinations.
The numbering plans are established with the convention that national-only, short numbers, etc. are routed using _ as a separator between the country-code and the national number.
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago