Background cmd question

I’m building an IVR system with * and can’t figure out how to get Background to work the way I want. I’d like to play a sound file which people can interrupt by dialling a valid extension. If they dial an invalid extension, I’d like for the sound file to keep playing. But if Background gets any input it stops; if it’s not a valid extension, it sends it to “i”, by which time my sound file has stopped playing.

Is there another way around this?