[asterisk-dev] ARI Extending Existing Feature: bridge control

Nir Simionovich nir.simionovich at gmail.com
Wed Dec 17 17:01:42 CST 2014


While I agree with the both of you - I still don't see a reason why not to
do it.

I'll tell you how I see it - I'm looking at this kind of feature from a
cost/performance/benefit ratio.

Does this kind of feature enable a new benefit that didn't exist previously
- yes.
Does it impact the overall performance of Asterisk - probably not.
Is it a low hanging fruit to develop? - I can't answer that yet
Would it take a longer time to develop a bridge manager externally, or
develop the feature? - I can't answer that yet

Currently, I'm trying to evaluate the task - from a
technical/operational/financial reasoning. If Tech/Ops make sense,
but Finance doesn't - it ain't worth doing.

Let's try and discuss for a minute what it would actually take in order to
do this, instead of debating
if we should or shouldn't.

Yes, maybe you'll say - "in order to do this, you'll need to do 1, 2, 3, 4
...." - and maybe I'll: "cool, I'll have a go
at it", and maybe it will go in, and maybe it will not - but that's open
source. Open Source means, we work collaboratively,
we explore things and keep our minds open to ideas and suggestions.

When Leonid and I created PHPARI about 4 months ago, we created it out of a
need for a proper wrapper that
will fit nicely into our projects. I'm currently aware of 10 different
people using it in production - and some of them
already contributed code and structural changes to it. One of the things
people asked us for an OAuth based
ARI proxy, because they like using tokens. Does ARI truly need something
like that - not really. Does ARI
need better security - for sure. Will we shot down the idea down? not at
this point. We first examine what it will
take to do it, technically, then financially - then we decide.

Damn, this is turning into another theological discussion - not really to
be part of this list.

Let's try to stick to the tech for now and answer the first two questions:

  1. Is there a way to obtain the information in ast_bridge_config for each
of the iterated bridges?
  2. Is there a way to manipulate the configuration of the bridge, via
modifying the associated bridge configuration in real time?

Nir

On Thu, Dec 18, 2014 at 12:33 AM, Phil Mickelson <phil at cbasoftware.com>
wrote:
>
> Nir,
>
> I don't disagree with you at all.  All I'd like is another way.  The
> current methods don't have to disappear.  It's not either or.  However,
> there's also no reason not to explore new methods, is there?
>
> Phil M
>
> On Wed, Dec 17, 2014 at 5:29 PM, Nir Simionovich <
> nir.simionovich at gmail.com> wrote:
>>
>> Phil,
>>
>>   It is one thing to say: "I'm interested in advancement", it is
>> completely a different thing to say: "I don't give a damn about backward
>> compatibility".
>>
>>   Asterisk is a huge community around the world, shifting the community
>> from one methodology of thought to another takes time. During that time
>> of transition, we must think about the fact that some (if not many) will
>> still stick to the old ways.
>>
>>   For example, it took over 3 years to deprecate app_meetme - do you
>> honestly believe it will take the same time to deprecate app_dial? I
>> suspect
>> that the answer will be - app_dial will always be there. We may not like
>> it, but still, it is the simplest way of getting a call out of Asterisk.
>> Like it or not,
>> the dialplan will still be here, even 5 years or 10 years from now - it's
>> the most basic form. In the mean time, we must provide functionality and
>> robustness - if we don't, we'll become irrelevant.
>>
>>
>>
>> On Wed, Dec 17, 2014 at 11:16 PM, Phil Mickelson <phil at cbasoftware.com>
>> wrote:
>>>
>>> Nir, I agree with you about wondering why does the call go through the
>>> dialplan.  Perhaps someone could answer that?  Or, perhaps give us some
>>> idea if this will change?
>>>
>>> In my case, the connection to the dialplan is literally three lines.
>>> The minimum required.  I never return.
>>>
>>> Phil M
>>>
>>>
>>> On Wed, Dec 17, 2014 at 4:12 PM, Nir Simionovich <
>>> nir.simionovich at gmail.com> wrote:
>>>>
>>>> Ok, I'll start with this - I agree with the both of you, ARI is the
>>>> right way to go.
>>>>
>>>> However, when I look at ARI, I see somewhat of a Hybrid. When I say
>>>> hybrid I mean, a tool that enables me to do stuff,
>>>> both inside and outside of the Stasis construct. Example, ARI provides
>>>> a channels API, enabling you to originate a call.
>>>> If ARI was only about stasis, why did we enable the classic
>>>> application/extension, we could have easily just said: "oh,
>>>> originate the call and dump it into a Stasis app" - but that didn't
>>>> happen. Instead, you put the call into a dialplan or an application,
>>>> which in turn, will call the Stasis app (if truly required).
>>>>
>>>> My point is this, if the ability exists and can be added, why not? It
>>>> doesn't break anything that's already in there, it adds much
>>>> needed functionality and it makes ARI richer in comparison to its
>>>> predecessor AMI, which people still have a hard time figuring
>>>> out why they should move to ARI.
>>>>
>>>> This kind of feature can be a tipping point.
>>>>
>>>> My 2c on the matter.
>>>>
>>>>
>>>>
>>>> On Wed, Dec 17, 2014 at 11:04 PM, Phil Mickelson <phil at cbasoftware.com>
>>>> wrote:
>>>>>
>>>>> I agree with Paul 100%.  Given my experience with ARI over the last
>>>>> year and how easy it is to create these apps I would think you could avoid
>>>>> the dialplan completely and easily create a routine to do exactly what you
>>>>> want.
>>>>>
>>>>> 1.  You would know when the call started and was connected.
>>>>> 2.  You can easily play a sound, any sound, to either end of the
>>>>> connection or to both.
>>>>> 3.  You can disconnect the call when you want.
>>>>> 4.  I'm not sure given your requirements but you could even allow the
>>>>> caller (or callee) to put funds in their account to allow for more time.
>>>>>
>>>>> ARI is the way to go!  IMHO.
>>>>>
>>>>> Phil M
>>>>>
>>>>>
>>>>> On Wed, Dec 17, 2014 at 3:58 PM, Paul Belanger <
>>>>> paul.belanger at polybeacon.com> wrote:
>>>>>>
>>>>>> On Wed, Dec 17, 2014 at 3:46 PM, Nir Simionovich
>>>>>> <nir.simionovich at gmail.com> wrote:
>>>>>> > Well,
>>>>>> >
>>>>>> >   In simple words yes. To be more specific, I'd like to do
>>>>>> something like
>>>>>> > this:
>>>>>> >
>>>>>> > 1. Have a simple dialplan that will dialout using the L parameter
>>>>>> in Dial
>>>>>> > application
>>>>>> > 2. Have ARI bridge list function retrieve not only the list of
>>>>>> active
>>>>>> > bridges, but also their allocated duration timers - if assigned
>>>>>> > 3. Provide a means via ARI to manipulate the duration timers
>>>>>> >
>>>>>> Correct me if I am wrong, but I don't think this will work.  Any
>>>>>> bridge or channel from your dialplan would not be controlled by
>>>>>> stasis.  And since it is not in stasis, ARI cannot modify it. I think
>>>>>> the general idea was to build a new app_dial atop of ARI, then your
>>>>>> application would provide that functionality to control the L
>>>>>> parameter.
>>>>>>
>>>>>> --
>>>>>> Paul Belanger | PolyBeacon, Inc.
>>>>>> Jabber: paul.belanger at polybeacon.com | IRC: pabelanger (Freenode)
>>>>>> Github: https://github.com/pabelanger | Twitter:
>>>>>> https://twitter.com/pabelanger
>>>>>>
>>>>>> --
>>>>>> _____________________________________________________________________
>>>>>> -- 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
>>>>>>
>>>>>
>>>>> --
>>>>> _____________________________________________________________________
>>>>> -- 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
>>>>>
>>>>
>>>> --
>>>> _____________________________________________________________________
>>>> -- 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
>>>>
>>>
>>> --
>>> _____________________________________________________________________
>>> -- 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
>>>
>>
>> --
>> _____________________________________________________________________
>> -- 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
>>
>
> --
> _____________________________________________________________________
> -- 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20141218/3d045d38/attachment-0001.html>


More information about the asterisk-dev mailing list