Edward de Jong
2011-Nov-21 17:50 UTC
[asterisk-users] difference between playback and background?
In the dial plan language of asterisk, what is the difference between prompting the user with a Playback() command vs. a Background() command? I want in a part of my dial plan to ask the user a prompt, and wait for 4 digits to be typed in. I don't want the user to have to end the string with a pound or something, just wait 2 seconds after they stop typing. ANd I do want the prompt to be interruptible if the user is fast and knows already what to do? I need to do some tests on the number they entered. If i use background(), and say the prompt, and then follow with a WAIT command, how do i reference the number they just typed in? does asterisk set the ${EXTEN} variable when the user types something? What I find maddening about the asterisk documentation is a lack of clarity on the sequence of things, and what variables get set when?
Carlos Alvarez
2011-Nov-21 17:58 UTC
[asterisk-users] difference between playback and background?
It sounds like you may want to use the READ command instead. This lets you hard-set the number of digits to expect and then sets a variable which you can use later in the dialplan. Generally you use the background command to let them dial an extension or automated attendant option. Playback plays without the option to interrupt it. On Mon, Nov 21, 2011 at 10:50 AM, Edward de Jong < edward.dejong at voicecarrier.com> wrote:> In the dial plan language of asterisk, what is the difference between > prompting the user with a Playback() command vs. a Background() command? I > want in a part of my dial plan to ask the user a prompt, and wait for 4 > digits to be typed in. I don't want the user to have to end the string with > a pound or something, just wait 2 seconds after they stop typing. ANd I do > want the prompt to be interruptible if the user is fast and knows already > what to do? > > I need to do some tests on the number they entered. If i use background(), > and say the prompt, and then follow with a WAIT command, how do i reference > the number they just typed in? does asterisk set the ${EXTEN} variable when > the user types something? > > What I find maddening about the asterisk documentation is a lack of > clarity on the sequence of things, and what variables get set when? > > > -- > _____________________________________________________________________ > -- 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 >-- Carlos Alvarez TelEvolve 602-889-3003 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20111121/18f9f559/attachment.htm>
Danny Nicholas
2011-Nov-21 18:00 UTC
[asterisk-users] difference between playback and background?
First question - playback is not interruptable by DTMF, background is. You have two options here Option 1 Use Read [getnum] Exten => start,1,read(mydigit,prompt,4,skip,1,2) .. verification stuff Option 2 Use WaitExten with Background [getnum] Exten => start,1,background(prompt) Exten => start,n,waitexten(2) Exten => 1111,1,noop(user pressed 1111) Exten => I,1,playback(invalid) For option 2 you have to define each valid 4 digit entry in the context. Yes it can be maddening, but you get what you pay for. -----Original Message----- From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Edward de Jong Sent: Monday, November 21, 2011 11:51 AM To: asterisk-users at lists.digium.com Subject: [asterisk-users] difference between playback and background? In the dial plan language of asterisk, what is the difference between prompting the user with a Playback() command vs. a Background() command? I want in a part of my dial plan to ask the user a prompt, and wait for 4 digits to be typed in. I don't want the user to have to end the string with a pound or something, just wait 2 seconds after they stop typing. ANd I do want the prompt to be interruptible if the user is fast and knows already what to do. I need to do some tests on the number they entered. If i use background(), and say the prompt, and then follow with a WAIT command, how do i reference the number they just typed in? does asterisk set the ${EXTEN} variable when the user types something? What I find maddening about the asterisk documentation is a lack of clarity on the sequence of things, and what variables get set when? -- _____________________________________________________________________ -- 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
Steve Edwards
2011-Nov-21 20:32 UTC
[asterisk-users] difference between playback and background?
On Mon, 21 Nov 2011, Danny Nicholas wrote:> Option 2 > Use WaitExten with Background > [getnum] > Exten => start,1,background(prompt) > Exten => start,n,waitexten(2) > Exten => 1111,1,noop(user pressed 1111) > Exten => I,1,playback(invalid) > > For option 2 you have to define each valid 4 digit entry in the context.Or, (since the OP seems a bit newbish), read up on extension pattern matching. -- Thanks in advance, ------------------------------------------------------------------------- Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST Newline Fax: +1-760-731-3000