Asterisk Music On Hold

Hello All,
I want asterisk to play Music file(s) from particular directory before dialing extension.

here is what I did

Added the following class in musinonhold.conf
Created a Macro in extensions.conf to turn off Music on Hold
exten => s,1,NoOp(Turn off MOH for this channel)
exten => s,2,SetMusicOnHold(none)

exten => _X.,1,answer()
exten => _X.,2,MusicOnHold(),10
exten => _X.,n,Dial(SIP/${EXTEN@localhost},Macro(nomusic))

Now the Music on Hold is going forever, I want Music on Hold to remain for 10 seconds only and then connects to the dialled extension

I am new to Asterisk so detailed reply will be highly appreciated.