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.

Thanks,
Elliot.

Any suggestions?

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

M.