[asterisk-users] opus from git : install questions

sean darcy seandarcy2 at gmail.com
Tue Feb 6 15:10:07 CST 2018


On 02/06/2018 07:58 AM, Tzafrir Cohen wrote:
> On Sun, Feb 04, 2018 at 03:15:02PM -0500, sean darcy wrote:
>>
>> On 13.9.0
>> https://github.com/traud/asterisk-opus
>>
>> The README:
>>
>> Alternatively, you can use the Makefile of this repository to create just
>> the shared libraries of the modules. That way, you do not have to (re-) make
>> your whole Asterisk.
>>
>> The Makefile generates:
>> codecs/codec_opus_open_source.so
>> formats/format_ogg_opus_open_source.so
>> formats/format_vp8.so
>> res/res_format_attr_opus.so
> 
> See, e.g. the Debian package asterisk-opus:
> https://packages.debian.org/source/sid/asterisk-opus
> 
> That package builds the opus modules as stand-alone modules out of the
> tree of asterisk. It has a build-time dependency  on the binary package
> asterisk-dev.
> 
> The list of files in it:
> 
>    /usr/lib/asterisk/modules/codec_opus_open_source.so
>    /usr/lib/asterisk/modules/format_ogg_opus_open_source.so
>    /usr/lib/asterisk/modules/format_vp8.so
> 
> IIRC res_format_attr_opus.so in Asterisk proper is by now good enough
> and needs no patching.
> 
> 
>>
>> Without any of the patches the asterisk build generates:
>>
>> codec_opus.so
>>
>> format_ogg_opus.so
> 
> Not by default.
> 

So if I'm building outside the tree, do _not_ select opus in menuselect 
when building asterisk. Correct ? Then copy codec_opus_open_source.so, 
format_ogg_opus_open_source.so and format_vp8.so to {astmoddir} , 
/usr/lib64/asterisk/modules.

>>
>> res_format_attr_opus.so
>>
>> Questions:
>>
>> Should the *_opus_open_source.so be in modules with the *opus.so libraries
>> from the asterisk build ? If not, do I build asterisk without selecting opus
>> ? If they are in modules, how does asterisk know which library to use ?
> 
> You can either copy them to the Asterisk build directory (I do that in
> another Asterisk package I maintain). The build system will just pick
> them up and use them.
> 
> Alternatively, as suggested in the README above, build them outside of
> the Asterisk tree (you'll need to point them to the asterisk source tree,
> or at least to the installed asterisk header files and copy the
> resulting .so files to the astmoddir (e.g. /usr/lib/asterisk/modules).
> 
>>
>> The res_format_attr_opus.so library ?
>>
>> And another question, to enable PLC do I need to apply the patch even if I'm
>> installing the libraries directly ?
> 
> Which patch specifically? I'm not sure I follow.
> 

asterisk-opus-asterisk-13.7/enable_native_plc.patch

 From the README:

Out of the box, Asterisk does not detect lost (or late) RTP packets. 
Such a detection is required to conceal lost packets (PLC). PLC improves 
situations like Wi-Fi Roaming or mobile-phone handovers. This patch 
detects lost/late packets but is experimental.

patch -p1 <./asterisk-opus*/enable_native_plc.patch


Looks like this can't be built out-of-tree, and you need to patch each 
build of asterisk.

>>

>> Thanks for all the work getting opus to work on asterisk.
> 

Appreciate the quick reply.




More information about the asterisk-users mailing list