Play music till the channel answer or hangup?

i want to realize such a senario: when users dial an number ,first play music for him and wait his extension. after the caller input the extension ,play the music continuely until the extension answered or the channel hangup. is it possible? i know there is an application waitexeten, but this appliction will stop to play music after the caller dial the first digit.
welcome any replies! thanks in advance!

this is easy to do.

example extensions.conf code:

exten => s,1,Answer() ; answers
exten => s,2,Background(someannouncement) ; background() plays a file while waiting for DTMF input
exten => s,3,Background(musicfile)

exten => _12XX,1,Dial(SIP/${EXTEN},20,m) ; matches any 4digit exten starting with 12. the m flag at the end specifies they will get music on hold until the person answers
exten => _12XX,2,Voicemail(${EXTEN}@context) ; give them that exten’s voicemail if no luck

Hope that helps!

IronHelix , thanks very much. it is really what i want . thanks!!!