[asterisk-bugs] [JIRA] (ASTERISK-24121) [patch] pass-through support for AMR and AMR-WB
Alexander Traud (JIRA)
noreply at issues.asterisk.org
Tue Aug 5 07:28:56 CDT 2014
[ https://issues.asterisk.org/jira/browse/ASTERISK-24121?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Traud updated ASTERISK-24121:
---------------------------------------
Description:
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.
was:
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-neighbor=2; mode-change-neighbour=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.
> [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: Alexander Traud
> 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