views:

192

answers:

3

We program a Testing Web Application for a University in ColdFusion with a MS SQL Backend.

Right now we have to manually take faxes sent to our fax machine and then find the account they are related to and input the info (the actual fax has to be found in a filing cabinet if we ever need to reference it again). What I would like to do is create a way for someone to fax to a certain number and then the fax be sent to an email account we specify.

If that worked properly we would need a way to get the email, store it somewhere on our servers and then link it to an account. The linking process would probably have to be manual and we are ok with that, but an easy way to view all the faxes sent to that email in our ColdFusion application in PDF form (searchable by the name we assign it) is what we are mainly looking for. So that we don't have to get the faxes on paper and file them by hand.

Is there a way to accomplish this? Preferably not through a paid service as we can program almost anything we need ourselves.

+2  A: 

Hmm... have you tried services like eFax?

Henry
+1  A: 

Why reinvent the wheel? Services like eFax and jConnect (there are several others, just Google "electronic fax service") are affordable and do half of what you are trying to do. Save yourself the effort and just spend a few bucks. You'll probably find out, too, that it will cost you less to just pay for the service than it would cost you to pay the developer to write the software.

So after you bite the bullet and sign up for an electronic faxing service, you just need an email account for it to send to, and to use CFPOP to check the inbox and download the attachments. The rest is a piece of cake.

Adam Tuttle
The problem is we also want to print the fax when it comes in along with saving it. This fax line is already set up to a printer, and we cannot change the phone number to one of those eFax services numbers. We have one idea of using a computer that has XP on it receive faxes, save, then print them. We would then run a scheduled task to upload the files to a network drive (so that if it loses network connections we aren't losing faxes).
"What I would like to do is create a way for someone to fax to a certain number and then the fax be sent to an email account we specify." So you're saying you can't change the "certain number" now?
Henry
Custom routing of faxes is a feature built into many fax server software (like RelayFax). In companies where Faxes are used heavily it is a valuable feature.
Jas Panesar
Use call forwarding and cfprint. Problem solved... But didn't you say you want to avoid printing and filing by using PDFs? Get your story straight!
Adam Tuttle
+1  A: 

From the sounds of it, I have built something identical to this faxing setup with Coldfusion.

After a few trials and errors I found best way to go is:

1) DIGITIZE INCOMING FAXES: Have all faxes either sent to an email address you can check via CF, or a network folder you save them on, which you can check with CF. You can absolutely keep your fax number and simply call forward incoming calls to your digital fax number.

2) PROCESS INCOMING FAXES When you find a new fax, it is best to process it and make a record of it. I store things like the file name, dig up the fax number it came from, check it against a list of known numbers, and have a routing table (in case it needs to go to someone).

3) PRINT AND ROUTE FAX Auto printing a document once in CF is possible via CF as well.

As for tables, I keep one to store each fax. I store the fax itself in a blob as well. Easy to replicate and move around, no big performance hit. I keep another table to store a list of incoming number profiles (like a caller ID table) to relate the number to a customer. I keep a table for routing rules, if an email comes from here, send it here. Last, but not least, if you have to manage multiple phone numbers, you can create multiple incoming profiles and file them.

Once you have each fax stored in the DB, you can do a lot with it and file/index/ store it digitally how you like. CFDOCUMENT will display disk based PDFs.

I ended up having to program something like this for custom routing options. It is possible to auto link items to certain files/folders/projects if you like as well with CF.

If you need to know anything else, ask, or we can discuss it off line if you need to keep some details private.

Jas Panesar