[asterisk-bugs] [JIRA] (ASTERISK-29185) chan_pjsip: Endpoint: allow = all is broken.
Kevin Harwell (JIRA)
noreply at issues.asterisk.org
Mon Nov 30 17:16:16 CST 2020
[ https://issues.asterisk.org/jira/browse/ASTERISK-29185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kevin Harwell updated ASTERISK-29185:
-------------------------------------
Component/s: (was: . I did not set the category correctly.)
Core/RTP
> chan_pjsip: Endpoint: allow = all is broken.
> --------------------------------------------
>
> Key: ASTERISK-29185
> URL: https://issues.asterisk.org/jira/browse/ASTERISK-29185
> Project: Asterisk
> Issue Type: Bug
> Security Level: None
> Components: Core/CodecInterface, Core/RTP
> Affects Versions: 16.15.0, 18.1.0
> Reporter: Alexander Traud
> Severity: Minor
> Labels: patch
> Attachments: allow-all.patch
>
>
> {{pjmedia_sdp_rtpmap_to_attr}} asserts when the clock rate of a media format is not set. If asserts are not active, you configured Asterisk without {{--enable-developer-mode}}, the SDP of egress calls is simply empty.
> * testlaw
> The clock rate of testlaw is never set.
> * Codec 2
> The clock rate of Codec 2 is set only if the codec_codec2.so module is loaded. That module is loaded only when the development package of Codec 2 existed at built-time.
> * SiLK
> The clock rate of SiLK is set only if the codec_silk.so module is loaded. That module has to be explicitly selected via {{make menuselect}} or downloaded from Digium.
> The latter two media formats do not support pass-through without their shared library. This was simply a choice of the Asterisk Team because the RTP payload IDs get depleted. Therefore, those two media formats register themselves not in the general {{ast_rtp_engine_init(.)}} but in their {{load_module()}} via {{ast_rtp_engine_load_format}}.
> Consequently, the bug is actually bigger: chan_pjsip loads cached formats instead of registered formats. Therefore, the attached patch is more like a hack because it checks whether a cached format is also registered. Theoretically (but not seen in the wild yet), there could be registered formats that are not cached.
> *Workaround*
> {code}type = endpoint
> allow = all
> disallow = testlaw,codec2,silk8,silk12,silk16,silk24{code}
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list