<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:693849435;
        mso-list-type:hybrid;
        mso-list-template-ids:47899750 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:1059479070;
        mso-list-type:hybrid;
        mso-list-template-ids:1081794622 1492843434 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l1:level1
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l1:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;}
@list l1:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-9.0pt;}
@list l1:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;}
@list l1:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;}
@list l1:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:3.25in;
        text-indent:-9.0pt;}
@list l1:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;}
@list l1:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;}
@list l1:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:4.75in;
        text-indent:-9.0pt;}
@list l2
        {mso-list-id:1457987400;
        mso-list-type:hybrid;
        mso-list-template-ids:1536702686 671377756 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;}
@list l2:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:1.25in;
        text-indent:-.25in;}
@list l2:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:1.75in;
        text-indent:-9.0pt;}
@list l2:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.25in;
        text-indent:-.25in;}
@list l2:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:2.75in;
        text-indent:-.25in;}
@list l2:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:3.25in;
        text-indent:-9.0pt;}
@list l2:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:3.75in;
        text-indent:-.25in;}
@list l2:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:4.25in;
        text-indent:-.25in;}
@list l2:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        margin-left:4.75in;
        text-indent:-9.0pt;}
@list l3
        {mso-list-id:1538929301;
        mso-list-type:hybrid;
        mso-list-template-ids:1183642934 67698713 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l3:level1
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l3:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l3:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l3:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l4
        {mso-list-id:1710913905;
        mso-list-type:hybrid;
        mso-list-template-ids:-2101996182 67698713 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l4:level1
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l4:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l4:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l4:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Dear Wolfgang, Holger, Margherita, and Tim<o:p></o:p></p>
<p class="MsoNormal">At the wrap-up session for the FF discussion items, we concluded that because the Throw Event procedure will be optional, an “unblessed” user will simply be rejected (not aborted) for trying to invoke the Throw Event’s EXECUTIVE-DIRECTIVE.
 I like this answer and think that it (or something similar) is the proper way to go.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Wolfgang suggested that the support for this approach is stated in section 3.9.4 of the Guidelines. However, on a more careful reading of the section on Optional Procedures in the Guidelines (3.9), I don’t think that that section – as currently
 written – specifically covers the case that we are talking about. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Furthermore, Wolfgang mentioned during the webex session that he was unsure whether or not the Guidelines’ mandate to treat an invocation for an unimplemented optional procedure as a failed invocation (instead of a peer-abortable Invalid
 PDU)  is supported by the Framework itself. So we have two issues: how to cover the issue raised with respect to the Forward Frame service, and whether the proposed solution(s) are sufficiently supported by the Framework. The first issue is – obviously- of
 immediate importance to the Forward Frame service itself (although it could have wider implications), but the second issue already wider implications for services that have optional procedures, including the already-published Monitored Data CSTS Blue Book.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Let’s first look at the issue of the optional  the Throw Event procedure for the Forward Frame service. Section 3.9.1 defines optional procedure as a non-prime procedure for which“ an implementation of the service is not required to support
 the procedure.” For me, the key word here is “implementation”. To my thinking, an implementation is the particular “make and model” of a FF CSTS provider system (e.g., ESTRACK, DSN, Cortex, Avtec, etc.). In other words, an optional procedure may or may not
 be built into the implementation in the first place (and is therefore an ICS Proforma concern). So my interpretation of 3.9.4 is that even if an implementation does not build-in the optional procedure as fully specified (in this case, the Throw Event procedure),
 the implementation must still include enough “stub” software to recognize an incoming invocation with the procedure-identifier for that optional procedure (in this case, an EXECUTE-DIRECTIVE invocation), and treat it as a failed invocation instead of an Invalid
 PDU -> PEER-ABORT. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">All well and good, but I don’t think that –as written in the Guidelines – it covers the case that I raised in the Discussion Items last week. In that case, it is not, in general, a case of whether the *<b>implementation</b>* supports the
 Throw Event procedure –it must in order for there to be an “master user” enabled to use it – but rather how an implementation that *<b>does</b>* support the Throw Event procedure can enable it for only one user and disable it for all others, and (specifically
 for the question raised in the Discussion Item) what the response should be when the user of an instance that is not so enabled attempts to invoke the Throw Event procedure. This is a case of *<b>instance enablement</b>* rather than implementation, and it’s
 a separate issues, e.g., we could have a service that requires implementations to support at least one instance of a procedure but that allows that (those) instance(s) to be enabled/disabled by a service-level configuration parameter.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For the Forward Frames service, a service-level configuration parameter (<span style="font-family:"Courier New"">throw-event-procedure-enabled</span>, comparable to the FSP’s
<span style="font-family:"Courier New"">throwing-of-events-enabled</span> Service Management parameter) will be defined. Then, in keeping with the spirit and philosophy of Guidelines section 3.9.4, any attempt to invoke an EXECUTE-DIRECTIVE for the Throw Event
 procedure*will result in a negative result acknowledgement with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So now let’s return to the broader issue of whether the Framework supports the whether or not the Guidelines’ mandate to treat an invocation for an unimplemented optional procedure as a failed invocation (instead of a peer-abortable Invalid
 PDU).  I’ve done a bit of checking into this myself, and unfortunately have not found unambiguous support for it. It would certainly help if the definition of the ‘invalid procedure instance identifier’ PEER-ABORT diagnostic (3.6.2.2.1.2 (k)) were clarifies
 that “unknown” procedure does not mean an optional procedure for a service, and the definition of the ‘unsupported option’ diagnostic for the Standard Confirmed Operation Header (3.3.2.7 (c)) *<b>does</b>* include a procedure that is optional for the service
 but excluded from the particular implementation.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">But there is still a fundamental problem with trying to support this through the Framework, and that is that the Framework is limited to Procedures and Operations, and is therefore very limited in what it can say about a procedure that
 is *<b>absent</b>* from a service. We could consider modifying the state tables to address what happens when the procedure is *<b>not</b>* implemented (very ugly, and somewhat paradoxical) or creating a generic state table for unimplemented optional procedures
 to be used in place of those procedures (also pretty ugly). <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Therefore, I think that it ultimately falls on each service specification that has optional procedures to specify this behavior, and to the Guidelines to address how to define such behavior in service specifications. Section 3.9 of the
 Guidelines provides a start, in that it declares the intention. But there is no specification in the Guidelines for how this is to be documented in the service specifications themselves. So unless an implementer happens to read section 3.9 of the Guidelines
 in addition to the service specification and the Framework, they will not unambiguously know that the invocations should be rejected but not peer-aborted.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Unfortunately, the published MD-CSTS Blue Book and optional Information Query and Notification procedures, both of which are subject to this ambiguity. Somewhere in that book should be the (equivalent of) following requirements:<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l4 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">a.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>If the implementation of the service does not implement the optional  Information Query procedure, the service shall respond to a GET invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Information Query with a negative result return with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l4 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">b.<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>If the implementation of the service does not implement the optional  Notification procedure, the service shall respond to a START invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Notification with a negative result return with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l4 level1 lfo1"><![if !supportLists]><span style="mso-list:Ignore">c.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>If the implementation of the service does not implement the optional  Notification procedure, the service shall respond to a STOP invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Notification with a PEER-ABORT with diagnostic ‘protocol error’.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">With regard to an unimplemented Notification procedure, I am unclear as that what the response to a STOP invocation should be. Where the Notification procedure *<b>is</b>* implemented, a STOP invocation that does not follow a successful
 START invocation results in a PEER-ABORT for ‘protocol error’. Should we continue that philosophy when the procedure is not implemented, too? Or should just simply reject all incoming 2/3 phase invocations for unimplemented procedures and continue the service
 instance? <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Fortunately, the Tracking Data CSTS has no optional procedures, so it is unaffected by this particular issue. But once we decide how to handle this situation, we should probably correct (via Technical Corrigendum) the Monitored Data book.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In the interest of moving the Forward Frame book forward to the spring first draft release, I’m going to include the following “strawman” information in that book:  <o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">1.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Define a <span style="font-family:"Courier New"">throw-event-procedure-enabled</span> service configuration parameter, registered under the forwardFrameExtendedServiceParameters  tree. This will have the value true for FF service instances
 in which the Throw Event procedure is both implemented and enabled for the instance user. If the Throw Event procedure is either unimplemented, or implemented but not available for the instance user, the value will be false.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">2.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Add the following requirements to section 3:<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">a.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Replace the refined Throw Event procedure in table 3-1 with the extended and refined Master Throw Event procedure (derived from the Framework Throw Event procedure).<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">b.<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>If the implementation of the service does not implement the optional  Cyclic Report procedure, the service shall respond to a START invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Cyclic Report with a negative result return with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">c.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>If the implementation of the service does not implement the optional  Cyclic Report procedure, the service shall respond to a STOP invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Cyclic Report with a negative result return with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">d.<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>If the implementation of the service does not implement the optional  Information Query procedure, the service shall respond to a GET invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Information Query with a negative result return with diagnostic ‘unsupported option’.
<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">e.<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>If the implementation of the service does not implement the optional  Notification procedure, the service shall respond to a START invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Notification with a negative result return with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">f.<span style="font:7.0pt "Times New Roman"">       
</span></span><![endif]>If the implementation of the service does not implement the optional  Notification procedure, the service shall respond to a STOP invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Notification with a negative result return with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo3">
<![if !supportLists]><span style="mso-list:Ignore">g.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>If the implementation of the service does not implement the optional  Throw Event procedure, the service shall respond to an EXECUTE-DIRECTIVE invocation containing a
<span style="font-family:"Courier New"">procedure-type</span> of Throw Event with a negative result return with diagnostic ‘unsupported option’.<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l0 level1 lfo2"><![if !supportLists]><span style="mso-list:Ignore">3.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>In the Master Throw Event section:<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo4">
<![if !supportLists]><span style="mso-list:Ignore">a.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Refine the behavior to be able to access the configurable parameters of the directly-underlying production FRs, but *<b>not</b>* to access the any dynamically-configurable parameters of any of the procedures of the service itself (i.e.,
 those of the Sequence-Controlled Frame DP and Buffered Frame DP procedures).<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo4">
<![if !supportLists]><span style="mso-list:Ignore">b.<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>Extend the behavior to control the response to EXECUTE-DIRECTIVE invocations on the basis of the
<span style="font-family:"Courier New"">throw-event-procedure-enabled</span> service configuration parameter (i.e., invocations get rejected if
<span style="font-family:"Courier New"">throw-event-procedure-enabled</span> = false).<o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:.75in;text-indent:-.25in;mso-list:l1 level1 lfo4">
<![if !supportLists]><span style="mso-list:Ignore">c.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>Extend the procedure state table to reflect the influence of the
<span style="font-family:"Courier New"">throw-event-procedure-enabled</span> service configuration parameter (i.e., invocations get rejected if
<span style="font-family:"Courier New"">throw-event-procedure-enabled</span> = false).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Note that my adjustments address the two issues that have been raised in this email:<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo5"><![if !supportLists]><span style="mso-list:Ignore">a.<span style="font:7.0pt "Times New Roman"">      
</span></span><![endif]>How to handle the invocations for an optional procedure that is not implemented. Since this has already been identified in 3.9.4 of the Guidelines, I believe that there is remaining work to be done in the Guidelines to ensure that the
 intended behavior (rejection, not abort) is unambiguously conveyed in CSTS specifications, and
<o:p></o:p></p>
<p class="MsoListParagraph" style="text-indent:-.25in;mso-list:l3 level1 lfo5"><![if !supportLists]><span style="mso-list:Ignore">b.<span style="font:7.0pt "Times New Roman"">     
</span></span><![endif]>How to handle implemented procedures that may be enabled or disabled on a service-instance basis. The Guidelines do not address this issue, and given our decision to allow service to go beyond the Guidelines when necessary, it does not
 necessarily need to be addressed explicitly in the Guidelines. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Of course, this is just a strawman approach, subject to discussion and approval. We have the telecon next month, but I would very much appreciate any feedback on these ideas as soon as possible so that I don’t wander too far down any wrong
 paths.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best regards,<o:p></o:p></p>
<p class="MsoNormal">John<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>