Re: AMI or ARI?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

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.

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.

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.

Hope this is helpful.

Phil M

On Sun, Jul 26, 2015 at 1:02 PM, Shahid H <shahidh@xxxxxxxxx> wrote:
May I ask, why did you use ZeroMQ and what purpose in your design?


On Sat, Jul 25, 2015 at 1:24 PM, Phil Mickelson <phil@xxxxxxxxxxxxxxx> wrote:

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.

Phil M

On Jul 25, 2015 6:04 AM, "Shahid H" <shahidh@xxxxxxxxx> wrote:
Hi, 

I like to develop a predictive dialer system (Web base) to allow Admin to create outbound or inbound campaigns

I'm doing some technical research and I am trying to figure out shall I use AMI or ARI? 

- Creating many outbound calls and monitor live calls on the web (Ringing, Talking, Hang up their call)
- Originate many calls and put in specific queue (other word: campaign)
- Agent should be able to transfer a call - external or internal.
- Ability to set max ring time for each campaign
- Approx 300+ agents

On the browser, I would like to use websocket to get real time information about the call and actions.

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.

Something like that: <browser (websocket)> --- <Node.js daemon & ARI (websocket)> --- <Asterisk>

Is this good approach? 

Thanks

_______________________________________________
asterisk-app-dev mailing list
asterisk-app-dev@xxxxxxxxxxxxxxxx
http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev


_______________________________________________
asterisk-app-dev mailing list
asterisk-app-dev@xxxxxxxxxxxxxxxx
http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev



_______________________________________________
asterisk-app-dev mailing list
asterisk-app-dev@xxxxxxxxxxxxxxxx
http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev


_______________________________________________
asterisk-app-dev mailing list
asterisk-app-dev@xxxxxxxxxxxxxxxx
http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev

[Index of Archives]     [Asterisk SS7]     [Asterisk Announcements]     [Asterisk Users]     [PJ SIP]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Linux API]

  Powered by Linux