Placing a call on hold via 3rd party call control

In developing applications using the Manager API I would like to be able to put an extension on hold and retrieve. I know that the phone (software or hardware) generally supports the ability to put a call on hold, but I want 3rd party call and phone control for all aspects of this application.

I know I could build my own SIP User Agent and emebed this in my application, but this does not solve the issue when I have a hardware phone in place.

Is there a way to do this? Such as creating a SIP endpoint to message on behalf of another endpoint registered with Asterisk?

Any ideas for this would be appreciated.

SIP HOLD is just reinviting the media stream to IP, which most all SIP PBX’s understand as ‘put the call on hold and play MOH’. However, while the media stream is diverted, the SIP call is still active to the handset and it considers the call to be established. I don’t think its possible to inform the phone to place the call on hold by reinviting the phone to, but i could be wrong.

Parking is a much better bet. Using the API you can park a call on a parking extension, and then retrieve it.

Yes, I am thinking park and retrieve may be the only way to do it properly. Need to think about how that impacts reporting/CDRs as well.