[asterisk-users] DialPlan help with Analog Fax Machine
Jim Duda
jim at duda.tzo.com
Thu Feb 14 19:04:00 CST 2008
I'm struggling to get my dialplan to work with a simple analog fax
machine.
I have TDM400B zaptel card with an FXO and FXS port. I have the FXO
port connected to the POTS machine and the FAX machine connected to the
FXS port.
The FAX machine itself works fine, I can FAX outgoing messages fine. I
can also dial the FAX extension from the internal context, the FAX
machine answers and I hear the FAX tones.
I'm struggling to get the fax detection to work, causing a transfer to
the FAX machine. I think the fax transfer starts, but for some reason
the dialplan "falls through" and the connection is dropped immediately.
This should be so simple ...
version:
asterisk*CLI> core show version
Asterisk 1.6.0-beta2 built by jduda @ asterisk on a i686 running Linux
on 2008-02-03 03:23:54 UTC
zapata.conf has:
; FAX machine connected here
;immediate=no
;busydetect=yes
;busycount=8
;musiconhold=default
faxdetect=no
signalling=fxo_ks
context=internal
channel => 1
; PSTN connected here
;immediate=no
;busydetect=yes
;busycount=8
;musiconhold=default
mwimonitor=yes
;mwilevel=512
mwimonitornotify=/usr/local/sbin/zapnotify.sh
faxdetect=incoming
signalling=fxs_ks
context=incoming
channel => 4
extensions.conf has:
[fax-hardware]
exten => s,1,StopPlaytones
exten => s,2,Dial(ZAP/1,40,tr)
exten => s,3,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Hangup
exten => _s-.,1,Goto(s-NOANSWER,1)
[incoming]
exten => fax,1,Goto(fax-hardware,s,1)
exten => s,1,Goto(incoming-dial,s,1)
exten => <my phone number>,1,Goto(incoming-dial,s,1)
[incoming-dial]
exten => s,1,Zapateller(nocallerid)
exten => s,2,SetMusicOnHold(icecast)
exten =>
s,3,GotoIf(${DB_EXISTS(blacklist/${CALLERID(number)})}?custom-blacklisted,s,1)
exten => s,4,Set(DB(CALLTRACE/lastcaller)=${CALLERID(number)})
exten => s,5,AGI(MisterHouse.agi,"CallerID")
exten => s,6,Answer
exten => s,7,Playtones(ring)
exten =>
s,8,Dial(${PHONES0}&${PHONES1}&${PHONES2}&${PHONES7}&${PHONES11},20,tr)
exten => s,9,Goto(s-${DIALSTATUS},1) ; if no fax, branch on dialstatus
exten => s-NOANSWER,1,Macro(voicemail,${PHONES0VM})
exten => s-NOANSWER,2,Hangup()
exten => s-BUSY,1,Macro(voicemail,${PHONES0VM})
exten => s-BUSY,2,Hangup()
exten => _s-.,1,Goto(s-NOANSWER,1) ; everything else is treated as no
answer
exten => s,105,Goto(5)
exten => fax,1,Goto(fax-hardware,s,1)
When the FAX call comes in, I get this:
[Feb 14 20:01:03] NOTICE[1826]: chan_zap.c:7306 mwi_thread: Got event 18
(Ring Begin)... Passing along to ss_thread
-- Starting simple switch on 'Zap/4-1'
[Feb 14 20:01:04] NOTICE[1826]: chan_zap.c:7066 ss_thread: Got event 2
(Ring/Answered)...
-- Executing [s at incoming:1] Goto("Zap/4-1", "incoming-dial,s,1") in
new stack
-- Goto (incoming-dial,s,1)
-- Executing [s at incoming-dial:1] Zapateller("Zap/4-1",
"nocallerid") in new stack
-- Executing [s at incoming-dial:2] SetMusicOnHold("Zap/4-1",
"icecast") in new stack
-- Executing [s at incoming-dial:3] GotoIf("Zap/4-1",
"0?custom-blacklisted,s,1") in new stack
-- Executing [s at incoming-dial:4] Set("Zap/4-1",
"DB(CALLTRACE/lastcaller)=8884732963") in new stack
-- Executing [s at incoming-dial:5] AGI("Zap/4-1",
"MisterHouse.agi,"CallerID"") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/MisterHouse.agi
MisterHouse.agi,"CallerID": AGI Environment Dump:
MisterHouse.agi,"CallerID": -- accountcode =
MisterHouse.agi,"CallerID": -- arg_1 = CallerID
MisterHouse.agi,"CallerID": -- callerid = 8884732963
MisterHouse.agi,"CallerID": -- calleridname = UNAVAILABLE
MisterHouse.agi,"CallerID": -- callingani2 = 0
MisterHouse.agi,"CallerID": -- callingpres = 0
MisterHouse.agi,"CallerID": -- callingtns = 0
MisterHouse.agi,"CallerID": -- callington = 0
MisterHouse.agi,"CallerID": -- channel = Zap/4-1
MisterHouse.agi,"CallerID": -- context = incoming-dial
MisterHouse.agi,"CallerID": -- dnid = unknown
MisterHouse.agi,"CallerID": -- enhanced = 0.0
MisterHouse.agi,"CallerID": -- extension = s
MisterHouse.agi,"CallerID": -- language = en
MisterHouse.agi,"CallerID": -- priority = 5
MisterHouse.agi,"CallerID": -- rdnis = unknown
MisterHouse.agi,"CallerID": -- request = MisterHouse.agi
MisterHouse.agi,"CallerID": -- threadid = -1232077936
MisterHouse.agi,"CallerID": -- type = Zap
MisterHouse.agi,"CallerID": -- uniqueid = 1203037263.20
MisterHouse.agi,"CallerID": -- version = 1.6.0-beta2
MisterHouse.agi,"CallerID": here CallerID
MisterHouse.agi,"CallerID": CallerID: 8884732963 Line: Zap/4-1
-- <Zap/4-1>AGI Script MisterHouse.agi completed, returning 0
-- Executing [s at incoming-dial:6] Answer("Zap/4-1", "") in new stack
-- Executing [s at incoming-dial:7] PlayTones("Zap/4-1", "ring") in
new stack
-- Executing [s at incoming-dial:8] Dial("Zap/4-1",
"SIP/100&SIP/101&SIP/102&SIP/107&SIP/111,20,tr") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Called 100
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Called 101
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Called 102
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Called 107
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using UDPTL TOS bits 184
== Using UDPTL CoS mark 5
-- Called 111
-- SIP/100-0827d8d0 is ringing
-- SIP/101-0828f808 is ringing
-- SIP/102-082a1ba0 is ringing
-- SIP/107-082b3f50 is ringing
-- SIP/111-082c6698 is ringing
-- Redirecting Zap/4-1 to fax extension
== Spawn extension (incoming-dial, fax, 0) exited non-zero on 'Zap/4-1'
-- Auto fallthrough, channel 'Zap/4-1' status is 'CANCEL'
-- Hungup 'Zap/4-1'
asterisk*CLI>
I cannot figure out why I'm getting Auto fallthrough here.
Is (incoming-dial, fax, 0) expected? Why not , 1 ?
Thanks for any help.
Jim
More information about the asterisk-users
mailing list