you can’t really get a second dial tone from asterisk (except when putting a party on hold to get a second line.) a sort of work around that i was never able to make work would be to have your phone dial immediately when you hit 9. asterisk would accept calls to extension 9 and then playtones (see manual.) the caller hears the tone that asterisk is playing. then, as the caller hits each subsequent button, asterisk must capture it and decide when to call.
the code below does not work but might give you some ideas:
[code][secondDT]
include => from-internal
;exten => dialtone,1,Set(TIMEOUT(digit)=3)
;exten => dialtone,n,Set(TIMEOUT(response)=5)
;exten => dialtone,n,Playtones(dial)
;exten => dialtone,n,Wait(1)
;exten => dialtone,n,StopPlaytones()
;exten => dialtone,n(wait),WaitExten(10)
;exten => dialtone,1,Set(TIMEOUT(digit)=1)
;exten => dialtone,n,Set(TIMEOUT(response)=60)
;exten => dialtone,n,Playtones(440)
;exten => dialtone,n(wait),WaitExten(6)
;exten => _X,1,StopPlaytones()
;exten => _X,2,Set(collect=${collect}${EXTEN})
;exten => _X,3,Goto(dialtone,wait)
exten => s,1,Answer
exten => s,2,Playtones(dial)
exten => s,3,Set(TIMEOUT(digit)=5)
exten => s,4,WaitExten(60) [/code]