[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