tags:

views:

466

answers:

8

What should be the best way to recognize that a number is connected to a fax without actually sending faxes around ?

I suppose that a short phone call can be made: the goal is to determine if a number that is declared as a fax line is really a fax line, working and available.

+2  A: 

Not in New Zealand at least.

Here, Fax-Numbers do not differ from normal numbers in terms of namespacing.

A fax number may be only 1 digit ( the rightmost ) different from their normal line, or even a company may not have distinct FAX/Phone lines, and they just share a line and use tone detection to initiate fax protocol instead.

Also, you don't need to register with anybody to have fax services work on your phone line, so there's no index you can look up to see if its a fax or not. The only way to know is initiate a call, and see if you get a fax response, and even then, if the Fax happens to be turned off, you'll get a false negative.

I think your question may turn out to result in hunting for phantoms.

Oh, and for additional fun, you may have desktops with their dialup modem plugged into the wall merely emulating a fax device :). If you don't want to include these as "fax machines". you will be most likely out-of-luck.

Kent Fredric
+5  A: 

If you can make a phone call, many faxes create a "Fax Identification tone".

http://telecom.tbi.net/fax-call.htm

This signal may be sent by the Terminating FAX machine anywhere between 1.8 to 2.5 seconds AFTER answering the call. The CED signal consists of a 2100 Hz tone that is from 2.6 to 4 seconds in duration. The CED tone is useful for disabling any echo cancellers on the line.

The CED also incorporates a "silent" interval following the 2100 Hz tone. This interval lasts from 55 to 95 (75 +/- 20) mS. Following this interval, the Terminating FAX machine will initiate the Pre-Message Identification procedures by transmitting a 300 BPS "Line Turn-around" preamble.

Some older faxes do not support that though, no idea how they can be triggered (i.e. by you sending a tone first, but that could be really annoying if you have a phone instead of a fax number)

Michael Stum
And the "annoyance" of your fax picking up, but nothing comes out...
GalacticCowboy
+2  A: 

It's essentially impossible.

They make line-sharing switch devices. For example, visit http://www.faxswitch.com/ to see their offerings.

The line appears like a voice line until you send a fax recognition tone. Then the line switches to a fax machine, if one exists.

So, a single number can be voice and fax.

S.Lott
A: 

Many old fax lines are set to automatically pick up even on a voice call, so you could just call and check. On the other hand, it won't work on a lot of new ones, so while you could tell that one is a fax line, you couldn't tell it wasn't.

J.T. Hurley
+1  A: 

First, there isn't anything inherent in the number that identifies it as a fax line. Even the phone company doesn't know - it's just a device attached to the wall jack, by the customer.

At some point you just have to trust the user. However, try the following ideas as well:

  • On each fax, publish a number (preferably toll-free) where the recipient can call to cancel. In some localities this might be a requirement anyway - "unsolicited" faxes are considered abusive in much the same way as spam since they can entail both material and bandwidth costs for the recipient. This will protect you in the eventuality that someone subscribes a number that doesn't belong to them.
  • Add some kind of error threshold to your software that will halt fax attempts once n attempts fail, and flag the number as inoperative. If you have some other way to contact the user, you could notify them of this event. The same principle works for e-mail addresses - I've received snail-mail notifications from companies when I changed e-mail addresses and forgot to notify them; once the e-mail had bounced a few times, they sent a courtesy letter to remind me to update it.
GalacticCowboy
+3  A: 

I understand your question as that you have a list of fax-numbers in your customer database and want to verify that those numbers still are valid.

Then you could use TAPI ( http://en.wikipedia.org/wiki/Telephony_Application_Programming_Interface ) to programatically call those numbers and check if its a fax that answering, no need to actually send any fax, just connect and ask the device (fax) what capabilitys it has.

Here are Microsofts information about their TAPI: http://msdn.microsoft.com/en-us/library/ms950407.aspx

An easier way could be to have a fax modem on the com-port and using ATI-commands to call the device and send ATX3D and see if the device answers with ATA. (Or something similar, it was ages ago I programmed modems..)

Stefan
A: 

I'm sure a fax is a modem, so if you connected to it - using AT codes maybe (how 1990's!), you could determine from the response codes that there was a fax there - but you still have to make the call, make the negotiation etc - just dont send a page.

Nic Wise
+2  A: 

A quick and dirty way of testing if a number is a fax number would be to google (using some API) for "Fax [number]".

e.g.
http://www.google.co.uk/search?q="Fax+01422+329262"

seanyboy
You're right about quick and dirty, but I think the 80/20 rule applies here. +1
rmeador