<p>Joshua Colp <strong>uploaded patch set #9</strong> to this change.</p><p><a href="https://gerrit.asterisk.org/5876">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">chan_pjsip: Multistream: Actually do it.<br><br>This change allows chan_pjsip to negotiate and use<br>multiple streams on both incoming and outgoing SDP<br>negotiation.<br><br>For both offering and answering we will restrict what<br>streams are allowed by declining when the maximum<br>number of configured streams is reached. This allows<br>us to maintain the proper ordering for streams.<br><br>When sending an offer we will use the topology that<br>has been provided by a calling party or what has<br>been provided by an application.<br><br>When sending an answer we will accept how ever many<br>streams has been configured as the maximum and decline<br>any further streams. In the future it will be up to<br>the application currently handling the channel to<br>provide a response topology back.<br><br>When both of these negotiations are complete the<br>pending media updates are applied to PJSIP and the<br>Asterisk channel. This results in an updated stream<br>topology which is communicated to the application<br>currently handling the channel.<br><br>Some other bonus things as a result of this is that<br>some of the logic for handling media reading and writing<br>is now done via an API which allows it to more easily<br>live outside of chan_pjsip itself.<br><br>The res_pjsip_sdp_rtp has now also gained basic support<br>for declining media streams.<br><br>For the case of direct media, however, only the first<br>audio and video streams will be directly reinvited. In<br>the future when bridge_native_rtp is updated to understand<br>streams and the RTP glue API extended this could be improved.<br><br>Change-Id: I8afd8dd2eb538806a39b887af0abd046266e14c7<br>---<br>M channels/chan_pjsip.c<br>M channels/pjsip/cli_commands.c<br>M channels/pjsip/dialplan_functions.c<br>M channels/pjsip/include/chan_pjsip.h<br>M include/asterisk/res_pjsip_session.h<br>M include/asterisk/stream.h<br>M main/channel.c<br>M main/stream.c<br>M res/res_pjsip_sdp_rtp.c<br>M res/res_pjsip_session.c<br>M res/res_pjsip_session.exports.in<br>M res/res_pjsip_t38.c<br>12 files changed, 1,263 insertions(+), 560 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/76/5876/9</pre><p>To view, visit <a href="https://gerrit.asterisk.org/5876">change 5876</a>. To unsubscribe, 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/5876"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newpatchset </div>
<div style="display:none"> Gerrit-Change-Id: I8afd8dd2eb538806a39b887af0abd046266e14c7 </div>
<div style="display:none"> Gerrit-Change-Number: 5876 </div>
<div style="display:none"> Gerrit-PatchSet: 9 </div>
<div style="display:none"> Gerrit-Owner: Joshua Colp <jcolp@digium.com> </div>
<div style="display:none"> Gerrit-Reviewer: Jenkins2 </div>