[asterisk-users] 99 bottles of beer
Russell Bryant
russell at digium.com
Thu Aug 16 06:56:35 CDT 2007
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();
}
}
--
Russell Bryant
Software Engineer
Digium, Inc.
More information about the asterisk-users
mailing list