;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 => i,1,Playback(pbx-invalid); exten => i,2,Goto(redial_jl2515,s,1); exten => t,1,Playback(vm-goodbye); exten => t,2,Hangup( ); ;//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