On Thu, 2007-08-16 at 19:38 -0600, Steve Murphy wrote:
> On Thu, 2007-08-16 at 07:56 -0400, Russell Bryant wrote:
> > Gordon Henderson wrote:
> > > ; *99:
> > > ;       99 bottles of beer on the wall.
> > > 
> > > exten => *99,1,Noop(99 Bottles of beer on the wall)
> > > exten => *99,n,Answer()
> > > exten => *99,n,Set(bottles=99)
> > > exten => *99,n(loop),Noop(There are ${bottles} bottles of beer on the 
> > > wall)
> > > exten => *99,n,SayNumber(${bottles})
> > > exten => *99,n,Noop(Take one done and pass it round and there's)
> > > exten => *99,n,Set(bottles=$[${bottles}-1])
> > > exten => *99,n,Noop(${bottles} bottles of beer on the wall)
> > > exten => *99,n,SayNumber(${bottles})
> > > exten => *99,n,GotoIf($["${bottles}" > "0"]?loop)
> > > exten => *99,n,Noop(We're out of beer!)
> > > exten => *99,n,Hangup()
> > > 
> > > Too much dial plan mashing this morning and I rememberd this site:
> > > 
> > >    http://99-bottles-of-beer.net/
> > 
> > And now, in AEL!  (This is untested, I just wanted to see how it would 
> > look.)
> > 
> > context silly {
> >   *99 => {
> >     NoOp(99 Bottles of beer on the wall);
> >     Answer();
> >     bottles=99;
> >     while (${bottles} > 0) {
> >       NoOp(${bottles} bottles of beer on the wall, ${bottles} bottles of 
> > beer);
> >       SayNumber(${bottles});
> >       NoOp(Take one down, pass it around);
> >       bottles=${bottles} - 1;
> >       NoOp(${bottles} bottles of beer on the wall);
> >     }
> >     NoOp(We're out of beer!);
> >     Hangup();
> >   }
> > }
> 
> Lol, Well done, Russell!
> 
> How about this one: from an extensions.conf that someone posted on the
> internet, I think, and I converted to AEL; I'm sorry, but I can't find
> the original author.
> (If anybody can find his post, I'd love to give him credit.) I did test
> this out,
> and it works; just put a call to the macro ( &guessgame(); ) in an
> extension in your dialplan....
> 
> 
> macro guessgame()
> {
>    startpoint:
>       while (1)
>       {
>               Playback(guessit/intro);
>               set(GUESS="");
>               GUESS=${EPOCH}%9;
>               Set(TIMEOUT(digit)=3);
>               Set(TIMEOUT(response)=5);
>               while (1)
>               {
>                       Read(NUMBER,guessit/input_number,1);
>                       Verbose(Got ${NUMBER} from Read);
>                       if( "${NUMBER}" = "*" || "${NUMBER}" = "#" || 
> "${NUMBER}" = "")
>                       {
>                               Playback(guessit/thatsnotanumber);
>                       }
>                       else if ("${NUMBER}" = "${GUESS}")
>                       {
>                               Playback(guessit/win);
>                               break; // the only way out of this loop!
>                       }
>                       else if ("${NUMBER}" > "${GUESS}")
>                       {
>                               Playback(guessit/less);
>                       }
>                       else if ("${NUMBER}" < "${GUESS}")
>                       {
>                               Playback(guessit/more);
>                       }
>                       else /* what other stuff can the user enter than a 
> number, #,
> nothing, or * ? */
>                       {
>                               Playback(guessit/thatsnotanumber);
>                       }
>               }
>               /* You get here after a successful guess */
>               Wait(.5);
>               Read(AGAIN,guessit/playagain,1);
>               if ("${AGAIN}" != "1")
>                       break;
>       }
>       Playback(guessit/goodbye);
>       return;
>       
>       catch t
>       {
>               playback(guessit/goodbye);
>               return;
>       }
>       catch i
>       {
>               playblack(invalid);
>       }
> }
> 
> murf
> 
> _______________________________________________
> --Bandwidth and Colocation Provided by http://www.api-digital.com--
> 
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users



Hey murf,


here is the link for the credit, 
http://www.voipphreak.ca/archives/358-Asterisk-Howto-Numbers-Guessing-Game.html


its also in the wiki examples.

http://www.voip-info.org/wiki/view/AEL+Example+Snippets



db


_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to