я тоже ничего не понимаю в TCL. зная некоторое количество всяких языков, TCL так и не освоил. Зато очень быстро и наглядно состряпал ряд "полезный фишек" на VXML. вот пример НАШЕГО голосового меню с функциями автоответчика и автопереключения на факс.<?xml version="1.0"?>
<vxml version="2.0" base="flash:mymenu.vxml">
<var name="number" expr="'phone://8117200'"/>
<var name="aons" expr="session.connection.remote.uri"/>
<form id="main">
<property name="timeout" value="2s"/>
<catch event="noinput"> <goto next="#sek"/> </catch>
<catch event="nomatch"> <goto next="#bad"/> </catch>
<catch event="com.cisco.fax.cng"> <goto next="#fax"/> </catch>
<block> <prompt>
<audio src="flash:beep.wav"/>
<audio src="flash:mymenu.wav"/>
</prompt> </block>
<field name="num">
<grammar type="application/grammar+regex">2[0-9][0-9]</grammar>
<filled>
<assign name="number" expr="'phone://8117'+num"/>
<prompt> <audio src="flash:soed.wav"/></prompt>
<goto next="#transfer"/>
</filled>
</field>
</form>
<form id="sek">
<block>
<prompt> <audio src="flash:sekretar.wav"/></prompt>
<assign expr="'phone://8117230'" name="number"/>
<goto next="#transfer"/>
</block>
</form>
<form id="fax">
<transfer name="mycall" dest="phone://8117234" bridge="false"> </transfer>
</form>
<form id="bad">
<block>
<prompt> <audio src="flash:nneverno.wav"/> </prompt>
<goto next="#sek"/>
</block>
</form>
<form id="transfer">
<transfer name="mycall" connecttimeout="30s" destexpr="number" bridge="true">
<filled>
<if cond = "mycall == 'busy'">
<prompt> <audio src="flash:zanyat.wav"/> </prompt>
<goto next="#sek"/>
<elseif cond = "mycall == 'network_busy'"/>
<prompt> <audio src="flash:zanyat.wav"/> </prompt>
<goto next="#sek"/>
<elseif cond = "mycall == 'noanswer'"/>
<goto next="#ao"/>
</if>
</filled>
</transfer>
</form>
<form id="ao">
<catch event="noinput">
<submit expr="'http://..../cgi-bin/gmail.cgi?aon=' + aons + '-' + number" namelist="audio" method="post" enctype="multipart/form-data" />
</catch>
<catch event="telephone.disconnect.hangup">
<submit expr="'http://..../cgi-bin/gmail.cgi?aon=' + aons + '-' + number" namelist="audio" method="post" enctype="multipart/form-data" />
</catch>
<record name="audio" maxtime="180s" beep="true" finalsilence="3s">
<prompt>
<audio src="flash:ao.wav"/>
<audio src="flash:beep.wav"/>
</prompt>
<filled>
<submit expr="'http://.../cgi-bin/gmail.cgi?aon=' + aons + '-' + number" namelist="audio" method="post" enctype="multipart/form-data" />
</filled>
</record>
<block> <exit/> </block>
</form>
</vxml>
помоему куда понятнее TCL :) подробнее скоро вероятно выложу на http://kekalo.narod.ru