Allow AMD to run while both parties can talk to each other

I am trying to use the asterisk Answering Machine Detection (AMD()) dialplan application. This works fine but while the AMD is running the called and the calling party are not able to talk to each other. My motive is only to detect whether a call was answered by a machine or not.
Is there a way to let AMD run in the background and let the caller and callee talk to each other for the time AMD algo is run.
I tried to achieve this using chan_spy but was unsuccessful.

Why AMD app is running it wont move to the next priority until it set a value to AMDSTATUS variable

exten => 123,n,AMD()

exten => 123,n,GotoIf($["${AMDSTATUS}" = "HUMAN"]?human:machine)