[asterisk-bugs] [JIRA] (ASTERISK-24121) [patch] pass-through support for AMR and AMR-WB

Matt Jordan (JIRA) noreply at issues.asterisk.org
Thu Aug 21 09:27:29 CDT 2014


    [ https://issues.asterisk.org/jira/browse/ASTERISK-24121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=221840#comment-221840 ] 

Matt Jordan commented on ASTERISK-24121:
----------------------------------------

Unfortunately, there's been no further discussion :-(

As this is an improvement, the patch needs to be made against trunk. Since the media format architecture was heavily revamped in 13/trunk, the patch - as is - won't apply cleanly.

{quote}
* Asterisk 12 does not pass-through SDP attributes, yet. Opus faces the same limitation. To address this, I have a patch in testing right now, and I am going to post it in August. Until then, you are limited to the default values, like octet-align=0 and all modes set. This could create no-audio. situations. If you need GSM compatibility (3GPP TS 26.103) or you want to reduce the RTP bandwidth from 40 kb/s to below 30 kb/s
    octet-align=0; mode-set=0,1,2; mode-change-period=2; mode-change-neighbor=1
    just change the call of ast_format_set.

* Asterisk 12 is not able to remove pass-through codecs in a SDP offer, if the remote call-leg does not support them, see ASTERISK-11782. Opus faces the same limitation. This could create no-audio situations. Again, the patch for this issue (same as above) is in its testing phase. 
{quote}

While there were bugs with passing through attributes, those should have been resolved in both 12 and 13/trunk. This patch is not necessary to fix the attribute pass through issues that occurred in those versions.

If there isn't going to be any discussion of this patch and its intended purpose, as well as a port to trunk, then I'd move to close it out.

> [patch] pass-through support for AMR and AMR-WB
> -----------------------------------------------
>
>                 Key: ASTERISK-24121
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-24121
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: Codecs/NewFeature
>    Affects Versions: Feature Tracker
>         Environment: Ubuntu 14.04 LTS
>            Reporter: Alexander Traud
>            Assignee: Matt Jordan
>         Attachments: CMakeLists.txt, codec_amr.c, codecDynamic_for_Asterisk11.patch, codecDynamic_for_Asterisk12.patch
>
>
> This patch and the module should speed up the development of your own, favorite pass-through codec: The patch allows to load a pass-through media-codec module while Asterisk is running. As example of such a module, AMR(-WB) was implemented.
> This is an implementation of [RFC 4867|https://tools.ietf.org/html/rfc4867]. Sometimes, AMR is called AMR Narrowband (AMR-NB). AMR Wideband (ITU-T Recommendation G.722.2) is sometimes abbreviated W-AMR ([GSA|http://www.gsacom.com/hdvoice/]). GSMA Mobile [HD Voice|https://www.youtube.com/playlist?&list=PLj1MyDu3jckpSciPQ1Max0W6HDSaY8-n4] is based on [AMR-WB|http://www.youtube.com/watch?v=T6HsGyKU46c]. Research papers comparing various audio codecs: [InterSpeech 2010|http://research.nokia.com/files/public/%5B12%5D_Interspeech%202010_Voice%20Quality%20Evaluation%20of%20Recent%20Open%20Source%20Codecs.pdf], [ICASSP 2010|http://research.nokia.com/files/public/%5B11%5D_ICASSP2010_Voice%20Quality%20Evaluation%20of%20Various%20Codecs.pdf], [InterSpeech 2011|http://research.nokia.com/files/public/%5B16%5D_InterSpeech2011_Voice_Quality_Characterization_of_IETF_Opus_Codec.pdf]. Further [samples …|http://www.voiceage.com/Audio-Samples-Listening-Room.html]
> \\
> \\
> *Limitations*
> * Removing the module/format without restarting Asterisk, is not supported. If you need this, please, add this!
> * Not all AMR attributes mentioned in the RFC are supported.
> * Asterisk 12 does not pass-through SDP attributes, yet. Opus faces the same limitation. To address this, I have a patch in testing right now, and I am going to post it in August. Until then, you are limited to the default values, like octet-align=0 and all modes set. This could create no-audio. situations. If you need GSM compatibility (3GPP TS 26.103) or you want to reduce the RTP bandwidth from 40 kb/s to below 30 kb/s
> {{octet-align=0; mode-set=0,1,2; mode-change-period=2; mode-change-neighbor=1}}
> just change the call of {{ast_format_set}}.
> * Asterisk 12 is not able to remove pass-through codecs in a SDP offer, if the remote call-leg does not support them, see ASTERISK-11782. Opus faces the same limitation. This could create no-audio situations. Again, the patch for this issue (same as above) is in its testing phase.
> \\
> *How-to Compile*
> before you start, patch your Asterisk as usual; Asterisk 11.11 and Asterisk 12.4 were tested
> {{sudo apt-get install build-essential cmake}}
> {{mkdir codec_amr && cd ./codec_amr/}}
> {{wget https://issues.asterisk.org/jira/secure/attachment/50793/CMakeLists.txt}}
> {{wget https://issues.asterisk.org/jira/secure/attachment/50794/codec_amr.c}}
> {{cmake .}}
> {{sudo make install}}
> *Thank You*
> goes to [~marcelloceschia] for the idea, the initial patch, and allowing me to post the final version to the general public.



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list