Digital Receptionist - IVR - could use some hints

HI everyone

I am quite new to freepbx and could use some hints/tips on how to realise a digital receptionist / IVR combination currently running on my old Asterisk machine (no Managment GUI or anything installed on that ).

Here’s the setup from my old machine.

I - incoming call to an extension XX

IncomingCall -> “welcome to company” -> “please wait while being transfered” ->(MoH while ringing) -> extension ringing

II - incoming call to an IVR related number is handled like this :

IncomingCall -> “welcome to company” -> “press 1 for y, press 2 for x, press 3 for xx” -> [user choses destination] -> “please wait while being transfered” -> (MoH while ringing) -> extension ringing

code i’m using on my old machine :

for I :



exten => _12345XX,1,Wait(1) ;
exten => _12345XX,n,Answer
exten => _12345XX,n,Wait(1)
exten => _12345XX,n,BackGround(DR/Welcome)
exten => _12345XX,n,Background(DR/PleaseWaitWhileBeingtransfered)
exten => _12345XX,n,Macro(status_isdn,${EXTEN},SIP/${EXTEN},9${EXTEN}) ;
exten => _12345XX,n,Hangup

exten => s,1,Dial(${ARG2}&SIP/${ARG3},40,mtTwW)
exten => s,2,Goto(s-${DIALSTATUS},1)
exten => s-NOANSWER,1,Voicemail(su${ARG1})
exten => s-BUSY,1,Wait(2)
exten => s-BUSY,2,Voicemail(sb${ARG1})
exten => _s-.,1,Goto(s-NOANSWER,1)
exten => a,1,VoicemailMain(${CALLERID})


for the IVR


exten => _987655,1,Goto(ivr1,s,1) ;

[ivr1] ;IVR1
exten => s,1,Background(rm/1sSilence)
exten => s,n,Answer
exten => s,n,Background(rm/1sSilence)
exten => s,n,BackGround(DR/Welcome)
exten => s,n,Background(rm/1sSilence)
exten => s,n,BackGround(DR/HowCanWeHelpYou)
exten => s,n,Background(rm/1sSilence)
exten => s,n,BackGround(DR/Products-press1)
exten => s,n,BackGround(DR/TechnicalIssues-press2)
exten => s,n,BackGround(DR/Other-press3)
exten => s,n,BackGround(rm/Tohavethemenuagain-press9)
exten => s,n,BackGround(rm/5sSilence)
exten => s,n,BackGround(rm/presssomething)
exten => s,n,Goto(ivr1,s,11)
exten => 1,1,Background(rm/1sSilence)
exten => 1,2,Background(DR/PleaseWaitWhileBeingtransfered)
exten => 1,3,Goto(callgroup1,s,1)
exten => 2,1,Background(ansagen/1sSilence)
exten => 2,2,Background(DR/PleaseWaitWhileBeingtransfereda)
exten => 2,3,Goto(callgroup2,s,1)
exten => 3,1,Background(rm/1sSilence)
exten => 3,2,Background(PleaseWaitWhileBeingtransfered)
exten => 3,3,Goto(support,s,1)
exten => 9,1,Background(ansagen/1sSilence)
exten => 9,2,Goto(ivr1,s,5)
exten => i,1,Background(rm/wronginput)
exten => i,2,Background(rm/1sSilence)
exten => i,3,Goto(ivr1,s,4)


Now with the digital receptionists / recording studio within freepbx i somehow can’t realise it the way i want … any hints on how i can get this configuration running on my new trixbox w/ freepbx ?
with extension-custom.conf ?

any help appreciated


Never Mind… just noticed that 2.2 will allow for concatenating msg files. I think the mod could have had some far reaching benefits from the standpoint of organization of messages (I also want to have the option of linking messages to a menu), but for now, I think I’ll wait and see what 2.2 looks like.


I too am new to TrixBox and FreePBX. I just logged in to seek help on a similar problem to yours. There may be more to your interest than what I will discuss in this msg, if so, then please feel free to clarify.

A consultant that I am working with started setting up my IVR just like yours with a message for each menu item. I had been used to the way that FreePBX works with only one message per menu. Because we are designing a very complex IVR, it became obvious that the message per menu item approach would yield incredible economies while recording. Here’s my plan.

I probably code in everything else under the sun but php. But I have a php coder on staff. Since most of what I see in FreePBX is php, I will attempt the following mod. Please follow along and let me know whether this fits your need.

A msg_name field needs to be added to the IVR destinations table in the FreePBX MySQL DB and on the Digital Receptionist entry form. The field should be a drop down box that works identically to the Announcement file name field on the same form.

Once the msg filename data is stored, it should be trivial (Famous last words) to then have the update routine write the play or background code to the conf file.

Please comment on this as I think it’s the only way to get what you and I both want. The pain that this would save would be incalculable. BTW, the recording tool would also best be modified to allow tieing a message to a menu. That way, selecting a msg file when you have hundreds of messages would be less painful.

If we are successful at making the changes, you would be more than welcome to them. If this is something the community would embrace, then I will have to learn more about how to make the mod available to all.

btw, I am working with ver 2.1.1. I would upgrade before making any changes.

I’ll be looking at the second part of your extension entry.