Here's an idea: don't allow customer service reps to hang up - if they DO hang up, link the call to a survey to let me rate the rep or escalate to a manager etc.. a good rep will get kudos, a bad rep won't last long at the job!
I mean is this really that difficult to set up? am I the only one that ever put some thought to the customer service call workflow!? you're welcome, humanity. you're welcome.