Developed new FAX script

Dear folks,

I’ve developed a new advanced email to fax and fax to email script for our company handling multiple incoming and outgoing configurations based on email address or DID number.

I would like to share this with the FreePBX community in hopes that someone else find this useful, and maybe someone wants to write a GUI for it and integrate it in FreePBX.

I’m not sure this is the right forum, and I cannot attach files here. But if someone out there would like to give it a try or is a developer who is interested in taking this further (e.g. the GUI, please let me know and I’ll be monitoring this thread.

The following features are included:
Email to config matching based on email regex
Selectable channel in config
Custom parameters based on the email address sending the info
Auto-retry a configurable amount of times, with fax delayed messages optionally
Maximum number of parallel channels to use
Proper fax result page is generated on Success & Failure
Subject line starts with the number to send to, optionally followed by a “Receiver Nice Name”. This helps you identify faxes when you get notifications in case you send lots of faxes
Fax file is a PDF attachment

Config matching based on number regex
Keeps retrying sending emails until fax is successfully sent
Proper fax header is added over the one provided by ReceiveFAX()
Faxes will be emailed in PDF form

I do have one question for FreePBX gurus/devs.
I would like to apply the trunk dial patterns to the number before creating the call file to send the fax. Is it somehow possible to do that easily? It seems to be better than defining that redundantly in the EKHFax config file.

Here you go!

I think the howto.txt and comments in should be self-explanatory, but feel free to ask any questions!

I’m better reached by email though, it’s in the php file’s GPL license header!

Have you secured a Patent License on this? Email to Fax is one of the most patented and litigated applications in regards to Faxing and the Patent Holder goes after everyone. Hence why this has not been done in FreePBX. Believe me we tried.

Do you think that would be necessary? I’m not a patent lawyer of course, but it’s simply a script that brings a few components together.
I developed this for internal use and was hoping someone else might find this useful.
You think this is trouble, and if so, how? DO you mind taking a look at it?

Yes I know its trouble. The simple concept of sending a email that has a fax number in the subject and the body and or attachments are content of the fax is patented and requires a patent license to do it.

I suggest you get legal advice. I am not a lawyer either but we have researched this feature in the past.

Anyone ever thought of patenting “the simple concept” of breathing?
Hurry up. Lots of money to make with this patent.

I removed it for now. However, what a pathetic system if you can get in trouble for writing a script based only on open source software and releasing it as such.

Does this copyright only apply under US laws? Because if so, I don’t care we dont live there.

I have no clue which countries the patents apply to nor would I comment on such a thing not being a attorney. I was just letting people here know to be careful as it is a patented product in the US for sure and I would assume other countries.

Can you please reference this patent information? Are you just saying this because a free script would hurt your business of selling the fax software?

I suggest you seek the advice of a patent attorney for this, the forums probably are not your best source of legal protections, as Tony noted Schmooze has looked into developing email to fax ourselves and it wasn’t worth the potential litigation. As for the conspiracy theory about hurting our business, we already include the ability to receive inbound faxes for free using the FreePBX Distro, only if you want to use the GUI to send faxes and customize cover sheets is there a charge for the Commercial Pro module. We are not trying to discourage you from innovating something new, Tony was just sharing some advice he learned by already traveling down that road. Unfortunately the state of Patent laws do tend to stifle open source development in some areas, also please note that just because you give away something for free, doesn’t mean that you can’t get your pants sued off for infringement.

No, this wasn’t meant as a criticism about FreePBX or Schmooze, just frustration at the legal system in general :]
I just took it down because I did this for fun and not profit, so I don’t want to expend money on an attorney.
But please accept my apoligies, I din’t mean it as a criticism!

namezero111111 I was primarily replying to brooksh’s response to Tony’s post wondering if Tony was suggesting not to develop email to fax to protect our product line. Schmooze has been supporting FreePBX with both contributions to the OSS code and commercial modules since 2008, so these conspiracy type post are always way off base and a bit trollish in nature. We are the last company that would try to keep people from building solutions on this platform… What’s that old commercial “We liked it so much we bought the company.” The “Free” in FreePBX stands for Freedom, so by all means have at it, develop, develop, develop.

Over the past couple of months I have seen new developers working on code from outside Schmooze and contributing new modules, features and bug fixes and contributing code back into the project, I work with a really smart group of people, but, we realize that we couldn’t and shouldn’t do it all on our own. The more people involved the stronger the open source platform for everyone, that’s the power of Open Source.

Oh ok, thank you for your elaborate response.
In that case, I have enhanced the time conditions module to allow for automatic easter calculation dates.
It still needs some tweaking, but are you willing or do you know someone who is willing to do a code review and try to get it committed? I’m only 3 months into FreePBX/Asterisk myself.

If you submit that code in a feature request/ bug ticket the project managers and developers can take a look, not sure if they can fit it into 2.11, but it does sound like a great feature, especially if it be tweaked for accommodation other similar dates and holidays.

Yes, I’ll do that this weekend after some more testing and ironing out one more small problem. It could be extended to support other schnutzy dates like that with a little bit more work. Do you know of any such dates?

That’s interesting.

I never thought that a procedure/a method (isn’t a software script a procedure?) which could/could not involve Free Software components (as I understood) to fulfil its meaning (in other words “to produce a sort of expected/wanted/(pre)defined” useful results) could then be patented not for its very specific components AND the way they are working together BUT JUST for the mere procedure itself (no matter which components are involved).

So…probably A LOT of normal things we’re currently used to live with (in our normal day by day life) are protected and covered by Patents (read below) AND (sigh!) we don’t know/care about.

See here for <a href=>Europe Patent Office (regarding the FAX to E-Mail / E-Mail to FAX theme).

It seems that US Patent’s applicant/applicants filed the same US Patent/Patents in Europe (or Worldwide?) to extends its rights over European market too. Will be interesting to go deep on that…

Think: making ice’s cubes in a hot summer day by placing liquid water inside a running refrigerator. Am I violating any Patents because I do it with my own hands or Am I safe just because (maybe) my refrigerator is yet using a patented method to cold its content and I am, as final user and for a private use, just taking the benefits/the results (liquid water that becomes ice) of applying that procedure?

Really interesting…


I don’t know what a shnutzy date is.

I can tell you that you don’t want to hard code any dates. Some type of template system so users can create and publish templates for their geographies would be good start.

This is a global system, regional customizations are not desirable.

Annoying date : ]
Either way, there was a article with dialplan code that calculates the date of easter, that’s what I’m using. I suppose you’d have to add code for other dates, since providing a direct dialplan code input field is beyond what most users would touch.

I’ll bite.

US Patent Numbers:

Want even more? (especially Issued patents)

This is seriously a problem in the US:

Thamks tm1000. That’s quite interesting.
They had a link ( on the Wiki page too about the software patents in Europs that stated this:
“The position in Europe can be contrasted with that of other countries such as the USA and Australia. In these countries, the mere use of a computer is sufficient to make a business method patentable even if the computer is not being used in a novel or inventive way and only the underlying business method provides the patentable features. Such a position has been specifically rejected by the EPO in decisions such as T258/03 (Hitachi/Auction method).”

Of course it is outside my particular area of expertise how to interpret this exactly, but maybe someone who know about European copyright law could chime in.