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 <[email protected]> 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},60000,3,1,*#2456790,,,o(${position})) > > ${filename} is the file you want to play. > 60000 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 <[email protected]> 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},60000,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}-60000]); //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}+60000]); //Forward 1 minute >> goto play,1; >> } >> >> 4 => { >> Set(position=$[${position}-300000]); //Rewind 5 minutes >> goto play,1; >> } >> >> 5 => { >> goto conference_play_recordings_conference_paused, announce, 1; >> //Pause >> } >> >> 6 => { >> Set(position=$[${position}+300000]); //Forward 5 minutes >> goto play,1; >> } >> >> 7 => { >> Set(position=$[${position}-900000]); //Rewind 15 minutes >> goto play,1; >> } >> >> 9 => { >> Set(position=$[${position}+900000]); //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: [email protected] >> 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 >> > > > > -- > > > > ----- > 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: [email protected] > 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 > -- ----- 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
