[asterisk-bugs] [JIRA] (ASTERISK-25160) [patch] Opus Codec: SIP/SDP line fmtp missing when called internally
Alexander Traud (JIRA)
noreply at issues.asterisk.org
Mon Nov 9 06:58:33 CST 2015
[ https://issues.asterisk.org/jira/browse/ASTERISK-25160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=226492#comment-226492 ]
Alexander Traud edited comment on ASTERISK-25160 at 11/9/15 6:58 AM:
---------------------------------------------------------------------
This is marked as a minor bug, because I do not know a scenario when this bug is noticed by an end-user. The mentioned formats are pass-through only, yet and do not work for local extensions. Even when used with the transcoding module for the [Opus Codec |https://github.com/seanbright/opus], this does not affect end-users, because rtpmap is ignored with that module. However, this is an issue in my transcoding modules for [iLBC 20|https://github.com/traud/asterisk-ilbc], [SILK|https://github.com/traud/asterisk-silk], and [AMR(-WB)|https://github.com/traud/asterisk-amr]. Those modules require a working {{fmtp}} even for local extensions.
Patch A does not solve the actual cause but avoids this situation. I do not like this approach, because not just "generate" but "joint" and "compare" could be affected by this bug as well. Nevertheless, joint/compare did not misbehave for me, yet.
Patch B solves the actual cause. At least for cached formats (type I). I was not able to create a scenario with a format from type II. Therefore, patch B does not include that part. Instead, this is the topic of ASTERISK-25535.
was (Author: traud):
This is marked as a minor bug, because I do not know a scenario when this bug is noticed by an end-user. The mentioned formats are pass-through only, yet and do not work for local extensions. Even when used with the transcoding module for the [Opus Codec |https://github.com/seanbright/opus], this does not affect end-users, because rtpmap is ignored with that module. However, this is an issue in my transcoding modules for [iLBC 20|https://github.com/traud/asterisk-ilbc], [SILK|https://github.com/traud/asterisk-silk], and [AMR(-WB)|https://github.com/traud/asterisk-amr]. Those modules require a working {{fmtp}} even for local extensions.
Patch A does not solve the actual cause but avoids this situation. I do not like this approach, because not just "generate" but "joint" and "compare" could be affected by this bug as well. Nevertheless, joint/compare did not misbehave for me, yet.
Patch B solves the actual cause. At least for cached formats (type I). I was not able to create a scenario with a format from type II. Therefore, patch B does not include that part. Instead, this is the topic of ASTERISK-25535.
*Question to the Asterisk team:*
Why are format-attribute modules loaded so late, after channels are loaded?
> [patch] Opus Codec: SIP/SDP line fmtp missing when called internally
> --------------------------------------------------------------------
>
> Key: ASTERISK-25160
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-25160
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Channels/chan_sip/CodecHandling
> Affects Versions: SVN, 13.4.0
> Environment: Ubuntu 14.04 LTS
> Reporter: Alexander Traud
> Severity: Minor
> Attachments: A_generate_sdp_fmtp_always.patch, B_register_interface_with_cached.patch
>
>
> Sometimes, Asterisk does not send a line {{x=fmtp:y}} while negotiating the formats via SIP/SDP. This affects all formats with an attribute module like H.263, H.264, and Opus {{res/res_format_attr_opus.c}}.
> This happens, because {{ast_format_generate_sdp_fmtp}} is called with a format without an attribute module (variable {{interface}} is NULL). This happens, because such a format was created before its attribute module got registered. This happens for
> I) cached formats: main » ast_codec_builtin_init » CODEC_REGISTER_AND_CACHE » ast_format_create | ast_format_cache_set » set_cached_format
> II) local capabilities: main » ast_local_init » ast_format_cap_append_by_type » ast_format_create
> Steps to reproduce:
> # {{make install samples}}
> # edit the configuration file {{sip.conf}} to allow {{opus}}
> # dial echo-test extension (600)
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list