| Asterisk Support Forum Technical support, how-to guides, troubleshooting, and general assistance, from beginner to seasoned pro, this is where to discuss Asterisk, the most powerful open source PBX. |  | | 
October 13th, 2005, 04:25 AM
| | Member | | Join Date: Oct 2005
Posts: 49
| | Share your menu tree! Hi all,
I'm loving Asterisk. I'm still very much in the experimentation stage, and it is incredibly gratifying to try things out in the dial plan as I learn about them, and see how they work. I was telling a friend that I haven't been this excited about learning a new technology since I learned SQL in about 1987. Like those first few months playing with SQL, the instant feedback and response you get from Asterisk (see things happen on the console, listen to them happen in both ears -- different phone in each ;-) ) is just a ton of fun.
Anyway, I'm at a point where I want to build the beginnings of a home PBX. I'm not sure where to start. This is more of an "automated attendant design" question, than a technology question.
In other words, today, the phone rings at home and either someone picks it up, or it goes to the answering machine. Pretty simple use case.
It's very tempting to start thinking about all kinds of scenarios with asterisk, but I've already seen how the eyes glaze over and the kids start saying "sounds too complicated" when I describe some of what we could do.
OK, sorry for the long winded intro, but what I'd really like to ask is for people to share some ideas about how to design a good user experience for a home system.
I haven't seen a good format for describing these trees in print, so if someone knows of one (i.e., how do you document the "user interface" of your IVR system?), I'd love to see that.
So, please share your plans, ideas, philosophies, experiences, etc. in designing your home system.
Thanks! | 
October 14th, 2005, 06:24 PM
|  | Senior Member | | Join Date: Aug 2004 Location: USA or Japan
Posts: 5,013
| | RE: Share your menu tree! There are many wonderful and flexible things you can do with the IVR functionality of Asterisk. Perhaps the use I've put it to will give you ideas. First, the code (in extensions.conf): Code: ; Excerpt from [in-sip]. Sends incoming call to IVR while sleeping.
exten => 0003605559191,1,GotoIfTime(23:30-7:00|*|*|*?ivr,s,1)
exten => 0003605559191,2,Goto(from-ipkall-9191,s,1)
; IVR processing
; Mostly used to intercept incoming calls that arrive between 2330 and 0700.
;
[ivr]
;
exten => s,1,Answer
exten => s,2,Wait(1)
exten => s,3,Playback(welcome) ; Play "Welcome".
exten => s,4,Wait(1)
exten => s,5,Playback(current-time-is) ; Play "The current time is..."
exten => s,6,SayUnixTime() ; Look up the current time and say it.
exten => s,7,DigitTimeout,5
exten => s,8,ResponseTimeout,10
exten => s,9,Background(nbdy-avail-to-take-call) ; The Background command allows digits
exten => s,10,Background(our-business-hours-are) ; to be received while playing the
exten => s,11,Background(digits/7) ; announcements here.
exten => s,12,Background(digits/oclock)
exten => s,13,Background(digits/a-m) ; Says the hours we take
exten => s,14,Background(digits/2) ; calls and invites
exten => s,15,Background(digits/11) ; caller to enter extension
exten => s,16,Background(digits/30) ; or zero.
exten => s,17,Background(digits/p-m)
exten => s,18,Background(ext-or-zero)
exten => s,19,Background(auth-thankyou)
exten => s,20,Background(silence/10)
exten => s,21,Congestion
;
exten => _1XXX,1,Goto(default,${EXTEN},1) ; Callers can punch in
; any internal extension
; or feature code.
;
exten => 2,1,Playback(that-tickles) ; Various messages for pressing invalid digits.
exten => 2,2,Wait(1)
exten => 2,3,Goto(s,18)
;
exten => 3,1,Playback(carried-away-by-monkeys)
exten => 3,2,Wait(1)
exten => 3,3,Goto(s,18) ; Loop back around for another try.
;
exten => 4,1,Playback(weasels-eaten-phonesys)
exten => 4,2,Wait(1)
exten => 4,3,Goto(s,18)
;
exten => 5,1,Playback(wait-offensive-sounds)
exten => 5,2,Wait(1)
exten => 5,3,Goto(s,18)
;
exten => 6,1,Playback(why-no-answer-mystery)
exten => 6,2,Wait(1)
exten => 6,3,Goto(s,18)
;
exten => 7,1,Playback(jedi-extension-trick)
exten => 7,2,Wait(1)
exten => 7,3,Goto(s,18)
;
exten => 8,1,Playback(away-naughty-boy)
exten => 8,2,Wait(1)
exten => 8,3,Goto(s,18)
;
exten => 9,1,Playback(wrong-try-again-smarty)
exten => 9,2,Wait(1)
exten => 9,3,Goto(s,18)
;
exten => 0,1,Playback(what-time-it-is) ; Confirm that the caller really wants to ring
exten => 0,2,Playback(pls-hold-while-try) ; the phone and then ring
exten => 0,3,Goto(find-michael,s,1) ; the "find-michael" group.
In my system each incoming phone number rings on an appropriate extension (my phones, my wife's phones, etc.) during the day, but routes to the IVR between 11:30 PM and 7:00 the next morning. The IVR plays a greeting, which includes the current time of day so that the caller might guess at the reason the call was not answered. The caller is then invited to dial an extension or press "0" for assistance.
You could modify this to give a selection digit to each member of the family. Each family member can be set up with an individual time window, treatment, etc. You can also enable "escape to Operator" in voice mail and have the "o" extension point to the IVR.
Let's see what others have to say and then help you get your system working the way you'd like.
__________________ Please do not send technical questions via PM.
Please post all questions to the forum. | 
October 15th, 2005, 08:41 PM
| | Member | | Join Date: Oct 2005
Posts: 49
| | Thanks mberlant.
Your reply is in the spirit of what I'm looking for.
As I read more and more about asterisk, I'm struck by an infinite number of possibilities. Like many new design tasks, designing an appropriate "user interface" for your phone system seems to be somewhat of an art form. It's awfully tempting to dump a bunch of features in that will both be confusing to the users and hard to debug.
Like you, I have a fondness for fun and games and have already demo'd some of these pre-recorded little beauties to friends and family.
I hope we get some more responses.
Cheers,
john | 
November 16th, 2005, 11:30 AM
| | Junior Member | | Join Date: Nov 2005
Posts: 5
| | 360-226-6898 <check out the ANAC on this ( its a blast from the past and the time, shit the grl sounds really hot to trot. 360-227-4776 | 
December 18th, 2005, 05:09 PM
| | Junior Member | | Join Date: Dec 2005 Location: Bloomington, IN
Posts: 3
| | that first number brings back some memories - but doesn't seem to actually have an anac.
the second is for something called default radio | 
December 19th, 2005, 05:35 AM
| | Senior Member | | Join Date: Dec 2004
Posts: 192
| | 1800-444-444 (0r 3333333 or 3334444 etc) MCI owns them and will give you caller ID (or ANI if it suspects caller ID has failed, e.g. you try and spoof 5551212 or something silly).
__________________ [iSEPIC] | 
December 20th, 2005, 03:53 AM
| | Junior Member | | Join Date: Dec 2005
Posts: 3
| | I'm still very much experimenting myself, but here's my latest aa concoction: Code: [super-attendant]
exten => s,1,Background(thank-you-for-calling)
exten => s,2,Background(T-to-leave-msg)
exten => s,3,Background(press-1)
exten => s,4,Background(or)
exten => s,5,Background(to-hear-weather-status)
exten => s,6,Background(press-2)
exten => s,7,Background(silence/10)
exten => s,8,Background(the-monkeys-twice)
exten => s,9,Background(silence/10)
exten => s,10,Background(lots-o-monkeys)
exten => s,11,Background(silence/10)
exten => s,12,Background(nobody-but-chickens)
exten => s,13,Background(silence/10)
exten => s,14,Background(weasels-eaten-phonesys)
exten => s,15,VoiceMail(200@default)
exten => s,16,Hangup
exten => 1,1,Background(pls-hold-while-try)
exten => 1,2,VoiceMail(200@default)
exten => 1,3,Hangup
exten => 2,1,Answer
exten => 2,2,AGI(weather.agi)
exten => 2,3,Hangup
exten => 7,1,Goto(who-r-u,s,2)
exten => 9,1,Background(pls-wait-connect-call)
exten => 9,2,Dial(local/200@from-internal,20,m)
exten => 9,3,Playback(im-sorry)
exten => 9,4,Playback(but)
exten => 9,5,Playback(the-party-you-are-calling)
exten => 9,6,Playback(teletubbie-murder)
exten => 9,7,VoiceMail(200@default)
exten => 9,8,Hangup
exten => i,1,Random(33:i,4)
exten => i,2,Random(33:i,6)
exten => i,3,Random(33:i,8)
exten => i,4,Playback(wrong-try-again-smarty)
exten => i,5,Goto(super-attendant,s,1)
exten => i,6,Playback(lots-o-monkeys)
exten => i,7,Goto(super-attendant,s,1)
exten => i,8,Playback(the-monkeys-twice)
exten => i,9,Goto(super-attendant,s,1)
My wife doesn't like to answer the phone, so by default this aa tells you to leave a message. Close friends/family can hit 9 at any time to ring the phone, and if there's no answer, they find out why
It's not the neatest, but I laugh every time I hear it.
I also get a real kick out of this torture script: http://www.voip-info.org/wiki/view/A...rketer+Torture
If I can find out where to stick it... | 
December 20th, 2005, 04:29 AM
| | Junior Member | | Join Date: Dec 2005
Posts: 13
| | Re: Share your menu tree! Hi voxTrotter,
I'm working with *-1.2.1 whic is superb, but it's difficult to suggest ideas as far as I can see. If you read the new PDF manual it gives you great ideas, I learned tonnes from that alone (hint, load it on to your PDA and read in the pub, liqur makes it easier to digest!)
Your'e totally unlimited tho. I've done a few commerical installs, and am just buggering about a bit at home with my (sic) SPA3k to merge alll my lines into Asterisk and link that into MythTV and some BlueTooth wireless services.
Never had so much fun in my life!
Let me know exaclty what you need via IM and I'll have a look.
Best wishes,
Bon | 
December 20th, 2005, 06:14 PM
| | Member | | Join Date: Oct 2005
Posts: 49
| | Hi Bon,
Well I guess VoxTrotter is me. My "handle" is greyhound, and I guess my "rank" is VoxTrotter -- though I hadn't paid much attention to it until you referenced it, I noticed I was the only one with that rank on this thread, so I guess you're addressing me.
Anyway, my original post was 2-1/2 months ago. I've come quite a long way (I think) in that time. This thread has bubbled back up because of some off-topic posts on it, but I still think it's worthwhile to share dial plans since, as you point out, looking at other dial plans is a great way to learn asterisk. I've been thinking about the best way to do this, and short of starting a blog site, I'm really not sure yet. As I said, I've learned a lot and I think I have some nifty stuff in my dial plan that I'd be happy to share with others.
So... thanks for your offer, though I have no particular issues I'm trying to work out at the moment. But it's great to have people joining the site who want to share their knowledge.
Seeya round the board.
Cheers,
john | 
December 20th, 2005, 07:00 PM
| | Junior Member | | Join Date: Dec 2005
Posts: 3
| | I'd like to see as many dialplans as possible. It's the best way I know to learn new functions and correct syntax. |  | | | Thread Tools | | | | Display Modes | Rate This Thread | Linear Mode | |
Posting Rules
| You may not post new threads You may not post replies You may not post attachments You may not edit your posts HTML code is Off | | | |