Howdy yall! Been a while!
This isn't the most phreaking related post ever, but if anyone knows how the phone system works, it's you guys. I'm looking to set up a fax server to replace 15 or 16 fax machines. Rather than continuing to pay maintenance on the lines and the machines when they break, I figure, with the relatively low volume of faxes that I receive (read: generally none) I could keep one line/number and get rid of everything else. Therein lies my problem. Routing incoming faxes when you only have one line is rather difficult so I'm here to ask for advice.
My intended setup (I could be talked out of it, but you guys know how much I like FOSS):
- An okay desktop sitting in the networking closet
- Hylafax Server Software
- 1 Good modem (not a Windows modem)
My routing plan:
- Client program written in Java or C# (because high level Hylafax APIs) to interface with server from desktops OR PREFERABLY a program on the server set to run whenever a faxing event is triggered (can cron do this?)
- 2 core methods, OnSend() and OnRecvd()
- OnSend() when a fax goes out, this method records 1 metric boatload of information and stores that away in a DB. (which floor/department the fax came from, what time it was sent, what number it was sent to, etc)
- ONRecvd() looks at all that stored information when a new fax comes in, maybe even OCR's the document and parses the text for keywords. Assigns a weight to every value in the DB and routes based on highest weight. For example, one category might be: Which department last faxed this number? If any, give the most recent a +2 weight, and every other department that has faxed that number gets a +1. Departments who have never faxed that number get +0. Eventually this system would route the fax to the most likely department's printer/network share.
I can see this system working 9 out of 10 times, with the other 1 out of 10 relying on the honor system to get the document where it needs to go. Eventually fax communications will completely die off, so this is only a project that will live on for a few years, but I was hoping for opinions/advice/ideas, from BinRev before moving forward! All code and setup results will be posted later (much later) as per my usual!
Best wishes as always,