[asterisk-bugs] [JIRA] (ASTERISK-25160) SIP: SDP: Audio-Codecs: Opus: rtpmap missing
Alexander Traud (JIRA)
noreply at issues.asterisk.org
Mon Jun 15 05:53:32 CDT 2015
[ https://issues.asterisk.org/jira/browse/ASTERISK-25160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Alexander Traud updated ASTERISK-25160:
---------------------------------------
Attachment: B_register_interface_with_cached.patch
A_generate_sdp_fmtp_always.patch
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 [Opus transcoding module|https://github.com/seanbright/opus], this does not affect end-users, because rtpmap is ignored with that module.
However, I am working on a AMR/AMR-WB transcoding module, and that requires a working rtpmap even for local extensions.
The attached patch A does not solve the actual cause but avoids this situation. I do not like that 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.
Anyway, I created patch B, which 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.
If anyone has a test scenario for the latter, I would be more than happy to extend that patch to cover II as well. If anyone has a more general idea how to address this, like reordering the init, or something, happy to hear from you!
> SIP: SDP: Audio-Codecs: Opus: rtpmap missing
> --------------------------------------------
>
> 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 "rtpmap" line in 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 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