Callback with user defined number?

Caller id is not always reliable so I would like to give the choice of entering a number manually. Could anyone make the code I pasted together work or have a better way to take the user entry? Also for callabck and disa when the call is finished, how can I enable to the caller to make another call by pressing # and not hanging up?
thank you

[custom-callback] exten => s,1,Answer exten => s,n,VMAuthenticate() ; Authenciate using the voicemail system, person enters their extension$ exten => s,n,GotoIf($["${CALLERID(number)}" = ""]?3) ; if no id, then skip annoucement exten => s,n,Playback(your) exten => s,n,Playback(number) exten => s,n,Playback(is) exten => s,n,SayDigits(${CALLERID(number)}) exten => s,n,Playback(if-this-is-not-correct) exten => s,n,Playback(press-1) exten => s,n,Set(CALLBACKNUM=${CALLERID(number)}) exten => s,n,Read(CALLBACKNUM,agent-user) ; get callback number from user somehow??? exten => s,n,Wait(2) exten => s,n,Hangup exten => s,n,Dial(${CALLBACKNUM}) exten => s,n,Playback(pls-entr-num-uwish2-call) exten => s,n,DISA,no-password|from-internal­

[custom-disa] exten => s,1,Answer exten => s,n,VMAuthenticate() ; Authenciate using the voicemail system, person enters their extension $ exten => s,n,Playback(pls-entr-num-uwish2-call) exten => s,n,DISA(no-password|from-internal)

Something like

[custom-callback] exten => s,1,Answer exten => s,n,VMAuthenticate() ; Authenciate using the voicemail system, person enters their extension$ exten => s,n,GotoIf($["${CALLERID(number)}" = ""]?1,1) ; if no id, then skip annoucement - but '3' will almost definitely not work exten => s,n,Playback(your) exten => s,n,Playback(number) exten => s,n,Playback(is) exten => s,n,SayDigits(${CALLERID(number)}) exten => s,n,Background(if-this-is-not-correct) exten => s,n,Background(press-1) exten => s,n,WaitExten(2) exten => s,n,Set(CALLBACKNUM=${CALLERID(number)}) exten => s,n,Hangup exten => 1,1,Read(CALLBACKNUM,pls-entr-num-uwish2-call) ; get callback number from user somehow??? exten => 1,n,Hangup­ exten => h,1,Look_up_call_file_in_voip-info.org_to_call_${CALLBACKNUM}

This is a rough idea and needs refinement. I just assume that you’ll need call file for call back if you are to connect two live people. Otherwise why do you need call back?

hi a call file would not be needed since I would be prsenting called user with dialtone.

I don’t think that I have thought of anything new. just the normal callback process with a user defined number instead of caller I’d.

The idea of a call file is to connect two machine originated call legs - and DISA application will consume one leg. With Dial, you may use G option to kind of achieve this. (Haven’t really tested in your scenario.)

Try t option in Dial.