Ok. Changing my config.<device> file from class 2.1 to 1.0 (passing control to HylaFAX) enabled HylaFAX+ to detect the DTMF...
Jan 25 23:33:49.09: [ 3764]: SESSION BEGIN 000056565 +15809200 Jan 25 23:33:49.09: [ 3764]: HylaFAX (tm) Version 5.2.5 Jan 25 23:33:49.09: [ 3764]: CallID: '919580####' 'ABCDEFG' '9999' Jan 25 23:33:49.09: [ 3764]: DELAY 1000 ms Jan 25 23:33:50.09: [ 3764]: <-- [14:AT+FCLASS=1;A\r] Jan 25 23:33:58.82: [ 3764]: --> [2:^P~] Jan 25 23:33:58.82: [ 3764]: --> [7:CONNECT] Jan 25 23:33:58.82: [ 3764]: ANSWER: FAX CONNECTION DEVICE '/dev/ttyS5'
Although I'm receiving the DTMF as Caller ID parameter # 3 in faxrecvd and FaxDispatch, I cannot seem to match the case or _expression_...
For instance, if I put
Mutt "" | echo -s "Value of CallID3 is $CallID3" <email>
I get an email verifying that the value is correct, but for some reason cannot use it in a case _expression_ like:
case "$CallID3" in
4849) SENDTO=<email>;;
It just doesn't work.
His is my FaxDispatch file in case somebody can tell me what I'm doing wrong:
If "$CALLID3" = "9999" <== doesn't equal true even though $CALLID is 9999 Then Echo "Test passed" | mutt -s "Test Passed" <email> SENDTO=<email> If
case "$CALLID3" in "4700") SENDTO=<email>; FILETYPE=PDF;;
"9999") SENDTO=<email>;; <== is not equaling true / executing
esac
I've also tried without quotes for the above block. Can anybody explain what I'm doing wrong?
# $Id: lucent-MT-10,v 1.6 2007/10/03 23:52:11 faxguy Exp $
# # prototype config for MultiTech 5634-series modems using # the Lucent/Agere chipset supporting V.34-Fax. #
# CountryCode: 1 AreaCode: 919 FAXNumber: +1.919.580.9200 LongDistancePrefix: 1 InternationalPrefix: 011 DialStringRules: etc/dialrules ServerTracing: 0xFFF SessionTracing: 0xFFF RecvFileMode: 0600 LogFileMode: 0600 DeviceMode: 0600 RingsBeforeAnswer: 1 SpeakerVolume: off GettyArgs: "-h %l dx_%s" LocalIdentifier: ECCM TagLineFont: etc/lutRS18.pcf TagLineFormat: "From %%l|%c|Page %%P of %%T" MaxRecvPages: 99 NotifyCmd: bin/notify-custom #
ModemType: Class1.0 # use this to supply a hint ModemRate: 57600 # must be at least as fast as the DCE-DCE communication ModemFlowControl: rtscts # many firmwares have broken software flow control ModemSetupDTRCmd: AT&D3 # hang up and reset on DTR drop Class1EnableV34Cmd: AT+F34=14,1,2 # 33600-2400 primary, 2400-1200 control Class1TMConnectDelay: 400 # counteract quick CONNECT response Class1HasRHConnectBug: yes # cope with +FRH=3 CONNECT errors
# If your line supports Caller-ID, you may want to uncomment this... ModemResetCmds: AT+VCID=1 CallIDPattern: "NMBR=" CallIDPattern: "NAME="
# Or with the MT5634ZBA-DID you'll probably need something like... # ModemReadyCmds: AT*DS1*DD0*DF1*DN4 # enable DTMF-DID, wink-start, 4 digits # CallIDPattern: "DTMF" # format of AT*DF1 # CallIDAnswerLength: 4 # four DTMF-DID digits then ATA # ModemResetCmds: AT*DP1 # to reverse the polarity
ModemRingResponse: AT+FCLASS=8;H1 CallIDPattern: SHIELDED_DTMF CallIDAnswerLength: 4 ModemAnswerCmd: <delay:100>AT+FCLASS=1;A
Davie Lynn
IT Administrator
East Carolina Case Management, Inc.
1505 E. Ash St.
Goldsboro, NC 27530
Ph: (919) 580-9500 x 4701
Fx: (919) 580-9200
Cl: (919) 344-9722
-------Original Message-------
Date: 1/25/2009 8:03:10 PM
Subject: [hylafax-users] Need help detecting DTMF tones with MultiTech Multimodem zpx internal v92 and HylaFAX+ 5.25
Dear HylaFAX+ wizards:
I'm using HylaFAX+ version 5.25 and I have a MultiTech MULTIMODEM ZPX
INTERNAL V.92 ( MT5634ZPX-PCI-U ).
I want to detect DTMF tones after answering the line and before receiving
the fax for routing based on 4 digits received.
Another user had a similar issue and was asked to run the following
commands under minicom for diagnostics.
Here are those commands and the responses:
OK
AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 <== done by minicom
OK
ATZ
OK
ATS0=0
OK
AT+VCID=1
OK
AT+FCLASS=8
OK
..R.X
DATE=0125
TIME=1910
NAME=U.S. CELLULAR
NMBR=919344####
....R.RATH.R1
OK
..s.s./.4.~./.8.~./.4.~./.9.~.s
The modem successfully detects the "4849" that I pressed on my cell phone's
keypad under minicom.
However, Hylafax does NOT detect my keypresses upon answering the phone as
indicated by the below log:
Jan 25 19:34:49.88: [ 3764]: SESSION BEGIN 000056540 +15809200
Jan 25 19:34:49.88: [ 3764]: HylaFAX (tm) Version 5.2.5
Jan 25 19:34:49.88: [ 3764]: DELAY 2000 ms
Jan 25 19:34:51.88: [ 3764]: <-- [14:AT+FCLASS=1;A\r]
Jan 25 19:34:51.88: [ 3764]: --> [9:DATE=0125]
Jan 25 19:34:51.88: [ 3764]: --> [9:TIME=1959]
Jan 25 19:34:51.88: [ 3764]: --> [18:NAME=U.S. CELLULAR]
Jan 25 19:34:51.88: [ 3764]: --> [15:NMBR=9193449722]
Jan 25 19:35:00.64: [ 3764]: --> [7:CONNECT]
Jan 25 19:35:00.64: [ 3764]: ANSWER: DATA CONNECTION
Jan 25 19:35:00.64: [ 3764]: GETTY: START "/sbin/agetty -h ttyS5 dx_57600",
pid 4767
Jan 25 19:35:00.64: [ 3764]: STATE CHANGE: ANSWERING -> GETTYWAIT
Jan 25 19:35:05.64: [ 3764]: GETTY: exit status 01
Jan 25 19:35:05.64: [ 3764]: SESSION END
Here are all three of my configuration files:
Config:
LogFacility: daemon
CountryCode: 1
AreaCode: 919
LongDistancePrefix: 1
InternationalPrefix: 011
DialStringRules: etc/dialrules
ServerTracing: 0xFFF #1
SessionTracing: 0xFFF #1
NotifyCmd: bin/notify-custom
PageChop: none
Config.ttyS4:
# $Id: lucent-MT-21,v 1.4 2007/02/21 19:23:06 faxguy Exp $
#
# prototype config file for MultiTech MT5634ZBA-V.92-NAM
#
#
#
CountryCode: 1
AreaCode: 919
FAXNumber: +1.919.###.####
LongDistancePrefix: 1
InternationalPrefix: 011
DialStringRules: etc/dialrules
ServerTracing: 0xFFF
SessionTracing: 0xFFF
RecvFileMode: 0600
LogFileMode: 0600
DeviceMode: 0600
RingsBeforeAnswer: 1
SpeakerVolume: off
GettyArgs: "-h %l dx_%s"
LocalIdentifier: ECCM
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%P of %%T"
MaxRecvPages: 99
NotifyCmd: bin/notify-custom
#
#
ModemType: Class2.1
ModemRate: 57600 # for V.34 faxing
ModemNoFlowCmd: AT&K0
ModemSoftFlowCmd: AT&K4
ModemHardFlowCmd: AT&K3
ModemSetupDTRCmd: AT&D3 # hang up and reset on DTR drop
Class2APCmd: AT+FAP=1,1,1
Class2BUGCmd: AT+FBU=0 # early firmware is buggy
Class2SendRTC: yes
Class2UseHex: yes
# Some firmwares do not report copy quality correction, although it
# is present and cannot be disabled. Thus modem-based CQ must be used.
Class2CQQueryCmd: "!(00-02),(00-02)"
Class2CQCmd: AT+FCQ=1,0
# versions that respond to AT+FFC=? With non-zero data support RTFCC
# Class2RTFCC: yes
# Some firmware revisions (I.e. 1.25) report MMR support but corrupt the
data.
# Some firmware revisions (I.e. 1.25 and 1.28) report extended resolution
support but
# have trouble with 300x300 and 400x400 resolutions and corrupt DIS for inch
resolutions.
# Enabling the following lines should work around these things.
# Compare this against the modem's AT+FCC=? Response.
# Class2DCCQueryCmd: "!(03),(00-05),(00-02),(00-02),(00-01),(00-01),(00)
(00-07)"
# ModemAnswerCmd: AT+FCC=03,,,,1,,,,0;A
# ModemDialCmd: AT+FCC=03,,,,1,,,,0;DT%s
# If your modem supports ECM you may want to do something like this
# Class2Cmd: AT+FCLASS=2.1;+FRY=4
# If your line supports Caller-ID, you may want to uncomment this...
# ModemResetCmds: AT+VCID=1
# CallIDPattern: "NMBR="
# CallIDPattern: "NAME="
# Or with the MT5634ZBA-DID you'll probably need something like...
#ModemReadyCmds: AT*DS1*DD0*DF1*DN4 # enable DTMF-DID, wink-start, 4 digits
# CallIDPattern: "DTMF" # format of AT*DF1
# CallIDAnswerLength: 4 # four DTMF-DID digits then ATA
# ModemResetCmds: AT*DP1 # to reverse the polarity
ModemRingResponse: AT+FCLASS=8;H1
CallIDPattern: SHIELDED_DTMF
CallIDAnswerLength: 4
ModemAnswerCmd: <delay:100>AT+FCLASS=1;A
config.ttyS5:
# $Id: lucent-MT-21,v 1.4 2007/02/21 19:23:06 faxguy Exp $
#
# prototype config file for MultiTech MT5634ZBA-V.92-NAM
#
#
#
CountryCode: 1
AreaCode: 919
FAXNumber: +1.919.###.####
LongDistancePrefix: 1
InternationalPrefix: 011
DialStringRules: etc/dialrules
ServerTracing: 0xFFF
SessionTracing: 0xFFF
RecvFileMode: 0600
LogFileMode: 0600
DeviceMode: 0600
RingsBeforeAnswer: 1
SpeakerVolume: off
GettyArgs: "-h %l dx_%s"
LocalIdentifier: ECCM
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%P of %%T"
MaxRecvPages: 99
NotifyCmd: bin/notify-custom
#
#
ModemType: Class2.1
ModemRate: 57600 # for V.34 faxing
ModemNoFlowCmd: AT&K0
ModemSoftFlowCmd: AT&K4
ModemHardFlowCmd: AT&K3
ModemSetupDTRCmd: AT&D3 # hang up and reset on DTR drop
Class2APCmd: AT+FAP=1,1,1
Class2BUGCmd: AT+FBU=0 # early firmware is buggy
Class2SendRTC: yes
Class2UseHex: yes
# Some firmwares do not report copy quality correction, although it
# is present and cannot be disabled. Thus modem-based CQ must be used.
Class2CQQueryCmd: "!(00-02),(00-02)"
Class2CQCmd: AT+FCQ=1,0
# versions that respond to AT+FFC=? With non-zero data support RTFCC
# Class2RTFCC: yes
# Some firmware revisions (I.e. 1.25) report MMR support but corrupt the
data.
# Some firmware revisions (I.e. 1.25 and 1.28) report extended resolution
support but
# have trouble with 300x300 and 400x400 resolutions and corrupt DIS for inch
resolutions.
# Enabling the following lines should work around these things.
# Compare this against the modem's AT+FCC=? Response.
# Class2DCCQueryCmd: "!(03),(00-05),(00-02),(00-02),(00-01),(00-01),(00)
(00-07)"
# ModemAnswerCmd: AT+FCC=03,,,,1,,,,0;A
# ModemDialCmd: AT+FCC=03,,,,1,,,,0;DT%s
# If your modem supports ECM you may want to do something like this
# Class2Cmd: AT+FCLASS=2.1;+FRY=4
# If your line supports Caller-ID, you may want to uncomment this...
# ModemResetCmds: AT+VCID=1
# CallIDPattern: "NMBR="
# CallIDPattern: "NAME="
# Or with the MT5634ZBA-DID you'll probably need something like...
# ModemReadyCmds: AT*DS1*DD0*DF1*DN4 # enable DTMF-DID, wink-start, 4 digits
# CallIDPattern: "DTMF" # format of AT*DF1
# CallIDAnswerLength: 4 # four DTMF-DID digits then ATA
# ModemResetCmds: AT*DP1 # to reverse the polarity
ModemRingResponse: AT+FCLASS=8;H1
CallIDPattern: SHIELDED_DTMF
CallIDAnswerLength: 4
ModemAnswerCmd: <delay:100>AT+FCLASS=1;A
Davie Lynn
IT Administrator
East Carolina Case Management, Inc.
____________________ HylaFAX(tm) Users Mailing List _______________________
|