Canon, uniFLOW, and RightFax: Oh My!
17 Jul 2014∞
My organization recently purchased around 100 high end Canon multi-function printers, along with a print queue management suite called uniFLOW. uniFLOW gives us a single, roaming print queue, secure print (badge required to get your print job!), and excellent print accounting metrics. With the aforementioned badge integration, we know exactly who is printing all those color copies of their fantasy team’s roster.
It is difficult to believe that here in 2014 organizations are still required to support faxing, but here we are. Even as part of an all new printer deployment, I find myself spending an inordinate amount of time configuring, troubleshooting, and supporting FAX.
The Canon multi-function printers with uniFLOW support simple scan to e-mail and copy functions, but fax is slightly more complicated. It’s less significantly less intuitive, for starters. There is no fax icon or menu action on the large touch screen display. Instead, you have to use the Scan to E-mail process. At which point, you e-mail the phone number you’d like to fax, and hit send. Easy enough to remember, but getting the back end configuration right to make it work is another challege. Here’s my configuration, in case someone else has the same difficulty.
First, make sure you’re running a recent version of RightFax. RightFax is software that allows an organization to deliver faxes to e-mail, obviating the need for every employee to have a personal fax machine — and most importantly, vice-versa: you can deliver faxes from e-mail to a fax number. Your organization may use something different, but I imagine the set up will be similar.
It took a bit of testing with RightFax’s Exchange connector and Wireshark to determine the correct To: header syntax, but here it is:
IMCEARFAX-Walk+20up+40_FN=AAABBBCCCC@domain.com
RightFax requires a recipient name and obviously a fax number destination. The above formatting includes both, broken down as follows:
IMCEARFAX- RightFax prefix
Walk+20up Recipient name - +20 being the hexadecimal ASCII code for a space
+40 ASCII for the at-symbol
_FN=AAABBBCCCC Fax number equals AAA-BBB-CCC
Now that we know the syntax, we need a way to translate a string of only numbers into that address — it would be an onerus requirement for an end-user to have to type in that ridiculously long e-mail address every time they wanted to send a fax. Thankfully, uniFLOW gives us everything we need to be successful.
Create an XML file on the uniFLOW server, e.g. C:\fax-to-email.xml:
<MOMEMAILCONVERSION>
<RULE NAME="SENDER">%o</RULE>
<RULE NAME="RECIPIENT">IMCEARFAX-Walk+20up+40_FN=/{\d+}/@FAXSERVER.domain.com</RULE>
<RULE NAME="BODY">%o</RULE>
</MOMEMAILCONVERSION>
Edit the FAXSERVER.domain.com to be the FQDN of your RightFax server, then go into the uniFLOW server configuration interface, navigate to Printer -> Printer -> (The printer you want to configure) -> Next -> Device Agents
tab. Scroll down to the bottom section titled Other / MIND SMTP Control
. Here you can configure how the printer will handle different destination addresses. Set the Email Conversions
field value to:
^{\d+}$:C:\fax-to-email.xml
Click Save, and then go send a fax!