<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE tests SYSTEM "manifest.assert.dtd">
<tests>
	<test>
		<assert id="599" optional="false" manual="false" spec="6.1"><![CDATA[A CCXML session can consist of multiple CCXML documents, traversed by use of <goto> and <fetch>.]]></assert>
	</test>
	<test>
		<assert id="605" optional="false" manual="false" spec="6.2.1"><![CDATA[When a <ccxml> is executed, its child elements are collected logically together at the beginning of the document and executed in document order before the target <eventprocessor>.]]></assert>
	</test>
	<test>
		<assert id="606" optional="false" manual="false" spec="6.2.1"><![CDATA[The <ccxml> can designate the CCXML namespace. This can be achieved by declaring an xmlns attribute or an attribute with an " xmlns " prefix.]]></assert>
	</test>
	<test>
		<assert id="607" optional="false" manual="false" spec="6.2.1"><![CDATA[Note that when the xmlns attribute is used alone, it sets the default namespace for the element on which it appears and for any child elements.]]></assert>
	</test>
	<test>
		<assert id="608" optional="false" manual="false" spec="6.2.1"><![CDATA[The namespace URI for CCXML is "http://www.w3.org/2002/09/ccxml".]]></assert>
	</test>
	<test>
		<assert id="609" optional="false" manual="false" spec="6.2.1"><![CDATA[The <ccxml> element must contain a version attribute.  The initial version number is 1.0.]]></assert>
	</test>
	<test>
		<assert id="610" optional="false" manual="false" spec="6.2.1"><![CDATA[The <ccxml> element may contain a xml:base attribute.  This is the URI which all relative references within the document take as their base.]]></assert>
	</test>
	<test>
		<assert id="611" optional="false" manual="false" spec="6.2.2"><![CDATA[A CCXML document may contain a <meta> element.]]></assert>
	</test>
	<test>
		<assert id="612" optional="false" manual="false" spec="6.2.2"><![CDATA[A <meta> element may conatin a name attribute indicating the name of the metadata information]]></assert>
	</test>
	<test>
		<assert id="615" optional="false" manual="false" spec="6.2.2"><![CDATA[Either a name  or http-equiv attribute is REQUIRED. ]]></assert>
	</test>
	<test>
		<assert id="617" optional="false" manual="false" spec="6.2.2"><![CDATA[A <meta> element must contain a content attribute.  If not specified, error.fetch event will be thrown.]]></assert>
	</test>
	<test>
		<assert id="619" optional="false" manual="false" spec="6.2.3"><![CDATA[A CCXML document may contain a <metadata> element.  <metadata> is a container in which information about the document can be placed using a metadata language.]]></assert>
	</test>
	<test>
		<assert id="622" optional="false" manual="false" spec="6.2.3"><![CDATA[<metadata> may not specify any attributes.  If attributes are specified, an error.fetch event is thrown]]></assert>
	</test>
	<test>
		<assert id="623" optional="false" manual="false" spec="6.2.4"><![CDATA[A CCXML document may contain an <if> element. An <if> is a container for conditionally executed elements]]></assert>
	</test>
	<test>
		<assert id="624" optional="false" manual="false" spec="6.2.4"><![CDATA[<else> and <elseif> can optionally appear within an <if> as immediate children]]></assert>
	</test>
	<test>
		<assert id="625" optional="false" manual="false" spec="6.2.4"><![CDATA[If an <if> has no immediate <elseif> or <else> children, the full contents of the <if> will be selected when the cond attribute is true]]></assert>
	</test>
	<test>
		<assert id="626" optional="false" manual="false" spec="6.2.4"><![CDATA[A CCXML <if> element must contain a cond attribute.  If not provided, an error.fetch event is thrown.]]></assert>
	</test>
	<test>
		<assert id="627" optional="false" manual="false" spec="6.2.5"><![CDATA[An <elseif> partitions the content of an <if>, and provides a condition that determines the selection of the partition it begins]]></assert>
	</test>
	<test>
		<assert id="628" optional="false" manual="false" spec="6.2.5"><![CDATA[A CCXML <elseif> element must contain a cond atribute.If a cond atribute is not provided for an <elseif>, error.fetch event is thrown.]]></assert>
	</test>
	<test>
		<assert id="629" optional="false" manual="false" spec="6.2.6"><![CDATA[<else> is a synonym for <elseif cond="true"/>.]]></assert>
	</test>
	<test>
		<assert id="1001" optional="false" manual="false" spec="6.2.7"><![CDATA[The <fetch> method attribute may have a value set to "get"]]></assert>
	</test>
	<test>
		<assert id="1002" optional="false" manual="false" spec="6.2.7"><![CDATA[The <fetch> method attribute may have a value set to "post"]]></assert>
	</test>
	<test>
		<assert id="1298" optional="false" manual="false" spec="6.2.7"><![CDATA[In fetch tag, if mode attribute is set to processed (the default) the CCXML platform MUST attempt to parse and validate the returned content.]]></assert>
	</test>
	<test>
		<assert id="1299" optional="false" manual="false" spec="6.2.7"><![CDATA[In fetch tag, if mode attribute is set to raw the platform MUST NOT attempt to process the data and MUST leave processing of the content to the application who can do what it wishes with the content via the content attribute of the fetch.done event.]]></assert>
	</test>
	<test>
		<assert id="630" optional="false" manual="false" spec="6.2.7"><![CDATA[<fetch> is used to asynchronously fetch content identified by the attributes of the <fetch>]]></assert>
	</test>
	<test>
		<assert id="631" optional="false" manual="false" spec="6.2.7"><![CDATA[The fetched content may either be a CCXML document, or script content.]]></assert>
	</test>
	<test>
		<assert id="632" optional="false" manual="false" spec="6.2.7"><![CDATA[Execution returns from the element immediately, and the CCXML application can continue on while the platform works to fetch the identified resource.]]></assert>
	</test>
	<test>
		<assert id="633" optional="false" manual="false" spec="6.2.7"><![CDATA[When the fetch request has been completed, a fetch.done event is thrown to indicates that the identified content was fetched successfully]]></assert>
	</test>
	<test>
		<assert id="634" optional="false" manual="false" spec="6.2.7"><![CDATA[When the fetch request has been completed, a error.fetch event is thrown to indicate a failure to fetch the requested content]]></assert>
	</test>
	<test>
		<assert id="635" optional="false" manual="false" spec="6.2.7"><![CDATA[If content is successfully fetched, errors in processing fetched content (for instance, a CCXML document with a syntax error) may result in an error.fetch being thrown.]]></assert>
	</test>
	<test>
		<assert id="636" optional="false" manual="false" spec="6.2.7"><![CDATA[The application may obtain the unique identifier for a fetch request by providing an ECMAScript left-hand-side expression in the fetchid attribute when the fetch is performed]]></assert>
	</test>
	<test>
		<assert id="637" optional="false" manual="false" spec="6.2.7"><![CDATA[The fetch identifier can be obtained as a property of the fetch.done event.]]></assert>
	</test>
	<test>
		<assert id="638" optional="false" manual="false" spec="6.2.7"><![CDATA[Fetched content has a lifetime that is limited to that of the document in which it is fetched. Therefore, following a transition to a new CCXML document using <goto>, content fetched in the scope of the current document is no longer accessible.]]></assert>
	</test>
	<test>
		<assert id="640" optional="false" manual="false" spec="6.2.7"><![CDATA[A CCXML <fetch> element may contain a type attribute.]]></assert>
	</test>
	<test>
		<assert id="641" optional="false" manual="false" spec="6.2.7"><![CDATA[If a type attribute is not provided the default value is: In processed mode "application/ccxml+xml". In raw mode "*/*".]]></assert>
	</test>
	<test>
		<assert id="642" optional="false" manual="false" spec="6.2.7"><![CDATA[A CCXML <fetch> element may contain a namelist attribute.  The namelist content will be submitted to the server where the URL is located.]]></assert>
	</test>
	<test>
		<assert id="643" optional="false" manual="false" spec="6.2.7"><![CDATA[A CCXML <fetch> element may contain a method attribute specifying the HTTP method to use.]]></assert>
	</test>
	<test>
		<assert id="645" optional="false" manual="false" spec="6.2.7"><![CDATA[A CCXML <fetch> element may contain a fetchid attribute.]]></assert>
	</test>
	<test>
		<assert id="646" optional="false" manual="false" spec="6.2.7"><![CDATA[A CCXML <fetch> element may contain a timeout attribute.  The fetch will fail if not completed at the end of this interval. A failed fetch will return the error.fetch event.]]></assert>
	</test>
	<test>
		<assert id="650" optional="false" manual="false" spec="6.2.7"><![CDATA[A CCXML <fetch> element may contain an enctype attribute indicating the media encoding type of the submitted document. If an enctype is specified, the value must be: application/x-www-form-urlencoded. ]]></assert>
	</test>
	<test>
		<assert id="995" optional="false" manual="false" spec="6.2.7"><![CDATA[Content that has been acquired using <fetch> is accessible through other elements defined by CCXML]]></assert>
	</test>
	<test>
		<assert id="996" optional="false" manual="false" spec="6.2.7"><![CDATA[The "http" URI scheme MUST be supported by CCXML platforms]]></assert>
	</test>
	<test>
		<assert id="651" optional="false" manual="false" spec="6.2.8"><![CDATA[A <goto> transfers control to the document obtained through a fetch request, using the platform-generated unique identifier associated with that fetch request.]]></assert>
	</test>
	<test>
		<assert id="652" optional="false" manual="false" spec="6.2.8"><![CDATA[The fetch completion event MUST have arrived before the <goto> is executed, otherwise, an error.semantic event is generated.]]></assert>
	</test>
	<test>
		<assert id="653" optional="false" manual="false" spec="6.2.8"><![CDATA[If the fetched content referenced by the fetch identifier is not a CCXML document, or the fetch identifier is invalid and does not correspond to any fetch request, this also results in an error.semantic event.]]></assert>
	</test>
	<test>
		<assert id="654" optional="false" manual="false" spec="6.2.8"><![CDATA[When a <goto> is executed, the target document replaces the current document in its session.]]></assert>
	</test>
	<test>
		<assert id="655" optional="false" manual="false" spec="6.2.8"><![CDATA[Event sources associated with this session are inherited by the target document]]></assert>
	</test>
	<test>
		<assert id="656" optional="false" manual="false" spec="6.2.8"><![CDATA[Execution of the current document terminates when a <goto> element is executed]]></assert>
	</test>
	<test>
		<assert id="657" optional="false" manual="false" spec="6.2.8"><![CDATA[A CCXML <goto> element must contain a fetchid attribute.  If the fetchid attribute is not provided and error.fetch event is thrown.]]></assert>
	</test>
	<test>
		<assert id="1160" optional="false" manual="false" spec="6.2.9"><![CDATA[If the value of the fetchparam attribute is 'none', then no additional parameters may be passed with the fetch.]]></assert>
	</test>
	<test>
		<assert id="1161" optional="false" manual="false" spec="6.2.9"><![CDATA[If the value of the fetch param attribute is 'session.id', then the 'session.id' property of the newly created session must be included when fetching the initial document]]></assert>
	</test>
	<test>
		<assert id="1162" optional="false" manual="false" spec="6.2.9"><![CDATA[If the value of the fetchparam attribute is 'session', then the 'session.id' property and all properties of 'session.values' will be included when fetching the initial document. ]]></assert>
	</test>
	<test>
		<assert id="1163" optional="false" manual="false" spec="6.2.9"><![CDATA[A parameters attribute may be specified.  If specified, the parameters attribute is a list of zero or more whitespace separated CCXML variable names. Each named variable will be created as a property of 'session.values' in the newly created session. ]]></assert>
	</test>
	<test>
		<assert id="658" optional="false" manual="false" spec="6.2.9"><![CDATA[<createccxml> is used to create another CCXML session, which begins execution with the document identified by this element.]]></assert>
	</test>
	<test>
		<assert id="661" optional="false" manual="false" spec="6.2.9"><![CDATA[The new CCXML session has no relation to its creator once spawned, and has a wholly separate lifetime and address space.]]></assert>
	</test>
	<test>
		<assert id="662" optional="false" manual="false" spec="6.2.9"><![CDATA[Execution returns from the <createccxml> element immediately, and the CCXML interpreter can continue on while the new CCXML session is established and loads its initial document.]]></assert>
	</test>
	<test>
		<assert id="665" optional="false" manual="false" spec="6.2.9"><![CDATA[The next attribute is required. It is an ECMAScript expression which returns the URI of the resource to be fetched]]></assert>
	</test>
	<test>
		<assert id="666" optional="false" manual="false" spec="6.2.9"><![CDATA[The namelist attribute is optional. A list of zero or more whitespace separated CCXML variable names. These variables must be submitted to the server, with the same qualification as used in the namelist. When an ECMAscript variable is submitted to the server, its value must be first converted into a string before being submitted.]]></assert>
	</test>
	<test>
		<assert id="667" optional="false" manual="false" spec="6.2.9"><![CDATA[The method attribute is optional. It is An ECMAScript expression which returns a character string that indicates the HTTP method to use.]]></assert>
	</test>
	<test>
		<assert id="669" optional="false" manual="false" spec="6.2.9"><![CDATA[The sessionid attribute is optional. It is an ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute must receive an internally generated unique string identifier which identifies the newly created session.]]></assert>
	</test>
	<test>
		<assert id="670" optional="false" manual="false" spec="6.2.9"><![CDATA[The timeout attribute is optional. It is an ECMAScript expression. The character string returned must be interpreted as a time interval. This time interval must be interpreted by the new CCXML session as the maximum time it may wait for the completion of the fetch for the initial document specified by the next attribute. If the new CCXML session is unable to fetch the initial document within the timeout interval, an error.createccxml event must be thrown.]]></assert>
	</test>
	<test>
		<assert id="671" optional="false" manual="false" spec="6.2.9"><![CDATA[The maxage attribute is optional. It is an ECMAScript expression.  The character string returned must be interpreted as a time interval. This indicates that the document is willing to use content whose age must be no greater than the specified time in seconds (cf. 'max-age' in HTTP 1.1 [RFC2616]). The document is not willing to use stale content, unless maxstale is also provided.]]></assert>
	</test>
	<test>
		<assert id="673" optional="false" manual="false" spec="6.2.9"><![CDATA[The maxstale attribute is optional. It is an ECMAScript expression. The character string returned must be interpreted as a time interval. This indicates that the document is willing to use content that has exceeded its expiration time (cf. 'max-age' in HTTP 1.1 [RFC2616]). If maxstale is assigned a value, then the document is willing to accept content that has exceeded its expiration time by no more than the specified number of seconds.]]></assert>
	</test>
	<test>
		<assert id="674" optional="false" manual="false" spec="6.2.9"><![CDATA[The enctype attribute is optional. It is an ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document (when the value of the method is "post"). Values defined by the specification are: application/x-www-form-urlencoded.  (Only one enctype is defined.)]]></assert>
	</test>
	<test>
		<assert id="675" optional="false" manual="false" spec="6.2.10"><![CDATA[<exit> ends execution of the CCXML session. All pending events are discarded, and there is no way to restart CCXML execution.]]></assert>
	</test>
	<test>
		<assert id="684" optional="false" manual="false" spec="6.2.11"><![CDATA[The <log> element may have a label attribute to indicate the purpose of the log.]]></assert>
	</test>
	<test>
		<assert id="685" optional="false" manual="false" spec="6.2.11"><![CDATA[The <log> element must provide an expr attribute evaluating to string to be logged]]></assert>
	</test>
	<test>
		<assert id="686" optional="false" manual="false" spec="6.2.11"><![CDATA[If an expr attribute is not provided, an error.fetch event will be thrown.]]></assert>
	</test>
	<test>
		<assert id="689" optional="false" manual="false" spec="6.3.2"><![CDATA[A fetch.done event will contain a fetchid property set to the internally generated unique fetch identifier]]></assert>
	</test>
	<test>
		<assert id="690" optional="false" manual="false" spec="6.3.2"><![CDATA[A fetch.done event will contain a uri property set to the URI of the fetch request.]]></assert>
	</test>
	<test>
		<assert id="1006" optional="false" manual="false" spec="6.3.3"><![CDATA[An error.fetch event will contain a statuscode property set to the numeric HTTP status code of the failed HTTP request]]></assert>
	</test>
	<test>
		<assert id="693" optional="false" manual="false" spec="6.3.3"><![CDATA[An error.fetch event will contain a fetchid property set to the internally generated unique fetch identifier]]></assert>
	</test>
	<test>
		<assert id="694" optional="false" manual="false" spec="6.3.3"><![CDATA[An error.fetch event will contain a reason property set to a string describing the fetch error.]]></assert>
	</test>
	<test>
		<assert id="695" optional="false" manual="false" spec="6.3.3"><![CDATA[An error.fetch event will contain a uri property set to the URI of the fetch request.]]></assert>
	</test>
	<test>
		<assert id="1014" optional="false" manual="false" spec="6.3.4"><![CDATA[A ccxml.exit event will contain a reason property set to the reason the session ended. Possible values are: "exit" - Session ended due to a <exit> element, "error" - Session ended due to an unhandled error event, "kill" - Session ended due to ccxml.kill* event]]></assert>
	</test>
	<test>
		<assert id="1164" optional="false" manual="false" spec="6.3.4"><![CDATA[This event is generated when a CCXML document has an unhandled "error.*" event]]></assert>
	</test>
	<test>
		<assert id="1165" optional="false" manual="false" spec="6.3.4"><![CDATA[This event is generated when a CCXML document has an unhandled ccxml.kill event. ]]></assert>
	</test>
	<test>
		<assert id="1166" optional="false" manual="false" spec="6.3.4"><![CDATA[The ccxml.exit event is only generated when the session exiting has a parent session. This event is sent to the parent session and not the exiting.]]></assert>
	</test>
	<test>
		<assert id="698" optional="false" manual="false" spec="6.3.4"><![CDATA[A ccxml.exit event will contain a sessionid property set to the identifier of the exiting session. This is the same value returned to the sessionid attribute of the <createccxml> which created this session]]></assert>
	</test>
	<test>
		<assert id="699" optional="false" manual="false" spec="6.3.4"><![CDATA[A ccxml.exit event will contain a expr property conatining the value of the value of the <exit> expr attribute]]></assert>
	</test>
	<test>
		<assert id="701" optional="false" manual="false" spec="6.3.4"><![CDATA[A ccxml.exit event will contain a values object with sub properties for each entry in the namelist attribute.]]></assert>
	</test>
	<test>
		<assert id="702" optional="false" manual="false" spec="6.3.5"><![CDATA[The ccxml.loaded event is thrown once the document is parsed and ready for execution (document initialization occurs between the fetched and loaded events).]]></assert>
	</test>
	<test>
		<assert id="703" optional="false" manual="false" spec="6.3.5"><![CDATA[The CCXML platform MUST generate this event when the CCXML document is first loaded at session startup.]]></assert>
	</test>
	<test>
		<assert id="704" optional="false" manual="false" spec="6.3.5"><![CDATA[The CCXML platform MUST generate this event when the CCXML document is loaded after transferring control to a new document with the <goto>.]]></assert>
	</test>
	<test>
		<assert id="705" optional="false" manual="false" spec="6.3.5"><![CDATA[This event would be processed after the platform had executed the document initialization including executing any elements under the <ccxml>]]></assert>
	</test>
	<test>
		<assert id="707" optional="false" manual="false" spec="6.3.5"><![CDATA[The ccxml.loaded event contains a sessionid property that identifies of the session on which this document is executing]]></assert>
	</test>
	<test>
		<assert id="708" optional="false" manual="false" spec="6.3.5"><![CDATA[The ccxml.loaded event contains a parent property indicating the identifier of the session which issued the <createccxml> to start this document.]]></assert>
	</test>
	<test>
		<assert id="709" optional="false" manual="false" spec="6.3.5"><![CDATA[if this document was started directly by the CCXML platform, the parent property of a ccxml.loaded event is set to ECMAScript undefined]]></assert>
	</test>
	<test>
		<assert id="710" optional="false" manual="false" spec="6.3.6"><![CDATA[The ccxml.kill event can be used by the platform to terminate a session without an explicit <exit>.]]></assert>
	</test>
	<test>
		<assert id="711" optional="false" manual="false" spec="6.3.6"><![CDATA[The ccxml.kill event can be caught, typically to perform a clean-up operation at the end of a session. If the event is caught the session will not be terminated unless the an <exit> element is processed. If the event is not caught the session will be terminated and all active connections, conferences and dialogs that are owned by that session will be automatically terminated by the platform]]></assert>
	</test>
	<test>
		<assert id="712" optional="false" manual="false" spec="6.3.6"><![CDATA[the ccxml.kill.unconditional event is the only event that cannot be caught by an application. It will unconditionally terminate the session and all active connections, conferences and dialogs that are owned by that session will be automatically terminated by the platform.]]></assert>
	</test>
	<test>
		<assert id="714" optional="false" manual="false" spec="6.3.6"><![CDATA[The ccxml.kill event contains a sessionid property set to the identifier of the session that has sent the event.]]></assert>
	</test>
	<test>
		<assert id="715" optional="false" manual="false" spec="6.3.6"><![CDATA[The ccxml.kill event contains a reason property set to a string describing the reason the platform sent the ccxml.kill event]]></assert>
	</test>
	<test>
		<assert id="721" optional="false" manual="false" spec="6.3.6"><![CDATA[The ccxml.created event contains a sessionid property set to identifier of the newly created CCXML session. This is the same identifier as was returned on the sessionid attribute of the <createccxml> request that created the session]]></assert>
	</test>
	<test>
		<assert id="724" optional="false" manual="false" spec="6.3.8"><![CDATA[The error.createccxml event contains a sessionid property set to identifier of the failing CCXML session. This is the same identifier as was returned on the sessionid attribute of the <createccxml> request that created the session]]></assert>
	</test>
	<test>
		<assert id="725" optional="false" manual="false" spec="6.3.8"><![CDATA[The error.createccxml event contains a reason property set the a string describing the error encountered]]></assert>
	</test>
	<test>
		<assert id="310" optional="true" manual="false" spec="7.1"><![CDATA[A CCXML platform MAY support interaction with several dialog systems with the selection of the particular technology being based on the MIME type specified when the dialog is initiated.]]></assert>
	</test>
	<test>
		<assert id="311" optional="false" manual="false" spec="7.1"><![CDATA[CCXML implementations MUST support the <dialogprepare>, <dialogstart>, and <dialogterminate> elements though the exact behaviour may vary depending on the dialog environments supported.]]></assert>
	</test>
	<test>
		<assert id="312" optional="false" manual="false" spec="7.2.1.1"><![CDATA[A <dialogprepare> element does not block the processing of further events by the CCXML session.]]></assert>
	</test>
	<test>
		<assert id="313" optional="false" manual="false" spec="7.2.1.1"><![CDATA[The use of the <dialogprepare> element is entirely optional, applications may choose to simply use <dialogstart> without prior preparation.]]></assert>
	</test>
	<test>
		<assert id="315" optional="false" manual="false" spec="7.2.1.1"><![CDATA[In the case of a dialog manager that does not support preparation, the CCXML implementation MUST as a minimum, note the values provided in the <dialogprepare> attributes, create a Dialog object, and return a new unique value to the location defined by the dialogid attribute and throw a dialog.prepared event.]]></assert>
	</test>
	<test>
		<assert id="1181" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a parameters attribute whose value is a Var-list of one or more whitespace separated CCXML variable names. These variables are sent to the dialog environment as a list of name/value pairs.]]></assert>
	</test>
	<test>
		<assert id="1182" optional="false" manual="false" spec="7.2.1.2"><![CDATA[The parameters attribute value of <dialogprepare> is a Var-list. Names are sent exactly as they are specified. Values are formed by converting the referenced ECMAScript variable to string form (which is undefined for objects). ]]></assert>
	</test>
	<test>
		<assert id="1233" optional="false" manual="false" spec="7.2.1.2"><![CDATA[In <dialogprepare> element, if the attribute value of dialogid is invalid, an error.semantic event MUST be thrown.]]></assert>
	</test>
	<test>
		<assert id="317" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MUST have a src attribute]]></assert>
	</test>
	<test>
		<assert id="318" optional="false" manual="false" spec="7.2.1.2"><![CDATA[The src attribute value of <dialogprepare> is an ECMAScript  expression which returns a character string identifying the URI of the dialog document that the dialog interpreter should prepare.]]></assert>
	</test>
	<test>
		<assert id="319" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a type attribute whose value is an ECMAScript expression that MUST contain a valid MIME type.]]></assert>
	</test>
	<test>
		<assert id="320" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a namelist attribute whose value is a Var-list of zero or more whitespace separated CCXML variable names. These variables MUST be submitted to the server, with the same qualification as used in the namelist.]]></assert>
	</test>
	<test>
		<assert id="321" optional="false" manual="false" spec="7.2.1.2"><![CDATA[The namelist attribute value of <dialogprepare> is a Var-list. When an ECMAscript variable is submitted to the server, its value MUST be first converted into a string before being submitted.]]></assert>
	</test>
	<test>
		<assert id="322" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a dialogid attribute whose value is an ECMAScript Left Hand Side Expression evaluating to a previously defined variable.]]></assert>
	</test>
	<test>
		<assert id="323" optional="false" manual="false" spec="7.2.1.2"><![CDATA[The dialogid attribute value of <dialogprepare> is an ECMAScript left hand side expression, whose value MUST receive a dialog identifier value for the launched dialog interpreter instance.]]></assert>
	</test>
	<test>
		<assert id="324" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a connectionid attribute whose value is an ECMAScript Expression which returns the identifier of a connection. If specified, the dialog being prepared MUST be joined to the referenced connection as specified by the mediadirection attribute. ]]></assert>
	</test>
	<test>
		<assert id="326" optional="false" manual="false" spec="7.2.1.2"><![CDATA[The connectionid attribute value of <dialogprepare> is an ECMAScript expression. If the attribute value is invalid, an error.semantic event MUST be thrown.]]></assert>
	</test>
	<test>
		<assert id="327" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a conferenceid attribute whose value is an ECMAScript Expression which returns the identifier of a conference bridge. If specified, the dialog being prepared MUST be joined to the referenced conference as specified by the mediadirection attribute.]]></assert>
	</test>
	<test>
		<assert id="328" optional="false" manual="false" spec="7.2.1.2"><![CDATA[The conferenceid attribute value of <dialogprepare> is an ECMAScript expression. If the attribute value is invalid, an error.semantic event MUST be thrown.]]></assert>
	</test>
	<test>
		<assert id="329" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a mediadirection attribute whose value is an ECMAScript Expression that defines the direction of the media flow between the Dialog and the Connection or Conference. If the value is "both", it specifies a full duplex connection where the media flows in both directions.]]></assert>
	</test>
	<test>
		<assert id="330" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a mediadirection attribute whose value is an ECMAScript Expression that defines the direction of the media flow between the Dialog and the Connection or Conference. If the value is "dialogtransmit", the dialog transmits media to the Connection or Conference but does not receive any media streams]]></assert>
	</test>
	<test>
		<assert id="331" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a mediadirection attribute whose value is an ECMAScript Expression that defines the direction of the media flow between the Dialog and the Connection or Conference. If the value is "dialogreceive", the dialog receives media from the Connection or Conference but does not transmit any media streams.]]></assert>
	</test>
	<test>
		<assert id="332" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a maxage attribute whose value is a valid time value for the HTTP 1.1 request [RFC2616].]]></assert>
	</test>
	<test>
		<assert id="333" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a maxstale attribute whose value is a valid time value for the HTTP 1.1 request [RFC2616].]]></assert>
	</test>
	<test>
		<assert id="335" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a enctype attribute, whose value is an ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document. If the value is "application/x-www-form-urlencoded", this indicates that the ccxml variables specified in the namelist will be url encoded.]]></assert>
	</test>
	<test>
		<assert id="336" optional="false" manual="false" spec="7.2.1.2"><![CDATA[A <dialogprepare> element MAY have a method attribute whose value is an ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: GET and POST.]]></assert>
	</test>
	<test>
		<assert id="337" optional="false" manual="false" spec="7.2.2.1"><![CDATA[The <dialogstart> element MUST include either a URI reference to the initial document for the dialog or the identity of a previously prepared dialog.]]></assert>
	</test>
	<test>
		<assert id="338" optional="false" manual="false" spec="7.2.2.1"><![CDATA[When a <dialogstart> is executed,  the dialog executes on a separate logical execution thread (this MAY be a thread, process, or system depending upon platform implementation) and does not block the processing of further events by the CCXML session.]]></assert>
	</test>
	<test>
		<assert id="339" optional="false" manual="false" spec="7.2.2.1"><![CDATA[If the connectionid attribute of <dialogstart> is specified, and if the dialog language allows access to telephony variables such as ANI, DNIS and UUI, values of these variables MUST be propagated from the specified connection to the dialog application.]]></assert>
	</test>
	<test>
		<assert id="340" optional="false" manual="false" spec="7.2.2.1"><![CDATA[If the prepareddialogid attribute is specified and any attribute values conflict with the values specified in the <dialogprepare> element this MUST result in the throwing of an error.dialog.notstarted event.]]></assert>
	</test>
	<test>
		<assert id="802" optional="false" manual="false" spec="7.2.2.1"><![CDATA[When the dialog completes, a dialog.exit event MUST be posted to the event queue of the CCXML session that started it.]]></assert>
	</test>
	<test>
		<assert id="1184" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a parameters attribute whose value is a Var-list of one or more whitespace separated CCXML variable names. These variables are sent to the dialog environment as a list of name/value pairs.]]></assert>
	</test>
	<test>
		<assert id="1185" optional="false" manual="false" spec="7.2.2.2"><![CDATA[The parameters attribute value of <dialogstart> is a Var-list. Names are sent exactly as they are specified. Values are formed by converting the referenced ECMAScript variable to string form (which is undefined for objects). ]]></assert>
	</test>
	<test>
		<assert id="1186" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a parameters attribute. This attribute MUST NOT be specified in conjunction with the prepareddialogid attribute.]]></assert>
	</test>
	<test>
		<assert id="1213" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, if the attribute value of dialogid is invalid, an error.semantic event MUST be thrown.]]></assert>
	</test>
	<test>
		<assert id="1296" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, if the dialog was previously prepared using a dialogprepare element with a connectionid or conferenceid specified, and this attribute is also specified, execution of the dialogstart MUST fail with an error.dialog.notstarted event.  ]]></assert>
	</test>
	<test>
		<assert id="342" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a src attribute. This attribute MUST NOT be specified in conjunction with the prepareddialogid attribute.]]></assert>
	</test>
	<test>
		<assert id="343" optional="false" manual="false" spec="7.2.2.2"><![CDATA[The src attribute value of <dialogstart> is an ECMAScript expression which returns a character string identifying the URI of the dialog document that the dialog interpreter MUST load and begin execution upon startup.]]></assert>
	</test>
	<test>
		<assert id="345" optional="false" manual="false" spec="7.2.2.2"><![CDATA[The preparedialogid attribute value of <dialogstart> is an ECMAScript expression which returns a dialog identifier of a dialog previously prepared by the execution of a <dialogprepare> element.]]></assert>
	</test>
	<test>
		<assert id="347" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a type attribute. This attribute MUST NOT be specified in conjunction with the prepareddialogid attribute.]]></assert>
	</test>
	<test>
		<assert id="348" optional="false" manual="false" spec="7.2.2.2"><![CDATA[The type attribute value of <dialogstart> is an ECMAScript expression that MUST contain a valid MIME type.]]></assert>
	</test>
	<test>
		<assert id="349" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a namelist attribute. This attribute MUST NOT be specified in conjunction with the prepareddialogid attribute.]]></assert>
	</test>
	<test>
		<assert id="350" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a namelist attribute whose value is a Var-list of zero or more whitespace separated CCXML variable names.  These variables MUST be submitted to the web server, with the same qualification as used in the namelist.]]></assert>
	</test>
	<test>
		<assert id="351" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a namelist attribute whose value is a Var-list of one or more whitespace separated CCXML variable names. When an ECMAscript variable is submitted to the web server, its value MUST first converted into a string before being submitted.]]></assert>
	</test>
	<test>
		<assert id="352" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a dialogid attribute whose value is an ECMAScript Left Hand Side Expression evaluating to a previously defined variable. The value of the attribute MUST receive a dialog identifier value for the launched dialog interpreter instance.]]></assert>
	</test>
	<test>
		<assert id="353" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a connectionid attribute whose value is an ECMAScript expression which returns the identifier of a connection. If specified, the dialog being started MUST be joined to the referenced connection as specified by the mediadirection attribute.]]></assert>
	</test>
	<test>
		<assert id="357" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, if the attribute value of connectionid is invalid an error.semantic event MUST be thrown.]]></assert>
	</test>
	<test>
		<assert id="358" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a conferenceid attribute whose value is an ECMAScript Expression which returns the identifier of`a conference bridge. If specified, the dialog being started MUST be joined to the referenced conference as specified by the mediadirection attribute.]]></assert>
	</test>
	<test>
		<assert id="359" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, if the attribute value of conferenceid is invalid an error.semantic event MUST be thrown.]]></assert>
	</test>
	<test>
		<assert id="360" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a mediadirection attribute whose value is an ECMAScript Expression that defines the direction of the media flow between the Dialog and the Connection or Conference. If the value is "both", it specifies a full duplex connection where the media flows in both directions.]]></assert>
	</test>
	<test>
		<assert id="361" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a mediadirection attribute whose value is an ECMAScript Expression that defines the direction of the media flow between the Dialog and the Connection or Conference. If the value is "dialogtransmit", the dialog transmits media to the Connection or Conference but does not receive any media streams]]></assert>
	</test>
	<test>
		<assert id="362" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a mediadirection attribute whose value is an ECMAScript Expression that defines the direction of the media flow between the Dialog and the Connection or Conference. If the value is "dialogreceive", the dialog receives media from the  Connection or Conference but does not transmit any media streams.]]></assert>
	</test>
	<test>
		<assert id="363" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, if both the mediadirection and the prepareddialogid are specified and the bridge type specified by the mediadirection attribute does not match that used on the previous <dialogprepare> element, an error.dialog.notstarted event MUST be raised.]]></assert>
	</test>
	<test>
		<assert id="365" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a maxage attribute whose value is a valid time value for the HTTP 1.1 request [RFC2616].]]></assert>
	</test>
	<test>
		<assert id="366" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, the maxage attribute MUST NOT be specified used with prepareddialogid.]]></assert>
	</test>
	<test>
		<assert id="367" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a maxstale attribute whose value is a valid time value for the HTTP 1.1 request [RFC2616].]]></assert>
	</test>
	<test>
		<assert id="368" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, the maxstale attribute MUST NOT be used with prepareddialogid.]]></assert>
	</test>
	<test>
		<assert id="370" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, the enctype attribute MUST NOT be used with prepareddialogid.]]></assert>
	</test>
	<test>
		<assert id="371" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a enctype attribute, whose value is an ECMAScript expression which returns a character string that indicates the media encoding type of the submitted document. If the value is "application/x-www-form-urlencoded", this indicates that the ccxml variables specified in the namelist will be url encoded.]]></assert>
	</test>
	<test>
		<assert id="372" optional="false" manual="false" spec="7.2.2.2"><![CDATA[A <dialogstart> element MAY have a method attribute whose value is an ECMAScript expression which returns a character string that indicates the HTTP method to use. Values defined by the specification are: GET and POST.]]></assert>
	</test>
	<test>
		<assert id="373" optional="false" manual="false" spec="7.2.2.2"><![CDATA[In <dialogstart> element, the method attribute MUST NOT be used with prepareddialogid.]]></assert>
	</test>
	<test>
		<assert id="375" optional="false" manual="false" spec="7.2.3.1"><![CDATA[A dialog terminated due to the processing of a <dialogterminate> element MAY still return data to the CCXML application using a dialog.exit event if the value of the immediate attribute is false or unspecified.]]></assert>
	</test>
	<test>
		<assert id="376" optional="false" manual="false" spec="7.2.3.1"><![CDATA[In a <dialogterminate> element, if the immediate attribute is set to true, the dialog MUST NOT return data to the CCXML application and the CCXML interpreter MUST post a dialog.exit event immediately.]]></assert>
	</test>
	<test>
		<assert id="377" optional="false" manual="false" spec="7.2.3.2"><![CDATA[A <dialogterminate> element MUST have a dialogid attribute whose value is an ECMAScript expression which returns a character string identifying the dialog.]]></assert>
	</test>
	<test>
		<assert id="378" optional="false" manual="false" spec="7.2.3.2"><![CDATA[A <dialogterminate> element MUST have a dialogid attribute. If the attribute value is invalid, an error.semantic event MUST be thrown.]]></assert>
	</test>
	<test>
		<assert id="379" optional="false" manual="false" spec="7.2.3.2"><![CDATA[A <dialogterminate> element MAY have an immediate attribute whose value is an ECMAScript expression which returns a character string, that identifies the termination style of the dialog. Valid values are: true and false.]]></assert>
	</test>
	<test>
		<assert id="1189" optional="false" manual="false" spec="7.3.2"><![CDATA[A dialog.started event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="381" optional="false" manual="false" spec="7.3.2"><![CDATA[The dialog.started event MUST be thrown when a dialog is successfully started.]]></assert>
	</test>
	<test>
		<assert id="383" optional="false" manual="false" spec="7.3.2"><![CDATA[A dialog.started event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="384" optional="false" manual="false" spec="7.3.2"><![CDATA[A dialog.started event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection is bridged (usually the connectionid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="385" optional="false" manual="false" spec="7.3.2"><![CDATA[A dialog.started event MAY contain a connectionid property. If the dialog is bridged to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="386" optional="false" manual="false" spec="7.3.2"><![CDATA[A dialog.started event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection is bridged (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="387" optional="false" manual="false" spec="7.3.2"><![CDATA[A dialog.started event MAY contain a conferenceid property. If the dialog is bridged to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="1191" optional="false" manual="false" spec="7.3.3"><![CDATA[A dialog.exit event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="388" optional="false" manual="false" spec="7.3.3"><![CDATA[The dialog.exit event MUST be thrown when a dialog terminates normally.]]></assert>
	</test>
	<test>
		<assert id="389" optional="false" manual="false" spec="7.3.3"><![CDATA[The dialog.exit event MUST be thrown when a dialog terminates following a <dialogterminate> request.]]></assert>
	</test>
	<test>
		<assert id="391" optional="false" manual="false" spec="7.3.3"><![CDATA[A dialog.exit event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="392" optional="false" manual="false" spec="7.3.3"><![CDATA[A dialog.exit event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection is bridged (usually the connectionid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="393" optional="false" manual="false" spec="7.3.3"><![CDATA[A dialog.exit event MAY contain a connectionid property. If the dialog is bridged to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="394" optional="false" manual="false" spec="7.3.3"><![CDATA[A dialog.exit event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection is bridged (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="395" optional="false" manual="false" spec="7.3.3"><![CDATA[A dialog.exit event MAY contain a conferenceid property. If the dialog is bridged to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="397" optional="false" manual="false" spec="7.3.3"><![CDATA[A dialog.exit event MAY contain a values property. Return values from the dialog. In VoiceXML this would be the values of each of the objects listed in the exit element's namelist.]]></assert>
	</test>
	<test>
		<assert id="1193" optional="false" manual="false" spec="7.3.4"><![CDATA[A dialog.disconnect event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="398" optional="false" manual="false" spec="7.3.4"><![CDATA[The dialog.disconnect event represents a request by a dialog to disconnect the Connection or Conference with which it is presently associated.]]></assert>
	</test>
	<test>
		<assert id="401" optional="false" manual="false" spec="7.3.4"><![CDATA[A dialog.disconnect event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="402" optional="false" manual="false" spec="7.3.4"><![CDATA[A dialog.disconnect event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection is bridged (usually the connectionid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="403" optional="false" manual="false" spec="7.3.4"><![CDATA[A dialog.disconnect event MAY contain a connectionid property, if the dialog is bridged to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="404" optional="false" manual="false" spec="7.3.4"><![CDATA[A dialog.disconnect event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection is bridged (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="405" optional="false" manual="false" spec="7.3.4"><![CDATA[A dialog.disconnect event MAY contain a conferenceid property, if the dialog is bridged to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="407" optional="false" manual="false" spec="7.3.4"><![CDATA[A dialog.disconnect event MAY contain a values property. Return values from the dialog. In VoiceXML this would be the values of each of the objects listed in the dialog element's namelist.]]></assert>
	</test>
	<test>
		<assert id="1195" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="408" optional="false" manual="false" spec="7.3.5"><![CDATA[The dialog.transfer event represents a request by a dialog to transfer the Connection or Conference with which it is presently associated to a new destination.]]></assert>
	</test>
	<test>
		<assert id="410" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="411" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection is bridged (usually the connectionid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="412" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MAY contain a connectionid property, if the dialog is bridged to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="413" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection is bridged (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="414" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MAY contain a conferenceid property, if the dialog is bridged to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="415" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MUST contain a type property, which contains a string value specifying the transfer type.]]></assert>
	</test>
	<test>
		<assert id="416" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MUST contain a URI property, which contains a URI describing the destination to which this call MUST be transfered. The format of this information is protocol and platform specific but might consist of a telephone URI [ RFC2806 ] or a SIP URI [ RFC3261 ].]]></assert>
	</test>
	<test>
		<assert id="419" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MUST contain a maxtime property, which contains a string in CSS2 format that specifies the maximum amount of time the transfer may stay connected.]]></assert>
	</test>
	<test>
		<assert id="420" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MUST contain a maxtime property, if the amount of the transfer time is unlimited, the value of maxtime MUST be 0s.]]></assert>
	</test>
	<test>
		<assert id="421" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MUST contain a connecttimeout property, which contains a string in CSS2 format that specifies the maximum amount of time to spend while attempting to connect the call.]]></assert>
	</test>
	<test>
		<assert id="422" optional="false" manual="false" spec="7.3.5"><![CDATA[A dialog.transfer event MAY contain an aai property, if specified by the dialog. This property contains a string of application-to-application information.]]></assert>
	</test>
	<test>
		<assert id="838" optional="false" manual="false" spec="7.3.5"><![CDATA[The aai property of dialog.transfer, if specified by the dialog, MUST be passed to the destination party when establishing the transfer.]]></assert>
	</test>
	<test>
		<assert id="1197" optional="false" manual="false" spec="7.3.6"><![CDATA[A dialog.terminatetransfer event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="425" optional="false" manual="false" spec="7.3.6"><![CDATA[A dialog.terminatetransfer event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="426" optional="false" manual="false" spec="7.3.6"><![CDATA[A dialog.terminatetransfer event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection is bridged (usually the connectionid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="427" optional="false" manual="false" spec="7.3.6"><![CDATA[A dialog.terminatetransfer event MAY contain a connectionid property, if the dialog is bridged to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="428" optional="false" manual="false" spec="7.3.6"><![CDATA[A dialog.terminatetransfer event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection is bridged (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="429" optional="false" manual="false" spec="7.3.6"><![CDATA[A dialog.terminatetransfer event MAY contain a conferenceid property, if the dialog is bridged to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="430" optional="false" manual="false" spec="7.3.6"><![CDATA[A dialog.terminatetransfer event MUST contain a reason property, which contains a string value specifying a description of the reason the dialog wants the transfer to be terminated. Content of this field is platform-specific.]]></assert>
	</test>
	<test>
		<assert id="1199" optional="false" manual="true" spec="7.3.7"><![CDATA[A error.dialog event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="1201" optional="false" manual="true" spec="7.3.7"><![CDATA[When error.dialog is processed, the platform MUST implicitly tear down any existing bridges to the dialog and send a conference.unjoined to the CCXML document once the media paths have been freed.]]></assert>
	</test>
	<test>
		<assert id="885" optional="false" manual="true" spec="7.3.7"><![CDATA[The error.dialog event MUST be thrown when there was an unspecified error with the dialog (for example the dialog server crashed). ]]></assert>
	</test>
	<test>
		<assert id="887" optional="false" manual="true" spec="7.3.7"><![CDATA[A error.dialog event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="888" optional="false" manual="true" spec="7.3.7"><![CDATA[A error.dialog event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection was connected to (usually the connectionid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="889" optional="false" manual="true" spec="7.3.7"><![CDATA[A error.dialog event MAY contain a connectionid property, if the dialog was being connected to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="890" optional="false" manual="true" spec="7.3.7"><![CDATA[A error.dialog event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection was connected to (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="891" optional="false" manual="true" spec="7.3.7"><![CDATA[A error.dialog event MAY contain a conferenceid property, if the dialog was being connected to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="892" optional="false" manual="true" spec="7.3.7"><![CDATA[A error.dialog event MUST contain a reason property, which contains a description of the reason the dialog had an error. Content of this field is platform-specific.]]></assert>
	</test>
	<test>
		<assert id="1203" optional="false" manual="false" spec="7.3.8"><![CDATA[A error.dialog.notstarted event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="431" optional="false" manual="false" spec="7.3.8"><![CDATA[The error.dialog.notstarted event MUST be thrown when the processing of a <dialogstart> element fails because the dialog cannot be started for some reason.]]></assert>
	</test>
	<test>
		<assert id="433" optional="false" manual="false" spec="7.3.8"><![CDATA[A error.dialog.notstarted event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="434" optional="false" manual="false" spec="7.3.8"><![CDATA[A error.dialog.notstarted event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection could not be started (usually the connectionid that was specified in the <dialogstart&gt> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="435" optional="false" manual="false" spec="7.3.8"><![CDATA[A error.dialog.notstarted event MAY contain a connectionid property, if the dialog was being connected to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="436" optional="false" manual="false" spec="7.3.8"><![CDATA[A error.dialog.notstarted event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection could not be started (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="437" optional="false" manual="false" spec="7.3.8"><![CDATA[A error.dialog.notstarted event MAY contain a conferenceid property, if the dialog was being connected to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="438" optional="false" manual="false" spec="7.3.8"><![CDATA[A error.dialog.notstarted event MUST contain a reason property, which contains a description of the reason the dialog could not be started. Content of this field is platform-specific.]]></assert>
	</test>
	<test>
		<assert id="1204" optional="false" manual="false" spec="7.3.10"><![CDATA[A dialog.user.* (where * is the name of the user defined event) event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="447" optional="false" manual="false" spec="7.3.10"><![CDATA[The dialog.user.* (where * is the name of the user defined event) event MUST be thrown when a dialog sends a user/application-defined event.]]></assert>
	</test>
	<test>
		<assert id="449" optional="false" manual="false" spec="7.3.10"><![CDATA[A dialog.user.* (where * is the name of the user defined event) event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="450" optional="false" manual="false" spec="7.3.10"><![CDATA[A dialog.user.* (where * is the name of the user defined event) event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection is bridged (usually the connectionid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="451" optional="false" manual="false" spec="7.3.10"><![CDATA[A dialog.user.* (where * is the name of the user defined event) event MAY contain a connectionid property, if the dialog is bridged to a conference the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="452" optional="false" manual="false" spec="7.3.10"><![CDATA[A dialog.user.* (where * is the name of the user defined event) event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection is bridged (usually the conferenceid that was specified in the <dialogstart> or <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="453" optional="false" manual="false" spec="7.3.10"><![CDATA[A dialog.user.* (where * is the name of the user defined event) event MAY contain a conferenceid property, if the dialog is bridged to a connection the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="455" optional="false" manual="false" spec="7.3.10"><![CDATA[A dialog.user.* (where * is the name of the user defined event) event MAY contain a values property of type ECMAScript object to return values from the dialog for the user event.]]></assert>
	</test>
	<test>
		<assert id="1206" optional="false" manual="false" spec="7.3.11"><![CDATA[A dialog.prepared event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="456" optional="false" manual="false" spec="7.3.11"><![CDATA[The dialog.prepared event MUST be thrown when a dialog has been successfully prepared following the execution of a <dialogprepare> element.]]></assert>
	</test>
	<test>
		<assert id="458" optional="false" manual="false" spec="7.3.11"><![CDATA[A dialog.prepared event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="459" optional="false" manual="false" spec="7.3.11"><![CDATA[A dialog.prepared event MAY contain a connectionid property set to the identifier of the connection to which the dialog connection is prepared (usually the connectionid that was specified in the <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="460" optional="false" manual="false" spec="7.3.11"><![CDATA[A dialog.prepared event MAY contain a connectionid property, if the dialog was prepared without a connection, the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="461" optional="false" manual="false" spec="7.3.11"><![CDATA[A dialog.prepared event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection is prepared(usually the conferenceid that was specified in the <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="462" optional="false" manual="false" spec="7.3.11"><![CDATA[A dialog.prepared event MAY contain a conferenceid property, if the dialog was prepared without a conference, the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="1208" optional="false" manual="false" spec="7.3.12"><![CDATA[A error.dialog.notprepared event MUST contain a dialog property set to an ECMAScript object reference to the dialog object identified by the dialogid property of this event.]]></assert>
	</test>
	<test>
		<assert id="463" optional="false" manual="false" spec="7.3.12"><![CDATA[The error.dialog.notprepared event MUST be thrown when the processing of a <dialogprepare> element fails.]]></assert>
	</test>
	<test>
		<assert id="465" optional="false" manual="false" spec="7.3.12"><![CDATA[A error.dialog.notprepared event MUST contain a dialogid property set to the ID of the dialog.]]></assert>
	</test>
	<test>
		<assert id="466" optional="false" manual="false" spec="7.3.12"><![CDATA[A error.dialog.notprepared event MAY contain a connectionid property set to identifier of the connection to which the dialog connection was attempting to be prepared (usually the connectionid that was specified in the <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="467" optional="false" manual="false" spec="7.3.12"><![CDATA[A error.dialog.notprepared event MAY contain a connectionid property, if the dialog was prepared without a connection, the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="468" optional="false" manual="false" spec="7.3.12"><![CDATA[A error.dialog.notprepared event MAY contain a conferenceid property set to the identifier of the conference to which the dialog connection was attempting to be prepared (usually the conferenceid that was specified in the <dialogprepare>).]]></assert>
	</test>
	<test>
		<assert id="469" optional="false" manual="false" spec="7.3.12"><![CDATA[A error.dialog.notprepared event MAY contain a conferenceid property, if the dialog was prepared without a conference, the value MUST be undefined.]]></assert>
	</test>
	<test>
		<assert id="470" optional="false" manual="false" spec="7.3.12"><![CDATA[A error.dialog.notprepared event MUST contain a reason property, contains a description of the reason the dialog could not be prepared. Content of this field is platform-specific.]]></assert>
	</test>
	<test>
		<assert id="1297" optional="false" manual="false" spec="7.4"><![CDATA[A Dialog object MUST contain a objecttype property. It contains the  type of this object which must be 'dialog'.]]></assert>
	</test>
	<test>
		<assert id="473" optional="false" manual="false" spec="7.4"><![CDATA[An instance of the Dialog object is associated with each dialog created by <dialogstart> or <dialogprepare> and referenced in the session.dialogs associative array.]]></assert>
	</test>
	<test>
		<assert id="474" optional="false" manual="false" spec="7.4"><![CDATA[A Dialog object MUST contain a dialogid property. It contains the ECMAScript string value of the Dialog identifier,  which uniquely identifies each instance of the Dialog class.]]></assert>
	</test>
	<test>
		<assert id="480" optional="false" manual="false" spec="7.4"><![CDATA[A Dialog object MUST contain a type property. It contains an ECMAScript string value that specifies the MIME type of the document that loaded the dialog.]]></assert>
	</test>
	<test>
		<assert id="481" optional="false" manual="false" spec="7.4"><![CDATA[A Dialog object MUST contain a src property. It is an ECMAScript string value identifying the initial URI of the dialog document.]]></assert>
	</test>
	<test>
		<assert id="1167" optional="false" manual="false" spec="8.2.1"><![CDATA[The session scope is opened by CCXML implementation before interpretation of a new session starts and exists until the session exits.]]></assert>
	</test>
	<test>
		<assert id="1168" optional="false" manual="false" spec="8.2.1"><![CDATA[The application scope is opened by CCXML implementation before interpretation of a new session starts and exists until the session exits.]]></assert>
	</test>
	<test>
		<assert id="1169" optional="false" manual="false" spec="8.2.1"><![CDATA[Unlike in the session scope, variables in the application scope can be modified by CCXML programs. ]]></assert>
	</test>
	<test>
		<assert id="1170" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables defined within the application scope are visible to all documents within the CCXML application.]]></assert>
	</test>
	<test>
		<assert id="1171" optional="false" manual="false" spec="8.2.1"><![CDATA[This ccxml scope is opened by CCXML implementation for each CCXML document when it is loaded and exists while the document is loaded. ]]></assert>
	</test>
	<test>
		<assert id="1172" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables in the ccxml scope can also be created without an explicit declaration by assigning a value to a property of the ccxml object (ccxml.varname = value).]]></assert>
	</test>
	<test>
		<assert id="1173" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables in the transition scope can also be created without an explicit declaration by assigning a value to a property of the transition object (transition.varname = value).]]></assert>
	</test>
	<test>
		<assert id="729" optional="false" manual="false" spec="8.2.1"><![CDATA[It is illegal to make an assignment to a variable that has not been explicitly declared using <var> or a var statement within a <script>. Attempting to assign to an undeclared variable causes an error.semantic event to be thrown]]></assert>
	</test>
	<test>
		<assert id="730" optional="false" manual="false" spec="8.2.1"><![CDATA[An attempt to declare ECMAScript object properties such as "obj.prop1" results in an error.semantic event being thrown.]]></assert>
	</test>
	<test>
		<assert id="732" optional="false" manual="false" spec="8.2.1"><![CDATA[A local variable declared in a <transition> is only available within that <transition> element.]]></assert>
	</test>
	<test>
		<assert id="733" optional="false" manual="false" spec="8.2.1"><![CDATA[The implementation MUST define four scopes - session, application, ccxml and transition.]]></assert>
	</test>
	<test>
		<assert id="735" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables defined in the session scope are provided by CCXML implementation and are read-only. Any attempt to modify the session object or it's properties by the application MUST result in an error.semantic event to be thrown by the platform.]]></assert>
	</test>
	<test>
		<assert id="736" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables within the application scope cannot be explicitly declared using <var> element or var statement within a <script>. They can be created only by assigning a value to a property of the application object (application.varname = value). ]]></assert>
	</test>
	<test>
		<assert id="737" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables defined in the ccxml scope are declared with <var> and <script> elements that are children of <ccxml>.]]></assert>
	</test>
	<test>
		<assert id="738" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables defined in the ccxml scope are initialized in document order when the document is loaded. They exist while the document is loaded.]]></assert>
	</test>
	<test>
		<assert id="739" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables defined in the ccxml scope are visible only within that document in which they are declared.]]></assert>
	</test>
	<test>
		<assert id="740" optional="false" manual="false" spec="8.2.1"><![CDATA[Each <transition> element has a scope that exists while the implementation is processing the executable content within that <transition>, and which is visible to the elements of that <transition>. ]]></assert>
	</test>
	<test>
		<assert id="741" optional="false" manual="false" spec="8.2.1"><![CDATA[Variables with transition scope are declared by <var> and <script> child elements of <transition>.]]></assert>
	</test>
	<test>
		<assert id="742" optional="false" manual="false" spec="8.2.1"><![CDATA[The child <var> and <script> elements of <transition> are initialized in document order when the executable content is executed.]]></assert>
	</test>
	<test>
		<assert id="743" optional="false" manual="false" spec="8.2.1"><![CDATA[The implementation MUST instantiate a variable within the scope of the closest containing scope element.]]></assert>
	</test>
	<test>
		<assert id="744" optional="false" manual="false" spec="8.2.1"><![CDATA[The fully-qualified name of a variable is the name of the variable's scope object prepended with a dot to the name of the variable.]]></assert>
	</test>
	<test>
		<assert id="745" optional="false" manual="false" spec="8.2.1"><![CDATA[The implementation MUST allow reference to variables by their fully qualified names.]]></assert>
	</test>
	<test>
		<assert id="746" optional="false" manual="false" spec="8.2.1"><![CDATA[The implementation MUST allow reference to variables without requiring use of their fully qualified names. In the case of like-named variables declared in different scopes, the implementation MUST reference the variable in the closest containing scope, unless the fully-qualified variable name is used.]]></assert>
	</test>
	<test>
		<assert id="747" optional="false" manual="false" spec="8.2.1"><![CDATA[The implementation MUST resolve variables by searching the enclosing transition scope first (if applicable) followed by the ccxml scope, the application scope and then the session scope, unless the variable reference is qualified with a scope prefix.]]></assert>
	</test>
	<test>
		<assert id="748" optional="false" manual="false" spec="8.2.1"><![CDATA[If the variable includes a scope prefix, the implementation MUST resolve the variable by searching the named scope.]]></assert>
	</test>
	<test>
		<assert id="749" optional="false" manual="false" spec="8.2.1"><![CDATA[If a variable is declared more than once, the implementation MUST evaluate the expr attribute of each subsequent declaration, and assign the result to the variable declared by the first <var>.]]></assert>
	</test>
	<test>
		<assert id="750" optional="false" manual="false" spec="8.2.1"><![CDATA[The implementation MUST evaluate the ECMAScript expression contained in the expr attribute of <assign>, and assign the results to the variable referenced in the name attribute.]]></assert>
	</test>
	<test>
		<assert id="752" optional="false" manual="false" spec="8.2.1"><![CDATA[A <var> element must contain a name attribute.  ]]></assert>
	</test>
	<test>
		<assert id="753" optional="false" manual="false" spec="8.2.1"><![CDATA[A <var> element may contain an expr attribute.  If the expr attribute is provided, the content of the expr attribute becomes the initial value of the new variable.]]></assert>
	</test>
	<test>
		<assert id="754" optional="false" manual="false" spec="8.2.1"><![CDATA[If an expr attribute is not provided on <var>, the new variable is initialized to ECMAScript undefined.]]></assert>
	</test>
	<test>
		<assert id="755" optional="false" manual="false" spec="8.2.1"><![CDATA[An <assign> element must provide a name attribute. ]]></assert>
	</test>
	<test>
		<assert id="756" optional="false" manual="false" spec="8.2.1"><![CDATA[An <assign> element must provide a expr attribute. ]]></assert>
	</test>
	<test>
		<assert id="1174" optional="false" manual="false" spec="8.2.2"><![CDATA[If the script cannot be fetched the implementation must throw an error.fetch event.]]></assert>
	</test>
	<test>
		<assert id="1271" optional="false" manual="false" spec="8.2.2"><![CDATA[If a <createccxml> element is used to fetch a document containing a <script> where both the src and fetchid attributes are present, the implementation must throw an error.createccxml event.]]></assert>
	</test>
	<test>
		<assert id="757" optional="false" manual="false" spec="8.2.2"><![CDATA[<script> encloses computations written in the ECMAScript Compact Profile scripting language]]></assert>
	</test>
	<test>
		<assert id="758" optional="false" manual="false" spec="8.2.2"><![CDATA[An implementation MUST support the ECMAScript Compact Profile]]></assert>
	</test>
	<test>
		<assert id="759" optional="true" manual="false" spec="8.2.2"><![CDATA[An implementation MAY support the full ECMA-262 ECMAScript specification.]]></assert>
	</test>
	<test>
		<assert id="760" optional="false" manual="false" spec="8.2.2"><![CDATA[An implementation MUST support <script> within the <ccxml> element]]></assert>
	</test>
	<test>
		<assert id="761" optional="false" manual="false" spec="8.2.2"><![CDATA[An implementation MUST support <script> within executable content. <transition> and <if> contain executable content.]]></assert>
	</test>
	<test>
		<assert id="762" optional="false" manual="false" spec="8.2.2"><![CDATA[The implementation MUST evaluate script in a <ccxml> immediately after the document is loaded, along with any <var> and <assign> elements, in document order.]]></assert>
	</test>
	<test>
		<assert id="763" optional="false" manual="false" spec="8.2.2"><![CDATA[When used as a child of the <ccxml> element, <script> cannot be used to execute dynamically fetched content obtained using <fetch>.]]></assert>
	</test>
	<test>
		<assert id="764" optional="false" manual="false" spec="8.2.2"><![CDATA[The implementation MUST evaluate <script> in executable content as it is processed.]]></assert>
	</test>
	<test>
		<assert id="765" optional="false" manual="false" spec="8.2.2"><![CDATA[The ECMAScript contained within the <script> can declare variables with the ECMAScript var statement. Variables declared in this manner are declared in the scope of the closest containing scope CCXML element. They are known from the point of declaration to the end of the containing scope.]]></assert>
	</test>
	<test>
		<assert id="766" optional="false" manual="false" spec="8.2.2"><![CDATA[The implementation MUST allow reference to these variables from CCXML and from ECMAScript, using either the fully-qualified variable name, or the declared name]]></assert>
	</test>
	<test>
		<assert id="767" optional="false" manual="false" spec="8.2.2"><![CDATA[If the implementation is unable to run the script referenced it MUST throw an error.semantic event.]]></assert>
	</test>
	<test>
		<assert id="768" optional="false" manual="false" spec="8.2.2"><![CDATA[A <script> element may contain a src attribute that contains the URI which references a resource which is the script content, and which will be resolved when the CCXML document is compiled.]]></assert>
	</test>
	<test>
		<assert id="769" optional="false" manual="false" spec="8.2.2"><![CDATA[A <script> element may contain a fetchid atribute that contains an ECMAScript expression which returns the fetch identifier of a completed fetch request, acquired either in a fetch with the fetchid attribute, or from the fetchid attribute of a fetch.done event.]]></assert>
	</test>
	<test>
		<assert id="770" optional="false" manual="false" spec="8.2.2"><![CDATA[If the fetch identifier is invalid, has not completed, or the fetched content is not valid ECMAScript, an error.semantic event is thrown.]]></assert>
	</test>
	<test>
		<assert id="772" optional="false" manual="false" spec="8.2.2"><![CDATA[If a <fetch> element is used to fetch a document containing a <script> where both the src and fetchid attributes are present, the implementation must throw an error.fetch event.]]></assert>
	</test>
	<test>
		<assert id="773" optional="false" manual="false" spec="8.2.2"><![CDATA[A <script> element may contain a timeout attribute to be used when the src attribute is specified.  The script fetch will fail if not completed at the end of this interval. A failed fetch will return the error.fetch event.]]></assert>
	</test>
	<test>
		<assert id="774" optional="false" manual="false" spec="8.2.2"><![CDATA[A <script> element may contain a maxage attribute to be used when the src attribute is specified. This indicates that the document is willing to use content whose age is no greater than the specified time in seconds]]></assert>
	</test>
	<test>
		<assert id="775" optional="false" manual="false" spec="8.2.2"><![CDATA[The document is not willing to use stale script content, unless maxstale is also provided.]]></assert>
	</test>
	<test>
		<assert id="777" optional="false" manual="false" spec="8.2.2"><![CDATA[A <script> element may contain a charset attribute set the character encoding type of the script.  UTF-8 and UTF-16 encodings of ISO/IEC 10646 must be supported.]]></assert>
	</test>
	<test>
		<assert id="778" optional="false" manual="false" spec="8.2.2"><![CDATA[If an enctype attribute is not provided, UTF-8 is used as the default value.]]></assert>
	</test>
	<test>
		<assert id="1031" optional="false" manual="false" spec="8.3"><![CDATA[Variables defined in the session scope are subject to the parent scope chain delegation model but do not have a parent scope defined.]]></assert>
	</test>
	<test>
		<assert id="1033" optional="false" manual="false" spec="8.3"><![CDATA[session.ioprocessors is an associative Array which contains a list of external event I/O access URIs which are available to the current session. The array is associative and each key in the array is the type of the event I/O processor.]]></assert>
	</test>
	<test>
		<assert id="1034" optional="false" manual="false" spec="8.3"><![CDATA[session.values is an associative array which contains a list of session parameters passed on session creation]]></assert>
	</test>
	<test>
		<assert id="1175" optional="false" manual="false" spec="8.3"><![CDATA[If the interpreter fetched multiple documents as a result of one or more HTTP redirects (e.g. 302), the value of session.uri is set to the URI of the final target. ]]></assert>
	</test>
	<test>
		<assert id="1176" optional="false" manual="false" spec="8.3"><![CDATA[session.uri includes the query string used when fetching the document, if one is present.]]></assert>
	</test>
	<test>
		<assert id="779" optional="false" manual="false" spec="8.3"><![CDATA[The session variables are defined by the CCXML implementation when the CCXML session is created]]></assert>
	</test>
	<test>
		<assert id="780" optional="false" manual="false" spec="8.3"><![CDATA[Session variables are read-only to the running script and cannot be modified by the CCXML program.]]></assert>
	</test>
	<test>
		<assert id="781" optional="false" manual="false" spec="8.3"><![CDATA[New session variables cannot be declared by CCXML programs.]]></assert>
	</test>
	<test>
		<assert id="782" optional="false" manual="false" spec="8.3"><![CDATA[Session variable values visible to a CCXML application reflect the state of the executing CCXML session, current as of the occurrence of the event being processed.  Regardless of when session variables are updated to reflect changes, the CCXML implementation is REQUIRED to provide the correct values when accessed by a CCXML program.]]></assert>
	</test>
	<test>
		<assert id="783" optional="false" manual="false" spec="8.3"><![CDATA[session.startupmode indicates the startup mode that the script was started as.]]></assert>
	</test>
	<test>
		<assert id="784" optional="false" manual="false" spec="8.3"><![CDATA[For a new incoming call, session.startupmode will be set to 'newcall']]></assert>
	</test>
	<test>
		<assert id="786" optional="false" manual="false" spec="8.3"><![CDATA[For a session that was started due to a <createccxml> request, session.startupmode will be set to 'createccxml']]></assert>
	</test>
	<test>
		<assert id="787" optional="false" manual="false" spec="8.3"><![CDATA[session.id is a globally unique string that indicates the session identifier of the executing CCXML session.]]></assert>
	</test>
	<test>
		<assert id="788" optional="false" manual="false" spec="8.3"><![CDATA[session.uri is a URI that was used when creating the current CCXML session.]]></assert>
	</test>
	<test>
		<assert id="789" optional="false" manual="false" spec="8.3"><![CDATA[session.parentid is a string that indicates the session identifier of the parent of the CCXML session that created this session.]]></assert>
	</test>
	<test>
		<assert id="790" optional="false" manual="false" spec="8.3"><![CDATA[In the case the current session has no parent, the value of session.parentid will be ECMAScript undefined.]]></assert>
	</test>
	<test>
		<assert id="791" optional="false" manual="false" spec="8.3"><![CDATA[session.connections is an array which contains a list of the Connection objects that the session is currently using. The array is associative and each key in the array is the connection identifier for the Connection.]]></assert>
	</test>
	<test>
		<assert id="792" optional="false" manual="false" spec="8.3"><![CDATA[session.conferences is an associative array which contains a list of Conference objects with which the session is attached using <createconference>]]></assert>
	</test>
	<test>
		<assert id="793" optional="false" manual="false" spec="8.3"><![CDATA[session.dialogs is an associative Array which contains a list of the Dialog objects that the session is currently using. The array is associative and each key in the array is the dialog identifier for the Dialog. ]]></assert>
	</test>
	<test>
		<assert id="1035" optional="false" manual="false" spec="8.4"><![CDATA[Application variables that are not properties, e.g. objects, must be declared]]></assert>
	</test>
	<test>
		<assert id="1177" optional="false" manual="false" spec="8.4"><![CDATA[CCXML provides application variables which persist across the CCXML application]]></assert>
	</test>
	<test>
		<assert id="795" optional="false" manual="false" spec="8.4"><![CDATA[Application variables can be modified by CCXML programs.]]></assert>
	</test>
	<test>
		<assert id="796" optional="false" manual="false" spec="8.4"><![CDATA[Application variables that are properties of the application object are not explicitly declared.]]></assert>
	</test>
	<test>
		<assert id="797" optional="false" manual="false" spec="8.4"><![CDATA[By default, application variables have the value ECMAScript undefined.]]></assert>
	</test>
	<test>
		<assert id="798" optional="false" manual="false" spec="8.4"><![CDATA[Variables in the application scope are subject to the parent scope chain delegation model and have session as their parent scope.]]></assert>
	</test>
	<test>
		<assert id="799" optional="false" manual="false" spec="8.4"><![CDATA[The application object is initialized by the CCXML implementation]]></assert>
	</test>
	<test>
		<assert id="800" optional="false" manual="false" spec="8.4"><![CDATA[Application variables are visible within all documents which form the CCXML application.]]></assert>
	</test>
	<test>
		<assert id="1218" optional="true" manual="false" spec="9.1"><![CDATA[Platforms SHOULD reject standard events that do not contain all mandatory properties defined by the specification for that event.]]></assert>
	</test>
	<test>
		<assert id="1219" optional="true" manual="false" spec="9.1"><![CDATA[When rejecting a standard event sent using <send> or external event I/O processors, platforms SHOULD notify the sender of the rejection.]]></assert>
	</test>
	<test>
		<assert id="1220" optional="false" manual="false" spec="9.1"><![CDATA[Events are queued on a first-in, first-out (FIFO) basis, except where specific exceptions are noted in the specification for certain events.]]></assert>
	</test>
	<test>
		<assert id="1221" optional="false" manual="false" spec="9.1"><![CDATA[Events sent using <send> which specify a delay are not delivered to the target queue until the specified delay has elapsed.]]></assert>
	</test>
	<test>
		<assert id="1223" optional="false" manual="false" spec="9.1"><![CDATA[During the processing of an event by the EHIA, the state of any ECMAScript objects exposed by a platform, such as the Connection object, MUST reflect the state of the CCXML session immediately following the occurrence of the event.]]></assert>
	</test>
	<test>
		<assert id="1224" optional="false" manual="false" spec="9.1"><![CDATA[It is REQUIRED that the ECMAScript context for the session is updated to reflect state changes caused by an event prior to the selection of a matching <transition>.]]></assert>
	</test>
	<test>
		<assert id="1225" optional="false" manual="false" spec="9.1"><![CDATA[An <eventprocessor> MAY declare a state variable attribute that corresponds to a variable declared at CCXML scope.]]></assert>
	</test>
	<test>
		<assert id="493" optional="false" manual="false" spec="9.1"><![CDATA[Received CCXML events named "ccxml.kill" or with a prefix of "ccxml.kill." are placed at the head of the event queue]]></assert>
	</test>
	<test>
		<assert id="494" optional="false" manual="false" spec="9.1"><![CDATA[Received CCXML events named with a prefix of "error." are placed at the head of the event queue, but behind any events named "ccxml.kill" or prefixed with "ccxml.kill." or "error.".]]></assert>
	</test>
	<test>
		<assert id="495" optional="false" manual="false" spec="9.1"><![CDATA[Received CCXML events that are not named "ccxml.kill" or prefixed by "ccxml.kill." or "error." are placed at the tail of the event queue]]></assert>
	</test>
	<test>
		<assert id="497" optional="false" manual="false" spec="9.1"><![CDATA[The EHIA removes the event at the front of the event queue of a CCXML session and selects the <transition> (if any) that accepts the type of the event, accepts the current value of the ECMAScript state variable, has a satisfied conditional expression, and appears first in the <eventprocessor> document order.]]></assert>
	</test>
	<test>
		<assert id="500" optional="false" manual="false" spec="9.1"><![CDATA[If the EHIA selects a matching <transition> for an event, an object representing the event is created at transition scope, and the child elements of the <transition> are executed in document order.]]></assert>
	</test>
	<test>
		<assert id="501" optional="false" manual="false" spec="9.1"><![CDATA[If the EHIA finds no matching <transition>, and the event is not named "ccxml.kill" and not prefixed with either "ccxml.kill." or "error.", then the event is simply discarded.]]></assert>
	</test>
	<test>
		<assert id="502" optional="false" manual="false" spec="9.1"><![CDATA[If the EHIA finds no matching <transition>, and the event is named "ccxml.kill" or is prefixed with "ccxml.kill." or with "error.", then the CCXML session processing the event is terminated.]]></assert>
	</test>
	<test>
		<assert id="505" optional="false" manual="false" spec="9.2.1"><![CDATA[A valid CCXML document MUST only have a single <eventprocessor>]]></assert>
	</test>
	<test>
		<assert id="507" optional="false" manual="false" spec="9.2.1"><![CDATA[If an <eventprocessor> defines a state variable, then the named state variable MUST be declared in the ccxml scope using a <var> or <script>]]></assert>
	</test>
	<test>
		<assert id="508" optional="false" manual="false" spec="9.2.1"><![CDATA[An <eventprocessor> MUST contain only <transition> elements]]></assert>
	</test>
	<test>
		<assert id="1226" optional="false" manual="false" spec="9.2.2"><![CDATA[The contents of the received event object MUST be made available via the transition scoped ECMAScript variable named "event$"]]></assert>
	</test>
	<test>
		<assert id="1227" optional="false" manual="false" spec="9.2.2"><![CDATA[The event$ variable is accessible from the <transition> cond attribute to allow CCXML Applications to conditionally select <transition>'s based on the contents of the event.]]></assert>
	</test>
	<test>
		<assert id="1246" optional="false" manual="false" spec="9.2.2"><![CDATA[If a <transition> specifies a state attribute but its parent <eventprocessor> does not contain a statevariable attribute, the interpreter MUST fail to load the document.]]></assert>
	</test>
	<test>
		<assert id="509" optional="false" manual="false" spec="9.2.2"><![CDATA[In order to be selected, a <transition> MUST satisfy criteria on its state, cond, and name attributes.]]></assert>
	</test>
	<test>
		<assert id="510" optional="false" manual="false" spec="9.2.2"><![CDATA[A <transition> element MAY contain a state attribute that lists, separated by whitespace, the values of the <eventprocessor> state variable that are accepted]]></assert>
	</test>
	<test>
		<assert id="511" optional="false" manual="false" spec="9.2.2"><![CDATA[The state attribute of a <transition> matches an event if the current value of the <eventprocessor> state variable is identical to one of the states listed in the state attribute, or if the state attribute is not present]]></assert>
	</test>
	<test>
		<assert id="512" optional="false" manual="false" spec="9.2.2"><![CDATA[A <transition> element MAY contain an event attribute that specifies a pattern used to match an event's name]]></assert>
	</test>
	<test>
		<assert id="513" optional="false" manual="false" spec="9.2.2"><![CDATA[The event attribute of a <transition> matches an event only if it matches the name of the event, or if the event attribute is not present.  In matching the event attribute to the event name, the character '*' is a wild-card and matches zero or more characters of the event's name.]]></assert>
	</test>
	<test>
		<assert id="514" optional="false" manual="false" spec="9.2.2"><![CDATA[A <transition> element MAY contain a cond attribute that specifies an ECMAScript Boolean expression.]]></assert>
	</test>
	<test>
		<assert id="515" optional="false" manual="false" spec="9.2.2"><![CDATA[The cond attribute of a <transition> matches an event only if it evaluates to true, or if it is not present]]></assert>
	</test>
	<test>
		<assert id="1228" optional="false" manual="false" spec="9.2.3"><![CDATA[If the targettype attribute on <send> is not supported, the platform MUST throw an error.send.targettypeinvalid event.]]></assert>
	</test>
	<test>
		<assert id="1230" optional="false" manual="false" spec="9.2.3"><![CDATA[Platforms MUST support a targettype attribute with a value of basichttp to target the Basic HTTP Event I/O Processor specified in App.K.]]></assert>
	</test>
	<test>
		<assert id="1231" optional="false" manual="false" spec="9.2.3"><![CDATA[When <send> is used with name and namelist, and the targettype is ccxml, variables specified in namelist, which may themselves be ECMAScript objects, are added as properties of the event object.]]></assert>
	</test>
	<test>
		<assert id="1232" optional="false" manual="false" spec="9.2.3"><![CDATA[When <send> is used with the name and namelist attributes, and the targettype is "basichttp", each variable in the namelist is sent to the web server as defined in App.K]]></assert>
	</test>
	<test>
		<assert id="1247" optional="false" manual="false" spec="9.2.3"><![CDATA[The <send> element MAY contain a name attribute that indicates the type of event being generated, consisting of alphanumeric characters, with the exception of the first character which MUST NOT be a dot or a digit.]]></assert>
	</test>
	<test>
		<assert id="1248" optional="false" manual="false" spec="9.2.3"><![CDATA[The <send> element MAY contain a namelist attribute, which is a list of zero or more whitespace separated CCXML variable names to be included with the event.]]></assert>
	</test>
	<test>
		<assert id="1249" optional="false" manual="false" spec="9.2.3"><![CDATA[Events generated by <send> MUST have their the eventid attribute set to the identifier generated and returned via sendid.]]></assert>
	</test>
	<test>
		<assert id="1250" optional="false" manual="false" spec="9.2.3"><![CDATA[Events generated by <send> MUST have their eventsource attribute set to the session ID of the CCXML session performing the <send>.]]></assert>
	</test>
	<test>
		<assert id="1251" optional="false" manual="false" spec="9.2.3"><![CDATA[Events generated by <send> MUST have their eventsourcetype attribute set to the string 'ccxml'.]]></assert>
	</test>
	<test>
		<assert id="519" optional="false" manual="false" spec="9.2.3"><![CDATA[The <send> element MUST contain a target attribute that specifies the unique identifier of the event target that the Event I/O processor must send the event to.]]></assert>
	</test>
	<test>
		<assert id="520" optional="false" manual="false" spec="9.2.3"><![CDATA[If the value of the target attribute is not supported, invalid, or unreachable by the Event I/O processor, the implementation must throw an error.send.targetunavailable event.]]></assert>
	</test>
	<test>
		<assert id="521" optional="false" manual="false" spec="9.2.3"><![CDATA[The <send> element MAY contain a targettype attribute that specifies the Event I/O processor to which the event must be sent.]]></assert>
	</test>
	<test>
		<assert id="522" optional="false" manual="false" spec="9.2.3"><![CDATA[Platforms MUST support a targettype attribute with a value of ccxml to target the CCXML Session Event Processor.]]></assert>
	</test>
	<test>
		<assert id="524" optional="false" manual="false" spec="9.2.3"><![CDATA[The <send> element MUST specify the content of the message to be sent using either the name attribute with an optional namelist attribute that is a space-separated namelist of ECMAScript variables to include, or through inline XML content.]]></assert>
	</test>
	<test>
		<assert id="530" optional="false" manual="false" spec="9.2.3"><![CDATA[When a message is sent successfully to a target, a send.successful event MUST be thrown]]></assert>
	</test>
	<test>
		<assert id="531" optional="false" manual="false" spec="9.2.3"><![CDATA[If the send request fails, an event signifying the error MUST be returned to the CCXML Session.]]></assert>
	</test>
	<test>
		<assert id="532" optional="false" manual="false" spec="9.2.3"><![CDATA[The <send> element MAY contain a sendid attribute which provides a left hand side ECMAScript	expression which must receive an internally generated unique string identifier that is associated with the event being sent]]></assert>
	</test>
	<test>
		<assert id="533" optional="false" manual="false" spec="9.2.3"><![CDATA[The <send> element MAY contain a delay attribute that is an ECMAScript expression evaluating to a CSS2-formatted interval by which sending of the specified event will be delayed]]></assert>
	</test>
	<test>
		<assert id="534" optional="false" manual="false" spec="9.2.3"><![CDATA[The queue of delayed events MUST be maintained locally and purged if the session issuing the request terminates before the event is sent.]]></assert>
	</test>
	<test>
		<assert id="1253" optional="false" manual="false" spec="9.2.4"><![CDATA[If <move> is unsupported the CCXML platform MUST raise an error.move event.]]></assert>
	</test>
	<test>
		<assert id="536" optional="false" manual="false" spec="9.2.4"><![CDATA[A <move> attempt MUST fail if the referenced event source does not exist, or is not owned by the session performing the <move>]]></assert>
	</test>
	<test>
		<assert id="537" optional="false" manual="false" spec="9.2.4"><![CDATA[A <move> attempt MUST fail if the referenced event source is immovable]]></assert>
	</test>
	<test>
		<assert id="539" optional="false" manual="false" spec="9.2.4"><![CDATA[A <move> attempt MUST fail if the target session does not exist or cannot accept the event source being moved]]></assert>
	</test>
	<test>
		<assert id="540" optional="false" manual="false" spec="9.2.4"><![CDATA[If a <move> attempt fails, an error.move event MUST be generated]]></assert>
	</test>
	<test>
		<assert id="541" optional="false" manual="false" spec="9.2.4"><![CDATA[If a <move> attempt succeeds, a move.successful event MUST be generated against the session that performed the <move>]]></assert>
	</test>
	<test>
		<assert id="545" optional="false" manual="false" spec="9.2.4"><![CDATA[The <move> element MUST contain either an event attribute, or a source attribute, but not both, or else an error.fetch event will be thrown]]></assert>
	</test>
	<test>
		<assert id="546" optional="false" manual="false" spec="9.2.4"><![CDATA[The <move> element MAY contain a source attribute that is an ECMAScript expression that returns a connection ID or a dialog ID identifying the event source to be moved to the target session]]></assert>
	</test>
	<test>
		<assert id="549" optional="false" manual="false" spec="9.2.4"><![CDATA[The <move> element MUST contain a sessionid attribute that is an ECMAScript expression which identifies the session to which the event source must be moved]]></assert>
	</test>
	<test>
		<assert id="1254" optional="false" manual="false" spec="9.2.5"><![CDATA[If <cancel> is successful, a cancel.successful event MUST be delivered to indicate that the cancelled event was not delivered]]></assert>
	</test>
	<test>
		<assert id="550" optional="false" manual="false" spec="9.2.5"><![CDATA[The <cancel> element MUST contain a sendid attribute that is an ECMAScript expression evaluating to the event identifier of an event to be removed from the delayed event queue of the session performing the <cancel>]]></assert>
	</test>
	<test>
		<assert id="551" optional="false" manual="false" spec="9.2.5"><![CDATA[If the delay on the referenced event has already expired and the event has been delivered, then the <cancel> request MUST fail and an error.notallowed event MUST be generated]]></assert>
	</test>
	<test>
		<assert id="1255" optional="false" manual="false" spec="9.3.1"><![CDATA[An error.notallowed event MUST have a tagname property set to the ECMAScript string value of the name of the element that produced the error (ie accept, reject, etc).]]></assert>
	</test>
	<test>
		<assert id="552" optional="false" manual="false" spec="9.3.1"><![CDATA[This error event is MUST be thrown when the execution of an element causes an invalid operation to be performed on a session and/or connection.]]></assert>
	</test>
	<test>
		<assert id="554" optional="false" manual="false" spec="9.3.1"><![CDATA[An error.notallowed event MUST have a sessionid property set to the ID of the affected session]]></assert>
	</test>
	<test>
		<assert id="556" optional="false" manual="false" spec="9.3.1"><![CDATA[An error.notallowed event MUST have a reason property that describes the reason the operation was denied]]></assert>
	</test>
	<test>
		<assert id="557" optional="false" manual="false" spec="9.3.2"><![CDATA[An error.semantic MUST be thrown when there is a semantic error in a CCXML element]]></assert>
	</test>
	<test>
		<assert id="559" optional="false" manual="false" spec="9.3.2"><![CDATA[An error.semantic event MUST have a reason property set to the ECMAScript string value of the printable error message associated with this error]]></assert>
	</test>
	<test>
		<assert id="560" optional="false" manual="false" spec="9.3.2"><![CDATA[An error.semantic event MUST have a tagname property set to the name of the element that produced the error]]></assert>
	</test>
	<test>
		<assert id="561" optional="false" manual="false" spec="9.3.2"><![CDATA[An error.semantic event MAY have an attributelist property that is an object whose properties are the names of the attributes of the element in error. The value of each such property MAY be set to the corresponding string value of the attribute]]></assert>
	</test>
	<test>
		<assert id="562" optional="false" manual="false" spec="9.3.3"><![CDATA[An error.send.targetunavailable event MUST be thrown when CCXML could not send the event to the target listed in <send> due to it currently being unavailable]]></assert>
	</test>
	<test>
		<assert id="564" optional="false" manual="false" spec="9.3.3"><![CDATA[An error.send.targetunavailable event MUST have a sendid property that is the ID of the affected event]]></assert>
	</test>
	<test>
		<assert id="565" optional="false" manual="false" spec="9.3.3"><![CDATA[An error.send.targetunavailable event MUST have a reason property that describes the reason the operation was denied]]></assert>
	</test>
	<test>
		<assert id="566" optional="false" manual="false" spec="9.3.4"><![CDATA[An error.send.targettypeinvalid event MUST be thrown when the targettype attribute specified in a <send> is not valid]]></assert>
	</test>
	<test>
		<assert id="568" optional="false" manual="false" spec="9.3.4"><![CDATA[An error.send.targettypeinvalid event MUST have a sendid property that is the ID of the affected event]]></assert>
	</test>
	<test>
		<assert id="569" optional="false" manual="false" spec="9.3.4"><![CDATA[An error.send.targettypeinvalid event MUST have a reason property that describes the reason the operation was denied]]></assert>
	</test>
	<test>
		<assert id="570" optional="false" manual="false" spec="9.3.5"><![CDATA[An error.send.failed event MUST be thrown when a <send> could not be completed for a reason not covered by another error.send.* event.]]></assert>
	</test>
	<test>
		<assert id="572" optional="false" manual="false" spec="9.3.5"><![CDATA[An error.send.failed event MUST have a sendid property that is the ID of the affected event]]></assert>
	</test>
	<test>
		<assert id="573" optional="false" manual="false" spec="9.3.5"><![CDATA[An error.send.failed event MUST have a reason property that describes the reason the operation was denied]]></assert>
	</test>
	<test>
		<assert id="574" optional="false" manual="false" spec="9.3.6"><![CDATA[An send.successful event MUST be thrown when an event is successfully delivered to the specified receiver]]></assert>
	</test>
	<test>
		<assert id="576" optional="false" manual="false" spec="9.3.6"><![CDATA[An send.successful event MUST have a sendid property that is the ID of the sent event]]></assert>
	</test>
	<test>
		<assert id="577" optional="false" manual="false" spec="9.3.7"><![CDATA[An move.successful event MUST be thrown when an event source is successfully moved to a CCXML session]]></assert>
	</test>
	<test>
		<assert id="579" optional="false" manual="false" spec="9.3.7"><![CDATA[An move.successful event MUST have a sourceid that specifies the identifier of the event source that was moved]]></assert>
	</test>
	<test>
		<assert id="580" optional="false" manual="false" spec="9.3.8"><![CDATA[An cancel.successful event MUST be thrown when the sending of an event has been successfully cancelled.]]></assert>
	</test>
	<test>
		<assert id="582" optional="false" manual="false" spec="9.3.8"><![CDATA[An cancel.successful event MUST have a sendid property that is the ID of the cancelled event]]></assert>
	</test>
	<test>
		<assert id="583" optional="false" manual="false" spec="9.3.9"><![CDATA[An error.move event MUST be thrown when a move request performed by a session fails to complete successfully]]></assert>
	</test>
	<test>
		<assert id="585" optional="false" manual="false" spec="9.3.9"><![CDATA[An error.move event MUST have a sourceid property that is the ID of the event source that was the target of the <move>]]></assert>
	</test>
	<test>
		<assert id="586" optional="false" manual="false" spec="9.3.9"><![CDATA[An error.move event MUST have a sessionid property that is the identifier of the CCXML session to which it was attempted to move the event source]]></assert>
	</test>
	<test>
		<assert id="587" optional="false" manual="false" spec="9.3.9"><![CDATA[An error.move event MUST have a reason property that describes the reason the <move> request failed]]></assert>
	</test>
	<test>
		<assert id="588" optional="false" manual="false" spec="9.4.2"><![CDATA[All events MUST contain a name attribute containing a string name of the event]]></assert>
	</test>
	<test>
		<assert id="589" optional="false" manual="false" spec="9.4.2"><![CDATA[All events MUST contain an eventid attribute containing a unique identifier for the event]]></assert>
	</test>
	<test>
		<assert id="590" optional="false" manual="false" spec="9.4.2"><![CDATA[If an event was sent using <send>, then the eventid attribute of the event MUST match the value returned via the sendid attribute of <send> (if specified)]]></assert>
	</test>
	<test>
		<assert id="591" optional="false" manual="false" spec="9.4.2"><![CDATA[All events MUST contain an eventsource attribute containing a unique identifier for the event source]]></assert>
	</test>
	<test>
		<assert id="592" optional="false" manual="false" spec="9.4.2"><![CDATA[All events MUST contain an eventsourcetype attribute containing the name of the Event I/O processor that sent the event]]></assert>
	</test>
	<test>
		<assert id="594" optional="false" manual="false" spec="9.4.5"><![CDATA[All error events MUST have a reason property set to a printable error message associated with the error]]></assert>
	</test>
	<test>
		<assert id="1256" optional="false" manual="false" spec="9.5.1"><![CDATA[Errors that occur in the loading/compilation of a CCXML page triggered by a running CCXML document using <createccxml> MUST generate an error.createccxml event.]]></assert>
	</test>
	<test>
		<assert id="1257" optional="false" manual="false" spec="9.5.1"><![CDATA[Errors that occur in the loading/compilation of a CCXML page triggered by a running CCXML document using <fetch> MUST generate an error.fetch event.]]></assert>
	</test>
	<test>
		<assert id="276" optional="false" manual="false" spec="10.2"><![CDATA[Each Connection has one input by which it receives a media stream from another Connection or Conference.]]></assert>
	</test>
	<test>
		<assert id="277" optional="false" manual="false" spec="10.2"><![CDATA[Each Connection has one output media stream that can be directed to the inputs of multiple Connections and/or Conferences.]]></assert>
	</test>
	<test>
		<assert id="283" optional="false" manual="false" spec="10.2.2"><![CDATA[An instance of the Connection Object is associated with each telephony event source.]]></assert>
	</test>
	<test>
		<assert id="284" optional="false" manual="false" spec="10.2.2"><![CDATA[A Connection Object must have a connectionid property which is the ECMAScript string value of the Connection identifier, which uniquely identifies each instance of the Connection object.]]></assert>
	</test>
	<test>
		<assert id="285" optional="false" manual="false" spec="10.2.2"><![CDATA[A Connection Object must have a state property which identifies the current state of the Connection instance]]></assert>
	</test>
	<test>
		<assert id="1292" optional="false" manual="false" spec="10.2.3"><![CDATA[All Connection events MUST have a property named connectionid containing the ID of the Connection associated with the event.]]></assert>
	</test>
	<test>
		<assert id="1295" optional="false" manual="false" spec="10.2.3"><![CDATA[All Connection events MUST have a property named connection containing a reference to the Connection object identified by the connectionid property of this event.]]></assert>
	</test>
	<test>
		<assert id="1241" optional="false" manual="false" spec="10.2.4"><![CDATA[When an error.semantic event is generated by a connection element, this MUST NOT change the state of the associated Connection Object(s).]]></assert>
	</test>
	<test>
		<assert id="1286" optional="false" manual="false" spec="10.2.4"><![CDATA[Execution of connection elements MUST NOT immediately change the state of any associated Connection Objects]]></assert>
	</test>
	<test>
		<assert id="1086" optional="false" manual="false" spec="10.2.5"><![CDATA[The Connection Class MUST have the following READ-ONLY properties: states[0] = ALERTING, states[1] = PROGRESSING, states[2] = CONNECTED, states[3] = FAILED, states[4] = DISCONNECTED, states[5] = ERROR]]></assert>
	</test>
	<test>
		<assert id="1087" optional="false" manual="false" spec="10.2.5"><![CDATA[The Connection Class MUST have the following READ-ONLY properties: connection.ALERTING = 0, connection.PROGRESSSING = 1, connection.CONNECTED = 2, connection.FAILED = 3, connection.DISCONNECTED = 4, connection.ERROR = 5]]></assert>
	</test>
	<test>
		<assert id="12" optional="false" manual="false" spec="10.5.1.1"><![CDATA[The execution of an <accept> MUST cause the underlying platform to signal the telephony system to connect the specified Connection to the CCXML platform. ]]></assert>
	</test>
	<test>
		<assert id="14" optional="false" manual="false" spec="10.5.1.2"><![CDATA[An <accept> may have a connectionid attribute]]></assert>
	</test>
	<test>
		<assert id="15" optional="false" manual="false" spec="10.5.1.2"><![CDATA[An <accept> may have a hints attribute]]></assert>
	</test>
	<test>
		<assert id="16" optional="false" manual="false" spec="10.5.1.2"><![CDATA[If the connectionid attribute is omitted, the interpreter must accept using the id indicated in the current event being processed.]]></assert>
	</test>
	<test>
		<assert id="17" optional="false" manual="false" spec="10.5.1.2"><![CDATA[If the attribute value is invalid or there is no valid default value, an error.semantic event must be thrown]]></assert>
	</test>
	<test>
		<assert id="19" optional="false" manual="false" spec="10.5.2.1"><![CDATA[When a CCXML document executes a <redirect> within the <transition> block, this MUST cause the underlying platform to signal the telephony system to send the call to a specified destination.]]></assert>
	</test>
	<test>
		<assert id="975" optional="false" manual="false" spec="10.5.2.1"><![CDATA[If the call is currently joined, it MUST be unjoined before the redirect is performed and a conference.unjoined event MUST be generated. Note the platform is not required to generate the conference.unjoined or connection.redirected in any particular order.]]></assert>
	</test>
	<test>
		<assert id="1088" optional="false" manual="false" spec="10.5.2.2"><![CDATA[If the platform is unable to redirect the call this MUST result in the generation of an error.redirect connection.redirect.failed event.]]></assert>
	</test>
	<test>
		<assert id="21" optional="false" manual="false" spec="10.5.2.2"><![CDATA[A <redirect> may have a connectionid attribute which is an ECMAScript expression which returns a string that is the identifier of a Connection on which a call is active or on which an incoming call is being signaled. ]]></assert>
	</test>
	<test>
		<assert id="22" optional="false" manual="false" spec="10.5.2.2"><![CDATA[If the connectionid attribute is omitted, the interpreter must redirect using the id indicated in the current event being processed.]]></assert>
	</test>
	<test>
		<assert id="23" optional="false" manual="false" spec="10.5.2.2"><![CDATA[If the connection id attribute value is invalid or there is no valid default value, an error.semantic event must be thrown.]]></assert>
	</test>
	<test>
		<assert id="24" optional="false" manual="false" spec="10.5.2.2"><![CDATA[A <redirect> must have a dest attribute which is an ECMAScript expression which returns a string that is the address where the call should be redirected to. ]]></assert>
	</test>
	<test>
		<assert id="27" optional="false" manual="false" spec="10.5.2.2"><![CDATA[A <redirect> may have a reason attribute which is an ECMAScript expression which returns a string that is the reason the call is being redirected.]]></assert>
	</test>
	<test>
		<assert id="28" optional="false" manual="false" spec="10.5.2.2"><![CDATA[A <redirect> may have a hints attribute which is the ECMAScript object returned contains information which may be used by the implementing platform or passed to the network redirecting the connection. This information may consist of protocol-specific parameters.]]></assert>
	</test>
	<test>
		<assert id="31" optional="false" manual="false" spec="10.5.3.1"><![CDATA[The execution of an <reject> MUST cause the underlying platform to signal the telephony system to reject the incoming Connection from the platform.]]></assert>
	</test>
	<test>
		<assert id="32" optional="false" manual="false" spec="10.5.3.2"><![CDATA[A <reject> may have a connectionid attribute which is an ECMAScript expression which returns a string that is the identifier of a Connection on which an incoming call is being signaled.]]></assert>
	</test>
	<test>
		<assert id="33" optional="false" manual="false" spec="10.5.3.2"><![CDATA[If the connection id  attribute value is invalid or there is no valid default value, an error.semantic event must be thrown.]]></assert>
	</test>
	<test>
		<assert id="34" optional="false" manual="false" spec="10.5.3.2"><![CDATA[If the connection id  attribute is omitted, the interpreter must  reject using the id indicated in the current event being processed.]]></assert>
	</test>
	<test>
		<assert id="35" optional="false" manual="false" spec="10.5.3.2"><![CDATA[A <reject> may have a reason attribute which is an ECMAScript expression which returns a string that is the reason the call is being rejected.]]></assert>
	</test>
	<test>
		<assert id="36" optional="false" manual="false" spec="10.5.3.2"><![CDATA[A <reject> may have a hints attribute which is the ECMAScript object returned contains information which may be used by the implementing platform or passed to the network rejecting the connection. This information may consist of protocol-specific parameters.]]></assert>
	</test>
	<test>
		<assert id="55" optional="false" manual="false" spec="10.5.5.1"><![CDATA[A <createconference> instructs the implementation to allocate a Conference Object]]></assert>
	</test>
	<test>
		<assert id="56" optional="false" manual="false" spec="10.5.5.1"><![CDATA[The successful execution of <createconference> MUST result in the generation of a conference.created event.]]></assert>
	</test>
	<test>
		<assert id="1112" optional="false" manual="false" spec="10.5.5.2"><![CDATA[A conference identifier must be globally unique, so that conferences can be uniquely addressed and possibly connected to. ]]></assert>
	</test>
	<test>
		<assert id="58" optional="false" manual="false" spec="10.5.5.2"><![CDATA[A <createconference> must have a conferenceid attribute which is an ECMAScript left hand side expression evaluating to a previously defined variable. The value of the attribute must receive the conference identifier.]]></assert>
	</test>
	<test>
		<assert id="59" optional="false" manual="false" spec="10.5.5.2"><![CDATA[A <createconference> may have a confname attribute which is an ECMAScript expression which returns a string that is the name of the conference. The conference name corresponds to the conference identifier that will be returned in the variable specified in the conferenceid attribute.]]></assert>
	</test>
	<test>
		<assert id="60" optional="false" manual="false" spec="10.5.5.2"><![CDATA[If the named conference does not exist, the platform must create a conference object as requested and return the value of the conference identifier to the variable specified in the conferenceid attribute.]]></assert>
	</test>
	<test>
		<assert id="61" optional="false" manual="false" spec="10.5.5.2"><![CDATA[If a conference already exists the platform must return the conference identifier of the previously created conference.]]></assert>
	</test>
	<test>
		<assert id="62" optional="false" manual="false" spec="10.5.5.2"><![CDATA[A <createconference> may have a reservedtalkers attribute which is an ECMAScript expression which returns the number of guaranteed speaker slots the conference mixer must reserve.]]></assert>
	</test>
	<test>
		<assert id="63" optional="false" manual="false" spec="10.5.5.2"><![CDATA[If the conference already exists, then the reservedtalkers attribute must be ignored.]]></assert>
	</test>
	<test>
		<assert id="65" optional="false" manual="false" spec="10.5.5.2"><![CDATA[A <createconference> may have a reservedlisteners attribute which is an ECMAScript expression which returns the number of guaranteed listener slots the conference mixer must reserve. ]]></assert>
	</test>
	<test>
		<assert id="66" optional="false" manual="false" spec="10.5.5.2"><![CDATA[If the conference already exists, then the reservedlisteners attribute must be ignored.]]></assert>
	</test>
	<test>
		<assert id="68" optional="false" manual="false" spec="10.5.5.2"><![CDATA[A <createconference> may have a hints attribute which is the ECMAScript object returned contains information which may be used by the implementing platform when creating the conference.]]></assert>
	</test>
	<test>
		<assert id="72" optional="false" manual="false" spec="10.5.6.1"><![CDATA[<destroyconference> destroys the conference if no other sessions are attached to it.]]></assert>
	</test>
	<test>
		<assert id="75" optional="false" manual="false" spec="10.5.6.1"><![CDATA[The successful execution of <destroyconference> MUST result in the generation of a conference.destroyed event.]]></assert>
	</test>
	<test>
		<assert id="994" optional="false" manual="false" spec="10.5.6.1"><![CDATA[Since other sessions may have created bridges to a conference using the conference's ID, but without performing a <createconference>, destroying a conference MAY affect the bridges established by other sessions. If any bridges are terminated in this fashion, a 'conference.unjoined' event MUST be posted to indicate to the session that its Connection is no longer bridged to the Conference.]]></assert>
	</test>
	<test>
		<assert id="77" optional="false" manual="false" spec="10.5.6.2"><![CDATA[A <destroyconference> must have a conferenceid attribute.  The conferenceid attribute returns a string that is the identifier of the conference that should be destroyed.]]></assert>
	</test>
	<test>
		<assert id="79" optional="false" manual="false" spec="10.5.6.2"><![CDATA[If the conferenceid attribute value is invalid an error.semantic event must be thrown.]]></assert>
	</test>
	<test>
		<assert id="80" optional="false" manual="false" spec="10.5.6.2"><![CDATA[<destroyconference> may have a hints attribute which is an ECMAScript object that contains information which may be used by the implementing platform when destroying the conference.]]></assert>
	</test>
	<test>
		<assert id="1269" optional="false" manual="false" spec="10.5.7.1"><![CDATA[When joining a Connection or Dialog to a Conference, or when joining two Conferences, the 'conference.joined' event MUST NOT result in multiple 'conference.joined' events if the session performing the <join> is attached to the conference, nor if any session owns both conferences when two conferences are joined together.]]></assert>
	</test>
	<test>
		<assert id="82" optional="false" manual="false" spec="10.5.7.1"><![CDATA[<join> instructs the implementation to bridge the connections specified using the id1 and id2 attributes in accordance with media options specified by the other attributes of <join>.]]></assert>
	</test>
	<test>
		<assert id="83" optional="false" manual="false" spec="10.5.7.1"><![CDATA[The successful execution of <join> MUST result in the generation of a conference.joined event.]]></assert>
	</test>
	<test>
		<assert id="85" optional="false" manual="false" spec="10.5.7.1"><![CDATA[When joining a Connection or Dialog to a Conference, or when joining two Conferences, the 'conference.joined' event MUST be posted to all sessions that are attached to the affected Conference(s). ]]></assert>
	</test>
	<test>
		<assert id="854" optional="false" manual="false" spec="10.5.7.1"><![CDATA[<join> instructs the implementation to bridge the conferences specified using the id1 and id2 attributes in accordance with media options specified by the other attributes of <join>.]]></assert>
	</test>
	<test>
		<assert id="855" optional="false" manual="false" spec="10.5.7.1"><![CDATA[<join> instructs the implementation to bridge the dialogs specified using the id1 and id2 attributes in accordance with media options specified by the other attributes of <join>.]]></assert>
	</test>
	<test>
		<assert id="962" optional="false" manual="false" spec="10.5.7.1"><![CDATA[Any Connections or Dialogs referenced by the 'id1' and 'id2' attributes of <join> MUST be owned by the session performing the <join>.]]></assert>
	</test>
	<test>
		<assert id="101" optional="false" manual="true" spec="10.5.7.2"><![CDATA[The default value of entertone is "true".]]></assert>
	</test>
	<test>
		<assert id="102" optional="false" manual="true" spec="10.5.7.2"><![CDATA[If the value of entertone is 'true' the default system beep will be played.]]></assert>
	</test>
	<test>
		<assert id="103" optional="false" manual="true" spec="10.5.7.2"><![CDATA[If the value of entertone is 'false' no alerting sound being played at all.]]></assert>
	</test>
	<test>
		<assert id="104" optional="false" manual="true" spec="10.5.7.2"><![CDATA[If the entertone value is a URL which points to a user-defined wav file, that wav file will be played instead of the default system beep.]]></assert>
	</test>
	<test>
		<assert id="107" optional="false" manual="true" spec="10.5.7.2"><![CDATA[The default value of exittone is "true".]]></assert>
	</test>
	<test>
		<assert id="108" optional="false" manual="true" spec="10.5.7.2"><![CDATA[If the value of exittone is 'true' the default system beep will be played.]]></assert>
	</test>
	<test>
		<assert id="109" optional="false" manual="true" spec="10.5.7.2"><![CDATA[If the value of exittone is 'false' no alerting sound being played at all.]]></assert>
	</test>
	<test>
		<assert id="110" optional="false" manual="true" spec="10.5.7.2"><![CDATA[If the exittone value is a URL which points to a user-defined wav file, that wav file will be played instead of the default system beep.]]></assert>
	</test>
	<test>
		<assert id="126" optional="false" manual="true" spec="10.5.7.2"><![CDATA[The default value of dtmfclamp is "true".]]></assert>
	</test>
	<test>
		<assert id="87" optional="false" manual="false" spec="10.5.7.2"><![CDATA[<join> must have an id1 attribute.]]></assert>
	</test>
	<test>
		<assert id="88" optional="false" manual="false" spec="10.5.7.2"><![CDATA[id1 returns a string that is the identifier of a Connection, Dialog or Conference.]]></assert>
	</test>
	<test>
		<assert id="89" optional="false" manual="false" spec="10.5.7.2"><![CDATA[If the id1 attribute value is invalid an error.semantic event will be thrown.]]></assert>
	</test>
	<test>
		<assert id="90" optional="false" manual="false" spec="10.5.7.2"><![CDATA[<join> must have an id2 attribute.]]></assert>
	</test>
	<test>
		<assert id="91" optional="false" manual="false" spec="10.5.7.2"><![CDATA[id2 returns a string that is the identifier of a Connection, Dialog or Conference.]]></assert>
	</test>
	<test>
		<assert id="92" optional="false" manual="false" spec="10.5.7.2"><![CDATA[If the id2 attribute value is invalid an error.semantic event will be thrown.]]></assert>
	</test>
	<test>
		<assert id="93" optional="false" manual="false" spec="10.5.7.2"><![CDATA[<join> may have a duplex attribute. This is an ECMAScript expression that returns a character string equal to "half" or "full" which defines the direction of the media flow between id1 resource and id2 resource.]]></assert>
	</test>
	<test>
		<assert id="95" optional="false" manual="false" spec="10.5.7.2"><![CDATA[The default value of duplex is "full".]]></assert>
	</test>
	<test>
		<assert id="98" optional="false" manual="false" spec="10.5.7.2"><![CDATA[<join> may have a hints attribute which is an ECMAScript object containing information which may be used by the implementing platform or passed to the network when the two specified Connections, Dialogs or Conferences (id1 and id2) are joined.]]></assert>
	</test>
	<test>
		<assert id="136" optional="false" manual="false" spec="10.5.8.1"><![CDATA[<unjoin> will instruct the implementation to tear down the bridge between two connections/conferences/dialogs specified using the id1 and id2 attributes.]]></assert>
	</test>
	<test>
		<assert id="137" optional="false" manual="false" spec="10.5.8.1"><![CDATA[The successful execution of<unjoin> MUST result in the generation of a conference.unjoined event.]]></assert>
	</test>
	<test>
		<assert id="138" optional="false" manual="false" spec="10.5.8.1"><![CDATA[If for any reason the implementation is unable to terminate the bridge between the specified connections, or if no such bridge exists, it MUST fail with a error.conference.unjoin event.]]></assert>
	</test>
	<test>
		<assert id="139" optional="false" manual="false" spec="10.5.8.1"><![CDATA[When 'id1', 'id2', or both reference to a Conference, the 'conference.unjoined' event MUST be posted to all session that are attached to the affected Conference(s). ]]></assert>
	</test>
	<test>
		<assert id="858" optional="false" manual="false" spec="10.5.8.1"><![CDATA[If for any reason the implementation is unable to terminate the bridge between the specified conferences, or if no such bridge exists, it MUST fail with a error.conference.unjoin event.]]></assert>
	</test>
	<test>
		<assert id="859" optional="false" manual="false" spec="10.5.8.1"><![CDATA[If for any reason the implementation is unable to terminate the bridge between the specified dialogs, or if no such bridge exists, it MUST fail with a error.conference.unjoin event.]]></assert>
	</test>
	<test>
		<assert id="977" optional="false" manual="false" spec="10.5.8.1"><![CDATA[Any Connections or Dialogs referenced by the 'id1' and 'id2' attributes of <unjoin> MUST be owned by the session performing the <unjoin>.]]></assert>
	</test>
	<test>
		<assert id="978" optional="false" manual="false" spec="10.5.8.1"><![CDATA[If the implementation is unable to unjoin the objects an error.conference.unjoin MUST only be sent to the session that issued the <unjoin>.]]></assert>
	</test>
	<test>
		<assert id="979" optional="false" manual="false" spec="10.5.8.1"><![CDATA[This MUST NOT result in multiple 'conference.unjoined' events if the session performing the <unjoin> is attached to the conference, or if any session owns both conferences when two conferences are being unjoined. ]]></assert>
	</test>
	<test>
		<assert id="141" optional="false" manual="false" spec="10.5.8.2"><![CDATA[<unjoin> must have an id1 attribute which is an ECMAScript expression which returns a string that is the identifier of a Connection, Dialog or Conference.]]></assert>
	</test>
	<test>
		<assert id="143" optional="false" manual="false" spec="10.5.8.2"><![CDATA[If the id1 attribute value is invalid an error.semantic event must be thrown.]]></assert>
	</test>
	<test>
		<assert id="144" optional="false" manual="false" spec="10.5.8.2"><![CDATA[<unjoin> must have an id2 attribute which is an ECMAScript expression which returns a string that is the identifier of a Connection, Dialog or Conference. ]]></assert>
	</test>
	<test>
		<assert id="146" optional="false" manual="false" spec="10.5.8.2"><![CDATA[If the id2 attribute value is invalid an error.semantic event must be thrown.]]></assert>
	</test>
	<test>
		<assert id="147" optional="false" manual="false" spec="10.5.8.2"><![CDATA[<unjoin> may have a hints attribute which is an ECMAScript object that contains information which may be used by the implementing platform or passed to the network when the two specified Connections, Dialogs or Conferences (id1 and id2) are unjoined.]]></assert>
	</test>
	<test>
		<assert id="1275" optional="false" manual="false" spec="10.5.9.1"><![CDATA[The platform is not required to generate the connection.disconnected /connection.failed or conference.unjoined in any particular order, unless an outbound call was abandoned in which case a connection.failed event MUST be generated]]></assert>
	</test>
	<test>
		<assert id="148" optional="false" manual="false" spec="10.5.9.1"><![CDATA[During execution of <disconnect>, the underlying platform MUST send the appropriate protocol messages to perform the disconnect, and send an asynchronous event to the CCXML document when the disconnect operation completes.]]></assert>
	</test>
	<test>
		<assert id="151" optional="false" manual="false" spec="10.5.9.1"><![CDATA[If the connection had been bridged when the <disconnect> request was made, the platform MUST tear down all bridges to the connection and send a conference.unjoined to the CCXML document once the media paths have been freed.]]></assert>
	</test>
	<test>
		<assert id="963" optional="false" manual="false" spec="10.5.9.1"><![CDATA[A CCXML document may use <disconnect> to abandon an outbound connection created using <createcall> which has not yet entered the CONNECTED state.]]></assert>
	</test>
	<test>
		<assert id="964" optional="false" manual="false" spec="10.5.9.1"><![CDATA[If <disconnect> is used to abandon an outbound call, it results in the generation of a 'connection.disconnected' event.]]></assert>
	</test>
	<test>
		<assert id="152" optional="false" manual="false" spec="10.5.9.2"><![CDATA[<disconnect> may have a connectionid attribute. Connectionid returns a string that is the id of a call leg that should be disconnected.]]></assert>
	</test>
	<test>
		<assert id="154" optional="false" manual="false" spec="10.5.9.2"><![CDATA[If the connectionid attribute is omitted, the interpreter will disconnect using the id indicated in the current event being processed.]]></assert>
	</test>
	<test>
		<assert id="155" optional="false" manual="false" spec="10.5.9.2"><![CDATA[If the attribute value is invalid or there is no valid default value, an error.semantic event must be thrown.]]></assert>
	</test>
	<test>
		<assert id="156" optional="false" manual="false" spec="10.5.9.2"><![CDATA[<disconnect> may have a reason attribute. Reason returns a string that is the reason the call is being disconnected.]]></assert>
	</test>
	<test>
		<assert id="158" optional="false" manual="false" spec="10.5.9.2"><![CDATA[<disconnect> may have a hints attribute which is an ECMAScript object that contains information which may be used by the implementing platform or passed to the network disconnecting the connection.]]></assert>
	</test>
	<test>
		<assert id="1115" optional="false" manual="false" spec="10.6.3"><![CDATA[The connection.progressing event is a transition to state PROGRESSING.]]></assert>
	</test>
	<test>
		<assert id="182" optional="false" manual="false" spec="10.6.3"><![CDATA[This event MUST be emitted when the underlying telephony connection sends a notification of call progress while the Connection Object is in the PROGRESSING state. ]]></assert>
	</test>
	<test>
		<assert id="188" optional="false" manual="false" spec="10.6.3"><![CDATA[Subsequent connection.progressing events MAY be generated to support protocols which exchange multiple messages during the PROGRESSING state.]]></assert>
	</test>
	<test>
		<assert id="1116" optional="false" manual="false" spec="10.6.4"><![CDATA[The connection.connected event is a transition to state CONNECTED.]]></assert>
	</test>
	<test>
		<assert id="189" optional="false" manual="false" spec="10.6.4"><![CDATA[This event must be emitted when an incoming connection is accepted successfully, or as when an outgoing connection is answered. ]]></assert>
	</test>
	<test>
		<assert id="1107" optional="false" manual="false" spec="10.6.5"><![CDATA[If this is an off-platform disconnected event, the platform MUST implicitly tear down any existing bridges to the connection and send a conference.unjoined to the CCXML document once the media paths have been freed.]]></assert>
	</test>
	<test>
		<assert id="1108" optional="false" manual="false" spec="10.6.5"><![CDATA[The connection.disconnected event must contain a trigger attribute that indicates which entity caused the disconnection to occur. ]]></assert>
	</test>
	<test>
		<assert id="1109" optional="false" manual="false" spec="10.6.5"><![CDATA[Valid values for the attribute trigger are 'network' for network-initiated disconnections, 'platform' for disconnections triggered by platform-based rules (such as a maximum connection duration), or 'application' for disconnections performed as a result of application actions (such as execution of a <disconnect>).]]></assert>
	</test>
	<test>
		<assert id="1117" optional="false" manual="false" spec="10.6.5"><![CDATA[The connection.disconnected event is a transition to state DISCONNECTED.]]></assert>
	</test>
	<test>
		<assert id="195" optional="false" manual="false" spec="10.6.5"><![CDATA[This event must be emitted when a connection is disconnected due to an action by the underlying network (e.g. the user hanging up), the CCXML platform, or the CCXML application.]]></assert>
	</test>
	<test>
		<assert id="1118" optional="false" manual="false" spec="10.6.6"><![CDATA[The connection.redirected event is a transition to state DISCONNECTED.]]></assert>
	</test>
	<test>
		<assert id="201" optional="false" manual="false" spec="10.6.6"><![CDATA[This connection.redirect event MUST be emitted to indicate a successful redirection of a connection.]]></assert>
	</test>
	<test>
		<assert id="1120" optional="false" manual="false" spec="10.6.8"><![CDATA[The connection.failed event is a transition to state FAILED.]]></assert>
	</test>
	<test>
		<assert id="214" optional="false" manual="false" spec="10.6.8"><![CDATA[The connection.failed event MUST be emitted when an incoming or outgoing call fails to complete its connection.]]></assert>
	</test>
	<test>
		<assert id="218" optional="false" manual="false" spec="10.6.8"><![CDATA[The connection.failed event may contain a reason attribute which contains an error code if one is available]]></assert>
	</test>
	<test>
		<assert id="1123" optional="false" manual="false" spec="10.6.20"><![CDATA[The error.connection.wrongstate event MUST be emitted when an application attempts a telephony operation that is not legal for the current state of the Connection Object. ]]></assert>
	</test>
	<test>
		<assert id="1131" optional="false" manual="false" spec="10.6.20"><![CDATA[The error.connection.wrongstate event MUST contain a tagname property which must be set to the ECMAScript string value of the name of the element that produced the error (ie accept, reject, etc).]]></assert>
	</test>
	<test>
		<assert id="1154" optional="false" manual="false" spec="10.6.22"><![CDATA[The connection.redirect.failed event MUST  be emitted when an error occurs when there is an error redirecting a connection using the <redirect> element.]]></assert>
	</test>
	<test>
		<assert id="1157" optional="false" manual="false" spec="10.6.22"><![CDATA[The connection.redirect.failed event must contain a reason field which contains a description of the reason the redirect failed.]]></assert>
	</test>
	<test>
		<assert id="841" optional="true" manual="false" spec="App.D"><![CDATA[CCXML defines an additional read-only VoiceXML session variable, also populated when the dialog is bridged to a connection, called session.connection.ccxml]]></assert>
	</test>
	<test>
		<assert id="842" optional="true" manual="false" spec="App.D"><![CDATA[The session.connection.ccxml must have a read-only subproperty called sessionid which evaluates to the CCXML Session ID to which the VoiceXML dialog is currently associated.]]></assert>
	</test>
	<test>
		<assert id="843" optional="true" manual="false" spec="App.D"><![CDATA[The session.connection.ccxml must have a read-only subproperty called dialogid which evaluates to the CCXML Dialog ID for the current dialog.]]></assert>
	</test>
	<test>
		<assert id="844" optional="true" manual="false" spec="App.D"><![CDATA[The session.connection.ccxml must have a read-only subproperty called connectionid which evaluates to the CCXML Connection ID to which the VoiceXML dialog is currently bridged. This variable is undefined if the dialog is not bridged to a connection.]]></assert>
	</test>
	<test>
		<assert id="845" optional="true" manual="false" spec="App.D"><![CDATA[The session.connection.ccxml must have a read-only subproperty called conferenceid which evaluates to the CCXML Conference ID to which the VoiceXML dialog is currently bridged. This variable is undefined if the dialog is not bridged to a conference.]]></assert>
	</test>
	<test>
		<assert id="847" optional="true" manual="false" spec="App.D"><![CDATA[The session.connection.ccxml must have a read-only subproperty called values. This associative array contains the names and values of the parameters attribute supplied in a CCXML <dialogprepare> or <dialogstart> invocation.]]></assert>
	</test>
	<test>
		<assert id="848" optional="true" manual="false" spec="App.D"><![CDATA[When a CCXML application processes a <dialogterminate> it causes a "connection.disconnect.hangup" event to be thrown to the VoiceXML application.]]></assert>
	</test>
	<test>
		<assert id="849" optional="true" manual="false" spec="App.D"><![CDATA[When a VoiceXML application processes a VoiceXML <exit> it will cause the VoiceXML application to exit and return the contents of the namelist attribute to the CCXML application in the "dialog.exit" event.]]></assert>
	</test>
	<test>
		<assert id="850" optional="true" manual="false" spec="App.D"><![CDATA[When the VoiceXML application processes a <disconnect> element it causes a "dialog.disconnect" event to be thrown in the CCXML application. It is then up to the CCXML application to disconnect the call and send back a "connection.disconnect.hangup" event by using the <dialogterminate> element.]]></assert>
	</test>
	<test>
		<assert id="1067" optional="true" manual="true" spec="App.L"><![CDATA[Implementation MUST support HTTP Post]]></assert>
	</test>
	<test>
		<assert id="1069" optional="true" manual="true" spec="App.L"><![CDATA[The http reserved parameter "uri" specifies the URI of the CCXML document to load. This parameter is required]]></assert>
	</test>
	<test>
		<assert id="1070" optional="true" manual="true" spec="App.L"><![CDATA[The http reserved parameter "eventsource" specifies a URI to which events may be sent from the created session using, for example, the "basichttp" event processor. This parameter is optional.]]></assert>
	</test>
	<test>
		<assert id="1071" optional="true" manual="true" spec="App.L"><![CDATA[Other parameters provided in the HTTP request are treated as the event payload. Single parameter values MUST be supported]]></assert>
	</test>
	<test>
		<assert id="1074" optional="true" manual="true" spec="App.L"><![CDATA[In the created session, session.startupmode MUST be set to "external"]]></assert>
	</test>
	<test>
		<assert id="1075" optional="true" manual="true" spec="App.L"><![CDATA[In the created session, session.uri MUST be set to the value of the uri parameter]]></assert>
	</test>
	<test>
		<assert id="1076" optional="true" manual="true" spec="App.L"><![CDATA[In the created session, session.values object MUST be defined ]]></assert>
	</test>
	<test>
		<assert id="1077" optional="true" manual="true" spec="App.L"><![CDATA[In the created session, session.values.type MUST be set to the value "createsession"]]></assert>
	</test>
	<test>
		<assert id="1078" optional="true" manual="true" spec="App.L"><![CDATA[In the created session, session.values.eventsource MUST be set to the value of the "eventsource" parameter]]></assert>
	</test>
	<test>
		<assert id="1079" optional="true" manual="true" spec="App.L"><![CDATA[In the created session, Other payload parameters are exposed as properties of session.values (complex parameter names require appropriate initialization of sub-objects). ]]></assert>
	</test>
	<test>
		<assert id="1080" optional="true" manual="true" spec="App.L"><![CDATA[In the created session, to avoid conflict with the "type" and "eventsource" property of session.values object, payload parameters with the name "type" and "eventsource" are ignored.]]></assert>
	</test>
	<test>
		<assert id="1260" optional="true" manual="true" spec="App.L"><![CDATA[The reserved http parameter 'method' which is equivalent to <createccxml>'s 'method' attribute, used to set the HTTP method applied in the fetch of the specified CCXML document. Allowed values are "get" or "post" (case-insensitive). ]]></assert>
	</test>
	<test>
		<assert id="1261" optional="true" manual="true" spec="App.L"><![CDATA[the http reserved parameter 'method' if missing must default to 'get'.]]></assert>
	</test>
</tests>
