<blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">The nativeformats on the channel are set in set_caps, and the<br>format capabilities structure there is supposed to contain the<br>correct framing. Are you saying that this is not true? If so then<br>that is a bug - the nativeformats on the channel are supposed to<br>contain the correct framing as a result of the SDP negotiation<br>itself, which would then get used in the callback for get_codecs,<br>which should then cause the correct framing to appear in<br>bridge_native_rtp.</p></blockquote><p><a href="https://gerrit.asterisk.org/10495">View Change</a></p><p>1 comment:</p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0;"><p><a href="https://gerrit.asterisk.org/#/c/10495/3/bridges/bridge_native_rtp.c">File bridges/bridge_native_rtp.c:</a></p><ul style="list-style: none; padding: 0;"><li style="margin: 0; padding: 0 0 0 16px;"><p style="margin-bottom: 4px;"><a href="https://gerrit.asterisk.org/#/c/10495/3/bridges/bridge_native_rtp.c@718">Patch Set #3, Line 718:</a> </p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><pre style="font-family: monospace,monospace; white-space: pre-wrap;">       read_ptime0 = ast_format_cap_get_format_framing(cap0, ast_channel_rawreadformat(bc0->chan));<br>       read_ptime1 = ast_format_cap_get_format_framing(cap1, ast_channel_rawreadformat(bc1->chan));<br>       write_ptime0 = ast_format_cap_get_format_framing(cap0, ast_channel_rawwriteformat(bc0->chan));<br>     write_ptime1 = ast_format_cap_get_format_framing(cap1, ast_channel_rawwriteformat(bc1->chan));<br></pre></blockquote></p><p><blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;">Yes, I think that is the real bug here.</blockquote></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">So looking at set_caps()<br>Three ast_format_caps structures are all now initialized by the time this line of code is executed.<br>        /* get the joint capabilities between peer and endpoint */<br>        int ret = ast_format_cap_get_compatible(caps, peer, joint);<br>        ast_log(LOG_DEBUG,"PTIME_DEBUG framing - caps = %u peer = %u joint = %u ret = %d\n",caps->framing,peer->framing,joint->framing,ret);<br>        if (!ast_format_cap_count(joint)) {<br>That debug I put in there is called three times over the course of the test.<br>1st time in A LEG -<br> res_pjsip_sdp_rtp.c: PTIME_DEBUG framing - caps = 20 peer = 40 joint = 20 ret = 0<br>2nd time B LEG -<br>res_pjsip_sdp_rtp.c: PTIME_DEBUG framing - caps = 20 peer = 20 joint = 20 ret = 0<br>3rd time A LEG<br>res_pjsip_sdp_rtp.c: PTIME_DEBUG framing - caps = 20 peer = 40 joint = 20 ret = 0</pre><p style="white-space: pre-wrap; word-wrap: break-word;">"caps: and "joint" are always 20ms. "peer" is not used after that line of code so any trace of 40ms is lost.<br>I had to hack in the declaration of ast_format_caps to get the debug to compile.<br>Still looking... but does this look normal?</p></li></ul></li></ul><p>To view, visit <a href="https://gerrit.asterisk.org/10495">change 10495</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/10495"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: 13 </div>
<div style="display:none"> Gerrit-MessageType: comment </div>
<div style="display:none"> Gerrit-Change-Id: Ic64b8fc6a140a93fbdb2f97550a40d0ff334e607 </div>
<div style="display:none"> Gerrit-Change-Number: 10495 </div>
<div style="display:none"> Gerrit-PatchSet: 3 </div>
<div style="display:none"> Gerrit-Owner: Robert Cripps <rcripps@voxbone.com> </div>
<div style="display:none"> Gerrit-Reviewer: George Joseph <gjoseph@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 (1000185) </div>
<div style="display:none"> Gerrit-Reviewer: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Robert Cripps <rcripps@voxbone.com> </div>
<div style="display:none"> Gerrit-Comment-Date: Wed, 07 Nov 2018 16:43:58 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-HasLabels: No </div>