Jean-Yves Avenard
2005-May-24 09:54 UTC
[Asterisk-Users] Fax detection: Problem with extension number
Hello I've been having the following problem today : I have a quite simple dialplan made to receive a fax: [answer-extension] exten => 1,1,Answer exten => 1,2,Macro(setcallerid) exten => 1,3,Ringing exten => 1,4,Wait(3) exten => 1,5,Macro(stdfwd3iax-notransfer,${EXTENSION},${EXTENSION},$ {EXTENSION}) exten => fax,1,Goto(faxreceive,1,1) The Wait(3) is there simply to let the system a bit of time to detect if it's a fax calling, this has worked so far in all cases except today. I received a fax from overseas and it seems that Asterisk has been unable to detect that it was a fax in the 3 seconds wait. Changing to 5s was sufficient to receive the fax. But obviously this is not a solution I want to adopt all the time as 1-it's a tool long wait, 2- what happens if 5s is still not enough another time. So Asterisk recognized that a fax was being received while executing the macro stdfwd3iax-notransfer (this extension simply check And I saw the following message in the console: -- Executing VoiceMail("Zap/10-1", "u200") in new stack -- Playing '/data/asterisk/var/spool/asterisk/voicemail/default/ 200/unavail' (language 'en') -- Redirecting Zap/10-1 to fax extension May 25 01:19:34 WARNING[17629]: pbx.c:2412 ast_pbx_run: Timeout, but no rule 't' in context 'answer-extension' -- Hungup 'Zap/10-1' It seems that Asterisk once entered in a Macro is unable to jump to the fax extension and gave me a timeout (which I do not handle in my dialplan). If I change the Wait(3) into Wait(0) the problem can be easily reproduced at all times. I then added a fax extension in the Macro just in case, but it made no difference whatsoever. Any ideas on what I'm doing wrong or is this a problem with Asterisk? The fully log is below. Thank you in advance Jean-Yves When I looked in the console on what what happening I say this: -- Accepting call from '' to '85735200' on channel 0/10, span 1 -- Executing AGI("Zap/10-1", "getnumber.agi|200") in new stack -- Launched AGI Script /data/asterisk/var/lib/asterisk/agi-bin/ getnumber.agi -- AGI Script getnumber.agi completed, returning 0 -- Executing Set("Zap/10-1", "EXTENSION=00") in new stack -- Executing Goto("Zap/10-1", "answer-extension|1|1") in new stack -- Goto (answer-extension,1,1) -- Executing Answer("Zap/10-1", "") in new stack -- Executing Macro("Zap/10-1", "setcallerid") in new stack -- Executing GotoIf("Zap/10-1", "11?10:11") in new stack -- Goto (macro-setcallerid,s,10) -- Executing Set("Zap/10-1", "CALLERID(number)=''") in new stack -- Executing GotoIf("Zap/10-1", "0?20") in new stack -- Executing Ringing("Zap/10-1", "") in new stack -- Executing Wait("Zap/10-1", "0") in new stack -- Executing Macro("Zap/10-1", "stdfwd3iax-notransfer|200|200| 100") in new stack -- Executing DBget("Zap/10-1", "temp=CFIM/200") in new stack -- DBget: varname=temp, family=CFIM, key=200 -- DBget: Value not found in database. -- Executing Goto("Zap/10-1", "3") in new stack -- Goto (macro-stdfwd3iax-notransfer,s,3) -- Executing Dial("Zap/10-1", "IAX2/iax100|20|tr") in new stack May 25 01:19:21 NOTICE[17629]: app_dial.c:972 dial_exec_full: Unable to create channel of type 'IAX2' (cause 3) == Everyone is busy/congested at this time (1:0/0/1) -- Executing NoOp("Zap/10-1", "CHANUNAVAIL") in new stack -- Executing Goto("Zap/10-1", "s-CHANUNAVAIL|1") in new stack -- Goto (macro-stdfwd3iax-notransfer,s-CHANUNAVAIL,1) -- Executing Goto("Zap/10-1", "s|400") in new stack -- Goto (macro-stdfwd3iax-notransfer,s,400) -- Executing Dial("Zap/10-1", "SIP/ipp100|20|tr") in new stack May 25 01:19:21 NOTICE[17629]: app_dial.c:972 dial_exec_full: Unable to create channel of type 'SIP' (cause 3) == Everyone is busy/congested at this time (1:0/0/1) -- Executing Goto("Zap/10-1", "s2-CHANUNAVAIL|1") in new stack -- Goto (macro-stdfwd3iax-notransfer,s2-CHANUNAVAIL,1) -- Executing Goto("Zap/10-1", "s|200") in new stack -- Goto (macro-stdfwd3iax-notransfer,s,200) -- Executing DBget("Zap/10-1", "temp=CFBS/200") in new stack -- DBget: varname=temp, family=CFBS, key=200 -- DBget: Value not found in database. -- Executing Goto("Zap/10-1", "202") in new stack -- Goto (macro-stdfwd3iax-notransfer,s,202) -- Executing VoiceMail("Zap/10-1", "u200") in new stack -- Playing '/data/asterisk/var/spool/asterisk/voicemail/default/ 200/unavail' (language 'en') -- Redirecting Zap/10-1 to fax extension May 25 01:19:34 WARNING[17629]: pbx.c:2412 ast_pbx_run: Timeout, but no rule 't' in context 'answer-extension' -- Hungup 'Zap/10-1' --- Jean-Yves Avenard Hydrix Pty Ltd - Embedding the net www.hydrix.com | fax +61 3 8573 5200 | office +61 3 8573 5299 | direct +61 3 8573 5200 --- Jean-Yves Avenard Hydrix Pty Ltd - Embedding the net www.hydrix.com | fax +61 3 8573 5200 | office +61 3 8573 5299 | direct +61 3 8573 5200 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20050524/28c09d90/attachment.htm
Jean-Christophe Heger
2005-May-25 23:31 UTC
[Asterisk-Users] Fax detection: Problem with extension number
For what I'm seeing in your log, the fax is detected, but you're missing the fax extension. Here is how it works on my asterisk: zapata.conf: faxdetect = incoming extensions.conf: [pstn-in] exten => 1234567,1,Goto(fax,s,1) ; This is a dedicated fax number exten => fax,1,Goto(fax,s,1) ; For Zaptel fax detection (must be answer first to be detected) [fax] exten => s,1,ZapEC(off) exten => s,2,Wait(2) exten => s,3,RxFAX(/var/lib/asterisk/fax/${UNIQUEID}.tif) exten => s,4,Hangup exten => fax,1,ZapEC(off) exten => fax,2,RxFAX(/var/lib/asterisk/fax/${UNIQUEID}.tif) exten => fax,3,Hangup exten => h,1,System(/usr/bin/fax2pdf /var/lib/asterisk/fax/${UNIQUEID}.tif /var/lib/asterisk/fax/${UNIQUEID}.pdf) I'm not really sure what exten number to use in fax context, but it works. Jean-Christophe Jean-Yves Avenard a ?crit :> > > Hello > > I've been having the following problem today : > I have a quite simple dialplan made to receive a fax: > > [answer-extension] > exten => 1,1,Answer > exten => 1,2,Macro(setcallerid) > exten => 1,3,Ringing > exten => 1,4,Wait(3) > exten => > 1,5,Macro(stdfwd3iax-notransfer,${EXTENSION},${EXTENSION},${EXTENSION}) > > exten => fax,1,Goto(faxreceive,1,1) > > The Wait(3) is there simply to let the system a bit of time to detect > if it's a fax calling, this has worked so far in all cases except today. > I received a fax from overseas and it seems that Asterisk has been > unable to detect that it was a fax in the 3 seconds wait. Changing to > 5s was sufficient to receive the fax. But obviously this is not a > solution I want to adopt all the time as 1-it's a tool long wait, > 2-what happens if 5s is still not enough another time. > > So Asterisk recognized that a fax was being received while executing > the macro stdfwd3iax-notransfer (this extension simply check > > And I saw the following message in the console: > -- Executing VoiceMail("Zap/10-1", "u200") in new stack > -- Playing > '/data/asterisk/var/spool/asterisk/voicemail/default/200/unavail' > (language 'en') > -- Redirecting Zap/10-1 to fax extension > May 25 01:19:34 WARNING[17629]: pbx.c:2412 ast_pbx_run: Timeout, but > no rule 't' in context 'answer-extension' > -- Hungup 'Zap/10-1' > > It seems that Asterisk once entered in a Macro is unable to jump to > the fax extension and gave me a timeout (which I do not handle in my > dialplan). If I change the Wait(3) into Wait(0) the problem can be > easily reproduced at all times. > > I then added a fax extension in the Macro just in case, but it made no > difference whatsoever. > > Any ideas on what I'm doing wrong or is this a problem with Asterisk? > > The fully log is below. > Thank you in advance > Jean-Yves > > When I looked in the console on what what happening I say this: > -- Accepting call from '' to '85735200' on channel 0/10, span 1 > -- Executing AGI("Zap/10-1", "getnumber.agi|200") in new stack > -- Launched AGI Script > /data/asterisk/var/lib/asterisk/agi-bin/getnumber.agi > -- AGI Script getnumber.agi completed, returning 0 > -- Executing Set("Zap/10-1", "EXTENSION=00") in new stack > -- Executing Goto("Zap/10-1", "answer-extension|1|1") in new stack > -- Goto (answer-extension,1,1) > -- Executing Answer("Zap/10-1", "") in new stack > -- Executing Macro("Zap/10-1", "setcallerid") in new stack > -- Executing GotoIf("Zap/10-1", "11?10:11") in new stack > -- Goto (macro-setcallerid,s,10) > -- Executing Set("Zap/10-1", "CALLERID(number)=''") in new stack > -- Executing GotoIf("Zap/10-1", "0?20") in new stack > -- Executing Ringing("Zap/10-1", "") in new stack > -- Executing Wait("Zap/10-1", "0") in new stack > -- Executing Macro("Zap/10-1", > "stdfwd3iax-notransfer|200|200|100") in new stack > -- Executing DBget("Zap/10-1", "temp=CFIM/200") in new stack > -- DBget: varname=temp, family=CFIM, key=200 > -- DBget: Value not found in database. > -- Executing Goto("Zap/10-1", "3") in new stack > -- Goto (macro-stdfwd3iax-notransfer,s,3) > -- Executing Dial("Zap/10-1", "IAX2/iax100|20|tr") in new stack > May 25 01:19:21 NOTICE[17629]: app_dial.c:972 dial_exec_full: Unable > to create channel of type 'IAX2' (cause 3) > == Everyone is busy/congested at this time (1:0/0/1) > -- Executing NoOp("Zap/10-1", "CHANUNAVAIL") in new stack > -- Executing Goto("Zap/10-1", "s-CHANUNAVAIL|1") in new stack > -- Goto (macro-stdfwd3iax-notransfer,s-CHANUNAVAIL,1) > -- Executing Goto("Zap/10-1", "s|400") in new stack > -- Goto (macro-stdfwd3iax-notransfer,s,400) > -- Executing Dial("Zap/10-1", "SIP/ipp100|20|tr") in new stack > May 25 01:19:21 NOTICE[17629]: app_dial.c:972 dial_exec_full: Unable > to create channel of type 'SIP' (cause 3) > == Everyone is busy/congested at this time (1:0/0/1) > -- Executing Goto("Zap/10-1", "s2-CHANUNAVAIL|1") in new stack > -- Goto (macro-stdfwd3iax-notransfer,s2-CHANUNAVAIL,1) > -- Executing Goto("Zap/10-1", "s|200") in new stack > -- Goto (macro-stdfwd3iax-notransfer,s,200) > -- Executing DBget("Zap/10-1", "temp=CFBS/200") in new stack > -- DBget: varname=temp, family=CFBS, key=200 > -- DBget: Value not found in database. > -- Executing Goto("Zap/10-1", "202") in new stack > -- Goto (macro-stdfwd3iax-notransfer,s,202) > -- Executing VoiceMail("Zap/10-1", "u200") in new stack > -- Playing > '/data/asterisk/var/spool/asterisk/voicemail/default/200/unavail' > (language 'en') > -- Redirecting Zap/10-1 to fax extension > May 25 01:19:34 WARNING[17629]: pbx.c:2412 ast_pbx_run: Timeout, but > no rule 't' in context 'answer-extension' > -- Hungup 'Zap/10-1' > > --- > Jean-Yves Avenard > Hydrix Pty Ltd - Embedding the net > www.hydrix.com | fax +61 3 8573 5200 | office +61 3 8573 5299 | direct > +61 3 8573 5200 > > > --- > > Jean-Yves Avenard > > Hydrix Pty Ltd - Embedding the net > > www.hydrix.com | fax +61 3 8573 5200 | office +61 3 8573 5299 | direct > +61 3 8573 5200 > > >------------------------------------------------------------------------ > >_______________________________________________ >Asterisk-Users mailing list >Asterisk-Users@lists.digium.com >http://lists.digium.com/mailman/listinfo/asterisk-users >To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >