[asterisk-dev] Adding new ARI for application execute

Joshua C. Colp jcolp at digium.com
Mon Apr 1 09:22:45 CDT 2019

On Sat, Mar 30, 2019, at 7:45 PM, Sungtae Kim wrote:
> Hi Asterisk team,
> I want to talk about some feature for the ARI.
> Currently, ARI doesn't allow executing the Asterisk application.
> But this makes ARI users giving up and tired to use the ARI.
> Because to use the Application, it has to be exit from the Stasis and 
> jump to the dialplan to executing the application. And have to execute 
> the Stasis() again to back to Stasis.

I think using this as a way to way to determine any missing gaps in ARI and extend it is good, but I'm hesitant towards allowing arbitrary dialplan application execution. The cases I know of are tone recognition, speech recognition, and faxing.
> Since it makes the channel needs to be exit from the Stasis, ARI can not 
> control the call while it's not in the Stasis. This makes also hard to 
> control the call.
> So, I was thinking how about make the stasis/ARI possible to execute the 
> applications? And I've created ticket for adding this feature to ARI 
> which is enabling the ARI to executing the application.
> https://issues.asterisk.org/jira/browse/ASTERISK-28365

So ARI wasn't written or designed to really function the same way as AGI for example. It expects to be the final owner of a channel. This has the consequence that it can be unsafe to execute dialplan applications which they themselves want to be the final owner of the channel on. Your change overcame this to a degree by making it blocking. This is problematic, though, as it means that the ARI application has lost its control and can't do anything until the dialplan application is over. It can't, for example, stop the dialplan application execution and regain control. The queue of any requests is blocked, thus the ARI application is blocked.

I'd also wonder what certain applications would do and the resulting events. What happens if you execute Dial, or ConfBridge, or perform a transfer while in a dialplan application in ARI?

There's a lot of unknowns as to how exactly everything would behave in my mind and they'd need to be answered.

Joshua C. Colp
Digium - A Sangoma Company | Senior Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - US
Check us out at: www.digium.com & www.asterisk.org

More information about the asterisk-dev mailing list