<blockquote style="border-left: 1px solid #aaa; margin: 10px 0; padding: 0 10px;"><p style="white-space: pre-wrap; word-wrap: break-word;">(1 comment)</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><p style="white-space: pre-wrap; word-wrap: break-word;">I've been tracing this problem starting at where ast_format_cap framing member is written.<br>In res_pjsip_sdp_rtp.c there is function set_caps.<br>It calls ast_rtp_codecs_payload_formats() and sets framing on ast_format_cap using the instance called "peer"<br>It's called 3 times.<br>1st - on the A LEG when after the initial INVITE is received from the uac script and framing is written to 40ms<br>2nd - on the B LEG when the 200 OK is received to the INVITE sent by asterisk to the uas script and it's set to 20ms<br>3rd - on the B LEG when the 200 OK is sent to the UAC and it's set to 40ms<br>These all make sense as the A LEG is negotiated to 40ms and the B LEG to 20ms. However, that "peer" ast_format_cap is never saved anywhere.<br>When bridge_native compatible check is called cap0 and cap1 are constructed fresh and if you put logging inside ast_format_cap_get_format_framing() there is no trace of 40ms only 20ms.<br>I may be barking up the wrong tree here but the only place I can see the framing stored is where I put my patch.</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 12:08:19 +0000 </div>
<div style="display:none"> Gerrit-HasComments: Yes </div>
<div style="display:none"> Gerrit-HasLabels: No </div>