User call recording

I have an asterisk system in use in a call centre using phones and cvalls being dialed using the asterisk TAPI interface from a databse on a pc.

I need a way to allow the agents to start recording calls when they get a sale. I have currently setup call recorind using *# in features.conf. However this seems a little unreliable as it does not always read the key press. Is there a more reliable way to do this.

Also if not is there a way to make the system play a tone down the line to the agent after they press the *# combination to start recording to confirm that recoring has started?

Any help would be appreciated.