Record a call while playing a music

Hi all.

I want to write a diaplan which can make asterisk act as a karaoke serivce.

It mean that A user can call to Asterisk, and while the user singing a song, the asterisk play a background music.

Is it possible to do that ? please help me.

Thanks in Advance,

I have no idea how this can be achieve; however, don’t you think coupling an echo test with MOH will do this?

Or maybe with meetme/conference, one channel with the person and other with playback the song.

This might work.
I uses something like this in my own dialplan.

exten => s,1,NoOp()
exten => s,n,Set(FILE_NAME=${STRFTIME(${EPOCH},%Y%m%d-%H%M%S)}-karaoke-${CALLERID})
exten => s,n,Answer()
;exten => s,n,Monitor(wav,${FILE_NAME},m) ; Record and mixing in and out in one file.
exten => s,n,Monitor(wav,${FILE_NAME},) ; Record in and out in separate files.

exten => s,n,NoOp()
exten => s,n,Wait(0.5)
exten => s,n,Playback(karaoke_music)

exten => s,n,Wait(1)
exten => s,n,Playback(vm-goodbye)
exten => s,n,Wait(0.50)
exten => s,n,Hangup()

exten => h,1,Hangup()
exten => t,1,Hangup()