QUESTION How to setup IVR

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
Is there a good tutorial on setting up IVR with PBX In a Flash? I want to set up a greeting with 3 options. The first 2 options with lead to recorded messages (hours, directions) the third option leads to a person. Also like to have it automatically go to a person if they do not make a selection. Ultimately I'd also like to have an after hours message.

Just sort of stymied on where to begin with this setup.
 

rossiv

Guru
Joined
Oct 26, 2008
Messages
2,624
Reaction score
139
I swear I've seen a thread almost exactly like this one here over the last month or so, but looking at your post history, it wasn't you. Maybe I'm crazy. Something in the options triggered my memory - the hours and directions specifically.

Regardless, setting up the IVR really is straightforward. FreePBX -> Applications -> IVR -> Add new IVR.
  • Name it whatever you want
  • Add a description if you so choose.
  • Announcement: The greeting that plays.
    • You can either record a greeting through a phone on your system, or upload a WAV file. Both are done in Admin -> System Recordings.
  • Direct Dial: Allows for dialing extension numbers directly during the greeting.
  • Timeout: Number of seconds before the call is sent to Timeout Destination (specified later)
  • .....self explanatory skip......hover over the question bubbles if you're confused
  • Invalid Destination: Where the call goes after Invalid Retries is reached. I usually do Terminate Call -> Hangup.
  • ....another snip...
  • Timeout Destination: This is where you'd put the extension or ring group to go to your person
  • Entries
    • Ext is what digit you want the caller to press for the option specified in Destination
    • Destination is where you want the caller to go
    • For recorded messages, use the "Announcements" module under Applications
That should get your base IVR working. For After Hours, look at Time Conditions and Time Groups.
What you'd do is point your inbound route to a Time Condition. The time condition checks the current time against the time group and sends the call to either A or B depending if the time matches or not. You could do another IVR for after hours, or just an announcement, or anything.
 

mainenotarynet

Not really a Guru - Just a long time user
Joined
May 29, 2010
Messages
754
Reaction score
155
You have a few issues here:
1- No system info (Gotcha-free [Asterisk-GUI] or Piaf-Color w/ FPBX) - we need to know
2 - IVR in FreePBX is straight forward (GFA-GUI - I don't have yet so can't advise - I need to learn this one myself)
3- The after Hours message is a CFC or TC/TG your choice (CFC=Call Flow Control [read Day/Night Modes] and TC/TG = Time Conditions/Time Groups) I find CFC easier for me (one code to remember).

So without knowing #1 assuming FreePBX
Let's tackle #2 here:
A - Login to the FPBX Admin panel and Applications->IVR
B - Add a New IVR. Give it a name and description
C - If you have the announcement for your IVR made, place it in the announcement pull-down.
C.1-Direct dial is a list of directories for your extensions. If you want callers to be able to dial an extension directly in the IVR chose default or create a new directory (Application->Directory) with just the extensions you want allowed -- or disable it completely so only menu options can be selected
D - Timeout of 5 is fine (if no digit pressed). Invalid Retries of 1 or 2 is normal) read the blue dot for more info on the other options in this section (so this post doesn't go on forever :smile5: but the Time out Destination is where you put the person if no key is press ed as Extension 101**
E - In the section IVR Entries is where you would put your options
E.1-Ext is the key the person can press0-9 # and * are acceptable (in older versions i and t (Invalid and Timeout, respectively) could also be used but now are done above this section. Destination (2 parts - 1st is a list of destination types and 2nd is options within that type. i.e. choosing Extensions will list extensions on your system to choose from)
So if you want press one to play our hours of operation, press two to get directions to our office or press three for a receptionist, then the lines would look like this:
1 Announcements Hours of Operation*
2 Announcements Directions to Us*
3 Extensions 101**
99 Feature Code Admin 1:CFC Switch***

* Announcements are made through Admin->System recordings or if you have GoogleTTS set up (I use the old PWhite TTS which works well with GTTS
Make the recording and then go to Application->Announcements to make this available to the IVR. The Hours of Operations and Directions to us were example names for your announcements.
** 101 assumes your operator/receptionist extension - adjust to your schema
*** This is two parts -- 99, yes more than one key can be done (I use *0 for a company Directory or if you want "hidden" options, as I did here for your "after Hours" section below.
F - Click Submit and Apply Config

Now to your After Hours
Applications->Call Flow Control
-Call Flow Toggle Feature Code Index (0-9) [last digit only] the whole code is *28[this index#] assuming 1 from 99 above.
-Give it a Description (e.g. Main Day/Night) [or from the 99 option above CFC Switch]
-Current Mode can be left alone [should read Normal(Green/BLF Off) ]-- If you have a phone that can show BLFs varies by Manufacturer on how to set these up. [The other mode is Override(Red/BLF On]
-Recording for Normal (Green) Mode: Default is nothing as your IVR will handle that
-Recording for Override (Red) Mode: Default is nothing again as your Afer Hours destination Should handle it for you
-Optional Password: Set it if you want only a few people (say yourself and a receptionist to be able to switch on/off) but you must make sure you remember to tell authorized people what it is (I don't use it because I don't need it now) -- with the "hidden 99 option" above a password may be a good idea in case someone accidentally guess this option.

Normal Flow (green) Destination would be your IVR for Normal business
Override Flow (Red) Destination would be an announcement for your after hours message

Click Save and Apply Config and your all set.

Now on your inbound routes (Phone numbers, point to the Call Flow Control, Submit, Apply Config again and your done (Except for making the announcements of course [Which I would do first before any of the IVR and CFC stuff])

Announcements are in Applications->Announcements
-Description -- The name of your announcement
-Recording -- These are System Recordings. Either use your phone or read how to make them offline and upload them but make them available to this module (Even GTTS wav files need to be made accessible to be used here)
-Repeat -- Do you want people to be able to repeat the message if needed? if so tell them which key to press in your message (e.g. 'to repeat these directions again press Pound' -- and select pound key in this drop down list
-Allow Skip: is a yes / No type answer but doesn't give an idea of which key would be used to skip the message, so I'd leave it off anyways (unchecked)
-Return to IVR: is another Yes / No type answer (good for your IVR options 1 and 2 which if done correctly can ONLY be accessed by the one IVR [read the blue dot for some caveats on the return to IVR option being used])
-Don't Answer channel can be left alone UNLESS you need it based on the Blue dot information (just leave it be for now)
-Destination -- this is where the call goes after the announcement is played. You can send it back to the Main IVR manually by choosing IVR ->Main IVR (2nd box appears after you choose an option in the first one)
Now for your after hours message you could have it go directly to the receptionist's Voicemailbox by Choosing Voicemail in the list and the extension (101) in the 2nd box (VM has 3 options per extension -- Busy - Unavail - NoMsg. Busy I use for normal hours as if I'm on the phone and give the VMX locator a chance to use FollowMe whereas my Unavail(able) message says to leave a message and NoMgs is no message at all just a beep (which you could incorporate into your after hours message (impersonating a VM message [e.g. After Hours Message, to leave us a voicemail at the end of this announcement leave your name and Number with your messasge and we'll call you back as soon as possible" VM-101(nomsg) [BEEP])

- Submit changes, Apply Config and you're done

I hope this is more than you needed to accomplish what you asked for. The Time conditions and Time groups, I have never used so if that is the rout ou want to go, someone else will have to step in or just use the forum search tool for posts on the subject.

Good Luck and Welcome to the Piaf Forums.
 

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
Apologies for the long reply on this. I'm going to set this up on a test virtual machine to play with. Is there away to call from one extension to another and get the greeting and extensions I will be setting up or do I have to configure google voice?
 

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
That is what I am asking. That looks straight forward. Thanks
 

islandtech

Wassamassaw
Joined
Jan 11, 2009
Messages
679
Reaction score
137
How about an inbound route with 7777 for the did then then select your ivr for the destination.
From a local ext dial 7777 and your ivr will answer just like from outside
 

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
Apologies I never answered the question of what I'm running PIAF-Green-20650 in VirtualBox.
 

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
Apologies I get to work on this a for a few hours every other month it seems.

So far I have set up an inbound DID of 7777 per IslandTech's suggestion. Works fine, well enough that I think that is what I will do on my main system for experimentation.

I have made a few system recordings on for my main menu, and a few for hours, locations, etc

I define some options, but every time I select an option I get

"We have not received a valid response, Please try again"

Any suggestions?
 

rossiv

Guru
Joined
Oct 26, 2008
Messages
2,624
Reaction score
139
Can you post some call logs? asterisk -vvvr output will do the trick.
 

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
Okay attaching the asterisk -vvvr output

I edited out a bunch of these, they were just redundant

[2015-05-19 14:41:19] WARNING[1584]: res_xmpp.c:3569 xmpp_client_receive: Parsing failure: Hook returned an error.
[2015-05-19 14:41:19] WARNING[1584]: res_xmpp.c:3566 xmpp_client_receive: Parsing failure: Invalid XML.
[2015-05-19 14:41:19] WARNING[1584]: res_xmpp.c:3633 xmpp_client_thread: JABBER: socket read error
 

Attachments

  • Asterisk-log.txt
    10.2 KB · Views: 1

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
Attaching a screenshot of my IVR options. Is there a text config file that would be more helpful?


Screen Shot 2015-05-20 at 9.16.21 AM.png
 

islandtech

Wassamassaw
Joined
Jan 11, 2009
Messages
679
Reaction score
137
What is the configuration for IVRHours and IVR Address Directions

edit
Why not have option 1 go to an hours announcement instead of another IVR and the for option 2 go to an address/directions announcement
 

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
Okay, I would post them but my Virtual Machine is showing MySql is offline. I get this when I try to connect

FATAL ERROR

DB Error: connect failed

Trace Back

/var/www/html/admin/libraries/db_connect.php:71 die_freepbx()
[0]: DB Error: connect failed

/var/www/html/admin/bootstrap.php:85 require_once()
[0]: /var/www/html/admin/libraries/db_connect.php

/etc/freepbx.conf:9 require_once()
[0]: /var/www/html/admin/bootstrap.php

/var/www/html/admin/config.php:99 include_once()
[0]: /etc/freepbx.conf

Get this when I go to mysqld and try to restart
root@pbx:/etc/init.d $ ./mysqld restart
Stopping mysqld: [ OK ]
Another MySQL daemon already running with the same unix socket.
Starting mysqld: [FAILED]
root@pbx:/etc/init.d $ ./mysqld stop
Stopping mysqld: [ OK ]
root@pbx:/etc/init.d $ ./mysqld start
Another MySQL daemon already running with the same unix socket.

Starting mysqld: [FAILED]
 

synack

Guru
Joined
Dec 31, 2013
Messages
227
Reaction score
56
likely your mysql crashed and did not cleanup it's files.
make sure your mysql did in fact crash (is not running) and delete /var/lib/mysql/mysql.sock if it exists.
 

synack

Guru
Joined
Dec 31, 2013
Messages
227
Reaction score
56
I suppose I should be more detailed:
run:
Code:
ps aux | grep mysqld
if you get a line like this:
Code:
root      1449  0.0  0.0 108204   612 ?        S     2014   0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --socket=/var/lib/mysql/mysql.sock --pid-file=/var/run/mysqld/mysqld.pid --basedir=/usr --user=mysql
DO NOT DELETE the file, mysqld is still running.

If you don't get the line back, and preferably nothing at all, except "grep mysqld"
do this:
Code:
rm /var/lib/mysql/mysql.sock
rm /var/run/mysqld/mysqld.pid
/etc/init.d/mysqld start
 

BiggerE

Member
Joined
Dec 2, 2014
Messages
45
Reaction score
0
That fixed it attaching the screenshots for the IVRHours and IVR Address Directions

IVRHours.pngIVR address directions.png
 

synack

Guru
Joined
Dec 31, 2013
Messages
227
Reaction score
56
I think you need to change those into announcements as islandtech suggested. Or at least configure digits for them. It's been a while, but if I remember correctly freepbx doesn't work right if the destination IVR doesn't have ivr entries defined. You likey want an announcement that either hangs up after playing or routes back to your main IVR.
 

Members online

Forum statistics

Threads
25,810
Messages
167,755
Members
19,240
Latest member
nikko
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top