Re: [asterisk-users] ControlPlayback's options
On 2011-06-04 13:38, virendra bhati wrote: Hi Johan Wilfer, Thanks for your reply. On the basis of your provided code I made all things into extensions.conf. But i have an small issue on which I need your attention again. in below context what's ${tz} ? Is this time zone value or else? Yes, I store the calls timezone in tis variable before the code sample you got. and another things is what is the use of SayUnixTime(${time},${tz},d 'digits/of' B); this function in such case? I've implemented 5 as a pause-button on the phone. This context handles this by playing a prompt that you have pause the recording and time and date. This is repeated untill the user presses a key on the keypad. context conference_play_recordings_ conference_paused { announce = { Set(time=$[${epoch_start}+${position}/1000]); while(true) { WaitExten(1); Background(conf_playrec_pause_part1); SayUnixTime(${time},${tz},kM); Background(conf_playrec_pause_part2); SayUnixTime(${time},${tz},d 'digits/of' B); Background(conf_playrec_pause_part3); WaitExten(5); } } one thing which is also confusing is that what is the meaning or use of such lines in this application. ControlPlayback(${filename},6,3,1,*#2456790,,,o(${position})) ${filename} is the file you want to play. 6 is 60 seconds to skip. 3 is to use 3 as forward 60 seconds 1 to to use 1 as rewind 60 seconds *#2456790 is used as stop buttons (and handled by the dialplan) o() is a option to go to a specific position in the file ${position} is the variable that hold the current position of the playback. To get more details use the following command: asterisk*CLI core show application ControlPlayback Displays: -= Info about application 'ControlPlayback' =- [Synopsis] Play a file with fast forward and rewind. [Description] This application will play back the given filename. It sets the following channel variables upon completion: ${CPLAYBACKSTATUS}: Contains the status of the attempt as a text string SUCCESS USERSTOPPED ERROR ${CPLAYBACKOFFSET}: Contains the offset in ms into the file where playback was at when it stopped. '-1' is end of file. ${CPLAYBACKSTOPKEY}: If the playback is stopped by the user this variable contains the key that was pressed. [Syntax] ControlPlayback(filename[,skipms[,ff[,rew[,stop[,pause[,restart[,options]]]) [Arguments] skipms This is number of milliseconds to skip when rewinding or fast-fo rwarding. ff Fast-forward when this DTMF digit is received. (defaults to '#') rew Rewind when this DTMF digit is received. (defaults to '*') stop Stop playback when this DTMF digit is received. pause Pause playback when this DTMF digit is received. restart Restart playback when this DTMF digit is received. options o(time): time - Start at time ms from the beginning of the file. [See Also] Not available /Johan Please put some light on these too. On Wed, Jun 1, 2011 at 1:50 AM, Johan Wilfer li...@jttech.se mailto:li...@jttech.se wrote: On 2011-05-30 14:32, virendra bhati wrote: Hi List, Asterisk 's *ControlPlayback* will used for play any recorded file as an audio player. Is it possible that we can use it for multiple forward and rewind ? ex:- original: ControlPlayback(filename,skipms,ff,rew,stop,pause) expected ControlPlayback(filename,skip1,skip2,skip3,forward1,rewind1,forward2,rewind2,forward3,rewind3,stop,pause) : Yes, you can use the CPLAYBACKSTATUS, CPLAYBACKOFFSET and CPLAYBACKSTOPKEY variables to get this behavior. All you have to do is to list the additional keys and stop keys and implement this in your dialplan... I've attached some ael I use for this to implement 1 and 3 as 1 minute rewind/forward. 4 and 6 as 5 minutes rewind/forward and 7 and 9 as 15 minutes. 5 I use as the pause key, and */# to switch recording. Greetings, Johan Wilfer context conference_play_recordings_conference_connect { playrec_intro = { Set(position=0); goto play,1; } play = { while (true) { if (${position}==-1) { goto recording_end,1; } //rewind 5 seconds after every action (so the user doesn't feel lost...) Set(position=$[${position}-5000]); if (${position} 0) { Set(position=0); } ControlPlayback(${filename},6,3,1,*#2456790,,,o(${position})); Set(position=${CPLAYBACKOFFSET}); if (${CPLAYBACKSTATUS}==ERROR) { Playback(pbx_error_500); Playback(pbx_endcall); Wait(2); Hangup(); } //If stopped by user if (${CPLAYBACKSTATUS}==USERSTOPPED) { if (!${ISNULL(${CPLAYBACKSTOPKEY})}) { goto ${CPLAYBACKSTOPKEY},1; } } } }
Re: [asterisk-users] ControlPlayback's options
Hi John Wilfer, Thanks for replay. Now all things is working on asterisk 1.6.2.18 version. But When I try the same thing on Asterisk 1.4.X then facing problem. Is this the problem of ControlPlayback 's option fields of asterisk 1.4.X in this version have option P(jumping) not O(time) ? Is there any way by which we will implement like by upload ControlPlayback from asterisk 1.6 to 1.4 or else ? ControlPlayback(filename[,skipms[,ff[,rew[,stop[,pause[,restart[,options]]]) On Sun, Jun 5, 2011 at 2:16 PM, Johan Wilfer li...@jttech.se wrote: On 2011-06-04 13:38, virendra bhati wrote: Hi Johan Wilfer, Thanks for your reply. On the basis of your provided code I made all things into extensions.conf. But i have an small issue on which I need your attention again. in below context what's ${tz} ? Is this time zone value or else? Yes, I store the calls timezone in tis variable before the code sample you got. and another things is what is the use of SayUnixTime(${time},${tz},d 'digits/of' B); this function in such case? I've implemented 5 as a pause-button on the phone. This context handles this by playing a prompt that you have pause the recording and time and date. This is repeated untill the user presses a key on the keypad. context conference_play_recordings_ conference_paused { announce = { Set(time=$[${epoch_start}+${position}/1000]); while(true) { WaitExten(1); Background(conf_playrec_pause_part1); SayUnixTime(${time},${tz},kM); Background(conf_playrec_pause_part2); SayUnixTime(${time},${tz},d 'digits/of' B); Background(conf_playrec_pause_part3); WaitExten(5); } } one thing which is also confusing is that what is the meaning or use of such lines in this application. ControlPlayback(${filename},6,3,1,*#2456790,,,o(${position})) ${filename} is the file you want to play. 6 is 60 seconds to skip. 3 is to use 3 as forward 60 seconds 1 to to use 1 as rewind 60 seconds *#2456790 is used as stop buttons (and handled by the dialplan) o() is a option to go to a specific position in the file ${position} is the variable that hold the current position of the playback. To get more details use the following command: asterisk*CLI core show application ControlPlayback Displays: -= Info about application 'ControlPlayback' =- [Synopsis] Play a file with fast forward and rewind. [Description] This application will play back the given filename. It sets the following channel variables upon completion: ${CPLAYBACKSTATUS}: Contains the status of the attempt as a text string SUCCESS USERSTOPPED ERROR ${CPLAYBACKOFFSET}: Contains the offset in ms into the file where playback was at when it stopped. '-1' is end of file. ${CPLAYBACKSTOPKEY}: If the playback is stopped by the user this variable contains the key that was pressed. [Syntax] ControlPlayback(filename[,skipms[,ff[,rew[,stop[,pause[,restart[,options]]]) [Arguments] skipms This is number of milliseconds to skip when rewinding or fast-fo rwarding. ff Fast-forward when this DTMF digit is received. (defaults to '#') rew Rewind when this DTMF digit is received. (defaults to '*') stop Stop playback when this DTMF digit is received. pause Pause playback when this DTMF digit is received. restart Restart playback when this DTMF digit is received. options o(time): time - Start at time ms from the beginning of the file. [See Also] Not available /Johan Please put some light on these too. On Wed, Jun 1, 2011 at 1:50 AM, Johan Wilfer li...@jttech.se wrote: On 2011-05-30 14:32, virendra bhati wrote: Hi List, Asterisk 's *ControlPlayback* will used for play any recorded file as an audio player. Is it possible that we can use it for multiple forward and rewind ? ex:- original: ControlPlayback(filename,skipms,ff,rew,stop,pause) expected ControlPlayback(filename,skip1,skip2,skip3,forward1,rewind1,forward2,rewind2,forward3,rewind3,stop,pause) : Yes, you can use the CPLAYBACKSTATUS, CPLAYBACKOFFSET and CPLAYBACKSTOPKEY variables to get this behavior. All you have to do is to list the additional keys and stop keys and implement this in your dialplan... I've attached some ael I use for this to implement 1 and 3 as 1 minute rewind/forward. 4 and 6 as 5 minutes rewind/forward and 7 and 9 as 15 minutes. 5 I use as the pause key, and */# to switch recording. Greetings, Johan Wilfer context conference_play_recordings_conference_connect { playrec_intro = { Set(position=0); goto play,1; } play = { while (true) { if (${position}==-1) { goto recording_end,1; } //rewind 5 seconds after every action (so the user doesn't feel lost...) Set(position=$[${position}-5000]); if (${position} 0) { Set(position=0); }
Re: [asterisk-users] ControlPlayback's options
Hi Johan Wilfer, Thanks for your reply. On the basis of your provided code I made all things into extensions.conf. But i have an small issue on which I need your attention again. in below context what's ${tz} ? Is this time zone value or else? and another things is what is the use of SayUnixTime(${time},${tz},d 'digits/of' B); this function in such case? context conference_play_recordings_ conference_paused { announce = { Set(time=$[${epoch_start}+${position}/1000]); while(true) { WaitExten(1); Background(conf_playrec_pause_part1); SayUnixTime(${time},${tz},kM); Background(conf_playrec_pause_part2); SayUnixTime(${time},${tz},d 'digits/of' B); Background(conf_playrec_pause_part3); WaitExten(5); } } one thing which is also confusing is that what is the meaning or use of such lines in this application. ControlPlayback(${filename},6,3,1,*#2456790,,,o(${position})) Please put some light on these too. On Wed, Jun 1, 2011 at 1:50 AM, Johan Wilfer li...@jttech.se wrote: On 2011-05-30 14:32, virendra bhati wrote: Hi List, Asterisk 's *ControlPlayback* will used for play any recorded file as an audio player. Is it possible that we can use it for multiple forward and rewind ? ex:- original: ControlPlayback(filename,skipms,ff,rew,stop,pause) expected ControlPlayback(filename,skip1,skip2,skip3,forward1,rewind1,forward2,rewind2,forward3,rewind3,stop,pause) : Yes, you can use the CPLAYBACKSTATUS, CPLAYBACKOFFSET and CPLAYBACKSTOPKEY variables to get this behavior. All you have to do is to list the additional keys and stop keys and implement this in your dialplan... I've attached some ael I use for this to implement 1 and 3 as 1 minute rewind/forward. 4 and 6 as 5 minutes rewind/forward and 7 and 9 as 15 minutes. 5 I use as the pause key, and */# to switch recording. Greetings, Johan Wilfer context conference_play_recordings_conference_connect { playrec_intro = { Set(position=0); goto play,1; } play = { while (true) { if (${position}==-1) { goto recording_end,1; } //rewind 5 seconds after every action (so the user doesn't feel lost...) Set(position=$[${position}-5000]); if (${position} 0) { Set(position=0); } ControlPlayback(${filename},6,3,1,*#2456790,,,o(${position})); Set(position=${CPLAYBACKOFFSET}); if (${CPLAYBACKSTATUS}==ERROR) { Playback(pbx_error_500); Playback(pbx_endcall); Wait(2); Hangup(); } //If stopped by user if (${CPLAYBACKSTATUS}==USERSTOPPED) { if (!${ISNULL(${CPLAYBACKSTOPKEY})}) { goto ${CPLAYBACKSTOPKEY},1; } } } } recording_end = { //The end of the recording is reached Set(position=0); Background(pbx_endcall); WaitExten(2); Hangup(); } 1 = { Set(position=$[${position}-6]); //Rewind 1 minute goto play,1; } 2 = { //Instructions, that could be aborted with 2. //1 and 3 could be used to forward/rewind 0 ms effectivly disabling the defalut.. ControlPlayback(conf_playrec_instructions_full,0,1,3,2); Wait(1); goto play,1; } 3 = { Set(position=$[${position}+6]); //Forward 1 minute goto play,1; } 4 = { Set(position=$[${position}-30]); //Rewind 5 minutes goto play,1; } 5 = { goto conference_play_recordings_conference_paused, announce, 1; //Pause } 6 = { Set(position=$[${position}+30]); //Forward 5 minutes goto play,1; } 7 = { Set(position=$[${position}-90]); //Rewind 15 minutes goto play,1; } 9 = { Set(position=$[${position}+90]); //Forward 15 minutes goto play,1; } 0 = { goto playrec_intro,1; //Restart playback of the current recording } * = { //Previous recording //If no recording found, resume playback goto play,1; } # = { //Next recording //If no recording found, resume playback goto play,1; } i = { goto play,1; } } context conference_play_recordings_conference_paused { announce = { Set(time=$[${epoch_start}+${position}/1000]); while(true) { WaitExten(1); Background(conf_playrec_pause_part1); SayUnixTime(${time},${tz},kM); Background(conf_playrec_pause_part2); SayUnixTime(${time},${tz},d 'digits/of' B); Background(conf_playrec_pause_part3); WaitExten(5); } } i = { //Every inputs goes here Wait(1); goto conference_play_recordings_conference_connect,play,1; } } - Thanks and regards Virendra Bhati +91-9172341457 Asterisk Engineer --
Re: [asterisk-users] ControlPlayback's options
On 2011-05-30 14:32, virendra bhati wrote: Hi List, Asterisk 's *ControlPlayback* will used for play any recorded file as an audio player. Is it possible that we can use it for multiple forward and rewind ? ex:- original: ControlPlayback(filename,skipms,ff,rew,stop,pause) expected ControlPlayback(filename,skip1,skip2,skip3,forward1,rewind1,forward2,rewind2,forward3,rewind3,stop,pause) : Yes, you can use the CPLAYBACKSTATUS, CPLAYBACKOFFSET and CPLAYBACKSTOPKEY variables to get this behavior. All you have to do is to list the additional keys and stop keys and implement this in your dialplan... I've attached some ael I use for this to implement 1 and 3 as 1 minute rewind/forward. 4 and 6 as 5 minutes rewind/forward and 7 and 9 as 15 minutes. 5 I use as the pause key, and */# to switch recording. Greetings, Johan Wilfer context conference_play_recordings_conference_connect { playrec_intro = { Set(position=0); goto play,1; } play = { while (true) { if (${position}==-1) { goto recording_end,1; } //rewind 5 seconds after every action (so the user doesn't feel lost...) Set(position=$[${position}-5000]); if (${position} 0) { Set(position=0); } ControlPlayback(${filename},6,3,1,*#2456790,,,o(${position})); Set(position=${CPLAYBACKOFFSET}); if (${CPLAYBACKSTATUS}==ERROR) { Playback(pbx_error_500); Playback(pbx_endcall); Wait(2); Hangup(); } //If stopped by user if (${CPLAYBACKSTATUS}==USERSTOPPED) { if (!${ISNULL(${CPLAYBACKSTOPKEY})}) { goto ${CPLAYBACKSTOPKEY},1; } } } } recording_end = { //The end of the recording is reached Set(position=0); Background(pbx_endcall); WaitExten(2); Hangup(); } 1 = { Set(position=$[${position}-6]); //Rewind 1 minute goto play,1; } 2 = { //Instructions, that could be aborted with 2. //1 and 3 could be used to forward/rewind 0 ms effectivly disabling the defalut.. ControlPlayback(conf_playrec_instructions_full,0,1,3,2); Wait(1); goto play,1; } 3 = { Set(position=$[${position}+6]); //Forward 1 minute goto play,1; } 4 = { Set(position=$[${position}-30]); //Rewind 5 minutes goto play,1; } 5 = { goto conference_play_recordings_conference_paused, announce, 1; //Pause } 6 = { Set(position=$[${position}+30]); //Forward 5 minutes goto play,1; } 7 = { Set(position=$[${position}-90]); //Rewind 15 minutes goto play,1; } 9 = { Set(position=$[${position}+90]); //Forward 15 minutes goto play,1; } 0 = { goto playrec_intro,1; //Restart playback of the current recording } * = { //Previous recording //If no recording found, resume playback goto play,1; } # = { //Next recording //If no recording found, resume playback goto play,1; } i = { goto play,1; } } context conference_play_recordings_conference_paused { announce = { Set(time=$[${epoch_start}+${position}/1000]); while(true) { WaitExten(1); Background(conf_playrec_pause_part1); SayUnixTime(${time},${tz},kM); Background(conf_playrec_pause_part2); SayUnixTime(${time},${tz},d 'digits/of' B); Background(conf_playrec_pause_part3); WaitExten(5); } } i = { //Every inputs goes here Wait(1); goto conference_play_recordings_conference_connect,play,1; } } - Thanks and regards Virendra Bhati +91-9172341457 Asterisk Engineer -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users -- Med vänlig hälsning Johan Wilfer email: jo...@jttech.se JT Tech | Utvecklare webb: http://jttech.se direkt: +46 31 380 91 01 support: +46 31 380 91 00 -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
[asterisk-users] ControlPlayback's options
Hi List, Asterisk 's *ControlPlayback* will used for play any recorded file as an audio player. Is it possible that we can use it for multiple forward and rewind ? ex:- original: ControlPlayback(filename,skipms,ff,rew,stop,pause) expected ControlPlayback(filename,skip1,skip2,skip3,forward1,rewind1,forward2,rewind2,forward3,rewind3,stop,pause) : - Thanks and regards Virendra Bhati +91-9172341457 Asterisk Engineer -- _ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users