2.7 Fax Configuration | Digium FFA

Ok now that I have successfully updated to 2.7

I would like to incorporate Faxing,
well I have installed correctly the Digium FFA module and have a working fax show stats, and would like to incorporate it into FreePBX.

I Believe that I have set this up correctly but how do I send out a test fax?

An example of how I would send something like this:

test.tiff

to 8009999999 ? with a subject of “this is a test fax”

how would I send this?

guess I should ask first as I saw within the Digium FFA Admin guide that it needs a custom dial plan to work… Does this module create the dial plan in question or do I still need to create one?

And if I need to create one, can someone give me some pointers, because up till now I have never had to do this since everything for the most part in freepbx is automated.

As for I really don’t understand the dial plan aspect within the admin guide at all.

Could I just use this that the admin guide gives you:

[fax-rx]
exten => receive,1,NoOp(**** FAX RECEIVE )
exten => receive,n,Set(GLOBAL(FAXCOUNT)=$[ ${GLOBAL(FAXCOUNT)} + 1 ])
exten => receive,n,Set(FAXCOUNT=${GLOBAL(FAXCOUNT)})
exten => receive,n,Set(FAXFILE=fax-${FAXCOUNT}-rx.tif)
exten => receive,n,Set(GLOBAL(LASTFAXCALLERNUM)=${CALLERID(num)})
exten => receive,n,Set(GLOBAL(LASTFAXCALLERNAME)=${CALLERID(name)})
exten => receive,n,NoOp(
SETTING FAXOPT )
exten => receive,n,Set(FAXOPT(ecm)=yes)
exten => receive,n,Set(FAXOPT(headerinfo)=MY FAXBACK RX)
exten => receive,n,Set(FAXOPT(localstationid)=1234567890)
exten => receive,n,Set(FAXOPT(maxrate)=14400)
exten => receive,n,Set(FAXOPT(minrate)=2400)
exten => receive,n,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => receive,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => receive,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => receive,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => receive,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => receive,n,NoOp(
RECEIVING FAX : ${FAXFILE} )
exten => receive,n,ReceiveFAX(/home/dwayne/faxin/${FAXFILE})
; Hangup! Print FAXOPTs
exten => h,1,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => h,n,NoOp(FAXOPT(filename) : ${FAXOPT(filename)})
exten => h,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => h,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => h,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => h,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => h,n,NoOp(FAXOPT(pages) : ${FAXOPT(pages)})
exten => h,n,NoOp(FAXOPT(rate) : ${FAXOPT(rate)})
exten => h,n,NoOp(FAXOPT(remotestationid) : ${FAXOPT(remotestationid)})
exten => h,n,NoOp(FAXOPT(resolution) : ${FAXOPT(resolution)})
Digium, Inc. Page 36
exten => h,n,NoOp(FAXOPT(status) : ${FAXOPT(status)})
exten => h,n,NoOp(FAXOPT(statusstr) : ${FAXOPT(statusstr)})
exten => h,n,NoOp(FAXOPT(error) : ${FAXOPT(error)})
[fax-tx]
exten => send,1,NoOp(
SENDING FAX )
exten => send,n,Wait(6)
exten => send,n,Set(GLOBAL(FAXCOUNT)=$[ ${GLOBAL(FAXCOUNT)} + 1 ])
exten => send,n,Set(FAXCOUNT=${GLOBAL(FAXCOUNT)})
exten => send,n,Set(FAXFILE=dw-faxout.tif)
; Set FAXOPTs
exten => send,n,NoOp(
SETTING FAXOPT )
exten => send,n,Set(FAXOPT(ecm)=yes)
exten => send,n,Set(FAXOPT(headerinfo)=Fax from $
{GLOBAL(LASTFAXCALLERNAME)} at ${GLOBAL(LASTFAXCALLERNUM)} was received.)
exten => send,n,Set(FAXOPT(localstationid)=1234567890)
exten => send,n,Set(FAXOPT(maxrate)=14400)
exten => send,n,Set(FAXOPT(minrate)=2400)
; Send the fax
exten => send,n,NoOp(
SENDING FAX : ${FAXFILE} )
exten => send,n,SendFAX(/home/dwayne/faxout/${FAXFILE},d)
; Hangup! Print FAXOPTs
exten => h,1,NoOp(FAXOPT(ecm) : ${FAXOPT(ecm)})
exten => h,n,NoOp(FAXOPT(filename) : ${FAXOPT(filename)})
exten => h,n,NoOp(FAXOPT(headerinfo) : ${FAXOPT(headerinfo)})
exten => h,n,NoOp(FAXOPT(localstationid) : ${FAXOPT(localstationid)})
exten => h,n,NoOp(FAXOPT(maxrate) : ${FAXOPT(maxrate)})
exten => h,n,NoOp(FAXOPT(minrate) : ${FAXOPT(minrate)})
exten => h,n,NoOp(FAXOPT(pages) : ${FAXOPT(pages)})
exten => h,n,NoOp(FAXOPT(rate) : ${FAXOPT(rate)})
exten => h,n,NoOp(FAXOPT(remotestationid) : ${FAXOPT(remotestationid)})
exten => h,n,NoOp(FAXOPT(resolution) : ${FAXOPT(resolution)})
exten => h,n,NoOp(FAXOPT(status) : ${FAXOPT(status)})
exten => h,n,NoOp(FAXOPT(statusstr) : ${FAXOPT(statusstr)})
exten => h,n,NoOp(FAXOPT(error) : ${FAXOPT(error)})
[default]
exten => fax,1,NoOp(
FAX DETECTED ****)
exten => fax,n,Goto(fax-rx,receive,1)

but where do I place it at, and will this work?

Please help.
Thanks in advance,
joe

there is no outbound faxing capability incorporated in the Fax Module as that would require a way to get the tiff somewhere into the system and then direct a call to send it out.

None of that has been done here. You may check with Schmooze as they are the ones who did most of the development on the Fax Module and I believe for their customer base they may have an outbound solution via the ARI, but it is probably not free and I don’t know if it would work on an un-modified FreePBX install.

Ok thanks for the info…

Was trying to get an iaxmodem to work with hylafax for 3 months and no luck there, could never get the iaxmodem to get a dial tone. Was HOPING for a somewhat easier solution…

even better then iaxmodem would love to send them trough our Digium AEX800 4fxo 4fxs ports card if possible. But can not find info anywhere on faxing through dahdi or anything similar.

On a similiar note, I want to specify a different context for receiving faxes than the default “ext-fax”. I created a custom context called faxserver-rx and then I created a custom destination called “faxserver-rx,s,1”. The problem is that I do not know how to I tell FreePBX to use that context. Any insight at all would be greatly appreciated.
Thanks
Frank

Use the custom destination module to create your destination, then either direct the DID straight there or if using detection, point to that custom destination for your Fax Detection choice.

jmituzas;
If you are interested in fax software, check out my demo @ demo.voipbiz.org and log in as user 200 with password 200 and look at the fax stuff. I also have an autodialer system that is pretty slick. Let me know what you think. I appreciate all feedback, both positive and negative.
Regards;
FSD

Philippe;
Thank you for the very quick response. It will be a big help. I am trying to port fax software I wrote to FreePBX. You’re saying that in “Inbound Routes” I should set my fax detection type in the fax handling section, then in the set destination section I should simply select the destination that I defined in custom destinations? I will test that out. Thanks again. Let me ask you this. Is it possible to set up a DID as dual use, voice and data using FreePBX?
Thanks
Frank

cbbs70a,

if the DID is dedicated to fax then no need for any detection, just send the fax to the final destination at the bottom.

If you want dual use/detection, then set the fax destination in the Detection destinations area and the normal use destination at the bottom of the inbound routes.

Hi Phillippe, You’ve helped me in the past.

I have FFA installed.

I am sending faxes to t.38 DIDs that work on an Elastix box perfectly. Can’t get them to work on my FreePBX 2.9 box.

I’ve tried an incoming route to a Virtual SIP and IAX with T.38 passthrough on and off. I get this:

[2011-09-05 08:19:46] NOTICE[6275]: pbx.c:4123 pbx_extension_helper: Cannot find extension context ‘’
[2011-09-05 08:19:46] WARNING[6275]: pbx.c:10244 pbx_parseable_goto: Priority ‘’ must be a number > 0, or valid label
== Spawn extension (from-trunk, fax, 1) exited non-zero on ‘SIP/VI-000000b7’
– Executing [h@from-trunk:1] Macro(“SIP/VI-000000b7”, “hangupcall,”) in new stack
– Executing [s@macro-hangupcall:1] GotoIf(“SIP/VI-000000b7”, “1?theend”) in new stack
– Goto (macro-hangupcall,s,3)

It’s like Asterisk doesn’t know where to send the fax, but I am telling it to go to the extension on the Incoming Route. I’ve also tried Fax Detect = Yes on the incoming, and the remote side (I’m sending from an Elastix 2.0 box running a tail -f /var/log/asterisk/full) shows the call doesn’t answer when I do fax detect.

I can’t find any good posts on FFA and 2.9. Thanks for your time on Labor Day!