<?xml version="1.0" encoding="UTF-8"?>
<!-- @ Copyright 1998-2003 W3C (MIT, ERCIM, Keio), All Rights Reserved. See http://www.w3.org/Consortium/Legal/. @ -->
<vxml version="2.0"
  xmlns="http://www.w3.org/2001/vxml"
  xmlns:conf="http://www.w3.org/2002/vxml-conformance">

<catch>
  <conf:fail expr="'catch-all caught ' + _event"/>
</catch>

<!-- subdialog GET -->
<form id="form1">
  <catch>
    <conf:fail expr="'form1 catch-all caught ' + _event"/>
  </catch>

  <subdialog name="sub1" src="cgi-bin/1.ircgi" method="get">
    <filled>
      <if cond="typeof(sub1.status) == 'undefined'">
        <conf:fail reason="sub1 no status returned"/>
      <else/>
        <conf:comment>sub1 returned <value expr="sub1.status"/></conf:comment>
        <if cond="sub1.status == 0">
          <conf:fail reason="sub1 no ua header"/>
        <elseif cond="sub1.status == 1"/>
          <conf:fail reason="sub1 bad ua header format"/>
        <elseif cond="sub1.status == 2"/>
          <goto next="#form2"/>            
        <else/>
          <conf:fail expr="'sub1 returned unexpected status ' + sub1.status"/>
        </if>
      </if>
    </filled>
  </subdialog>
</form>

<!-- subdialog POST -->
<form id="form2">
  <catch>
    <conf:fail expr="'form2 catch-all caught ' + _event"/>
  </catch>

  <subdialog name="sub2" src="cgi-bin/1.ircgi" method="post">
    <filled>
      <if cond="typeof(sub2.status) == 'undefined'">
        <conf:fail reason="sub2 no status returned"/>
      <else/>
        <if cond="sub2.status == 0">
          <conf:fail reason="sub2 no ua header"/>
        <elseif cond="sub2.status == 1"/>
          <conf:fail reason="sub2 bad ua header format"/>
        <elseif cond="sub2.status == 2"/>
          <goto next="#form3"/>            
        <else/>
          <conf:fail expr="'sub2 returned unexpected status ' + sub2.status"/>
        </if>
      </if>
    </filled>
  </subdialog>
</form>

<!-- submit GET -->
<form id="form3">
  <catch>
    <conf:fail expr="'form3 catch-all caught ' + _event"/>
  </catch>

  <subdialog name="sub3" src="1b.vxml#form5">
    <filled>
      <if cond="typeof(sub3.status) == 'undefined'">
        <conf:fail reason="sub3 no status returned"/>
      <else/>
        <if cond="sub3.status == 0">
          <conf:fail reason="sub3 no ua header"/>
        <elseif cond="sub3.status == 1"/>
          <conf:fail reason="sub3 bad ua header format"/>
        <elseif cond="sub3.status == 2"/>
          <goto next="#form4"/>            
        <else/>
          <conf:fail expr="'sub4 returned unexpected status ' + sub3.status"/>
        </if>
      </if>
    </filled>
  </subdialog>
</form>

<!-- submit GET -->
<form id="form4">
  <catch>
    <conf:fail expr="'form4 catch-all caught ' + _event"/>
  </catch>

  <subdialog name="sub4" src="1b.vxml#form6">
    <filled>
      <if cond="typeof(sub4.status) == 'undefined'">
        <conf:fail reason="sub4 no status returned"/>
      <else/>
        <if cond="sub4.status == 0">
          <conf:fail reason="sub4 no ua header"/>
        <elseif cond="sub4.status == 1"/>
          <conf:fail reason="sub4 bad ua header format"/>
        <elseif cond="sub4.status == 2"/>
          <conf:pass/>            
        <else/>
          <conf:fail expr="'sub4 returned unexpected status ' + sub4.status"/>
        </if>
      </if>
    </filled>
  </subdialog>
</form>

</vxml>
