;//MAIN //////////////////////////////////////////////////////////////////////////////////////////////////////////////// [redial_jl2515] exten => s,1,Background(jl2515/w3/menu) ; exten => s,n,DigitTimeout(1.0) ; exten => 0,1,VoiceMailMain(21@redial) 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_send,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,600); ;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) ;////////////On Hangup ;Create the gsm file for phones exten => h,1,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 => h,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 => h,n,TrySystem(cp /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.wav /usr/local/www/html/asterisk/jl2515/) exten => h,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 => h,n,TrySystem(/home/jl2515/./rss_gen.php s${NUM_SONGS}); ;//CALL //////////////////////////////////////////////////////////////////////////////////////////////////////////////// [redial_jl2515_call] 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,Background(jl2515/w3/makecall) ;"please dial number to call" exten => _NXXXXXXXXX,1,MixMonitor(/var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.wav, b); exten => _NXXXXXXXXX,2,Dial(SIP/itp_jnctn/1${EXTEN},30,r); exten => _1NXXXXXXXXX,1,MixMonitor(/var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.wav, b); exten => _1NXXXXXXXXX,2,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( ); ;////////////On Hangup ;Create the gsm file for phones exten => h,1,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 => h,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 => h,n,TrySystem(cp /var/lib/asterisk/sounds/jl2515/s${NUM_SONGS}.wav /usr/local/www/html/asterisk/jl2515/) exten => h,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 => h,n,TrySystem(/home/jl2515/./rss_gen.php s${NUM_SONGS}); ;//SEND a Message///////////////////////////////////////////////////////////////// [redial_jl2515_send] exten => s,1,Playback(jl2515/w3/makecall) ;"please dial number to call" exten => s,2,Playback(beep) exten => s,3,Read(NUMBER,,15); exten => s,4,SayDigits(${NUMBER}) exten => s,5,Playback(jl2515/w3/makecall) ;"please dial number to call" exten => s,6,Playback(beep) exten => s,7,Read(CALLERM,,15); exten => s,8,SayDigits(${CALLERM}) exten => s,9,Set(SONG=${DB(jl2515/song_target)}) exten => s,n,Playback(jl2515/w3/makecall) ;"please dial number to call" exten => s,n,Playback(beep) exten => s,n,Read(SONGID,,2); exten => s,n,Set(SONG=${SONGID}) exten => s,n,Set(DB(jl2515/song_target)=${SONG}) exten => s,n,TrySystem(/var/lib/asterisk/agi-bin/useragi/jl2515/gencallfile2.php ${NUMBER} ${CALLERM} redial_jl2515_playback); exten => s,n,Goto(redial_jl2515,s,1); ;If song_target doesn't exsist then here we initialize it exten => s,102,Set(DB(jl2515/song_target)=0) exten => s,103,Goto(9) ;//PLAYBACK ON CALL IN///////////////////////////////////// [redial_jl2515_playback] exten => s,1,Playback(jl2515/s${DB(jl2515/song_target)}); exten => s,n,Hangup();