Re: Fwd: voice command application over asterisk, ARI or AGI?

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

 



Hello,

I've run into a similar situation where I have to do a lot of background processing (not voice thankfully!).  I use Node.js for web socket control.  ZeroMQ as a queuing system and PHP for the backend processing.

Using ZeroMQ allows me to have as many backend processes as I wish.  They can be on the same computer or different ones.  On the same network or separated for redundancy, etc.

ZeroMQ is very fast, small and efficient and takes care of all the heavy duty work.  I would recommend that you research this for your project.

Good luck!
Phil Mickelson
CBA Software

On Mon, Nov 10, 2014 at 10:21 AM, Asterisk Gui <asteriskgui@xxxxxxxxx> wrote:

Hi,

i am going to create voice command application over asterisk. I am playing some days with ARI and websockets but i am not sure if it is right choice.

Can you help me?

Here is a schema:

Somebody1 call extension 1000 and asterisk answer, now some scripts AGI or ARI handle the dialplan and manage the call. Somebody1 say which doors are open? APP say the door 1, 2, 5 are open. Somebody1 say "close door 1". APP say "done".

That is the simple briefing to my application. do you know SIRI?

But how to do it, i tried to write it in ARI. But here is the problem, how to wait 5 seconds when the command is said or playback(i-dont-understand-the-command) and go back to listen to the next command. Next problem is, if there is not only Somebody1, but we have 1000 people calling at the same moment Somobdy1-1000. So i listen to websocket, but i dont have multithread? So every call will be in queue? I mean of course i can answer to all calls, but every command or event must be analyzed and process in a queue? One by one, bcs i have only one thread who listen to websocket.

That is two main problems of ARI.

And now AGI.

I have one thread per one call, perfect i can use all my performance and CPU fully. When some call extension 1000 i can take all actions on AGI script. Synchronous process, but what if i want in the middle of call use IVR? Not only voicecommand but dialtone? Not waiting for dialtone but if i hear dialtone i need to run correct service on my APP side? Everytime during the call.

I hope you understand.




_______________________________________________
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