For chan.masquerade you need to indicate channel id to handle it in 'id' parameter.
If you need to re-execute the call it is useless to put the 'direct' parameter.
When the required call leg will masquerade the call.execute the target module (wavefile) will detect the request is from an existing call leg and will ignore the 'direct' parameter.
If you want to make a completely new call, unrelated to handled message you must enqueue/dispatch a call.execute message (not a chan.masquerade) with parameters listed in the post:
^.*$=dispatch call.execute;callto=wave/play//usr/local/yate/audio.sln;direct=sip/sip:bruce@9.8.7.6;line=localsip