Detecting pick-up on line before answer

Is there a native way within * to ignore a RING on a ZAP channel (digium HW) when the line was picked up by a third party (a separate telephone on the same line) before * was instructed to answer?

At the moment I have something like this:
exten -> s,1,Wait( 8 )
exten -> s,2,Answer

But what I would like is for asterisk to cancel the Answer command when the line is picked up from elsewhere during the Wait command.

Any tips appreciated.


Any suggestions?

The closest I have found is the non-native NV utils which seem to have a poor reputation.