Thanks for your time in replying /O<br><br>What I&#39;d like to do is port my CSTA stack to AMI - make call, hangup are all simple - I got stuck on the Hold command - I was a bit surprised that AMI didn&#39;t have a HoldCall function.  <br>
<br>I&#39;m doing a project at the moment where I&#39;m collecting CSTA events and rewriting them to Asterisk-Java like Manager Events.  I may as well go the whole way and just implement CSTA for asterisk.  In a sense, you write your application to work with opencsta, it&#39;ll work with Siemens Hipath 3000 series PBXs and asterisk, without any code changes in the application&#39;s code.<br>
<br>It&#39;s a bit premature, but I&#39;ve got a &quot;Handy CSTA Test Tool&quot; which I need to upload the source code for - its&#39; a GUI that controls phone calls on the Siemens.<br><br>What I&#39;d like to do is be able to press &quot;Hold&quot; on my &quot;Handy CSTA Test Tool&quot; that works with the Siemens handset on a Hipath and make it work exactly the same as Asterisk with a SIP endpoint - without the extra transfer/parked-call etc... and be able to retrieve the call from pressing the same hold/retrieve button on the &quot;Handy CSTA Test Tool&quot; GUI.<br>
<br>I don&#39;t completely understand the bridge vs non-bridge stuff you have said about AST_CONTROL_HOLD frames.<br><br>If I can&#39;t put a call on hold, I&#39;d expect to receive an error response from AMI.  If I try and put a call on hold through AMI or CSTA in these scenarios:<br>
<br>a)  The call doesn&#39;t exists -&gt; return error<br>b)  The call cannot be placed on hold -&gt; return error<br>c)  Established call + Hold request -&gt; play music on hold to held channel and release the holding party.  The call is still on the handset though, through the Hold/Retrieve buttons that handsets have.  Moving control of the call from the handset to the PBX is &quot;Parking&quot; behaviour rather than &quot;Holding&quot; behaviour.  (Although it&#39;s way better to use parking, I just want to make Hold behave the same on both a Snom/Polycom/Zoiper on Asterisk as an Optipoint on a Hipath).<br>
<br><br>Am I making sense?<br>Is there some kind of limitation within AMI that cannot see what the state of both sides of a call are?<br><br><br>Look forward to your reply,<br>Chris<br><br><br><br><br><div class="gmail_quote">
On Wed, Jan 6, 2010 at 9:55 PM, Olle E. Johansson <span dir="ltr">&lt;<a href="mailto:oej@edvina.net">oej@edvina.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
6 jan 2010 kl. 11.40 skrev Chris Mylonas:<br>
<br>
&gt; I would like to request an AMI command for placing a call on hold.  I understand that &quot;Hold&quot; is done with SIP messages, but if we could get an AMI command to do something similar (without having to transfer calls to a queue or to a park extension, and keep the call on the handset) that would be awesome!!<br>

<br>
>From a SIP standpoint, we accept being put on hold by a remote device, but we never put another device on hold. What&#39;s happening from a technichal standpoint is that we receive a hold request and we alert the pbx and the pbx will play musiconhold on the bridged channel - if it&#39;s configured to do that.<br>

<br>
Now, an AMI command can send a AST_CONTROL_HOLD message to a channel and force musiconhold until the channel is released from hold. What do we now do with the other end of the bridge? It might still send voice frames.<br>

<br>
In order to implement this, we need to find out what to do with a channel without a bridge, one that&#39;s involved in a bridge and one that is not in up state at all (ringing).<br>
<br>
A transfer is more clean, because then you will have to make a decision about what to do with each call.<br>
<br>
Another option would be to implement a SIP remote hold option, where we actually request a hold on a SIP call, and send a AST_CONTROL_HOLD frame across the bridge. This can also be done in ISDN I guess, but I can&#39;t answer for the rest of the channels.<br>

<br>
In this case you would send ami_hold action on a channel where you want Asterisk to request a hold and entertain the other end of the bridge with music (if there&#39;s a bridge).<br>
<br>
So, what&#39;s your opinion on this long essay? What do you really want to do? :-)<br>
<br>
/O<br>
_______________________________________________<br>
--Bandwidth and Colocation Provided by <a href="http://www.api-digital.com--" target="_blank">http://www.api-digital.com--</a><br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</blockquote></div><br>