Hi, I have an asterisk-14.7.5 installation on fedora27 that I inherited from many years ago. I’m somewhat familiar with the configuration, but need help to configure it so it doesn’t drop to voicemail by default.
The problem is that we receive dozens of fax calls per day that just keep going through the voice prompts then leave a 2m voicemail. I think I’d like to have the system just loop once through the menu, allowing a real caller to make a selection, but then eventually hangup for those who don’t choose an option.
Below is my relevant extensions.conf settings.
[mainmenu-day]
exten => _1NXXNXXXXXX,1,Answer
exten => _1NXXNXXXXXX,2,Ringing
exten => _1NXXNXXXXXX,3,Wait(1) ; ring before IVR starts
exten => _1NXXNXXXXXX,4,Set(TIMEOUT(digit)=2)
exten => _1NXXNXXXXXX,5,Background(local-mainmenu-day)
exten => _1NXXNXXXXXX,n,WaitExten(4) ; Wait for an extension to be dialed.
exten => _1NXXNXXXXXX,6,Set(CALLERID(all)=0 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => _1NXXNXXXXXX,9,Hangup
Is there something I need to insert before the Hangup line at the end to have it loop once?
What do other people do to solve this fax problem? They’re also calling on our 800 numbers, so it costs us money.
I thought it might be helpful to have a whole copy of our extensions.conf. Please find it below.
[general]
static = yes
writeprotect = no
[globals]
VOICEPULSE_TRUNK01 = voicepulse-primary
VOICEPULSE_TRUNK02 = voicepulse-secondary
[macro-stdexten]
exten => s,1,Dial(${ARG1},20,tr)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(${ARG2}@local,u) ; No answer.
exten => s-NOANSWER,2,Hangup
exten => s-BUSY,1,Voicemail(${ARG2}@local,b) ; Phone busy.
exten => s-BUSY,2,Hangup
exten => _s-.,1,Playback(invalid) ; Channel unavailable.
exten => _s-.,2,Goto(incoming,_1NXXNXXXXXX,4)
[macro-shitlist]
exten => s,1,Answer
exten => s,2,Congestion
exten => s,3,Hangup
[local]
exten => 7000,1,Macro(stdexten,SIP/7003,7003)
exten => 7003,1,Macro(stdexten,SIP/7003,7003)
exten => 7004,1,Macro(stdexten,SIP/7004,7004)
exten => 8000,1,Goto(incoming,s,1)
exten => _8XXX,1,Playback(invalid)
exten => _8XXX,2,Goto(incoming,s,1)
exten => _9XXX,1,Playback(invalid)
exten => _9XXX,2,Goto(incoming,s,1)
exten => *86,1,Answer
exten => *86,2,Wait(.5)
exten => *86,3,VoicemailMain(@local)
exten => *86,4,Hangup
exten => *87,1,Answer
exten => *87,2,Wait(.5)
exten => *87,3,VoicemailMain(${CALLERID(num)}@local)
exten => *87,4,Hangup
exten => 9,1,Set(CALLERID(all)=9 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => 9,2,Directory(local)
exten => 9,3,Hangup
exten => h,1,Hangup
exten => i,1,Hangup
exten => t,1,Hangup
[macro-intercom]
exten => s,1,ChanIsAvail(${ARG1},js)
exten => s,2,SIPAddHeader(Alert-Info: Ring Answer)
exten => s,3,Dial(${ARG1},,)
exten => s,4,Hangup
exten => t,1,Hangup
exten => T,1,Hangup
[intercom]
exten => _X.,1,Macro(intercom,SIP/${EXTEN})
[testing]
exten => 200,1,Goto(mainmenu-day,_1NXXNXXXXXX,1)
exten => 201,1,Goto(mainmenu-night,_1NXXNXXXXXX,1)
exten => 202,1,Goto(incoming,_1NXXNXXXXXX,1)
exten => 203,1,MusicOnHold()
exten => 300,1,Answer
exten => 300,2,Ringing
exten => 300,3,Wait(1)
exten => 300,4,Echo
exten => 300,5,Hangup
exten => 1102,1,Answer
exten => 1102,2,Ringing
exten => 1102,3,Wait(3)
exten => 1102,4,Milliwatt()
exten => 1102,5,Hangup
exten => 31337,1,ChanSpy(SIP,q)
exten => 31337,2,Hangup
[mainmenu-day]
exten => _1NXXNXXXXXX,1,Answer
exten => _1NXXNXXXXXX,2,Ringing
exten => _1NXXNXXXXXX,3,Wait(1) ; ring before IVR starts
exten => _1NXXNXXXXXX,4,Set(TIMEOUT(digit)=2)
exten => _1NXXNXXXXXX,5,Background(local-mainmenu-day)
exten => _1NXXNXXXXXX,n,WaitExten(4) ; (3) ; Wait for an extension to be dialed.
exten => _1NXXNXXXXXX,6,Set(CALLERID(all)=0 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => _1NXXNXXXXXX,9,Hangup
exten => 2,1,Set(CALLERID(all)=2 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => 2,2,Queue(sales,t,,,20)
exten => 2,3,Voicemail(7000@local,b)
exten => 2,4,Hangup
exten => 2,104,Hangup
exten => 3,1,Set(CALLERID(all)=3 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => 3,2,Queue(custservice,t,,,20)
exten => 3,3,Voicemail(7003@local,b)
exten => 3,4,Hangup
exten => 3,104,Hangup
exten => 4,1,Set(CALLERID(all)=4 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => 4,2,Queue(support,t,,,20)
exten => 4,3,Voicemail(7003@local,b)
exten => 4,4,Hangup
exten => 4,104,Hangup
exten => 5,1,Set(CALLERID(all)=5 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => 5,2,Queue(noc,t,,,20)
exten => 5,3,Voicemail(7003@local,b)
exten => 5,4,Hangup
exten => 5,104,Hangup
exten => 6,1,Goto(incoming,s,1)
exten => 9,1,Set(CALLERID(all)=9 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => 9,2,Directory(local)
exten => 9,3,Hangup
exten => *86,1,Goto(local,*86,1)
exten => _X,1,Playback(invalid)
exten => _X,2,Goto(incoming,s,1)
exten => h,1,Hangup
exten => i,1,Hangup
exten => t,1,Hangup
[mainmenu-night]
exten => _1NXXNXXXXXX,1,Answer
exten => _1NXXNXXXXXX,2,Ringing
exten => _1NXXNXXXXXX,3,Wait(3)
exten => _1NXXNXXXXXX,4,Set(TIMEOUT(digit)=2)
exten => _1NXXNXXXXXX,5,Background(local-mainmenu-night)
exten => _1NXXNXXXXXX,n,WaitExten(5) ; (3) ; Wait for an extension to be dialed.
exten => _1NXXNXXXXXX,6,Wait(1)
exten => _1NXXNXXXXXX,7,Ringing
exten => _1NXXNXXXXXX,8,Wait(2)
exten => _1NXXNXXXXXX,9,Voicemail(7000@local,u)
exten => _1NXXNXXXXXX,10,Hangup
exten => 1,1,Goto(enterprise-support-auth,s,1)
exten => 9,1,Set(CALLERID(all)=9 - ${CALLERID(name)} <${CALLERID(num)}>)
exten => 9,2,Directory(local)
exten => 9,3,Hangup
exten => *86,1,Goto(local,*86,1)
exten => _X,1,Playback(invalid)
exten => _X,1,Goto(incoming,s,1)
exten => _X,2,Goto(incoming,s,1)
exten => h,1,Hangup
exten => i,1,Hangup
exten => t,1,Hangup
[incoming]
include => local
include => mainmenu-night,00:00-23:59,thu,01,jan ; New Years Day 2009
include => mainmenu-night,00:00-23:59,mon,25,may ; Memorial Day
include => mainmenu-night,00:00-23:59,fri,03,jul ; Independence Day
include => mainmenu-night,00:00-23:59,mon,07,sep ; Labor Day
include => mainmenu-night,00:00-23:59,thu,26,nov ; Thanksgiving Day
include => mainmenu-night,00:00-23:59,fri,25,dec ; Christmas Day 2009
include => mainmenu-night,00:00-23:59,fri,01,jan ; New Years Day 2010
include => mainmenu-day,09:00-20:00,mon-fri
include => mainmenu-night
exten => s,1,NoOp(CALLERID = ${CALLERID(name)} - ${CALLERID(num)})
exten => s,2,Goto(incoming,_1NXXNXXXXXX,1)
exten => h,1,Hangup
exten => i,1,Hangup
exten => t,1,Hangup
[incoming-sales]
exten => s,1,NoOp(CALLERID = ${CALLERID(name)} - ${CALLERID(num)})
exten => s,2,Macro(stdexten,SIP/7004,7004)
exten => s,2,Goto(incoming,_1NXXNXXXXXX,1)
exten => s,3,Goto(incoming,_1NXXNXXXXXX,1)
exten => s,4,Hangup
[outgoing]
exten => h,1,Hangup
exten => i,1,Hangup
exten => t,1,Hangup
exten => _81NXXNXXXXXX,1,Set(CALLFILENAME=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${EXTEN}-${CALLERIDNUM}-${EXTEN:1})
exten => _81NXXNXXXXXX,2,Monitor(wav,${CALLFILENAME},m)
exten => _81NXXNXXXXXX,3,Goto(outgoing,${EXTEN:1},1);
exten => _91NXXNXXXXXX,1,AGI(make-outgoing.agi,${CALLERID(num)},${EXTEN})
exten => _91NXXNXXXXXX,2,Set(CALLERID(all)=)
exten => _91NXXNXXXXXX,3,Goto(outgoing,_1NXXNXXXXXX,3);
exten => _1NXXNXXXXXX,1,AGI(make-outgoing.agi,${CALLERID(num)},${EXTEN})
exten => _1NXXNXXXXXX,2,Set(CALLERID(all)=12119627300)
exten => _1NXXNXXXXXX,3,NoOp([outgoing] STARTING -- ${STRFTIME(${EPOCH},,%m/%d/%Y - %H:%M:%S)})
exten => _1NXXNXXXXXX,4,Dial(DAHDI/${CHANNEL_OV}/${DIAL_OV})
exten => _1NXXNXXXXXX,7,Congestion
exten => _011.,1,Set(CALLERID(all)=12119627300)
exten => _011.,4,Congestion
[enterprise-support-auth]
exten => s,1,Authenticate(/etc/asterisk/enterprise-customers.txt,a)
exten => s,2,Goto(enterprise-support,s,1)
exten => s,3,Hangup
exten => i,1,Hangup
exten => h,1,Hangup
exten => t,1,Hangup
[enterprise-support]
exten => s,1,Voicemail(7999@local,)
exten => s,2,Hangup
exten => i,1,Hangup
exten => h,1,AGI(enterprise-support.agi,1)
exten => t,1,Hangup
[enterprise-support-callback]
exten => s,1,Background(local-enterprise-support-callback-dial-7999)
exten => s,2,Wait(1)
exten => s,3,Goto(enterprise-support-callback,s,1)
exten => s,4,Hangup
exten => i,1,Goto(enterprise-support-callback,s,1)
exten => *,1,Goto(local,*86,1)
[trusted]
include => local
include => outgoing
include => parkedcalls
include => testing
exten => _*7XXX,1,Answer
exten => _*7XXX,2,Ringing
exten => _*7XXX,3,Wait(30)
exten => _*7XXX,4,Voicemail(${EXTEN:1}@local,u)
exten => _*7XXX,5,Hangup
exten => 8000,1,Set(TIMEOUT(absolute)=21)
exten => 8000,2,AGI(intercom.agi,${CALLERID(num)})
exten => 8000,3,Page(${CANDIDATES})
exten => h,1,NoOp([trusted] CALL ENDING -- ${STRFTIME(${EPOCH},,%m/%d/%Y - %H:%M:%S)})
[invalid]
exten => s,1,Hangup
exten => h,1,Hangup
exten => i,1,Hangup
exten => t,1,Hangup
[network-outage]
exten => s,1,AGI(network-outage.agi,1)
exten => s,2,Answer
exten => s,3,Hangup
exten => i,1,Hangup
exten => h,1,Hangup
exten => t,1,Hangup
[network-outage-callback]
exten => s,1,Background(local-network-outage);
exten => s,2,Wait(1)
exten => s,3,Goto(network-outage-callback,s,1)
exten => s,4,Hangup
[default]
exten => s,1,Goto(incoming,_1NXXNXXXXXX,1)
exten => h,1,Hangup
exten => i,1,Hangup
exten => t,1,Hangup