SendDTMF in dialplan

I have a VoIP a/c with one provider, but I also have a phone card which is cheaper for dialling certain overseas countries. I want the dialplan to recognise when I’m dialling those countries, dial up the card company, and, when it answers, send my password and then the number by dtmf … in other words, making the whole process transparent to the caller. At first I wrote something like this:

exten => _001184.,1,Dial(SIP/xxxxxxxxxx@iin? et,30,r); for Vietnam - call the card company
exten => _001184.,n,Wait(2) ; wait 2 seconds
exten => _001184.,n,SendDTMF(yyyyyy) ; send my password
exten => _001184.,n,Wait(2) ; wait 2 seconds
exten => _001184.,n,SendDTMF(${EXTEN}); Vietnam - tell the card company the number I want

Obviously, xxxxxxxxxx is the phone number of the card company, yyyyyy is my password, and 0011 is the international access code in Australia.

The problem is that when the card company answers, the dial plan exits and subsequent steps are not executed. Of course, I can still enter the password and the number (again!) manually … but is there any way I can automate this process?

Thanks. - Martin