[asterisk-dev] Audio to/from Asterisk

Seán C. McCord ulexus at gmail.com
Thu Jul 25 12:01:21 CDT 2019


While I know there are people who try to maximize the number of concurrent
calls, that's really not an issue for me.  I dimension these systems to
about 200 calls per Asterisk box.  Even if that were 1000, port exhaustion
just isn't a concern.

On Thu, Jul 25, 2019 at 12:54 PM George Joseph <gjoseph at digium.com> wrote:

> First, I think bidirectionality is a given now.  Still thinking about the
> in vs out thing.
>
> Does anyone have concerns about port exhaustion on an Asterisk instance
> where we're streaming a large number of calls?  Basically, you're adding a
> port for every call being streamed.   I've been considering an "RTP
> Muxing"  approach where a single module would open a connection to the
> audio server and ALL media would flow to/from it over that single
> connection with metadata to distinguish channel/bridge, etc.
>
>
> On Wed, Jul 24, 2019 at 10:30 AM Seán C. McCord <ulexus at gmail.com> wrote:
>
>> I certainly like the foundation on which George's solution is based the
>> best.  It's just not useful to me particularly _until_ it is bidrectional.
>> There is something to be said about the accessibility of websocket as a
>> transport layer, as per Dan's suggestion.  It's more complicated than a
>> pure TCP socket (mainly impeded coding-wise on the Asterisk/C side), which
>> is why I didn't go that route with AudioSockets.  I'm still fairly
>> ambivalent as to the directionality of the connection initiation, but as
>> such, the direction doesn't matter to me.
>>
>> So it _sounds_ like the ideal solution would be a George's solution which
>> added:
>>   - bidirectional audio
>>   - websocket transport option
>>   - arbitrary connection directionality
>>
>> For _my_ case, the only one which really matters is the first.  I don't
>> imagine the second would be a big stretch to do.
>>
>> However, the last seems to me to be a bit more complicated.  It would
>> require overcoming a number of hurdles which outbound conveniently bypasses:
>>   - communicating the allocated port (and IP address?) to the ARI
>> (another event, I'd assume)
>>   - determining the IP address (no small feat)
>>     - configured value? (messy)
>>     - media signaling address from a PJSIP transport? (not very flexible)
>>     - STUN-style discovery? (not designed for this)
>>     - ICE-style discovery?  (complicated, and even more needing of
>> coordination)
>>   - tear-down of listener
>>     - time-wise
>>     - after connection (what if nother ever connects?)
>>     - by command only
>>   - security
>>     - DoS vulnerability
>>
>> Technically, you could say that interface binding is a problem with
>> outbound, too, of course.  It's just more commonly ignorable.
>>
>> As you say, though, Rome was not actually built in a day (unless you play
>> Imperator: Rome, anyway).  George's foundation is clearly better.
>> AudioSockets merely works _now_.
>>
>>
>>
>> On Wed, Jul 24, 2019 at 12:11 PM Joshua C. Colp <jcolp at digium.com> wrote:
>>
>>> On Wed, Jul 24, 2019, at 1:06 PM, Dan Jenkins wrote:
>>> > oh I dont think it should ever live on the same websocket as the ARI
>>> > because of that very reason. But I mean if it could do ARI websocket,
>>> > inbound and outbound tcp connections thats as flexible as you'll ever
>>> > get and _anyone_ could build modern applications via any means.
>>> > starting development using ARI websocket and then potentially moving
>>> to
>>> > inbound/outbound whenever you need to scale further using an ARI proxy
>>> > for example...
>>> >
>>> > I just dont want this feature to come out and then be un-usable for X
>>> > number of applications. Surely Asterisk needs to be the most flexible
>>> > it can be?
>>>
>>> Rome wasn't built in a day. I think building a solid foundation that the
>>> various methods (inbound / outbound) can then be built on top of is good.
>>> Launching with one direction initially to get things flushed out, and then
>>> later adding other options is perfectly reasonable in my opinion - and can
>>> be done since we allow features to be added to release branches.
>>>
>>> --
>>> 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
>>>
>>> --
>>> _____________________________________________________________________
>>> -- 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
>>
>>
>>
>> --
>> Seán C. McCord
>> ulexus at gmail.com
>> CyCore Systems
>> --
>> _____________________________________________________________________
>> -- 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
>
>
>
> --
> *George Joseph*
> Digium - A Sangoma Company | Software Developer | Software Engineering
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - US
> direct/fax: +1 256 428 6012
> Check us out at: https://digium.com · https://sangoma.com
>
> --
> _____________________________________________________________________
> -- 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



-- 
Seán C. McCord
ulexus at gmail.com
CyCore Systems
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20190725/0f13568d/attachment.html>


More information about the asterisk-dev mailing list