<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/2922/">https://reviewboard.asterisk.org/r/2922/</a>
</td>
</tr>
</table>
<br />
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://reviewboard.asterisk.org/static/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Asterisk Developers, David Lee and kmoore.</div>
<div>By jrose.</div>
<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-22623">ASTERISK-22623</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 affects both channel and bridge recording. Basically it just adds a simple check to make sure that the requested file doesn't already exist on the file system when we want to record. If it does, we set EEXIST on errno and return error. I went ahead and switched the errno value for when another live recording exists that uses the same base name to EAGAIN... not sure how appropriate that is.
I also added event models for Recording events, but nothing issues these events yet. They'll be useful later.
I've written a test for this, which is in review here: https://reviewboard.asterisk.org/r/2921/</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 tested it manually with Swagger UI and attempted to record when a file existed where I wanted one and received the expected 409. I also checked to make sure I would still succeed if ifExists was set to overwrite. I also checked for success when the file just didn't exist in the first place. I think that covers all my bases. All of these scenarios are also covered by the automated test in review 2921</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/res/ari/ari_model_validators.h <span style="color: grey">(400905)</span></li>
<li>/branches/12/res/ari/ari_model_validators.c <span style="color: grey">(400905)</span></li>
<li>/branches/12/res/ari/resource_bridges.c <span style="color: grey">(400905)</span></li>
<li>/branches/12/res/ari/resource_channels.c <span style="color: grey">(400905)</span></li>
<li>/branches/12/res/res_ari_bridges.c <span style="color: grey">(400905)</span></li>
<li>/branches/12/res/res_ari_channels.c <span style="color: grey">(400905)</span></li>
<li>/branches/12/res/res_stasis_recording.c <span style="color: grey">(400905)</span></li>
<li>/branches/12/rest-api/api-docs/bridges.json <span style="color: grey">(400905)</span></li>
<li>/branches/12/rest-api/api-docs/channels.json <span style="color: grey">(400905)</span></li>
<li>/branches/12/rest-api/api-docs/events.json <span style="color: grey">(400905)</span></li>
<li>/branches/12/rest-api/api-docs/recordings.json <span style="color: grey">(400905)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/2922/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>