[asterisk-app-dev] Fwd: voice command application over asterisk, ARI or AGI?

Phil Mickelson phil at cbasoftware.com
Mon Nov 10 09:57:49 CST 2014


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 at gmail.com>
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 at lists.digium.com
> http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-app-dev/attachments/20141110/25372b34/attachment.html>


More information about the asterisk-app-dev mailing list