Tagging faulty calls


Does anyone have any tips on how I might be able to get my agents to tag a call in which they have had an issue. For example if the call quality was poor or it failed to connect?

I was looking to see if I could find a call recording system which allowed them to add a note to the call database, or maybe to add a feature code to be able to identify them (may be to allow the agent to record a brief description of the error they had in the previous call.

Basically I am looking for any idea which will allow me to search for issues and identify the calls they occured on.

I dont mind paying for a commercial module if one exists.