Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[hylafax-users] change received fax filename etc

249 views
Skip to first unread message

Anita Hall

unread,
Jun 7, 2012, 8:55:22 AM6/7/12
to hylafa...@hylafax.org
Hello to everybody!

I recently installed Hylafax to work with FreeSWITCH and it looks a mighty
fine piece of software :)

I have a couple of questions which may best be answered by the experienced
users.

1. The received fax .tif files in recvq directory are named as
fax000000001.tif, fax000000002.tif, fax000000003.tif etc. I am receiving
the fax by bridging the incoming call in FreeSWITCH to the soft modem which
HylaFax is using. Ideally, I would like to pass a filename (like the uuid
of the incoming call) which will become the filename of the received .tif
file.
Is that possible ?

2. For incoming fax, how can I get the status ? Like is it successful,
failed, etc ?

3. Is it possible to execute a script each time after receiving a Fax ? For
eg., I would like to run a script to email the received .tif file.


regards,
Anita

Tim Nelson

unread,
Jun 7, 2012, 10:17:35 AM6/7/12
to hylafa...@hylafax.org
Greetings Anita-

I've seen some of your posts on the freeswitch list. Are you using the new fax functionailty of freeswitch which provides device nodes for Hylafax to work with (appears as standard serial ttys), or some other method of allowing them to interact (t38modem?)? Somewhat off topic, but I'm curious. :)

Responding in numbered fashion:

1. Changes to filename can be done after fax reception, within $SPOOL/bin/faxrcvd or $SPOOL/etc/FaxDispatch which are run after each fax job. More specifically, faxrcvd is run, and calls FaxDispatch from within.

2. Outbound fax jobs fire off some things when they fail to let you know of the status ($SPOOL/bin/notify). Inbound jobs do not however. You simply need to check the session logs for inbound calls to see if they were "successful" or not. Of course I add quotes around successful meaning, the logs may indicate successful signalling/protocol, but if the audio path is not clear(VoIP, or poor T.38 implementation), and ECM is not used, the actual resulting image may look very poor.

3. Yes, see above item #1.

--Tim


____________________ HylaFAX(tm) Users Mailing List _______________________
To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe hylafax-us...@hylafax.org < /dev/null
*To learn about commercial HylaFAX(tm) support, mail sa...@ifax.com.*

Anita Hall

unread,
Jun 12, 2012, 1:36:34 AM6/12/12
to hylafa...@hylafax.org, Tim Nelson
Hi

Thanks Aidan and Tim. I am reading the docs up and configuring!

Tim, I am using the soft modem emulation via mod_spandsp documented here
http://wiki.freeswitch.org/wiki/HylaFax

regards,
Anita

Anita Hall

unread,
Jun 14, 2012, 8:16:38 AM6/14/12
to hylafa...@hylafax.org
Hi

I have tried various possible configurations for the CallIDPattern in
etc/config.FS but none of them are working. Perhaps, I would need an
example of how to configure CallIDPattern such that the caller id is passed
from FreeSWITCH to Hylafax.

It would be great to hear from someone who has done this on FreeSWITCH and
mod_spandsp.

In case of

CallIDPattern: SHIELDED_DTMF
CallIDAnswerLength: 4

or

CallIDPattern: "NDID="
CallIDPattern: "NMBR="
CallIDPattern: "NAME="


I am not getting any CallID in the logs.

When I configure as

ModemRingResponse: "AT#CLS=8\nAT#VLS=4\nATA"
CallIDPattern: SHIELDED_DTMF
CallIDAnswerLength: 4
ModemAnswerCmd: "<delay:100>AT+FCLASS=1\nATA"

I get the following error in the log

Jun 14 17:21:30.15: [15237]: SESSION BEGIN 000000079 19995551212
Jun 14 17:21:30.15: [15237]: HylaFAX (tm) Version 6.0.5
Jun 14 17:21:30.15: [15237]: CallID: " "
Jun 14 17:21:30.15: [15237]: DELAY 1000 ms
Jun 14 17:21:31.15: [15237]: <-- [14:AT+FCLASS=1;A\r]
Jun 14 17:21:31.17: [15237]: --> [5:ERROR]
Jun 14 17:21:31.17: [15237]: ANSWER: Ring detected without successful
handshake
Jun 14 17:21:31.17: [15237]: Ring detected without successful handshake
Jun 14 17:21:31.17: [15237]: SESSION END

In FreeSWITCH, I am bridging all incoming calls to modem/1/a/a where a
means the available modem.

My complete automatically generated config is

CountryCode: 91
AreaCode: 124
FAXNumber: +1.999.555.1212
LongDistancePrefix: 1
InternationalPrefix: 011
DialStringRules: etc/dialrules
ServerTracing: 1
SessionTracing: 11
RecvFileMode: 0666
LogFileMode: 0666
DeviceMode: 0666
RingsBeforeAnswer: 1
SpeakerVolume: off
GettyArgs: "-h %l dx_%s"
LocalIdentifier: "NothingSetup"
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%P of %%T"
MaxRecvPages: 50
#
#
# Modem-related stuff: should reflect modem command interface
# and hardware connection/cabling (e.g. flow control).
#
# We use "ModemType: Class1" with "Class1Cmd: AT+FCLASS=1.0" for now
#
ModemType: Class1 # use this to supply a hint
#ModemRate: 19200 # rate for DCE-DTE communication
#ModemFlowControl: xonxoff # XON/XOFF flow control assumed
#
#ModemSetupDTRCmd: AT&D2 # setup so DTR drop resets modem
#ModemSetupDCDCmd: AT&C1 # setup so DCD follows carrier
#GettyArgs: "-h %l dx_%s" # modem must auto-detect fax/data
#
# We can append the "@" symbol to the dial string so that
# the modem will wait 5 seconds before attempting to connect
# and return result codes that distinguish between no carrier
# and no answer. This makes it possible to avoid problems with
# repeatedly dialing a number that doesn't have a fax machine
# (kudos to Stuart Lynne for this trick.)
#
# NB: If you need to prefix phone numbers to get through a PBX,
# put it in the ModemDialCmd; e.g. "DT9%s@".
#
#ModemDialCmd: ATDT%s # T for tone dialing
#
# Other possible configuration stuff. The default strings are
# shown below. Only those that are different from the defaults
# need to be included in the configuration file.
#
#ModemResetCmds: "" # stuff to do when modem is
reset
#ModemAnswerCmd: ATA # use this to answer phone
#ModemNoFlowCmd: AT&K # disable flow control cmd
#ModemHardFlowCmd: AT&K3 # hardware flow control cmd
#ModemSoftFlowCmd: AT&K4 # software flow control cmd
#ModemNoAutoAnswerCmd: ATS0=0 # disable auto-answer
#
# Set modem speaker volume commands: OFF QUIET LOW MEDIUM HIGH.
# Note that we both turn the speaker on/off and set volume.
#
#ModemSetVolumeCmd: "ATM0 ATL0M1 ATL1M1 ATL2M1 ATL3M1"
#ModemEchoOffCmd: ATE0 # disable command echo
#ModemVerboseResultsCmd: ATV1 # enable verbose command
results
#ModemResultCodesCmd: ATQ0 # enable result codes
#ModemOnHookCmd: ATH0 # place phone on hook
(hangup)
#ModemSoftResetCmd: ATZ # do soft reset of modem
#ModemSoftResetCmdDelay: 3000 # pause after soft reset
#ModemWaitTimeCmd: ATS7=60 # wait 60 seconds for carrier
#ModemCommaPauseTimeCmd: ATS8=2 # comma pause time is 2
seconds
#ModemRecvFillOrder: LSB2MSB # bit order of received facsimile
#ModemSendFillOrder: LSB2MSB # bit order modem expects for
transmit
#
Class1Cmd: AT+FCLASS=1.0 # command to enter class 1.0
Class1PPMWaitCmd: AT+FTS=7 # command to stop and wait before
PPM
Class1TCFWaitCmd: AT+FTS=7 # command to stop and wait before
TCF
Class1EOPWaitCmd: AT+FTS=9 # command to stop and wait before
EOP
Class1SwitchingCmd: AT+FRS=7 # command to stop and listen for
silence
Class1RecvAbortOK: 200 # wait 200ms for abort response
Class1FrameOverhead: 4 # 4 byte overhead in recvd HDLC
frames
Class1RecvIdentTimer: 40000 # 35+5secs waiting for ident frames
Class1TCFMaxNonZero: 10 # max 10% of data may be non-zero
Class1TCFMinRun: 1000 # min run is 2/3rds of TCF duration


Thanks for any more pointers or examples!

regards,
Anita

Lee Howard

unread,
Jun 14, 2012, 5:38:04 PM6/14/12
to Anita Hall, hylafa...@hylafax.org
On 06/14/2012 05:16 AM, Anita Hall wrote:
> Hi
>
> I have tried various possible configurations for the CallIDPattern in
> etc/config.FS but none of them are working. Perhaps, I would need an
> example of how to configure CallIDPattern such that the caller id is
> passed from FreeSWITCH to Hylafax.
>
> It would be great to hear from someone who has done this on FreeSWITCH
> and mod_spandsp.

Use minicom on the tty (instead of faxgetty). And then do the following:

ATZ

AT+VCID=1

ATI

ATI3

And then send a call to that modem. Let's see what the CallerID display
says.

Thanks,

Lee.

Anita Hall

unread,
Jun 15, 2012, 3:20:20 AM6/15/12
to Lee Howard, hylafa...@hylafax.org
Hi Lee

Thanks :)

It says the following. How can I get NMBR and NDID in my faxrcvd ?

DATE=0615

TIME=1251

NAME=

NMBR=1244948600

ANID=1244948600

USER=FreeTDM

CDID=default

NDID=1/a/ac179e6c-b6ba-11e1-8c6a-35f18ff8e67f

RING

RING

RING

RING


regards,
Anita

Lee Howard

unread,
Jun 15, 2012, 11:12:08 AM6/15/12
to Anita Hall, hylafa...@hylafax.org
On 06/15/2012 12:20 AM, Anita Hall wrote:
> Hi Lee
>
> Thanks :)
>
> It says the following. How can I get NMBR and NDID in my faxrcvd ?
>
> DATE=0615
>
> TIME=1251
>
> NAME=
>
> NMBR=1244948600
>
> ANID=1244948600
>
> USER=FreeTDM
>
> CDID=default
>
> NDID=1/a/ac179e6c-b6ba-11e1-8c6a-35f18ff8e67f
>
> RING

So in your HylaFAX modem config file put the following:

RingsBeforeAnswer: 2 (you probably already have this configured, but check)
ModemResetCmds: AT+VCID=1
CallIDPattern: "NMBR="
CallIDPattern: "NDID="

Restart faxgetty.

Then in your faxrcvd and FaxDispatch $CALLID1 will refer to the
CallerID, and $CALLID2 will refer to the DID.

Anita Hall

unread,
Jun 21, 2012, 2:14:12 AM6/21/12
to Lee Howard, hylafa...@hylafax.org
Thanks Lee, it just works!

regards,
Anita



On Fri, Jun 15, 2012 at 8:41 PM, Lee Howard <fax...@howardsilvan.com> wrote:

> On 06/15/2012 12:20 AM, Anita Hall wrote:
>
>> Hi Lee
>>
>> Thanks :)
>>
>> It says the following. How can I get NMBR and NDID in my faxrcvd ?
>>
>> DATE=0615
>>
>> TIME=1251
>>
>> NAME=
>>
>> NMBR=1244948600
>>
>> ANID=1244948600
>>
>> USER=FreeTDM
>>
>> CDID=default
>>
>> NDID=1/a/ac179e6c-b6ba-11e1-**8c6a-35f18ff8e67f
0 new messages