<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/1674/">https://reviewboard.asterisk.org/r/1674/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On January 19th, 2012, 6:26 p.m., <b>rmudgett</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/1674/diff/2/?file=23487#file23487line53" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/configs/features.conf.sample</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></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">53</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> ; PARKEE - name of the device that was parked</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;">Code sets PARKER which actually is the channel that parked the call. (As best as the code can tell anyway.)</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;">You're right that the code is still setting the "PARKER" variable. However, the code is actually setting the parked channel and not the one doing the parking, so I'll get the variable name straightened out.</pre>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On January 19th, 2012, 6:26 p.m., <b>rmudgett</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/1674/diff/2/?file=23488#file23488line5476" style="color: black; font-weight: bold; text-decoration: underline;">/trunk/main/features.c</a>
<span style="font-weight: normal;">
(Diff revision 2)
</span>
</th>
</tr>
</thead>
<tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
<tr>
<td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">static int parkinglot_config_read(const char *pl_name, struct parkinglot_cfg *cfg, struct ast_variable *var)</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">5475</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="k">if</span> <span class="p">(</span><span class="o">!</span><span class="n">cfg</span><span class="o">-></span><span class="n">comebacktoorigin</span> <span class="o">&&</span> <span class="n">ast_strlen_zero</span><span class="p">(</span><span class="n">cfg</span><span class="o">-></span><span class="n">comebackcontext</span><span class="p">))</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">5476</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">ast_log</span><span class="p">(</span><span class="n">LOG_WARNING</span><span class="p">,</span> <span class="s">"Parking lot %s has comebacktoorigin has comebacktoorigin "</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">5477</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="s">"not set and has specified a blank context. Defaulting to %s</span><span class="se">\n</span><span class="s">"</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">5478</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                                <span class="n">pl_name</span><span class="p">,</span> <span class="n">DEFAULT_COMEBACK_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">5479</font></th>
<td bgcolor="#c5ffc4" 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;">This warning needs to be reworded.
"Parking lot %s needs comebackcontext\n"
The code does not set to default.
The code should set error = -1 to disable the parking lot until the user fixes the config error.</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 don't like saying it "needs a comebackcontext."
This patch is written so as not to force people who are already setting comebacktoorigin=no to have to configure each of their parking lots to have a comebackcontext. They'll continue to function with the default "parkedcallstimeout" context they would have gone to. They don't actually need to set the option for it to work. The only way that ast_strlen_zero(cfg->comebackcontext) will evaluate true is if they specifically set "comebackcontext=" in their config, which would be bizarre. So that's why I worded it as saying that the context was left blank.
The message as I have it is grammatically awful, so I'll fix that. I'll keep it so it does not set the default value, and I will set error to -1.</pre>
<br />
<p>- Mark</p>
<br />
<p>On January 19th, 2012, 5:54 p.m., Mark Michelson wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Asterisk Developers, rmudgett and Mitch Sharp.</div>
<div>By Mark Michelson.</div>
<p style="color: grey;"><i>Updated Jan. 19, 2012, 5:54 p.m.</i></p>
<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;">Many moons ago, Mitch Sharp posted some updates for Asterisk parking (https://reviewboard.asterisk.org/r/963/). Here is the copy and pasted text from that review description:
------
I posted a patch to issues a few weeks ago that duplicated some existing features. (https://issues.asterisk.org/view.php?id=17947)
I have reworked it to extend the existing parking behavior.
This patch does the following:
- Make comebacktoorigin a per-parkinglot option.
- Make parkedmusicclass a per-parkinglot option, and make sure parkinglot->parking_con_dial gets set to "park-dial" for additional parking lots instead of being left NULL (already have a patch in issues for this for as a fix for 1.8.0-beta4, https://issues.asterisk.org/view.php?id=17946)
- Adds a per-parkinglot option comebackcontext, which defaults to the usual 'parkedcallstimeout' context. Allows the user to handle timed out calls for different parking lots in different contexts.
- Adds a per-parkinglot option comebackdialtime, which allows user to override the dial time specified in automatically created extensions when comebacktoorigin=yes.
- Adds channel variable PARKER to timed out calls, so user can easily dial the original device that parked the call if comebacktoorigin=no.
- Update CLI command 'features show' to include the comebacktoorigin, comebackcontext and comebackdialtime values.
- Updated /configs/features.conf.sample
This patch doesn't change any default behavior.
Looking forward to some feedback.
------
It got some review feedback, but there was never a new version of the patch posted. I've taken the original patch and updated it to apply to Asterisk trunk as it is now.
As far as I can tell, I've got the patch behaving exactly how it was as originally written. There is a spot that seems odd to me, and I'll highlight it in the diff.
I've included Richard in this review since he knows parking a lot better than most people do at the moment since he did some refactoring of it recently. </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;">I have set up parking lots and ensured that the new options take effect when set and that the defaults are used when not set.</pre>
</td>
</tr>
</table>
<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-16643">ASTERISK-16643</a>
</div>
<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">
<li>/trunk/configs/features.conf.sample <span style="color: grey">(351309)</span></li>
<li>/trunk/main/features.c <span style="color: grey">(351309)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/1674/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>