TUTORIAL Gotcha-Free PBX: Voice Menu Setup

Joined
Jul 3, 2014
Messages
66
Reaction score
21
Location
Ann Arbor, Michigan
Hi Fellas,

I got my IVR and voice menus setup and learned a couple of things that I wanted to share with the community. This tutorial assumes you will be creating your own audio files.
  1. First, to make the audio files, download "Audacity." Its free and open source software ("FOSS") that runs on Windows, OSX and Linux.
  2. Next, get a good microphone. A USB microphone will simplify things, such as the "Blue Microphones Snowball iCE Condenser Microphone." Most integrated microphones are mediocre. If you're gonna save money, don't cheap out on your microphone.
  3. Open Audacity, and go into Preference > Quality and set the “Default Sample Size” to 8000 and “Default Sample Format” to 32 bit. Go ahead and record your tracks (in Mono) and do any cleanup/trimming necessary. Then you need to get the file out; go to File > Export. Use “Other uncompressed files” > Options, set “Headers” to WAV and Encoding to “U-law”. Finally, Make sure to rename the file extension from .wav to .ulaw. (https://snowulf.com/2012/02/21/recording-high-quality-voice-prompts-for-asterisk/)
  4. Once you have your audio files, upload to your PBX server. Use WinSCP (if running Windows) and connect to your PBX box. You will see that the default directory for the voice menu files is the following: /var/lib/asterisk/sounds/custom/
    Upload your files there (Ignore the Incredible PBX web upload, as it does not work).
  5. Next, make note of the default IVRs, as they will make a good model for you to base your own IVR on. Here is the default greeting IVR (as defined under the "Advanced Edit" Option box:
    Code:
    [voicemenu-custom-1]
    include=default
    exten=s,1,NoOp(Greeting)
    exten=s,2,Answer()
    exten=s,3,Background(custom/nv-GenericWelcome)
    exten=s,4,Ringing()
    exten=s,5,WaitExten(5)
    exten=s,6,Goto(ringroups-custom-1,s,1)
    exten=fax,1,Goto(ext-fax,in_fax,1)
  6. Following that guide, you can create several simple IVRs, such as your primary one ("Welcome to So-and-So"). For each sub item (ex: "Press 1 for sales"), you can create another IVR with each new recorded prompt which links through the "Allow KeyPress Events" option. So, your main menu is one IVR, and each sub menu will be another IVR, with options.
  7. To link the audio files you have created and uploaded, you will usually click "Add new Step: ---> Background" and then type "custom/YourFileName" WITHOUT THE EXTENSION. Click "Add new Step" to save.
  8. After you think you have a good setup, try your IVR by calling it directly from one of your connected SIP phones (ex: the default is 7000, but yours will start with 7002.) Play around by calling it and making sure your audio sounds good (not too loud or soft). Go through each of the menus to make sure they work.
  9. After you are sure you have a good setup, go to the "Incoming Calling Rules" of your IncrediblePBX webpage. Then, look under your "Trunks." The last entry of each trunk you will see "Goto VoiceMenu ..." Click the "Edit" box (note that you will have to scroll to the top of the page to see it). Then, under the dropbox for destination, select your new IVR Voicemenu (ex: 7002). Save, apply and restart your asterisk.
This method works for me. My only issue seems to be when Asterisk gets confused over the DTMF input (when the user pushes a button to select a menu). On a bad cellular connection, Asterisk will spit out some error message and it screws up my IVR. Not sure how to fix that but to hang up and try again.
 
  • Like
Reactions: wardmundy
Joined
Jul 3, 2014
Messages
66
Reaction score
21
Location
Ann Arbor, Michigan
Update on DTMF issues (what to do when a caller pushes the wrong button on your IVR)....

Okay, so there is an option where you can tell Asterisk what to do when it can't understand a caller's button push or the caller chooses a wrong option.

Under the "Edit VoiceMenu" option of your IVR, look at the middle of the box, "Allow KeyPress Events," and you should see a range of numbers: "0 1 2 3 4 etc.." At the bottom of the dialogue box, you should see a little "t" and a blue letter "i" surrounded by a circle as well as a little "i" surrounded by the same blue letter "i." The first option is to tell your system what to do when no buttons are pushed within 30 secs. The second option is what your system should do when it cannot understand a caller's button push.

My recommendation would be to create another IVR for the "error" message (ex: "I'm sorry, but I didn't understand your selection. Press '1' for so-and-so, Press '2' for 'blah-blah,'" and then say "or, stay on the line for the next available person.") You would then select that IVR as your "Goto VoiceMenu" option when Asterisk cannot understand a caller's input.
 
  • Like
Reactions: bonelifer

trancepsychosis

New Member
Joined
Dec 6, 2015
Messages
11
Reaction score
2
@magnus_stout I followed your post to a T, but am getting tin-y sounding audio using a Blue Yeti microphone (bought specifically for this). Was hoping that it would sound like a big box IVR (Avaya) but is only slightly improved over what I have recorded using an extension. I assume this is due to WAV instead of MP3. Can you help me out?
 
Last edited by a moderator:
Joined
Jul 3, 2014
Messages
66
Reaction score
21
Location
Ann Arbor, Michigan
Hmm... I will re-record some audio soon and provide a step-by-step list. I remember that I did have to play around with the audio levels to get it to sound professional.
 
Joined
Jul 3, 2014
Messages
66
Reaction score
21
Location
Ann Arbor, Michigan
Okay, I re-recorded some new voice menus for my system. I wanted to offer you guys some more information.
  1. Open Audacity. On the lower left of the Audacity window, I change the "Project Rate (Hz)" to 8000, then I change the recording to mono (look just under the red record button in the interface and you can see a drop-down box for 1 (mono) or 2 (stereo).
  2. Go the the "Edit" menu, then select "Preferences."
  3. Then, review the "Devices" option in that menu (I set "Host" to MME) and you can check to make sure "Recording" is set to Mono.
  4. Then, under the "Quality" option, I set my "Sampling" rate to 8000 Hz and my "Sampling Format" to "32-bit float." I also set the "Real-time Conversion" to "Best Quality" and the "High Quality Conversion" option to "Best Quality."
  5. Click "OK" to save your changed options in the "Preferences" box.
  6. I get my assistant to sit at the desktop, with the Snowball microphone (listed above) sitting about 12" away from her face. I write the script in a Libre Office file on the screen with a large font so that you can talk and read from it like a teleprompter.
  7. Start Recording. After a script is read, replay to see how it sounds. If you like it, move on...
  8. Save each file separately as a "Project."
  9. Then, I reopen each file and begin editing (usually trimming the silence at the start and end).
  10. Finally, I have found it necessary to boost the sound. You can do this by going to the "Effect" menu, then select "Amplify..." In my case, I set my "Amplification (db)" to 12-15. For some reason, that sounds a bit loud at my computer, but it sounds fine when it is uploaded to my PBX.
Hope that helps. Follow the rest of the guide listed above for exporting and uploaded to your server. Let me know if you have questions. Thanks!
 
  • Like
Reactions: wardmundy

Members online

PIAF 5 - Powered by 3CX

Forum statistics

Threads
22,367
Messages
137,355
Members
14,575
Latest member
Issue