# Codec-opus source code

**URL:** <https://community.asterisk.org/t/codec-opus-source-code/72738>\
**Category:** Asterisk Support\
**Created:** [November 22, 2017, 11:56pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738 "2017-11-22T23:56:21Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![asterisk-0x7f](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@asterisk-0x7f](https://community.asterisk.org/u/asterisk-0x7f)\
**Post date:** [November 22, 2017, 11:56pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/1 "2017-11-22T23:56:21Z")

</div>

Hi,

I migrated my Asterisk to my FreeBSD server, so far so good, expect for one thing. I can’t get _codec-opus_ to work because all I can install/download is a linux binary blob. Where is the source code for codec-opus for Asterisk?

FreeBSD 11  
Asterisk 13 LTS

Also, what’s the fuss about this being an external codec? Why is not added to the tree? From what I understand _code-opus_ is the Asterisk integration, and it still depends on libopus, so why is not in the tree?

Best Regards.

---

<div class="post-metadata">

**Author:** ![jcolp](https://sea1.discourse-cdn.com/asterisk/user_avatar/community.asterisk.org/jcolp/32/8848_2.png) [@jcolp](https://community.asterisk.org/u/jcolp)\
**Post date:** [November 22, 2017, 11:58pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/2 "2017-11-22T23:58:21Z")

</div>

The codec\_opus module is a binary module provided by Digium. There is no FreeBSD version currently available.

---

<div class="post-metadata">

**Author:** ![asterisk-0x7f](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@asterisk-0x7f](https://community.asterisk.org/u/asterisk-0x7f)\
**Post date:** [November 23, 2017, 12:30am UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/3 "2017-11-23T00:30:48Z")

</div>

Why is it a binary module?

---

<div class="post-metadata">

**Author:** ![jcolp](https://sea1.discourse-cdn.com/asterisk/user_avatar/community.asterisk.org/jcolp/32/8848_2.png) [@jcolp](https://community.asterisk.org/u/jcolp)\
**Post date:** [November 23, 2017, 12:33am UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/4 "2017-11-23T00:33:00Z")

</div>

I’ll ask the project manager to respond here when he returns next week (it’s a holiday in the US) to explain the reasoning behind it.

---

<div class="post-metadata">

**Author:** ![asterisk-0x7f](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@asterisk-0x7f](https://community.asterisk.org/u/asterisk-0x7f)\
**Post date:** [November 23, 2017, 12:55am UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/5 "2017-11-23T00:55:18Z")

</div>

Thanks,

Just so you know, this binary module limitation, prevents us from using Opus on both LEDE/OpenWRT (not using glibc and not x86), and FreeBSD because it’s not binary compatible. So it’s an issue.

Having the code, even on a restrictive license would allow admins to use Opus (transcoding) with these systems.

---

<div class="post-metadata">

**Author:** ![malcolmd](https://sea1.discourse-cdn.com/asterisk/user_avatar/community.asterisk.org/malcolmd/32/5_2.png) [@malcolmd](https://community.asterisk.org/u/malcolmd)\
**Post date:** [November 23, 2017, 3:29pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/6 "2017-11-23T15:29:10Z")

</div>

The reasoning is explained in the original blog announcement here:

[http://www.digium.com/blog/2016/09/30/opus-in-asterisk/](http://www.digium.com/blog/2016/09/30/opus-in-asterisk/)

We do not have any additional details to provide.

---

<div class="post-metadata">

**Author:** ![asterisk-0x7f](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@asterisk-0x7f](https://community.asterisk.org/u/asterisk-0x7f)\
**Post date:** [November 23, 2017, 4:31pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/7 "2017-11-23T16:31:33Z")

</div>

Thanks for the links!

I was mislead into thinking that this codec was just a bridge between libopus and Asterisk (since most of the early implementation I found online did that). However, it’s seems like it’s a full blown codec and could explain the binary blob.

Hopefully, it’s will be available as source at one point. Meanwhile, I’ll try to make a bridge myself if I ever I free time (going the same route as asterisk-g72x and g729).

---

<div class="post-metadata">

**Author:** ![traud](https://avatars.discourse-cdn.com/v4/letter/t/3da27b/32.png) [@traud](https://community.asterisk.org/u/traud)\
**Post date:** [November 28, 2017, 5:14pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/8 "2017-11-28T17:14:51Z")

</div>

The binary of Digium is just a bridge as well. Anyway, the community created an [open-source variant…](http://github.com/traud?tab=repositories&q=asterisk)

---

<div class="post-metadata">

**Author:** ![asterisk-0x7f](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@asterisk-0x7f](https://community.asterisk.org/u/asterisk-0x7f)\
**Post date:** [November 28, 2017, 5:27pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/9 "2017-11-28T17:27:50Z")

</div>

Thx a lot, I could only find older version of this! I guess I didn’t try hard enough.

---

<div class="post-metadata">

**Author:** ![asterisk-0x7f](https://avatars.discourse-cdn.com/v4/letter/a/eada6e/32.png) [@asterisk-0x7f](https://community.asterisk.org/u/asterisk-0x7f)\
**Post date:** [November 28, 2017, 6:23pm UTC](https://community.asterisk.org/t/codec-opus-source-code/72738/10 "2017-11-28T18:23:06Z")

</div>

Installed and working, thank you!
