<html>
<body>
<div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
<table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
<tr>
<td>
This is an automatically generated e-mail. To reply, visit:
<a href="https://reviewboard.asterisk.org/r/2582/">https://reviewboard.asterisk.org/r/2582/</a>
</td>
</tr>
</table>
<br />
<p>Ship it!</p>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Only thing I spotted was a minor documentation issue.</pre>
<br />
<div>
<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
<thead>
<tr>
<th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
<a href="https://reviewboard.asterisk.org/r/2582/diff/1/?file=38897#file38897line1880" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/main/bridging.c</a>
<span style="font-weight: normal;">
(Diff revision 1)
</span>
</th>
</tr>
</thead>
<tbody>
<tr>
<th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
<th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1880</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> * \param buf Buffer to fill. Is guaranteed to be large enough.</pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">> Is guaranteed to be large enough.
While this is true for the one time this function is called, the lingo seems to imply that the function itself handles this when it is instead a requirement of the function that this be the case. Perhaps this should instead say something like:
"Must be large enough to contain the comma separated list of all bridged peers."</pre>
</div>
<br />
<p>- jrose</p>
<br />
<p>On May 31st, 2013, 5:09 p.m. UTC, rmudgett wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Asterisk Developers.</div>
<div>By rmudgett.</div>
<p style="color: grey;"><i>Updated May 31, 2013, 5:09 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Bugs: </b>
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-21555">ASTERISK-21555</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
Asterisk
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">* The channel variable ATTENDED_TRANSFER_COMPLETE_SOUND is no longer channel driver specific. If the channel variable is set on the transferrer channel, the sound will be played to the target of an attended transfer.
* The channel variable BRIDGEPEER becomes a comma separated list of peers in a multi-party bridge. The BRIDGEPEER value can have a maximum of 10 peers listed. Any more peers in the bridge will not be included in the list. BRIDGEPEER is not valid in holding bridges like parking since those channels do not talk to each other even though they are in a bridge.
* The channel variable BRIDGEPVTCALLID is only valid for two party bridges and will contain a value if the BRIDGEPEER's channel driver supports it.
* The channel variable DYNAMIC_PEERNAME is redundant with BRIDGEPEER and is removed. The more useful DYNAMIC_WHO_ACTIVATED gives the channel name that activated the dynamic feature.
* The channel variables DYNAMIC_FEATURENAME and DYNAMIC_WHO_ACTIVATED are set only on the channel executing the dynamic feature. Executing a dynamic feature on the bridge peer in a multi-party bridge will execute it on all peers of the activating channel.
* Removed no longer needed builtin_blindtransfer() and dependent functions.</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
<tr>
<td>
<pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">* Performed DTMF and external attended transfers with the ATTENDED_TRANSFER_COMPLETE_SOUND channel variable on the transferrer channel. The sound is heard by the transfer target party.
* Created two-party and multi-party bridges. The BRIDGEPEER value updates as bridge parties are added and removed. Tested the maximum limit of peers in the list and got the expected number of peers in the list even though there were more peers.
* Tested BRIDGEPVTCALLID. It only shows up on two party bridges when the peer channel driver supports it.
* Tested DYNAMIC_FEATURES to verify that the DYNAMIC_FEATURENAME and DYNAMIC_WHO_ACTIVATED are set on the executing channel.
</pre>
</td>
</tr>
</table>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>/trunk/CHANGES <span style="color: grey">(390311)</span></li>
<li>/trunk/UPGRADE.txt <span style="color: grey">(390311)</span></li>
<li>/trunk/bridges/bridge_builtin_features.c <span style="color: grey">(390311)</span></li>
<li>/trunk/configs/chan_dahdi.conf.sample <span style="color: grey">(390311)</span></li>
<li>/trunk/configs/iax.conf.sample <span style="color: grey">(390311)</span></li>
<li>/trunk/configs/sip.conf.sample <span style="color: grey">(390311)</span></li>
<li>/trunk/configs/skinny.conf.sample <span style="color: grey">(390311)</span></li>
<li>/trunk/include/asterisk/bridging.h <span style="color: grey">(390311)</span></li>
<li>/trunk/include/asterisk/bridging_features.h <span style="color: grey">(390311)</span></li>
<li>/trunk/main/bridging.c <span style="color: grey">(390311)</span></li>
<li>/trunk/main/features.c <span style="color: grey">(390311)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/2582/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>