Asterisk manager API - How to Hold/Transfer a call?

I am going to use the Asterisk Manager API for a project and from a web page, I need to :

  1. End a current active call

  2. Transfer a current active call

  3. Hold a current active call

  4. Display a current queue (with the state of each call, ringing, on hold…)

  5. Grab the calls from the queue

Is it possible ? I think that I’ve found how to do for the 1. and 2. and 4. (I don’t know how to display the state of the calls)

The list of available commands are :

Could anyone help me please ?

Thank you very much!

or if you already know something that I can use and have already everything included could you let me know it please ?