Hi
I think you need to answer channel before Playback.
exten => s,1,Set(CALLFILENAME=${ARG1}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
exten => s,n,MixMonitor(/var/spool/asterisk/monitor/Contract/${CALLFILENAME}.wav,W(3))
exten => s,n,Answer()
exten => s,1,Playback(custom/lc2)