<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/2059/">https://reviewboard.asterisk.org/r/2059/</a>
</td>
</tr>
</table>
<br />
<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
<p style="margin-top: 0;">On July 24th, 2012, 5:48 p.m., <b>Mark Michelson</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;">This looks good and simple. I have two comments/suggestions
1) It's unclear how the positional_arguments of a SIPpScenario would be configured. I'm unsure how I would configure -key options for a SIPp scenario.
2) Consider a case where Asterisk initiates a call to a UAS. In such a case, we can't just launch the SIPp scenario since it will be waiting for a request from Asterisk. I suggest creating an additional type of observer callback that can be called when the scenario has been launched. This way, the callback can tell Asterisk to originate a call or do whatever it needs to do.
3) The current test object doesn't have a way to run multiple scenarios at once. This can be useful for cases where a UAC scenario places a call through Asterisk to a UAS scenario. So it may be useful to be able to indicate that a group of scenarios should be run as a single unit simultaneously.
For suggestions 2 and 3, you may just say that those sort of things fall outside the scope of what you're trying to do here, and I'd be okay with it. It may be that someone writes a test object subclass of the one you have here in order to deal with those sorts of scenarios.</pre>
</blockquote>
</blockquote>
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">1) Yeah, there isn't a way of doing that. To get around that, we'd need to split up the entry that represents a SIPp scenario into a dictionary with sub-dictionary/sequences:
- { key-arguments: { scenario: 'foo.xml'}, positional-arguments: ['-key', 'bar', 'blah'] }
That can be done easily.
2) In some ways, that's what the SIP SUBSCRIBE test is doing. The SIPp scenario acts as the UAS and waits for the SUBSCRIBE request. Typically, SIPp scenarios will just sit and wait for the request that triggers their actions - while they have a timeout, we usually pass it 20s by default. That being said, the suggestion is a good one - it may be useful to trigger some additional action when the scenario is launched. Adding an observer point to do that is trivial, so it may as well be done.
3) Doh. That was actually more the intent of things declared at the same level - a SIPpScenarioSequence can handle the 'test iteration' types of things. Since there's no need to have more the one sequence of things (at least that I can see), I'll refactor accordingly.</pre>
<br />
<p>- Matt</p>
<br />
<p>On July 23rd, 2012, 11:23 a.m., Matt Jordan 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 and Mark Michelson.</div>
<div>By Matt Jordan.</div>
<p style="color: grey;"><i>Updated July 23, 2012, 11:23 a.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;">This test introduces a fairly straight forward test that covers Asterisk sending a SUBSCRIBE request for MWI notifications, and receiving a corresponding NOTIFY request from the external source. This test does not attempt to cover the event system's dispensing of MWI notifications to Asterisk modules; rather it only attempts to cover chan_sip's responsibilities in sending a SIP SUBSCRIBE request/receiving a SIP NOTIFY request.
As part of this, a new test object was written for the pluggable framework that orchestrates SIPp scenarios against a single instance of Asterisk. SIPp scenarios can be executed in a sequence, and in parallel. The test object includes entry points for custom modules to register themselves as observers between SIPp scenario executions - either between any scenario executed in parallel, or between sets of scenarios executed in sequence.</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-19827">ASTERISK-19827</a>,
<a href="https://issues.asterisk.org/jira/browse/ASTERISK-19939">ASTERISK-19939</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>/asterisk/trunk/tests/channels/SIP/subscribe/sipp/uas_subscribe_mwi.xml <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/channels/SIP/subscribe/test-config.yaml <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/channels/SIP/tests.yaml <span style="color: grey">(3348)</span></li>
<li>/asterisk/trunk/lib/python/asterisk/sipp.py <span style="color: grey">(3325)</span></li>
<li>/asterisk/trunk/sample-yaml/sipptestcase-config.yaml.sample <span style="color: grey">(PRE-CREATION)</span></li>
<li>/asterisk/trunk/tests/channels/SIP/subscribe/configs/ast1/sip.conf <span style="color: grey">(PRE-CREATION)</span></li>
</ul>
<p><a href="https://reviewboard.asterisk.org/r/2059/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>