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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 4th, 2014, 4:38 p.m. CST, <b>Matt Jordan</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/3191/diff/10/?file=55326#file55326line753" style="color: black; font-weight: bold; text-decoration: underline;">/branches/12/res/ari/resource_channels.c</a>
    <span style="font-weight: normal;">

     (Diff revision 10)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void ast_ari_channels_originate(struct ast_variable *headers,</pre></td>
   <td colspan="2"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">720</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="kt">void</span> <span class="n">ast_ari_channels_originate</span><span class="p">(</span><span class="k">struct</span> <span class="n">ast_variable</span> <span class="o">*</span><span class="n">headers</span><span class="p">,</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">753</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="k">static</span> <span class="kt">void</span> <span class="n">ari_channels_handle_originate_with_id</span><span class="p">(</span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_endpoint</span><span class="p">,</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">721</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">struct</span> <span class="n">ast_ari_channels_originate_args</span> <span class="o">*</span><span class="n">args</span><span class="p">,</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">754</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_extension</span><span class="p">,</span></pre></td>
  </tr>

 </tbody>


 
 

 <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">755</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_context</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">756</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="kt">long</span> <span class="n">args_priority</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">757</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_app</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">758</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_app_args</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">759</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_caller_id</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">760</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="kt">int</span> <span class="n">args_timeout</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">761</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">struct</span> <span class="n">ast_variable</span> <span class="o">*</span><span class="n">variables</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">762</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_channel_id</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">763</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">const</span> <span class="kt">char</span> <span class="o">*</span><span class="n">args_other_channel_id</span><span class="p">,</span></pre></td>
  </tr>

 </tbody>


 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">722</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">struct</span> <span class="n">ast_ari_response</span> <span class="o">*</span><span class="n">response</span><span class="p">)</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">764</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">struct</span> <span class="n">ast_ari_response</span> <span class="o">*</span><span class="n">response</span><span class="p">)</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">723</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="p">{</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">765</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="p">{</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;">What was the reason for breaking apart ast_ari_channels_originate_args?

It's probably easier to pass that around then all of these separate values.</pre>
 </blockquote>



 <p>On March 4th, 2014, 5:54 p.m. CST, <b>Scott Griepentrog</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Necessary based on having two different structs (defined automatically by resource.json file via swagger) that have to feed into a single implementation (handler). </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;">That's fair. Drop please.</pre>
<br />

<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On March 4th, 2014, 4:38 p.m. CST, <b>Matt Jordan</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/3191/diff/10/?file=55326#file55326line1099" style="color: black; font-weight: bold; text-decoration: underline;">/branches/12/res/ari/resource_channels.c</a>
    <span style="font-weight: normal;">

     (Diff revision 10)

    </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">1083</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">struct</span> <span class="n">ast_ari_channels_snoop_channel_args</span> <span class="o">*</span><span class="n">args</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">1084</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">struct</span> <span class="n">ast_ari_response</span> <span class="o">*</span><span class="n">response</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">1085</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><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">1086</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="n">ari_channels_handle_snoop_channel</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">1087</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">args</span><span class="o">-></span><span class="n">channel_id</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">1088</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">args</span><span class="o">-></span><span class="n">spy</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">1089</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">args</span><span class="o">-></span><span class="n">whisper</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">1090</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">args</span><span class="o">-></span><span class="n">app</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">1091</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">args</span><span class="o">-></span><span class="n">app_args</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">1092</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">args</span><span class="o">-></span><span class="n">snoop_id</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">1093</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="tb">  </span><span class="n">response</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">1094</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><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">1095</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></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">1096</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="kt">void</span> <span class="n">ast_ari_channels_snoop_channel_with_id</span><span class="p">(</span><span class="k">struct</span> <span class="n">ast_variable</span> <span class="o">*</span><span class="n">headers</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">1097</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="tb">   </span><span class="k">struct</span> <span class="n">ast_ari_channels_snoop_channel_with_id_args</span> <span class="o">*</span><span class="n">args</span><span class="p">,</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;">I'm not sure I understand the need for the two struct types.

Why wouldn't just one suffice, and why wouldn't a routine just check to see if the value was set in the struct?</pre>
 </blockquote>



 <p>On March 4th, 2014, 5:54 p.m. CST, <b>Scott Griepentrog</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <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 args list structs are built by swagger from the resource.json description of the rest api - and each has to be a different name in order to prevent collisions.  Also, the contents of the args lists *can* be different, although in this case they differ only in order.

Although this seems a bit convoluted, it's the best approach to map potentially different argument list items and order into the fixed handler, and will fail gracefully with compiler warnings when someone changes the json definition rather than buggy behavior from trying to map the structs to each other.</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;">That's fine.</pre>
<br />




<p>- Matt</p>


<br />
<p>On March 4th, 2014, 5:54 p.m. CST, Scott Griepentrog 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 Scott Griepentrog.</div>


<p style="color: grey;"><i>Updated March 4, 2014, 5:54 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-23120">ASTERISK-23120</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;">This is the first and second phase of channel uniqueid changes for ASTERISK-23120, including AMI origination UniqueId parameter to assign id on creation.

* ast_channel_uniqueid structure replaces ast_string values uniqueid and linkedid in channel structure

    struct ast_channel_id {
      char unique_id[AST_MAX_UNIQUEID];   /*!< Unique Identifier - can be set on originate */
      time_t creation_time;               /*!< Creation time */
      int creation_unique;                /*!< sub-second unique value */
    }

* ast_channel_linkedid() and ast_channel_uniqueid() return char* as before, referencing only unique_id element

* ast_channel_xxxxxxid_set() are removed, new ast_channel_internal_xxx() functions added to provided needed functions regarding entire ast_channel_id structure

* an issue with argument order to ast_channel_alloc() in chan_mgcp.c was corrected [BUGFIX].

* an issue with argument order to ast_channel_alloc() in chan_gtalk.c was corrected [BUGFIX].

* new parameter const char *assignedid added to chain of functions used to create channels (including all channel drivers xxx_request())

* where channel drivers took struct ast_channel *reqeustor and converted it to linkedid string, these now pass channel as requestor all the way through to ast_channel_alloc so that channel_internal can copy full ast_channel_id linkedid structure with zero penalty.

* on channel masquerade, when uniqueid is swapped, linkedid is now also swapped [BUGFIX].

* new struct ast_assigned_ids to pass two sets of uniqueid strings down to core_unreal (Local channels) which replaces char *assignedid in all places.

* second id defaults to first;2 if not provided

* now includes phase 3 ari changes (including bridge previously at https://reviewboard.asterisk.org/r/3278/)

* recording already uses file name as unique id, thus no changes required
</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;">Ran new linkedid_check test and received same results.  Also ran some bridge tests to check for asserts.

Also ran new Originate with assignedid test: https://reviewboard.asterisk.org/r/3243/</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>/branches/12/tests/test_voicemail_api.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/tests/test_substitution.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/tests/test_stasis_endpoints.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/tests/test_stasis_channels.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/tests/test_cel.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/tests/test_cdr.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/tests/test_app.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/rest-api/api-docs/channels.json <span style="color: grey">(409434)</span></li>

 <li>/branches/12/rest-api/api-docs/bridges.json <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/stasis/control.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_stasis_snoop.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_stasis_playback.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_stasis.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_clioriginate.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_calendar_icalendar.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_calendar_exchange.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_calendar_ews.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_calendar_caldav.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_calendar.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_ari_channels.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/res_ari_bridges.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/parking/parking_tests.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/parking/parking_bridge_features.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/parking/parking_bridge.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/parking/parking_applications.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/ari/resource_channels.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/ari/resource_channels.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/ari/resource_bridges.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/res/ari/resource_bridges.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/pbx/pbx_spool.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/pbx.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/message.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/manager.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/dial.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/core_unreal.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/core_local.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/channel_internal_api.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/channel.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/cel.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/ccss.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/bridge_channel.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/bridge_basic.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/main/bridge.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/stasis_app_snoop.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/stasis_app_playback.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/stasis_app.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/pbx.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/dial.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/core_unreal.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/channel_internal.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/channel.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/bridge_internal.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/include/asterisk/bridge.h <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_vpb.cc <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_unistim.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_skinny.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_sip.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_pjsip.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_phone.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_oss.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_nbs.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_multicast_rtp.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_motif.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_misdn.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_mgcp.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_jingle.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_iax2.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_h323.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_gtalk.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_dahdi.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_console.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_bridge_media.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/channels/chan_alsa.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/confbridge/conf_chan_record.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/confbridge/conf_chan_announce.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_voicemail.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_queue.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_page.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_originate.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_meetme.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_followme.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_dial.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_confbridge.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_chanisavail.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_bridgewait.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/apps/app_agent_pool.c <span style="color: grey">(409434)</span></li>

 <li>/branches/12/addons/chan_ooh323.c <span style="color: grey">(409678)</span></li>

 <li>/branches/12/addons/chan_mobile.c <span style="color: grey">(409434)</span></li>

</ul>

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







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








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