;menu: "Press 1 to listen to a song, 2 to record a song, and 3 to make a call" ;selectsong: "Enter number of song" ;recordsong: "Record your song after the beep" ;makecall: "Enter the phone number you wish to call" ;//MAIN //////////////////////////////////////////////////////////////////////////////////////////////////////////////// [redial_jl2515] exten => s,1,Background(jl2515/w3/menu) ; exten => s,n,DigitTimeout(1.0) ; exten => 0,1,VoiceMailMain(21@redial) ;SHOULD THERE BE HANGUP COMMAND LINES? exten => 1,1,Goto(redial_jl2515_listen,s,1) ; exten => 2,1,Goto(redial_jl2515_record,s,1) ; exten => 3,1,Goto(redial_jl2515_call,s,1) ; exten => 4,1,Goto(redial_jl2515_festival,s,1) ; exten => i,1,Playback(pbx-invalid); exten => i,2,Goto(redial_jl2515,s,1); exten => t,1,Playback(vm-goodbye); exten => t,2,Hangup( ); ;//Festival Test ///////////////////////////////////////////////////////////////////////////// [redial_jl2515_festival] ;Using Sable exten => s,1,System(/usr/bin/text2wave -F 8000 -o /var/lib/asterisk/sounds/jl2515/testsable.wav /home/jl2515/asterisk_web/test.sable); exten => s,2,Background(/var/lib/asterisk/sounds/jl2515/testsable); ;Creating and playing a simple Festival sound file ;;exten => s,1,System(echo 'Hello Jeff, I am a phone not a person' | /usr/bin/text2wave -scale 1.5 -F 8000 -o /var/lib/asterisk/sounds/jl2515/tester.wav); ;;exten => s,2,Background(/var/lib/asterisk/sounds/jl2515/tester); exten => s,n,Goto(redial_jl2515,s,1); ;//LISTEN //////////////////////////////////////////////////////////////////////////////////////////////////////////////// [redial_jl2515_listen] ;exten => s,1,AGI(useragi/jl2515/listen.php); ;exten => s,n,Goto(redial_jl2515,s,1); ;OLD CODE exten => s,1,Playback(jl2515/w3/selectsong) ;"please press a number" exten => s,n,SayNumber(${DB(jl2515/num_songs)}) exten => s,n,DigitTimeout(1.0) exten => s,n,Read(NUMBER,,2); exten => s,n,Playback(jl2515/songnumber) ;"Here's song number" exten => s,n,SayNumber(${NUMBER}) ; ; exten => s,n,Playback(jl2515/s${NUMBER}) ;The song exten => s,n,Goto(redial_jl2515,s,1); ;//RECORD //////////////////////////////////////////////////////////////////////////////////////////////////////////////// [redial_jl2515_record] ;Set Database exten => s,1,Set(NUM_SONGS=${DB(jl2515/num_songs)}) exten => s,n,Set(NUM_SONGS=$[${NUM_SONGS} + 1]) exten => s,n,Set(DB(jl2515/num_songs)=${NUM_SONGS}) exten => s,n,Playback(jl2515/w3/recordsong) exten => s,n,Playback(beep) exten => s,n,Record(jl2515/s${NUM_SONGS}.wav,3,60); ;Create the gsm file for phones exten => s,n,TrySystem(sox /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.wav /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.gsm); ;Create the mp3 file for the podcast exten => s,n,TrySystem(lame /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.wav /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.mp3); ;Copy both the .wav and .mp3 files to the www directory exten => s,n,TrySystem(cp /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.wav /usr/local/www/html/asterisk/jl2515/) exten => s,n,TrySystem(cp /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.mp3 /usr/local/www/html/asterisk/jl2515/) ;We now want to update the rss feed (Note: since this resides in the home directory, the home directory must be executable by outsiders) exten => s,n,TrySystem(/home/jl2515/./rss_gen.php s${NUM_SONGS}); exten => s,n,Playback(beep) exten => s,n,SayNumber(${DB(jl2515/num_songs)}); exten => s,n,Goto(redial_jl2515,s,1); ;If num_songs doesn't exsist then here we initialize it exten => s,102,Set(DB(jl2515/num_songs)=0) exten => s,103,Goto(1) ; ;//CALL //////////////////////////////////////////////////////////////////////////////////////////////////////////////// [redial_jl2515_call] exten => s,1,Background(jl2515/w3/makecall) ;"please dial number to call" exten => _NXXXXXXXXX,1,Dial(SIP/itp_jnctn/1${EXTEN},30,r); exten => _1NXXXXXXXXX,1,Dial(SIP/itp_jnctn/${EXTEN},30,r); exten => i,1,Playback(pbx-invalid); exten => i,2,Goto(redial_jl2515_call,s,1); exten => t,1,Playback(vm-goodbye); exten => t,2,Hangup( ); ;//MACROS //////////////////////////////////////////////////////////////////////////////////////////////////////////////// [macro-songs] exten => s,1,Playback(jl2515/songnumber) ;"Here's song number" exten => s,n,SayNumber(${MACRO_EXTEN}) ; ; exten => s,n,Playback(jl2515/song${MACRO_EXTEN}) ;The song