Reg: Holding a channel using AMI action in asterisk 11

Hi Guys,
I am facing issue in placing a call on hold.
I am using the following configuration

  1. asterisk 11.
  2. A soft phone configured with asterisk pbx,
  3. SIP as the channel type.
  4. Asterisk JAVA in the coding side.
  5. Using AMI i am doing all action like call, hang-up etc…

While making a channel on hold i didn’t find any sort of Action command to do in asterisk java.
Is there any action command available in Asterisk to place a call on hold.

could some one please assist me on this.


In previous versions, people normally achieved this using Park. I imagine that is is still the case.

Note that, at least for SIP, Asterisk does not actually signal that the call is on hold, but simply replaces the media stream by music on hold. As such, a redirect to the music on hold application would have a similar effect.

Thanks for the reply David.
So major asterisk users achieve hold by using park/unpark action only?

But, While pressing the Hold button in x-lite soft phone, hold event is been thrown by Asterisk. In that case i have a doubt that may be there will be an hold action in manager. So while i searching for the hold action i could not find any.

Additionally park/unpark differs from hold/retrieve right? In case of park i need to tie the call to extension and need to park it there, an then it can be retrieved by dialing to the parked extension, Please correct me if i am wrong.

So hold can be achieved only by park/unpark action ?


Inbound SIP holds are recognized. They generate an internal AST_CONTROL_HOLD indications, and, in parallel, an AMI Hold event. The AST_CONTROL_HOLD causes the outgoing leg to generate music on hold.

Park only applies to one leg. It also generate an AST_CONTROL_HOLD. As the AMI event is associated with the other leg, and there is no other leg, there is no hold AMI event.

In any case, AMI events are not the same as AMI actions.

can we redirect(through AMI) incoming call to playback with some music(the dialplan need to play continously) and redirect agent call to playback with some silence(the dialplan need to play continously) this will help to hold the call
To unhold the call we need to bridge the both incoming and agent channel

can you advice this is the right process

with Regards

I don’t really understand the question.

Both the Queue and Dial applications can be configured to play music on hold. You may need to explicitly answer the call first, as public networks don’t normally support early media. Answering will normally cause billing to start for the caller.

Hi David ,

Thanks for replay and sorry for delay in response

Basically i trying to hold and unhold calls through AMI

Actually my question is once the call answered by the agent then I want place that called person on
hold through AMI (can we redirect through AMI incoming call to playback with some music(the dial plan need to play music continuously) the same time we redirect agent call to playback with some silence (normally hold on Xlite phone the called person will get music and agent will get slience)

With this both call will live call .Then we can bridge both channel if we want un hold

can you advice this is the right process

With Regards