Just come across this whilst searching for something on dialtone.
To do what is required here, use 'ignorepat' in the context, like the following.
Code:
[outbound-testContext]
ignorepat => 9
exten => 9XXXXXXXXXXX,1,Dial(...where to go...)
The ignorepat will match 9 in the dialling pattern but will continue to give dialtone, until other digits are dialled.