Monitor Channel Events

I was wondering if there is a way to trap an event on a channel. What I want to do, is that when a person hangs up from an agent, to be redirected to a survey. I can have the agent do a transfer, but I cannot trust them to do so.
Any advice is appreciated.

Did you be able to solve this?