<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
<base href="https://wiki.asterisk.org/wiki" />
<title>Message Title</title>
<style type="text/css">@media only screen and (max-device-width: 480px) {.mobile-only {
width: auto !important;
height: auto !important;
overflow: visible !important;
line-height: normal !important;
font-size: inherit !important;
mso-hide: all;
}
.desktop-only {
display: none !important;
}
/* iPhone 3GS fix for unwanted 20px right margin */
body { min-width: 100% !important; padding: 0; margin: 0; }
#center-content-table { max-width: none; !important; }
#header-pattern-container { padding: 10px 10px 10px 10px !important; line-height: 20px !important; }
#header-avatar-image-container { padding-right: 8px !important; }
#email-content-container { padding: 0 !important; }
.mobile-expand { border-radius: 0 !important; border-left: 0 !important; border-right: 0 !important; padding-left: 26px !important;}
.mobile-resize-text { font-size: 16px !important; line-height: 22px !important; }
#page-title-pattern-header { font-size: 20px !important; line-height: 28px !important; }
#page-title-pattern-icon-image-container-cell { padding-top: 7px !important; }
#inline-user-pattern { display: block !important; }
#inline-user-pattern-avatar { padding-top: 3px !important; }
.contextual-area-pattern { border-bottom: 1px solid #ccc !important; padding: 15px 10px 0 10px !important;}
.users-involved-pattern-column-table { width: 100% !important; }
.users-involved-pattern-avatar-table-cell { padding: 3px 5px 5px 0 !important; }
.users-involved-pattern-column-container { padding-right: 0 !important; }
.contextual-excerpt-pattern, #users-involved-pattern { border: 0 !important; }
/** Aui Typography upsized for mobile **/
#content-excerpt-pattern-container, #contextual-excerpt-pattern-text-container { font-size: 16px !important; line-height: 22px !important; }
#content-excerpt-pattern-container h1, #contextual-excerpt-pattern-text-container h1 { font-size: 24px !important; line-height: 28px !important; }
#content-excerpt-pattern-container h2, #contextual-excerpt-pattern-text-container h2 { font-size: 20px !important; line-height: 28px !important; }
#content-excerpt-pattern-container h3, #contextual-excerpt-pattern-text-container h3 { font-size: 18px !important; line-height: 24px !important; }
#content-excerpt-pattern-container h4, #contextual-excerpt-pattern-text-container h4 { font-size: 16px !important; line-height: 22px !important; }
#content-excerpt-pattern-container h5, #contextual-excerpt-pattern-text-container h5 { font-size: 14px !important; line-height: 20px !important; }
#content-excerpt-pattern-container h6, #contextual-excerpt-pattern-text-container h6 { font-size: 14px !important; line-height: 20px !important; }
.user-mention { line-height: 18px !important; }
/** Aui Typography end **/
/* Show appropriate footer logo on mobile, display links vertically */
#footer-pattern { padding: 15px 10px !important; }
#footer-pattern-logo-desktop-container { padding: 0 !important; }
#footer-pattern-logo-desktop { width: 0 !important; height: 0 !important; }
#footer-pattern-logo-mobile {
padding-top: 10px !important;
width: 30px !important;
height: 27px !important;
display: inline !important;
}
#footer-pattern-text {
display: block !important;
}
#footer-pattern-links-container { line-height: 0 !important;}
.footer-pattern-links.mobile-resize-text,
.footer-pattern-links.mobile-resize-text,
#footer-pattern-text.mobile-resize-text,
#footer-pattern-links-container.no-footer-links {
font-size: 14px !important;
line-height: 20px !important;
}
.footer-link { display: block !important; }
#footer-pattern-links-container table { display: inline-block !important; float: none !important; }
#footer-pattern-links-container, #footer-pattern-text { text-align: center !important; }
#footer-pattern-links { padding-bottom: 5px !important; }
/** Team Calendar overrides, these should be removed when notifications are updated in Team Calendars. For now CSS
overrides are being used because the structure of the content can't change without rereleasing the plugin */
.mail-calendar-container .day-header + table tr td:first-child {
vertical-align: top !important;
padding-top: 5px !important;
}}
@media (min-width: 900px) {#center-content-table { width: 900px; }}
@media all {#outlook a {padding:0;} /* Force Outlook to provide a "view in browser" menu link. */
/* Prevent Webkit and Windows Mobile platforms from changing default font sizes.*/
body{-webkit-text-size-adjust:100%; -ms-text-size-adjust:100%;}
.ExternalClass {width:100%;} /* Force Hotmail to display emails at full width */
#background-table {margin:0; padding:0; width:100% !important; }
/* Needed to override highlighting on date and time links in iOS */
.grey a {color: #707070; text-decoration: none; }}
</style>
</head>
<body>
<table id="background-table" cellpadding="0" cellspacing="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; background-color: #f5f5f5">
<tbody>
<tr>
<td id="header-pattern-container" style="padding: 0px; border-collapse: collapse; padding: 10px 20px">
<table id="header-pattern" cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<tbody>
<tr>
<td id="header-avatar-image-container" valign="top" style="padding: 0px; border-collapse: collapse; vertical-align: top; width: 32px; padding-right: 9px"><a href="https://wiki.asterisk.org/wiki/display/~mmichelson?src=email" style="color: #3b73af; text-decoration: none"><img id="header-avatar-image" class="image_fix" src="cid:avatar_99ed0aa29d6f204db4785296f8170422" height="32" width="32" border="0" style="border-radius: 3px; vertical-align: top" /></a></td>
<td id="header-text-container" valign="middle" style="padding: 0px; border-collapse: collapse; vertical-align: middle; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">Mark Michelson <strong>created</strong> a page</td>
</tr>
</tbody>
</table> </td>
</tr>
<!-- End Header pattern -->
<tr>
<td id="email-content-container" style="padding: 0px; border-collapse: collapse; padding: 0 20px">
<table id="email-content-table" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; border-spacing: 0; border-collapse: separate">
<tbody>
<tr>
<td class="email-content-rounded-top mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; padding: 0 15px 0 16px; height: 15px; background-color: #fff; border-left: 1px solid #ccc; border-top: 1px solid #ccc; border-right: 1px solid #ccc; border-bottom: 0; border-top-right-radius: 5px; border-top-left-radius: 5px"> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 15px 16px; background-color: #fff">
<table id="page-title-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<tbody>
<tr>
<td id="page-title-pattern-icon-image-container" valign="top" style="padding: 0px; border-collapse: collapse; width: 16px; vertical-align: top">
<table cellspacing="0" cellpadding="0" border="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<tbody>
<tr>
<td id="page-title-pattern-icon-image-container-cell" style="padding: 0px; border-collapse: collapse; width: 16px; padding: 9px 8px 0px 0px; mso-text-raise: 5px; mso-line-height-rule: exactly"><a href="https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan?src=email" title="page icon" style="vertical-align: top;; color: #3b73af; text-decoration: none"><img style="vertical-align: top; display: block;" src="cid:page-icon" alt="page icon" title="page icon" height="16" width="16" border="0" /></a></td>
</tr>
</tbody>
</table> </td>
<td style="vertical-align: top;; padding: 0px; border-collapse: collapse; padding-right: 5px; font-size: 20px; line-height: 30px; mso-line-height-rule: exactly" id="page-title-pattern-header-container"><span id="page-title-pattern-header" style="font-family: Arial, sans-serif; padding: 0; font-size: 20px; line-height: 30px; mso-text-raise: 2px; mso-line-height-rule: exactly; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan?src=email" title="Resource List Subscription Test Plan" style="color: #3b73af; text-decoration: none">Resource List Subscription Test Plan</a></span></td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 15px 16px; background-color: #fff">
<table class="content-excerpt-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tbody>
<tr>
<td class="content-excerpt-pattern-container mobile-resize-text " style="padding: 0px; border-collapse: collapse; padding: 0 0 0 24px"> <h1 id="ResourceListSubscriptionTestPlan-Configuration" style="margin: 10px 0 0 0; margin-top: 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 0">Configuration</h1> <p style="margin: 10px 0 0 0">The following is a base configuration to use for pjsip.conf for the tests on this page. Individual tests may carry instructions on alterations to make to the configuration.</p> <p style="margin: 10px 0 0 0">pjsip.conf:</p>
<div class="preformatted panel" style="border-width: 1px;">
<div class="preformattedContent panelContent">
<pre style="margin: 10px 0 0 0; margin-top: 0">[pres_list]
type = resource_list
event = presence
list_item = alice@default
list_item = bob@default
[mail_list]
type = resource_list
event = message-summary
list_item = alice
list_item = bob
[alice]
type = endpoint
[bob]
type = endpoint</pre>
</div>
</div> <p style="margin: 10px 0 0 0">extensions.conf:</p>
<div class="preformatted panel" style="border-width: 1px;">
<div class="preformattedContent panelContent">
<pre style="margin: 10px 0 0 0; margin-top: 0">[default]
exten => alice,hint,PJSIP/alice
exten => bob,hint,PJSIP/bob</pre>
</div>
</div> <p style="margin: 10px 0 0 0">It is expected that tests that use the <code style="font-family: monospace">mail_list</code> are using external MWI, not app_voicemail.</p> <p style="margin: 10px 0 0 0">For your tests, SIPp is mentioned as a tool to perform the tests; however, given the level of detail that will be necessary when checking the contents of SIP NOTIFY bodies, you will probably be better off not trying to use SIPp's built-in tools for packet checking. Instead, you can use the pcap listener included in the Asterisk testsuite to capture the packets and use python libraries in order to parse and analyze the contents.</p> <h1 id="ResourceListSubscriptionTestPlan-ResourceListTests" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Resource List Tests</h1> <h2 id="ResourceListSubscriptionTestPlan-Nominaltests" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0; margin-top: 10px">Nominal tests</h2> <p style="margin: 10px 0 0 0">Each of these tests should be run twice: once subscribing to <code style="font-family: monospace">pres_list</code>, once subscribing to <code style="font-family: monospace">mail_list</code>.</p> <h4 id="ResourceListSubscriptionTestPlan-Test1:Simplesubscriptionestablishment" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0"> <span style="color: rgb(133,120,102);">Test 1: Simple subscription establishment</span> </h4> <p style="margin: 10px 0 0 0">Use SIPp to subscribe to a list. Ensure the following of the SUBSCRIBE response:</p>
<ul style="margin: 10px 0 0 0">
<li>The response code is 200</li>
<li>There is a Require: eventlist header</li>
</ul> <p style="margin: 10px 0 0 0">For this test, do not worry about the content of the initial NOTIFY from Asterisk.</p> <h4 id="ResourceListSubscriptionTestPlan-Test2:InitialNOTIFYcontent" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 2: Initial NOTIFY content</h4> <p style="margin: 10px 0 0 0">Use SIPp to establish a subscription to pres_list. Ensure the following are true in the NOTIFY from Asterisk:</p>
<ul style="margin: 10px 0 0 0">
<li>There is a Require: eventlist header</li>
<li>The Content-Type header contains "multipart/related"</li>
<li>The body contains the following:
<ul style="margin: 10px 0 0 0; margin-top: 0">
<li>An application/rlmi+xml part
<ul style="margin: 10px 0 0 0; margin-top: 0">
<li>There is only a single "list" element</li>
<li>The list element has the attribute version="1"</li>
<li>The list element has the attribute fullState="true"</li>
<li>The list element contains two "resource" elements
<ul style="margin: 10px 0 0 0; margin-top: 0">
<li>Each resource element contains a name element that corresponds to the <code style="font-family: monospace">list_item</code> value in the config.</li>
<li>Each resource element contains a one "instance" element
<ul style="margin: 10px 0 0 0; margin-top: 0">
<li>There should be an id attribute with a value that corresponds to the <code style="font-family: monospace">list_item</code> value in the config.</li>
<li>There should be an attribute state="active"</li>
<li>There should be cid attributes for each instance that correspond to Content-ID headers in the later body parts.</li>
</ul> </li>
</ul> </li>
</ul> </li>
<li>Two event-package-specific body parts: one for alice and one for bob.
<ul style="margin: 10px 0 0 0; margin-top: 0">
<li>The alice part has a Content-ID header with value equal to the cid attribute from the instance element of the alice resource from the RLMI part.</li>
<li>The bob part has a Content-ID header with value equal to the cid attribute from the instance element of the bob resource from the RLMI part.</li>
</ul> </li>
</ul> </li>
</ul> <h4 id="ResourceListSubscriptionTestPlan-Test3:Statechangewithfullnotificationstate" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 3: State change with full notification state</h4> <p style="margin: 10px 0 0 0">Add the following line to each list in pjsip.conf:</p>
<div class="preformatted panel" style="border-width: 1px;">
<div class="preformattedContent panelContent">
<pre style="margin: 10px 0 0 0; margin-top: 0">full_state = yes</pre>
</div>
</div> <p style="margin: 10px 0 0 0">Use SIPp to subscribe to a list. After Asterisk sends the initial notification, change the state of alice. Ensure that Asterisk sends a NOTIFY and that the following changes from the first NOTIFY are present:</p>
<ul style="margin: 10px 0 0 0">
<li>The list element in the RLMI body part has attribute version="2"</li>
<li>The body part for alice reflects the change made.</li>
<li>The Content-ID headers may be different from what they were in the first NOTIFY, but the RLMI body should still have correct matching cid attributes for each resource.</li>
</ul> <h4 id="ResourceListSubscriptionTestPlan-Test4:Statechangewithpartialnotificationstate" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 4: State change with partial notification state</h4> <p style="margin: 10px 0 0 0">Add the following line to the configured list in pjsip.conf:</p>
<div class="preformatted panel" style="border-width: 1px;">
<div class="preformattedContent panelContent">
<pre style="margin: 10px 0 0 0; margin-top: 0">full_state = no</pre>
</div>
</div> <p style="margin: 10px 0 0 0">Repeat Test 3. This time, the NOTIFY sent on the state change should have the following changes from the first NOTIFY sent:</p>
<ul style="margin: 10px 0 0 0">
<li>The RLMI version should be "2".</li>
<li>The RLMI fullState attribute should be "false".</li>
<li>The RLMI list contains only the alice resource.</li>
<li>The resource should have a cid attribute that matches the Content-ID header in the alice body part.</li>
<li>There should be only one body part besides the RLMI part.</li>
<li>This body part should accurately reflect the changed state for alice.</li>
</ul> <h4 id="ResourceListSubscriptionTestPlan-Test5:Resubscribing" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 5: Resubscribing</h4> <p style="margin: 10px 0 0 0">Use SIPp to subscribe to a list. After receiving the first NOTIFY from Asterisk, have the SIPp scenario resubscribe. Ensure that the NOTIFY that Asterisk sends is the same as the first, with the following changes:</p>
<ul style="margin: 10px 0 0 0">
<li>The RLMI version is "2" instead of "1".</li>
<li>The Content-ID headers may be different from what they were in the first NOTIFY, but the RLMI body should still have the correct matching cid attributes for each resource.</li>
</ul> <p style="margin: 10px 0 0 0">Run a second iteration of the test with the <code style="line-height: 1.4285715;; font-family: monospace">full_state</code> option set to "no" and ensure that the behavior is the same (i.e. the NOTIFY sent from Asterisk does not have partial state).</p> <h4 id="ResourceListSubscriptionTestPlan-Test6:SubscriptionTermination" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 6: Subscription Termination</h4> <p style="margin: 10px 0 0 0">Use SIPp to subscribe to pres_list. After receiving the first NOTIFY from Asterisk, have the SIPp scenario end the subscription by sending a subscribe with Expires: 0 to unsubscribe. Like with Test 5, ensure that the NOTIFY that Asterisk sends has bumped the RLMI version number and that the cid attributes in the RLMI body match the Content-ID headers in the simple-message-summary bodies.</p> <p style="margin: 10px 0 0 0">After the subscription has ended, perform a state change on the alice mailbox. Ensure that Asterisk does not send any SIP traffic as a result.</p> <p style="margin: 10px 0 0 0">Run a second iteration of the test with the <code style="font-family: monospace">full_state</code> option set to "no" and ensure the behavior is the same (i.e. the NOTIFY sent from Asterisk does not have partial state).</p> <h2 id="ResourceListSubscriptionTestPlan-Off-nominaltests" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Off-nominal tests</h2> <p style="margin: 10px 0 0 0">Unlike the nominal tests, these should not automatically be run for each supported event type. Each test will specify which lists they apply to.</p> <h4 id="ResourceListSubscriptionTestPlan-Test1:Subscriberdoesnotsupportresourcelists" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 1: Subscriber does not support resource lists</h4> <p style="margin: 10px 0 0 0">Have the SIPp scenario attempt to subscribe to pres_list, but include no "Supported: eventlist" header in the SIPp scenario. Ensure that Asterisk responds to the SUBSCRIBE with a 421 error.</p>
<div class="aui-message warning shadowed information-macro">
<span class="aui-icon icon-warning">Icon</span>
<div class="message-content">
<p style="margin: 10px 0 0 0; margin-top: 0">If subscribing to <code style="font-family: monospace">mail_list</code> instead of <code style="font-family: monospace">pres_list</code>, the SUBSCRIBE would succeed, subscribing to a single mailbox called "mail_list".</p>
</div>
</div> <h4 id="ResourceListSubscriptionTestPlan-Test2:Incorrecteventspecified" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 2: Incorrect event specified</h4> <p style="margin: 10px 0 0 0">Have the SIPp scenario attempt to subscribe to <code style="font-family: monospace">mail_list</code> but set the Event header of the SUBSCRIBE to "presence". Ensure that Asterisk responds to the SUBSCRIBE with a 404 response.</p>
<div class="aui-message warning shadowed information-macro">
<span class="aui-icon icon-warning">Icon</span>
<div class="message-content">
<p style="margin: 10px 0 0 0; margin-top: 0">If the circumstances are reversed (i.e. SIPp attempts to subscribe to <code style="font-family: monospace">pres_list</code> with "Event: message-summary" in the SUBSCRIBE), the SUBSCRIBE will succeed, subscribing to a single mailbox called "mail_list".</p>
</div>
</div> <h4 id="ResourceListSubscriptionTestPlan-Test3:Listdoesnotexist" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 3: List does not exist</h4> <p style="margin: 10px 0 0 0">For this test, remove the <code style="font-family: monospace">pres_list</code> definition from pjsip.conf.</p> <p style="margin: 10px 0 0 0">Have the SIPp scenario attempt to subscribe to <code style="font-family: monospace">pres_list</code>. Ensure that Asterisk responds with a 404 response.</p> <h4 id="ResourceListSubscriptionTestPlan-Test4:Nolistresourcesexist" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 4: No list resources exist</h4> <p style="margin: 10px 0 0 0">For this test, do not include the extensions.conf file that has been used in previous tests. Have SIPp attempt to subscribe to <code style="font-family: monospace">pres_list</code>. Ensure that Asterisk responds to the SUBSCRIBE with a 404 response.</p> <h4 id="ResourceListSubscriptionTestPlan-Test5:Somelistresourcesexist" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 5: Some list resources exist</h4> <p style="margin: 10px 0 0 0">For this test, remove the alice extension from extensions.conf.</p> <p style="margin: 10px 0 0 0">Have SIPp attempt to subscribe to <code style="font-family: monospace">pres_list</code>. Ensure that Asterisk responds to the SUBSCRIBE with a 200 OK. Ensure that the NOTIFY Asterisk sends contains an RLMI body part with only a single resource (for bob) and only one application/pidf+xml body part with bob's state.</p> <h4 id="ResourceListSubscriptionTestPlan-Test6:Resourceduplication" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 6: Resource duplication</h4> <p style="margin: 10px 0 0 0">For this test, alter the <code style="font-family: monospace">pres_list</code> configuration to be the following:</p>
<div class="preformatted panel" style="border-width: 1px;">
<div class="preformattedContent panelContent">
<pre style="margin: 10px 0 0 0; margin-top: 0">[pres_list]
type = resource_list
event = presence
list_item = alice@default
list_item = alice@default</pre>
</div>
</div> <p style="margin: 10px 0 0 0">Have SIPp subscribe to <code style="font-family: monospace">pres_list</code>. Ensure that Asterisk responds to the SUBSCRIBE with a 200 OK. Ensure that the NOTIFY Asterisk sends contains an RLMI body part with only a single resource (for alice) and only one application/pidf+xml body part.</p> <h1 id="ResourceListSubscriptionTestPlan-Listsoflists" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Lists of lists</h1> <p style="margin: 10px 0 0 0">The following are base configurations to use for these tests. Individual tests may specify changes to make to the configs.</p> <p style="margin: 10px 0 0 0">pjsip.conf:</p>
<div class="preformatted panel" style="border-width: 1px;">
<div class="preformattedContent panelContent">
<pre style="margin: 10px 0 0 0; margin-top: 0">[pres_list]
type = resource_list
event = presence
list_item = pres_sublist
[pres_sublist]
type = resource_list
event = presence
list_item = alice@default
list_item = bob@default
[mail_list]
type = resource_list
event = message-summary
list_item = mail_sublist
[mail_sublist]
type = resource_list
event = message-summary
list_item = alice
list_item = bob</pre>
</div>
</div> <p style="margin: 10px 0 0 0">extensions.conf:</p>
<div class="preformatted panel" style="border-width: 1px;">
<div class="preformattedContent panelContent">
<pre style="margin: 10px 0 0 0; margin-top: 0">[default]
exten => alice,hint,PJSIP/alice
exten => bob,hint,PJSIP/bob</pre>
</div>
</div> <h2 id="ResourceListSubscriptionTestPlan-NominalTests" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Nominal Tests</h2> <p style="margin: 10px 0 0 0">For nominal tests, each test should be run once for <code style="font-family: monospace">pres_list</code> and once for <code style="font-family: monospace">mail_list</code>.</p> <h3 id="ResourceListSubscriptionTestPlan-Category1:ListofLists" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0">Category 1: List of Lists</h3> <h4 id="ResourceListSubscriptionTestPlan-Test1:InitialNOTIFY" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0; margin-top: 10px">Test 1: Initial NOTIFY</h4> <p style="margin: 10px 0 0 0">Have SIPp subscribe to a list. Ensure that Asterisk responds with a 200 OK.</p> <p style="margin: 10px 0 0 0">Ensure that the body of the NOTIFY that Asterisk sends contains a multi-part/related body with the following two parts:</p>
<ol style="margin: 10px 0 0 0">
<li>An application/rlmi+xml part</li>
<li>An embedded multipart/related part</li>
</ol> <p style="margin: 10px 0 0 0">The application/rlmi+xml part should have the following properties:</p>
<ul style="margin: 10px 0 0 0">
<li>A list element with attribute version="1", fullState="true".
<ul style="margin: 10px 0 0 0; margin-top: 0">
<li>One resource element within the list. The id for the resource is the name of the sublist.</li>
<li>The cid of the resource should correspond to the Content-ID header in the embedded multipart/related body.</li>
</ul> </li>
</ul> <p style="margin: 10px 0 0 0">The multipart/related part should satisfy the same properties as the nominal tests from the basic resource list tests.</p> <h4 id="ResourceListSubscriptionTestPlan-Test2:Statechange" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 2: State change</h4> <p style="margin: 10px 0 0 0">Have SIPp subscribe to a list. Change the state of one of the</p> <h3 id="ResourceListSubscriptionTestPlan-Category2:ListofresourcesandLists" style="margin: 10px 0 0 0; font-size: 16px; line-height: 25px; margin: 30px 0 0 0">Category 2: List of resources and Lists</h3> <h2 id="ResourceListSubscriptionTestPlan-Off-nominalTests" style="margin: 10px 0 0 0; font-size: 20px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Off-nominal Tests</h2> <h4 id="ResourceListSubscriptionTestPlan-Test1:Ambiguity" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 1: Ambiguity</h4> <h4 id="ResourceListSubscriptionTestPlan-Test2:ResourceDuplication" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 2: Resource Duplication</h4> <h1 id="ResourceListSubscriptionTestPlan-BatchedNotifications" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">Batched Notifications</h1> <h4 id="ResourceListSubscriptionTestPlan-Test1:BasicBatchedNotification" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 1: Basic Batched Notification</h4> <h4 id="ResourceListSubscriptionTestPlan-Test2:Singleresource,multiplechanges" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 2: Single resource, multiple changes</h4> <h4 id="ResourceListSubscriptionTestPlan-Test3:Multipleresources,singlechangetoeach" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 3: Multiple resources, single change to each</h4> <h4 id="ResourceListSubscriptionTestPlan-Test4:Resubscriptioninterruption" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 4: Resubscription interruption</h4> <h4 id="ResourceListSubscriptionTestPlan-Test5:Terminationinterruption" style="margin: 10px 0 0 0; font-size: 14px; line-height: 20px; margin: 20px 0 0 0">Test 5: Termination interruption</h4> <h1 id="ResourceListSubscriptionTestPlan-PUBLISH" style="margin: 10px 0 0 0; font-size: 24px; font-weight: normal; line-height: 30px; margin: 40px 0 0 0">PUBLISH</h1> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td class="email-content-main mobile-expand action-padding last-row-padding" style="padding: 0px; border-collapse: collapse; border-left: 1px solid #ccc; border-right: 1px solid #ccc; border-top: 0; border-bottom: 0; padding: 0 15px 15px 16px; background-color: #fff; padding-bottom: 10px; padding-bottom: 10px">
<table id="actions-pattern" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 1px">
<tbody>
<tr>
<td id="actions-pattern-container" valign="middle" style="padding: 0px; border-collapse: collapse; padding: 15px 0 0 24px; vertical-align: middle">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<tbody>
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan?src=email" title="View page" style="color: #3b73af; text-decoration: none"><img class="actions-pattern-action-icon-image" src="cid:confluence.mail.templates.view.page" alt="View page-icon" title="View page-icon" height="16" width="16" border="0" style="vertical-align: middle" /></a></td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px; white-space: nowrap"><a href="https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan?src=email" title="View page" style="color: #3b73af; text-decoration: none">View page</a></td>
<td class="actions-pattern-action-bull" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; color: #999; padding: 0 5px">•</td>
</tr>
</tbody>
</table>
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<tbody>
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan?showComments=true&showCommentArea=true#addcomment" title="Add comment" style="color: #3b73af; text-decoration: none"><img class="actions-pattern-action-icon-image" src="cid:confluence.mail.templates.add.comment" alt="Add comment-icon" title="Add comment-icon" height="16" width="16" border="0" style="vertical-align: middle" /></a></td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px; white-space: nowrap"><a href="https://wiki.asterisk.org/wiki/display/AST/Resource+List+Subscription+Test+Plan?showComments=true&showCommentArea=true#addcomment" title="Add comment" style="color: #3b73af; text-decoration: none">Add comment</a></td>
<td class="actions-pattern-action-bull" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; color: #999; padding: 0 5px">•</td>
</tr>
</tbody>
</table>
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<tbody>
<tr>
<td class="actions-pattern-action-icon-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 0px; vertical-align: middle"><a href="https://wiki.asterisk.org/wiki/plugins/likes/like.action?contentId=29392925&src=email" title="Like" style="color: #3b73af; text-decoration: none"><img class="actions-pattern-action-icon-image" src="cid:likes.like" alt="Like-icon" title="Like-icon" height="16" width="16" border="0" style="vertical-align: middle" /></a></td>
<td class="actions-pattern-action-text-container" style="padding: 0px; border-collapse: collapse; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; mso-line-height-rule: exactly; mso-text-raise: 4px; padding-left: 5px; white-space: nowrap"><a href="https://wiki.asterisk.org/wiki/plugins/likes/like.action?contentId=29392925&src=email" title="Like" style="color: #3b73af; text-decoration: none">Like</a></td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td class="email-content-rounded-bottom mobile-expand" style="padding: 0px; border-collapse: collapse; color: #fff; height: 5px; line-height: 5px; padding: 0 15px 0 16px; background-color: #fff; border-bottom-right-radius: 5px; border-bottom-left-radius: 5px; border-top: 0; border-left: 1px solid #ccc; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; mso-line-height-rule: exactly"> </td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td id="footer-pattern" style="padding: 0px; border-collapse: collapse; padding: 12px 20px">
<table id="footer-pattern-container" cellspacing="0" cellpadding="0" border="0" width="100%" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333">
<tbody>
<tr>
<td id="footer-pattern-links-container" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
<table align="left" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tbody>
<tr>
<td class="footer-pattern-links mobile-resize-text" style="padding: 0px; border-collapse: collapse"><a href="https://wiki.asterisk.org/wiki/users/removespacenotification.action?spaceKey=AST&src=email" title="" style="color: #3b73af; text-decoration: none">Stop watching space</a></td>
<td class="footer-pattern-links-bull" style="padding: 0px; border-collapse: collapse; padding: 0 5px; color: #999">•</td>
</tr>
</tbody>
</table>
<table style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px">
<tbody>
<tr>
<td class="footer-pattern-links mobile-resize-text" style="padding: 0px; border-collapse: collapse"><a href="https://wiki.asterisk.org/wiki/users/editmyemailsettings.action?src=email" title="" style="color: #3b73af; text-decoration: none">Manage notifications</a></td>
</tr>
</tbody>
</table> </td>
</tr>
<tr>
<td id="footer-pattern-text" class="mobile-resize-text" width="100%" style="padding: 0px; border-collapse: collapse; color: #999; font-size: 12px; line-height: 18px; font-family: Arial, sans-serif; mso-line-height-rule: exactly; mso-text-raise: 2px; display: none">This message was sent by Atlassian Confluence 5.4.3</td>
</tr>
</tbody>
</table> </td>
</tr>
</tbody>
</table>
<table id="sealed-section" border="0" cellpadding="0" cellspacing="0" width="0" style="border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; color: #333; display: none">
<tbody>
<tr>
<td style="padding: 0px; border-collapse: collapse; border: 0; font-size: 0px; line-height: 0; mso-line-height-rule: exactly"></td>
</tr>
</tbody>
</table>
</body>
</html>