asterisk-modules package built without amr_codec.so

Bug #1845765 reported by Pawel
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
asterisk (Debian)
Fix Released
Unknown
asterisk (Ubuntu)
Fix Released
Undecided
Athos Ribeiro

Bug Description

There is no amr codec in asterisk-modules.deb. It was removed since ver asteriks 16 (ubuntu 18.04). Is there any chance that it will be back in feature compilations?

Revision history for this message
Rafael David Tinoco (rafaeldtinoco) wrote :

Hello Pawel,

I'm currently seeing Build-Depends for both versions (Xenial, 18.04, version 1:13.18.3~dfsg-1ubuntu4) and current (Eoan, 19.04, version 1:16.2.1~dfsg-2build2) and both include:

 libopencore-amrnb-dev,
 libopencore-amrwb-dev,

in debian/control file for the package generation.

Description-en_GB: Adaptive Multi Rate speech codec - shared library
 This library contains an implementation of the 3GPP TS 26.073
 specification for the Adaptive Multi Rate (AMR) speech codec. The
 implementation is derived from the OpenCORE framework, part of the Google
 Android project.

Description-en: Adaptive Multi-Rate - Wideband speech codec - shared library
 This library contains an implementation of the 3GPP TS 26.173 specification for
 the Adaptive Multi-Rate - Wideband (AMR-WB) speech decoder. The implementation
 is derived from the OpenCORE framework, part of the Google Android project.
 .

Apart from that, we are not using any specific codec enablement/disablement for asterisk packages that I can clearly see as a difference among the two versions.

What I was able to found was: Debian dropped open-source Opus (also translates AMR) and VPU8 codec support because they were built out-of-tree in asterisk-opus (also provided by Ubuntu).

asterisk (1:13.13.1~dfsg-2) unstable; urgency=medium

  [ Tzafrir Cohen ]
  * test_framework.patch: fix ABI
  * Add a DAHDI hook script for Asterisk (Closes: #848584)

  [ Bernhard Schmidt ]
  * disable the open-source Opus and VP8 codec
    - these are built out-of-tree in asterisk-opus now, add Suggests

 -- Bernhard Schmidt <email address hidden> Sun, 25 Dec 2016 19:54:12 +0100

BUT, that happened some time ago already.

The "amr.patch" file is still present, from Xenial to Eoan. So, why do you state it was dropped ? Could you explain the issue a little further ?

Thanks!

Changed in asterisk (Ubuntu):
status: New → Incomplete
Revision history for this message
Pawel (pjgr) wrote : Re: [Bug 1845765] Re: asterisk-modules package built without amr_codec.so

Hello,

look at this:

https://packages.ubuntu.com/bionic/amd64/asterisk-modules/filelist

there is:     /usr/lib/asterisk/modules/codec_amr.so
and:      /usr/lib/asterisk/modules/res_format_attr_amr.so

https://packages.ubuntu.com/disco/amd64/asterisk-modules/filelist

there is only: /usr/lib/asterisk/modules/res_format_attr_amr.so

Since 1:16.   amr / amr-wb transcoding simply doesn't work because there
is no module in the package.

Paweł

W dniu 30.09.2019 o 16:42, Rafael David Tinoco pisze:
> Hello Pawel,
>
> I'm currently seeing Build-Depends for both versions (Xenial, 18.04,
> version 1:13.18.3~dfsg-1ubuntu4) and current (Eoan, 19.04, version
> 1:16.2.1~dfsg-2build2) and both include:
>
> libopencore-amrnb-dev,
> libopencore-amrwb-dev,
>
> in debian/control file for the package generation.
>
> Description-en_GB: Adaptive Multi Rate speech codec - shared library
> This library contains an implementation of the 3GPP TS 26.073
> specification for the Adaptive Multi Rate (AMR) speech codec. The
> implementation is derived from the OpenCORE framework, part of the Google
> Android project.
>
> Description-en: Adaptive Multi-Rate - Wideband speech codec - shared library
> This library contains an implementation of the 3GPP TS 26.173 specification for
> the Adaptive Multi-Rate - Wideband (AMR-WB) speech decoder. The implementation
> is derived from the OpenCORE framework, part of the Google Android project.
> .
>
> Apart from that, we are not using any specific codec
> enablement/disablement for asterisk packages that I can clearly see as a
> difference among the two versions.
>
> What I was able to found was: Debian dropped open-source Opus (also
> translates AMR) and VPU8 codec support because they were built out-of-
> tree in asterisk-opus (also provided by Ubuntu).
>
> asterisk (1:13.13.1~dfsg-2) unstable; urgency=medium
>
> [ Tzafrir Cohen ]
> * test_framework.patch: fix ABI
> * Add a DAHDI hook script for Asterisk (Closes: #848584)
>
> [ Bernhard Schmidt ]
> * disable the open-source Opus and VP8 codec
> - these are built out-of-tree in asterisk-opus now, add Suggests
>
> -- Bernhard Schmidt <email address hidden> Sun, 25 Dec 2016 19:54:12 +0100
>
> BUT, that happened some time ago already.
>
> The "amr.patch" file is still present, from Xenial to Eoan. So, why do
> you state it was dropped ? Could you explain the issue a little further
> ?
>
> Thanks!
>
>
>
>
> ** Changed in: asterisk (Ubuntu)
> Status: New => Incomplete
>

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

In bionic, that codec was added by a debian patch:
debian/patches/amr.patch
Description: Add AMR and AMR-WB codec modules supporting transcoding

That patch is present in disco and eoan, but neither have the codec_arm.so file shipped, nor is codec_amr.c mentioned in their respective build logs.

There is this difference in the build's configure output:

bionic (with codec):
checking for Encoder_Interface_init in -lopencore-amrnb... yes
checking opencore-amrnb/interf_enc.h usability... yes
checking opencore-amrnb/interf_enc.h presence... yes
checking for opencore-amrnb/interf_enc.h... yes
checking for D_IF_init in -lopencore-amrwb... yes
checking opencore-amrwb/dec_if.h usability... yes
checking opencore-amrwb/dec_if.h presence... yes
checking for opencore-amrwb/dec_if.h... yes
checking for E_IF_init in -lvo-amrwbenc... yes
checking vo-amrwbenc/enc_if.h usability... yes
checking vo-amrwbenc/enc_if.h presence... yes
checking for vo-amrwbenc/enc_if.h... yes

Disco (without):
checking for Encoder_Interface_init in -lopencore-amrnb... yes
checking opencore-amrnb/interf_enc.h usability... yes
checking opencore-amrnb/interf_enc.h presence... yes
checking for opencore-amrnb/interf_enc.h... yes
checking for D_IF_init in -lopencore-amrwb... yes
checking opencore-amrwb/dec_if.h usability... yes
checking opencore-amrwb/dec_if.h presence... yes
checking for opencore-amrwb/dec_if.h... yes
checking for E_IF_init in -lvo-amrwbenc... no

The file codec_amr.so is also not present in the debian buster package: https://packages.debian.org/buster/amd64/asterisk-modules/filelist

Changed in asterisk (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Dmitriy Rodin (p1p) wrote :

This module depends on opencore-amrnb, opencore-amrwb and vo-amrwbenc together.

Because the libvo-amrwbenc-dev package was not found in the build environment, the compilation of this module was silently skipped.

To solve this problem, add libvo-amrwbenc-dev to build dependencies in debian/control file and rebuild the package.

I copied this module to existing installation and reload asterisk:

Connected to Asterisk 16.2.1~dfsg-2ubuntu1 currently running on vserver3 (pid = 6653)
vserver3*CLI> module show like codec_amr
Module Description Use Count Status Support Level
codec_amr.so AMR Coder/Decoder 0 Running core
1 modules loaded

Dmitriy Rodin (p1p)
Changed in asterisk (Ubuntu):
status: Triaged → Confirmed
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote (last edit ):

Since there is no delta in asterisk, let's go ahead and fix this in Debian. I forwarded the patch to the upstream bug at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=986013; Once it lands, we can work on SRUs and close this bug.

Changed in asterisk (Ubuntu):
assignee: nobody → Athos Ribeiro (athos-ribeiro)
Changed in asterisk (Debian):
status: Unknown → New
Changed in asterisk (Debian):
status: New → Fix Released
Revision history for this message
Athos Ribeiro (athos-ribeiro) wrote :

This has been fixed in Debian in 1:16.16.1~dfsg-3.

1:16.16.1~dfsg-4 has also been released in Debian and sync'd. Once it migrates, we can close this one (or possibly track it to other series for SRUs).

Changed in asterisk (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.