[asterisk-dev] Asterisk goes Spatial Conferencing: the STEAK project

Matt Fredrickson creslin at digium.com
Tue Jul 19 09:35:48 CDT 2016


Response below.

On Mon, Jul 18, 2016 at 7:18 AM, Dennis Guse
<dennis.guse at alumni.tu-berlin.de> wrote:
> Hello,
>
> spatial audio for telephone conferencing has been proclaimed as a
> silver bullet for speech-based telephone conferencing.
> For research, we needed a _production-ready_ system that provides a
> centralized conferencing bridge being able to provide binaural
> synthesized spatial audio (i.e., for a pair of headphones).
> As none was available (except for proprietary solutions), we chose to
> get our hands dirty and extended Asterisk.
> Most important, the modifications were required to  be complaint to
> VoIP standards (no fancy protocol extensions).
> We succeeded and the modifications are now at a stage that makes them
> suited to be merged back upstream.
> Or at least start the discussion on this topic.
>
> Technical Details (at the moment the modifications are based upon 13.6.0):
> * Enabled OPUS (with incoming stereo and outgoing stereo [interleaved])
> * Extended softmix for stereo support (downmixing)
> * Extended the default confbridge (basically added a convolution engine)
>
> We chose OPUS (beside being used for WebRTC) as it allows to
> RTP-channels with stereo (L16 or AMR-WB+ are not really alternatives).
> Convolution was implemented via libfftw3 and the required HRTFs are at
> the moment compiled into Asterisk.
>
> We would now like to bring the changes upstream as we think this is an
> important feature (that might set Asterisk apart) and is not too hard
> to maintain.
>
> More detailed information are available at our website:
> http://steakconferening.de
> and  in the source code (branch >>steak-13.6.0<<):
> https://github.com/steakconferencing/asterisk
>
> In addition, we host WebRTC- based demo (the real system):
> https://demo.steakconferencing.de

That sounds like a really exciting project!

In order to move things forward and get things merged back upstream, I
would advise
1.) Reading over our patch submission process [1] as well as our
coding guidelines [2].
2.) Opening up a code review on gerrit.asterisk.org [3] [4].
3.) While not mandatory for the master branch, it is strongly
encouraged to submit tests for any code submitted [5], particularly
for code that you would like to function for any length of time in the
future.

If it's any code that involves deep architectural changes, expect much
(presumably positive) discussion and feedback on it :-)

Hope that helps, and I look forward to seeing your changes on gerrit.

Matthew Fredrickson

[1] https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process
[2] https://wiki.asterisk.org/wiki/display/AST/Coding+Guidelines
[3] https://wiki.asterisk.org/wiki/display/AST/Code+Review
[4] https://wiki.asterisk.org/wiki/display/AST/Code+Review+Checklist
[5] https://wiki.asterisk.org/wiki/display/AST/Asterisk+Test+Suite+Documentation


-- 
Matthew Fredrickson
Digium, Inc. | Engineering Manager
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA



More information about the asterisk-dev mailing list