Yes, this will playback what the caller presses.
Make your IVR
Open /etc/asterisk/extensions_additional.conf
Find IVR. It will look like this:
EXAMPLE:
[ivr-3] ; test
include => ivr-3-custom
include => from-did-direct-ivr
exten => s,1,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?skip)
<snip>
exten => 2,1,Set(__IVR_DIGIT_PRESSED=2)
exten => 2,n(ivrsel-2),Goto(ext-queues,5000,1)
exten => 1,1,Set(__IVR_DIGIT_PRESSED=1)
exten => 1,n(ivrsel-1),Goto(ext-featurecodes,*43,1)
exten => i,1,Playback(sorry-youre-having-problems)
exten => i,n,Goto(hang,1)
<snip>
exten => hang,n,Hangup
;--== end of [ivr-3] ==--;
COPY all the IVR code to
/etc/asterisk/extensions_override_issabel.conf
IN EXAMPLE
IVR "1" goes to ECHO TEST:
IVR "2" goes to QUEUE 5000.
FIND code section for IVR entry "1". Will look like:
exten => 1,1,Set(__IVR_DIGIT_PRESSED=1)
exten => 1,n(ivrsel-1),Goto(ext-featurecodes,*43,1)
ADD the middle two lines. If using a different language you can alter the file "you-entered".
exten => 1,n,SayNumber(__IVR_DIGIT_PRESSED,f)
exten => 1,n,playback(you-entered)
exten => 1,n,saynumber(${IVR_DIGIT_PRESSED},f)
exten => 1,n(ivrsel-1),Goto(ext-featurecodes,*43,1)
Repeat for other IVR numbers
Example 2:
exten => 2,n,SayNumber(__IVR_DIGIT_PRESSED,f)
exten => 2,n,playback(you-entered)
exten => 2,n,saynumber(${IVR_DIGIT_PRESSED},f)
exten => 2,n(ivrsel-2),Goto(ext-queues,5000,1)
or "3" etc.etc.
exten => 3,n,SayNumber(__IVR_DIGIT_PRESSED,f)
exten => 3,n,playback(you-entered)
exten => 3,n,saynumber(${IVR_DIGIT_PRESSED},f)
exten => 3,n(ivrsel-3),Goto(ext-queues,652,1)
Save changes
asterisk -rx 'core reload'
"Thank you for calling, please press 1 or two"
Caller presses "1"
IVR will say "You pressed ONE"
or
"You Pressed TWO"
(i am adding to SQL database commands shortly)