<div dir="ltr">So, I opened a can of worms with this - so let&#39;s see if we can put a lid on it in some form.<div>I&#39;ve been digging into the manager code and the various channels. </div><div><br></div><div>We can go about this in a few fashions:</div>
<div><br></div><div>1. Adding a format parameter to each of the actions, then changing the output accordingly.</div><div>    In general, this is the easiest path, however, the most time consuming and will create <br>    a havoc of code to manage - bringing us back to the manager spaghetti code days.</div>
<div><br></div><div>2. Adding brand new actions to the various channel drivers, etc. - this option will have a similar<br>    impact as option 1 and is as annoying for later maintenance.</div><div><br></div><div>3. Adding a proper JSON library, then modifying the behavior of the various astman related<br>
    functions, such as astman_send_listack and astman_append. I&#39;ve been looking at several<br>    JSON libraries for ANSI-C, some are more robust than others. However, the basic functionality<br>    that is required is fairly simple, thus I believe that JSMN should be enough for this usage<br>
    (<a href="http://zserge.bitbucket.org/jsmn.html">http://zserge.bitbucket.org/jsmn.html</a>). </div><div><br></div><div>What do you think? have I missed something around this? can anyone add some more thoughts<br>into the pile here?</div>
<div><br></div><div>Regards,</div><div>  Nir S</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Nov 10, 2012 at 9:36 PM, Tzafrir Cohen <span dir="ltr">&lt;<a href="mailto:tzafrir.cohen@xorcom.com" target="_blank">tzafrir.cohen@xorcom.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Fri, Nov 09, <a href="tel:2012" value="+9722012">2012</a> at 08:29:08AM +0100, Johan Wilfer wrote:<br>

&gt; 2012-11-09 03:26, Nir Simionovich skrev:<br>
&gt; &gt;Ok, that’s a +1 by me as well. But, if we go that route, I think we<br>
&gt; &gt;should be able to format the output of that<br>
&gt; &gt;action. It would be very useful. Honestly, while on the subject, and I<br>
&gt; &gt;do admit that what I’m about to say will<br>
&gt; &gt;be totally out there – it would be really nice if the input to AMI can<br>
&gt; &gt;be a single JSON array, instead of doing the<br>
&gt; &gt;ever annoying  \n\n in manager – no?<br>
&gt; &gt;<br>
&gt; &gt;I’d love to get cracking on this one as I need it – if someone can throw<br>
&gt; &gt;me some pointers as to how the manager<br>
&gt; &gt;actually works in that respect.<br>
&gt; &gt;<br>
&gt; &gt;Nir S<br>
&gt; &gt;<br>
&gt;<br>
&gt; Would it be possible to add someting that let you run AMI commands<br>
&gt; from the CLI, and format that in different ways?<br>
&gt;<br>
&gt; That way you can use this if you can run something like &quot;asterisk<br>
&gt; -rx ami json sippeers&quot; and a formatter could turn the \n\n into a<br>
&gt; JSON array, that you could parse later on?<br>
<br>
</div>See astcli in the contribs, which is actually the other way around (get<br>
CLI commands through the manager in a CLI interface).<br>
<br>
The CLI interface is widely used even though it is discourged, because<br>
it does not require setting up users in manager.conf.<br>
<br>
I wonder what it would take to also have the manager interface listen on<br>
/var/run/asterisk/manager.ctl and pre-authenticate depending on the<br>
usual conventions for asterisk.ctl .<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
               Tzafrir Cohen<br>
icq#16849755              <a href="mailto:jabber%3Atzafrir.cohen@xorcom.com">jabber:tzafrir.cohen@xorcom.com</a><br>
<a href="tel:%2B972-50-7952406" value="+972507952406">+972-50-7952406</a>           mailto:<a href="mailto:tzafrir.cohen@xorcom.com">tzafrir.cohen@xorcom.com</a><br>
<a href="http://www.xorcom.com" target="_blank">http://www.xorcom.com</a>  <a href="http://iax:guest@local.xorcom.com/tzafrir" target="_blank">iax:guest@local.xorcom.com/tzafrir</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
--<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></div></div></blockquote></div><br></div>