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

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?