I think you forgot to say that this is some sort of click to call scenario. Humans are going to behave very differently in such case from how they would behave for an unsolicited call .
Even in the intended use, answering machine detection relies on heuristics, so is not foolproof.
My scenario is to when we will use asterisk CLI it should tell that it is machine but when we dial from soft phone it should tell that it is human because in this scenario our noice will scenes by asterisk.
Also what is the function of BackgroundDetect . Can we do it for this purpose ?