<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 />











<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/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="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;">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>
</div>
<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/3407/diff/1/?file=56915#file56915line71" style="color: black; font-weight: bold; text-decoration: underline;">/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_refer_only/transfer.py</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">71</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">log_call_info</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">uri</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">remote_uri</span><span class="p">,</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">72</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">state_text</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">last_code</span><span class="p">,</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">73</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">last_reason</span><span class="p">)</span></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;">IMO, log_call_info would be more sane if it just took in self.call.info() as its only parameter and then extracted what it cared about afterwards.</pre>
</div>
<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/3407/diff/1/?file=56915#file56915line90" style="color: black; font-weight: bold; text-decoration: underline;">/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_refer_only/transfer.py</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">90</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="k">def</span> <span class="nf">on_transfer_status</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">code</span><span class="p">,</span> <span class="n">reason</span><span class="p">,</span> <span class="n">final</span><span class="p">,</span> <span class="n">cont</span><span class="p">):</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">91</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">LOGGER</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Call '</span><span class="si">%s</span><span class="s">' <-> '</span><span class="si">%s</span><span class="s">'"</span> <span class="o">%</span> <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">uri</span><span class="p">,</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">92</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">remote_uri</span><span class="p">))</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">93</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">LOGGER</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Call state: '</span><span class="si">%s</span><span class="s">'; last code: '</span><span class="si">%s</span><span class="s">'; last reason: '</span><span class="si">%s</span><span class="s">'"</span> <span class="o">%</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">94</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">state_text</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">last_code</span><span class="p">,</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">95</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                    <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">last_reason</span><span class="p">))</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">96</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="n">code</span> <span class="o">==</span> <span class="mi">200</span> <span class="ow">and</span> <span class="n">reason</span> <span class="o">==</span> <span class="s">"OK"</span> <span class="ow">and</span> <span class="n">final</span> <span class="o">==</span> <span class="mi">1</span> <span class="ow">and</span> <span class="n">cont</span> <span class="o">==</span> <span class="mi">0</span><span class="p">:</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">97</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="n">LOGGER</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">"Transfer target answered the call."</span><span class="p">)</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">98</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="n">LOGGER</span><span class="o">.</span><span class="n">debug</span><span class="p">(</span><span class="s">"Call uri: '</span><span class="si">%s</span><span class="s">'; remote uri: '</span><span class="si">%s</span><span class="s">'"</span> <span class="o">%</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">99</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                    <span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">uri</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">info</span><span class="p">()</span><span class="o">.</span><span class="n">remote_uri</span><span class="p">))</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">100</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="n">LOGGER</span><span class="o">.</span><span class="n">info</span><span class="p">(</span><span class="s">"Hanging up Alice"</span><span class="p">)</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">101</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="bp">self</span><span class="o">.</span><span class="n">call</span><span class="o">.</span><span class="n">hangup</span><span class="p">(</span><span class="n">code</span><span class="o">=</span><span class="mi">200</span><span class="p">,</span> <span class="n">reason</span><span class="o">=</span><span class="s">"Q.850;cause=16"</span><span class="p">)</span></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;">From on_transfer_status callback documentation:

"Return:
        If the callback returns false then no further notification will
        be sent for the transfer request for this call."

So in other words you're supposed to return something. The docs suggest returning cont.</pre>
</div>
<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/3407/diff/1/?file=56921#file56921line42" style="color: black; font-weight: bold; text-decoration: underline;">/asterisk/trunk/tests/channels/pjsip/transfers/blind_transfer/caller_with_hold/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">42</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">43</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">44</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">45</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">46</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">47</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">48</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">49</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">50</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="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;">Same comment here as for the earlier SIPp test: The comments above the scenarios contradict what the description states.</pre>
</div>
<br />



<p>- Mark Michelson</p>


<br />
<p>On March 29th, 2014, 5:59 a.m. UTC, 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 March 29, 2014, 5:59 a.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>