Asterisk Magic 8-Ball
From 2l2oWiki
Background
For all those tough business decisions, we give you the famous Magic 8-Ball, implemented for Asterisk.
Install
Magic 8-Ball requires the Flite application for Asterisk. Instructions for installing Flite are included in the Asterisk without Tricks guide.
/etc/asterisk/extensions.conf (or /etc/asterisk/extensions_custom.conf for FreePBX)
exten => 88888888,1,Answer()
exten => 88888888,2,Set(eightball=${RAND(1,20)});
exten => 88888888,3,GotoIf($["${eightball}" = "1"]?23)
exten => 88888888,4,GotoIf($["${eightball}" = "2"]?25)
exten => 88888888,5,GotoIf($["${eightball}" = "3"]?27)
exten => 88888888,6,GotoIf($["${eightball}" = "4"]?29)
exten => 88888888,7,GotoIf($["${eightball}" = "5"]?31)
exten => 88888888,8,GotoIf($["${eightball}" = "6"]?33)
exten => 88888888,9,GotoIf($["${eightball}" = "7"]?35)
exten => 88888888,10,GotoIf($["${eightball}" = "8"]?37)
exten => 88888888,11,GotoIf($["${eightball}" = "9"]?39)
exten => 88888888,12,GotoIf($["${eightball}" = "10"]?41)
exten => 88888888,13,GotoIf($["${eightball}" = "11"]?43)
exten => 88888888,14,GotoIf($["${eightball}" = "12"]?45)
exten => 88888888,15,GotoIf($["${eightball}" = "13"]?47)
exten => 88888888,16,GotoIf($["${eightball}" = "14"]?49)
exten => 88888888,17,GotoIf($["${eightball}" = "15"]?51)
exten => 88888888,18,GotoIf($["${eightball}" = "16"]?53)
exten => 88888888,19,GotoIf($["${eightball}" = "17"]?55)
exten => 88888888,20,GotoIf($["${eightball}" = "18"]?57)
exten => 88888888,21,GotoIf($["${eightball}" = "19"]?59)
exten => 88888888,22,GotoIf($["${eightball}" = "20"]?61)
exten => 88888888,23,Flite("Signs point to yes")
exten => 88888888,24,Hangup()
exten => 88888888,25,Flite("Yes")
exten => 88888888,26,Hangup()
exten => 88888888,27,Flite("Reply hazy try again")
exten => 88888888,28,Hangup()
exten => 88888888,29,Flite("Without a doubt")
exten => 88888888,30,Hangup()
exten => 88888888,31,Flite("My sources say no")
exten => 88888888,32,Hangup()
exten => 88888888,33,Flite("As I see it yes")
exten => 88888888,34,Hangup()
exten => 88888888,35,Flite("You may rely on it")
exten => 88888888,36,Hangup()
exten => 88888888,37,Flite("Concentrate and ask again")
exten => 88888888,38,Hangup()
exten => 88888888,39,Flite("Outlook not so good")
exten => 88888888,40,Hangup()
exten => 88888888,41,Flite("It is decidedly so")
exten => 88888888,42,Hangup()
exten => 88888888,43,Flite("Better not tell you now")
exten => 88888888,44,Hangup()
exten => 88888888,45,Flite("Very doubtful")
exten => 88888888,46,Hangup()
exten => 88888888,47,Flite("Yes definitely")
exten => 88888888,48,Hangup()
exten => 88888888,49,Flite("It is certain")
exten => 88888888,50,Hangup()
exten => 88888888,51,Flite("Cannot predict now")
exten => 88888888,52,Hangup()
exten => 88888888,53,Flite("Most likely")
exten => 88888888,54,Hangup()
exten => 88888888,55,Flite("Ask again later")
exten => 88888888,56,Hangup()
exten => 88888888,57,Flite("My reply is no")
exten => 88888888,58,Hangup()
exten => 88888888,59,Flite("Outlook good")
exten => 88888888,60,Hangup()
exten => 88888888,61,Flite("Don't count on it")
exten => 88888888,62,Hangup()
