Caller wait, dial, say caller id, place call

Hi,

What I need to do is the following…
When I receive a call I want to put the caller on wait(playing a custom message) then call the extension that was about to receive the call, say the caller id, and then place the caller with the extension that was called…

How can I do that ?

Thanks