<div dir="ltr">Sure. I forgot to add that I was also using Node.js. Basically, the operators are using X-Lite to communicate with Asterisk. They also use websockets to communicate with Node.js. Node.js obviously being asynchronous is not, IMHO, setup well for doing complex business type operations. I know many (if not everyone) would disagree with me. But, I've been creating business apps for about 40 years now and like the synchronous approach much more.<div><br></div><div>So, I have the command go through Node.js to ZeroMQ which acts as a Req/Reply queuing system. It allows me to have as many PHP processes running as I wish. Auto fail overs, etc. And, I can be sure the request is going to get replied to as expected.</div><div><br></div><div>As things get busier I just add more PHP repliers. And, then of course, Node also interfaces with Asterisk to do all the ARI stuff.</div><div><br></div><div>That's why I think ARI is so fantastic. I can write code the way I'm used to and with the process I use I can actually make changes at any time and not disrupt the operators.</div><div><br></div><div>Hope this is helpful.</div><div><br></div><div>Phil M</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Jul 26, 2015 at 1:02 PM, Shahid H <span dir="ltr"><<a href="mailto:shahidh@gmail.com" target="_blank">shahidh@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">May I ask, why did you use ZeroMQ and what purpose in your design?<div><br></div><div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 25, 2015 at 1:24 PM, Phil Mickelson <span dir="ltr"><<a href="mailto:phil@cbasoftware.com" target="_blank">phil@cbasoftware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">IMHO the ARI approach is the right one. I've done something similar with ARI, ZeroMQ and PHP for an answering service. Works very well.</p>
<p dir="ltr">Phil M</p>
<div class="gmail_quote"><div><div>On Jul 25, 2015 6:04 AM, "Shahid H" <<a href="mailto:shahidh@gmail.com" target="_blank">shahidh@gmail.com</a>> wrote:<br type="attribution"></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div>Hi, </div><div><br></div><div>I like to develop a predictive dialer system (Web base) to allow Admin to create outbound or inbound campaigns</div><div><br></div><div>I'm doing some technical research and I am trying to figure out shall I use AMI or ARI? </div><div><br></div><div>- Creating many outbound calls and monitor live calls on the web (Ringing, Talking, Hang up their call)</div><div>- Originate many calls and put in specific queue (other word: campaign)</div><div>- Agent should be able to transfer a call - external or internal.</div><div>- Ability to set max ring time for each campaign</div><div>- Approx 300+ agents</div><div><br></div><div>On the browser, I would like to use websocket to get real time information about the call and actions.</div><div><br></div><div>I am considering going with this approach: create a daemon with Node.js - A daemon will connect to Asterisk via ARI and a daemon use websocket to listen the events and such. A browser will also use websocket to communicate with a Node.js daemon.</div><div><br></div><div>Something like that: <browser (websocket)> --- <Node.js daemon & ARI (websocket)> --- <Asterisk></div><div><br></div><div>Is this good approach? </div><div><br></div><div>Thanks</div></div>
<br></div></div>_______________________________________________<br>
asterisk-app-dev mailing list<br>
<a href="mailto:asterisk-app-dev@lists.digium.com" target="_blank">asterisk-app-dev@lists.digium.com</a><br>
<a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" rel="noreferrer" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a><br>
<br></blockquote></div>
<br>_______________________________________________<br>
asterisk-app-dev mailing list<br>
<a href="mailto:asterisk-app-dev@lists.digium.com" target="_blank">asterisk-app-dev@lists.digium.com</a><br>
<a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" rel="noreferrer" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a><br>
<br></blockquote></div><br></div></div></div></div></div>
<br>_______________________________________________<br>
asterisk-app-dev mailing list<br>
<a href="mailto:asterisk-app-dev@lists.digium.com">asterisk-app-dev@lists.digium.com</a><br>
<a href="http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev" rel="noreferrer" target="_blank">http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev</a><br>
<br></blockquote></div><br></div>