<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/3407/">https://reviewboard.asterisk.org/r/3407/</a>
     </td>
    </tr>
   </table>
   <br />










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On April 3rd, 2014, 2:24 p.m. CDT, <b>Mark Michelson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<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/3407/diff/1/?file=56911#file56911line46" style="color: black; font-weight: bold; text-decoration: underline;">/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_direct_media/test-config.yaml</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">46</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="c1"># Charlie receives transfered call and sends audio to Alice</span></pre></td>
  </tr>

  <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">47</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="p-Indicator">-</span> <span class="p-Indicator">{</span> <span class="s">'key-args'</span><span class="p-Indicator">:</span> <span class="p-Indicator">{</span><span class="s">'scenario'</span><span class="p-Indicator">:</span> <span class="s">'charlie.xml'</span><span class="p-Indicator">,</span> <span class="s">'-p'</span><span class="p-Indicator">:</span> <span class="s">'5060'</span><span class="p-Indicator">,</span> <span class="s">'-i'</span><span class="p-Indicator">:</span> <span class="s">'127.0.0.4'</span><span class="p-Indicator">,</span> <span class="s">'-timeout'</span><span class="p-Indicator">:</span> <span class="s">'20s'</span><span class="p-Indicator">,</span> <span class="s">'-min_rtp_port'</span><span class="p-Indicator">:</span> <span class="s">'6004'</span><span class="p-Indicator">,</span> <span class="s">'-max_rtp_port'</span><span class="p-Indicator">:</span> <span class="s">'6008'</span><span class="p-Indicator">,</span> <span class="s">'-mi'</span><span class="p-Indicator">:</span> <span class="s">'127.0.0.4'</span><span class="p-Indicator">},</span></pre></td>
  </tr>

  <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">48</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                    <span class="s">'ordered-args'</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'-timeout_error'</span><span class="p-Indicator">,</span> <span class="s">'-key'</span><span class="p-Indicator">,</span> <span class="s">'custom_media_port'</span><span class="p-Indicator">,</span> <span class="s">'6004'</span><span class="p-Indicator">]</span> <span class="p-Indicator">}</span></pre></td>
  </tr>

  <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">49</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="c1"># Bob receives call from Alice and then attempts to blind transfer Alice to Charlie</span></pre></td>
  </tr>

  <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">50</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="p-Indicator">-</span> <span class="p-Indicator">{</span> <span class="s">'key-args'</span><span class="p-Indicator">:</span> <span class="p-Indicator">{</span><span class="s">'scenario'</span><span class="p-Indicator">:</span> <span class="s">'bob.xml'</span><span class="p-Indicator">,</span> <span class="s">'-p'</span><span class="p-Indicator">:</span> <span class="s">'5060'</span><span class="p-Indicator">,</span> <span class="s">'-i'</span><span class="p-Indicator">:</span> <span class="s">'127.0.0.3'</span><span class="p-Indicator">,</span> <span class="s">'-s'</span><span class="p-Indicator">:</span> <span class="s">'alice'</span><span class="p-Indicator">,</span> <span class="s">'-timeout'</span><span class="p-Indicator">:</span> <span class="s">'20s'</span><span class="p-Indicator">,</span> <span class="s">'-min_rtp_port'</span><span class="p-Indicator">:</span> <span class="s">'6004'</span><span class="p-Indicator">,</span> <span class="s">'-max_rtp_port'</span><span class="p-Indicator">:</span> <span class="s">'6008'</span><span class="p-Indicator">,</span> <span class="s">'-mi'</span><span class="p-Indicator">:</span> <span class="s">'127.0.0.3'</span><span class="p-Indicator">},</span></pre></td>
  </tr>

  <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">51</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                    <span class="s">'ordered-args'</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'-timeout_error'</span><span class="p-Indicator">,</span> <span class="s">'-key'</span><span class="p-Indicator">,</span> <span class="s">'custom_media_port'</span><span class="p-Indicator">,</span> <span class="s">'6004'</span><span class="p-Indicator">]</span> <span class="p-Indicator">}</span></pre></td>
  </tr>

  <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">52</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="c1"># Alice calls Bob, sends audio to Charlie when transfered</span></pre></td>
  </tr>

  <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">53</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="p-Indicator">-</span> <span class="p-Indicator">{</span> <span class="s">'key-args'</span><span class="p-Indicator">:</span> <span class="p-Indicator">{</span><span class="s">'scenario'</span><span class="p-Indicator">:</span> <span class="s">'alice.xml'</span><span class="p-Indicator">,</span> <span class="s">'-p'</span><span class="p-Indicator">:</span> <span class="s">'5060'</span><span class="p-Indicator">,</span> <span class="s">'-i'</span><span class="p-Indicator">:</span> <span class="s">'127.0.0.2'</span><span class="p-Indicator">,</span> <span class="s">'-s'</span><span class="p-Indicator">:</span> <span class="s">'bob'</span><span class="p-Indicator">,</span> <span class="s">'-timeout'</span><span class="p-Indicator">:</span> <span class="s">'20s'</span><span class="p-Indicator">,</span> <span class="s">'-min_rtp_port'</span><span class="p-Indicator">:</span> <span class="s">'6004'</span><span class="p-Indicator">,</span> <span class="s">'-max_rtp_port'</span><span class="p-Indicator">:</span> <span class="s">'6008'</span><span class="p-Indicator">,</span> <span class="s">'-mi'</span><span class="p-Indicator">:</span> <span class="s">'127.0.0.2'</span><span class="p-Indicator">},</span></pre></td>
  </tr>

  <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">54</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                    <span class="s">'ordered-args'</span><span class="p-Indicator">:</span> <span class="p-Indicator">[</span><span class="s">'-timeout_error'</span><span class="p-Indicator">,</span> <span class="s">'-key'</span><span class="p-Indicator">,</span> <span class="s">'custom_media_port'</span><span class="p-Indicator">,</span> <span class="s">'6004'</span><span class="p-Indicator">]</span> <span class="p-Indicator">}</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">The comments here contradict what is said in the test description. The test description says that Alice transfers Bob to Charlie, but these comments say that Bob transfers Alice to Charlie.

Same applies for the second scenario.</pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I blame my copy & paste for not automatically making the changes.  :)</pre>
<br />




<p>- jbigelow</p>


<br />
<p>On April 4th, 2014, 5:44 p.m. CDT, jbigelow 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.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Asterisk Developers.</div>
<div>By jbigelow.</div>


<p style="color: grey;"><i>Updated April 4, 2014, 5:44 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-23446">ASTERISK-23446</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
testsuite
</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;">These tests cover nominal caller initiated blind transfer tests using PJSIP.

Note: All three tests currently fail due to the issues described in ASTERISK-23501 & ASTERISK-23502.

Each test ensures the presents and values of the following:
* channel variables SIPREFERREDBYHDR, SIPREFERTOHDR, SIPTRANSFER, and SIPREFERRINGCONTEXT.
* the BlindTransfer event.
* the 'Referred-By' header in the INVITE sent to Charlie.

Each test also sets the TRANSFER_CONTEXT channel variable to ensure the transfer still occurs properly. The 'caller_with_hold' test additionally requires and checks the MusicOnHoldStart & MusicOnHoldStop events.

Tests:
* caller_refer_only: Uses PJSua library. Basic blind transfer without a hold or direct media being performed at any time. Changes were required to the pjsua_mod.py library to be able to associate pjsua accounts with a specific pjsua transport.
* caller_direct_media: Uses SIPp. Blind transfer with direct media between the endpoints before and after the transfer.
* caller_with_hold: Uses SIPp. Blind transfer with putting the callee on hold before the transfer.</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;">* Added a pre-dial handler when dialing charlie to add the Referred-By
header and commented out the header match for the SIPREFERTOHDR channel
variable. This was to mimic a successful pass to validate the test. This was done for each.
** Executed tests in a loop 50+ times to ensure stability.
* Reviewed test suite & Asterisk logs.</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>/asterisk/trunk/tests/channels/pjsip/transfers/tests.yaml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/tests.yaml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_with_hold/test-config.yaml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_with_hold/sipp/charlie.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_with_hold/sipp/bob.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_with_hold/sipp/alice.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_with_hold/configs/ast1/pjsip.conf <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_with_hold/configs/ast1/extensions.conf <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_refer_only/transfer.py <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_refer_only/test-config.yaml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_refer_only/configs/ast1/pjsip.conf <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_refer_only/configs/ast1/extensions.conf <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_direct_media/test-config.yaml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_direct_media/sipp/charlie.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_direct_media/sipp/bob.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_direct_media/sipp/alice.xml <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_direct_media/configs/ast1/pjsip.conf <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_direct_media/configs/ast1/extensions.conf <span style="color: grey">(PRE-CREATION)</span></li>

 <li>/asterisk/trunk/tests/channels/pjsip/tests.yaml <span style="color: grey">(4911)</span></li>

 <li>/asterisk/trunk/lib/python/asterisk/pjsua_mod.py <span style="color: grey">(4911)</span></li>

</ul>

<p><a href="https://reviewboard.asterisk.org/r/3407/diff/" style="margin-left: 3em;">View Diff</a></p>







  </td>
 </tr>
</table>








  </div>
 </body>
</html>