[asterisk-dev] Adding new ARI for application execute

Sungtae Kim pchero21 at gmail.com
Tue Apr 2 17:05:20 CDT 2019


Hi Kevin,

Thank you for replying.

Yes, I agree with how the ARI was designed. Btw, because of that, I can 
see some improvement point.

While the channel is out from the Stasis to executing the other 
application as you said(Yes, I'm doing that now), the ARI losing the 
control of the channel. Which is not possible to doing 
anything(including hangup).

Because of this, I wanted to add this feature.

And.. yes, it's possible. I've already submitted some draft code for 
that(not finished it yet), but you can see how this is working at here.
With some simple test, it was working what I expected.

https://gerrit.asterisk.org/c/asterisk/+/11211

And you can see some detail test results here
http://lists.digium.com/pipermail/asterisk-dev/2019-April/077277.html


Thank you.

Kind regards,
Sungtae


On 4/2/19 11:45 PM, Kevin Harwell wrote:
> Just throwing an idea out there (I have no idea if this is possible or 
> how feasible it would be to do this).
>
> ARI is built to interface with applications. A given application 
> controls, and manipulates channels, bridges, etc... within its 
> context. There are already mechanism in place that allow a channel to 
> exit an application, and hand control off to something else. For 
> instance, using 'continue' a channel is passed to the dialplan, and 
> 'move' a channel is passed to another application.
>
> With this in mind would it make sense to have the relevant dialplan 
> applications register themselves as an ARI application? Then you could 
> simply reuse existing definitions (e.g. move) to "transfer" channel 
> ownership to another application. From an ARI perspective it doesn't 
> care where or how an "app" is implemented it just has to conform to 
> the interface.
>
> Obviously, this would mean modifying each chosen dialplan application 
> in some way so that it could register as an ARI application. It then 
> uses the same call to 'move' or 'continue' when it is done with a channel.
>
> Again I have no idea if this is possible given the current state of 
> things, or if would simply be adding a few new API calls that make it 
> easy for a dialplan app to become an ARI application. But it might be 
> worth some time to look into?
>
> On Sat, Mar 30, 2019 at 5:45 PM Sungtae Kim <pchero21 at gmail.com 
> <mailto:pchero21 at gmail.com>> 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.
>
>     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
>
>     Btw, In terms of 'Application' things in Asterisk, I know it's bit
>     weird
>     sound.
>
>     Because it's executing the application in the application. If the
>     Application executed in the Asterisk, all the dialplan's info was
>     changed, but this feature will not change it.
>
>     It wasn't done in the Asterisk before. But if we think of the
>     Stasis()
>     application's specialty, I think this would be OK to having this
>     feature.
>
>     I've committed some codes regarding this, but put it into WIP status.
>     Because I want to get more discussion about this before going further.
>
>     Thank you.
>
>     Best regards,
>     Sungtae
>
>
>     -- 
>     _____________________________________________________________________
>     -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
>     asterisk-dev mailing list
>     To UNSUBSCRIBE or update options visit:
>     http://lists.digium.com/mailman/listinfo/asterisk-dev
>
>
>
> -- 
> Kevin Harwell
> Digium - A Sangoma Company | Senior Software Developer
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - US
> Check us out at: https://digium.com & https://asterisk.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20190403/ff9246dc/attachment.html>


More information about the asterisk-dev mailing list