Interrupt the swift text in asterisk

Hi,

I am using Asterisk-1.4.11 version to make outbound calls and deliver the swift text to audio.

My functionality is as for example i make this text to audio deliver the person called.

Eg. swift -o /tmp/test.wav -p audio/channels=1,audio/sampling-rate=8000 “Press 1 to confirm. Press 3 to cancel.”

extension.conf dialplan:

[code][dialout]
exten => outbound-handler,1,Dial(SIP/102,60,gM(outbound-connect^agi://10.1.1.68/ivr/speak^${CallInitiate_hashdata}))

[macro-outbound-connect]
exten => s,1,Answer()
exten => s,2,System(swift -o /tmp/test.wav -p audio/channels=1,audio/sampling-rate=8000 “Press 1 to confirm. Press 3 to cancel.”)
exten => s,3,Background(/tmp/test)
exten => s,4,Hangup

exten => 1,1,Playback(thanks)
exten => 2,1,Playback(bye)[/code]

Here in this, the call is connected and answered the control transfer to macro context. One way i can interrupt the text before it completes the text is by using ‘Background (/tmp/test)’ to play the audio.

When iam in the middle of the audio if i press 1 before it completes the entire text, the control should go to ‘exten => 1,1,Playback(thanks)’. But in macro the ‘Background’ doesnt seem to work. It works fine outside macro context.

When i use the Asterisk cmd GoTo(new_context,extn,priority) inside macro, I get a message ‘channel jumping out of macro “outbound-connect”’ waits for a minute and hungs up, the control doesnt go to new_context.

Does anyone have any ideas i can work it out. How can i have the Asterisk cmd Background inside macro? or how to execute the GoTo command?

Thanks and appreciate your response.
Regards,
Naveen.Palani