# Telephone number verification

Telephone number verification (or validation) services are online services used to establish whether a given telephone number is in service. They may include a form of Turing test to further determine if a human answers or answering equipment such as a modem, fax, voice mail or answering machine.

## Purpose

Verification services are often used to limit sockpuppetry, underage sign-ups, spamming and illegal activities like harassment, scams and fraud. Operators and their clients include:
* Lead generation companies
* Social networking sites
* Internet forums
* dating sites and
* wikis
Any verification operation which sells sets of contact numbers generated through its marketing operations will gain a premium for an efficient list of “clean” numbers. Call center outbound telephone campaigns save time and resources bypassing undefined or mechanized equipment numbers.
Telephone numbers entered into an online sign-up form can be checked in real time, by implementing AJAX (background web page processing) type call to a telephone number verification service while the form is still being filled in.
To thwart fraud, it is possible to match an online customer to the telephone number owner, to certify it is in fact the same person who owns it. This service is of increasing value to online store managers, banks and credit card processors, who are faced with increasing quantities of attempts to make fraudulent purchases such as by those using stolen credit card details.

## Methods employed
### Line test

An aborted call is made to the subscriber line. This automated service “listens” to check for ringback tones, busy signals, answered call, voice mail automated answering, or network operator injected messages such as “the number called is not in service”. This method benefits from being international and covering mobile phones. However, the check can take up to 30 seconds to complete (average time 9 seconds). This delay can be handled well by the use of AJAX background processes for example by allowing the user to continue filling in other fields in a form while the line test is performed.

### Turing test

It is possible to employ such methods further to verify that genuine people answer the telephone at that number by requesting a key press tone "Press one to 'unsubscribe'." Often this method is used to clean lists, and rather than unsubscribing, the number is categorized as a live one.

### Line test + authentication

To verify that a telephone number exists and authorize its use, subscribers supply a telephone number on which to establish service, often via a web page. A unique code is first indicated or displayed to the customer via the web site, then an automated call is then placed to the supplied subscriber telephone number. To validate the transaction, the code entered via the telephone keypad must match. This method is used by Google Voice and online banking services such as Lloyds TSB.

### Database check

Certain services offer to check telephone numbers alongside other personal details, gained from various public sources e.g. the Electoral roll and from the imprints left on by their activities, for examples from transactions made using credit cards. The advantage of a database check is that the lookup can be very quick (sub 1s), however no databases exist to cover all telephone subscriber lines internationally, with mobile telephones being particularly problematic to trace - especially Pay as you go (phone) (non contract) arrangements which often have no registered owner. Some databases are very detailed and can correlate telephone numbers with physical addresses, e-mail addresses, ownership and sometimes even personal details. Such detail can help with combating fraud as well as allowing greater understanding of a customer base.
At the other end of the scale, other database checking services might only check a telephone number against the allotted telephone number banks and therefore only indicate if a number is in a range that might be active and are therefore inconclusive.

### Check for valid number format

A JavaScript function can check to see if a phone number is a valid format, i.e., is numeric, starts with a valid set of numbers ("0" for local, or an international dialing prefix followed by a valid country code) and is not too short to be a phone number. At first a JavaScript function is used to clear out any spacer characters. Next, a function is employed to check if the phone number contain only numbers, last the length of the string is checked permitting only phone numbers with an allowable number of digits for the country.
It is prudent to carry out such checks even if a further method is employed in addition, so that telephone numbers to avoid wasting time and resource on numbers that are clearly not in a correct format to qualify as a telephone number, e.g. too short.

### Other methods of verification

Some other methods that are being employed today are:
* Sending an OTP via SMS or IVR call is also used by a majority of companies, wherein the user has to enter the received to confirm the identity.
* User being asked to dial a number or a send a message which helps the server identify that the number is genuine and valid.
* With the advent of smartphones, type 0 or type 1 SMS are also being employed to send the codes which are used to verify the genuine user.
* Soft tokens generated within the smartphone or push messages can also be used.