VXML按键识别有关问题

求助VXML按键识别问题
大家好!
    我写的VXML脚本有个小问题:就是用户按键输入两个三位数(0~999)作为两个加数,系统将两数之和算出并播报出来。但问题就在输入数上,我的开始提示语中是“您只要根据系统提示输入两个三位以内的数,系统将立即将结果报出来。星号键返回。请按键输入你想要计算的两个数字,从0到999,#号键结束”。
一开始我接收用户按键的语句是
<field name="key" type="digits?length=3;terminate_key=*#;max_time=10000;mask_key=#">                 但这种写法的结果是:用户输入不足三位数,如“99#”,系统就能执行assign,使得num1=99,并等待用户输入第二个数;但当用户在输入三位后加#,如“456#”,系统会得到num1=456,而将num2=#,并执行加法运算。(num1是第一位加数,num2是第二位加数,用两个form写的)
如果将length=4,显然可以接收4位数,就是当用户不按#号键时,如“4561”,这个和开始的提示语有点矛盾。
后来在脚本中加入红色字体部分,用绿色字体检测:
                   <field name="key" type="digits?length=3;terminate_key=*#;max_time=10000;mask_key=#">
                   
                   <filled>
                           <if cond="key.substr(key.length-1,1)=='#'">
                                   <assign name="key" expr="key.substr(0,key.length-1)"/>     
                                     <!--去除末位#号键-->
                           </if>
                            <assign name="num1" expr="parseInt(key,10)"/>                   
                            <prompt> 您输入的是 <value expr="num1"/> </prompt>
                   </filled>
            </field>
    可是,系统反应不稳定——问题暴露的比原有的脚本还要明显,有时候还是播放转义后的#号键——“1QNAN…”,有时候是静音,输入没反应。
    我将这个接收输入的脚本拿出来,现在这个功能脚本如下:
<?xml version="1.0" encoding="utf-8" ?>
<vxml version="2.0" >

<var name="num1" expr=""/>

<form id="Frist">
            <block>
                   <prompt> 请按键输入数 </prompt>
            </block>
            
            <field name="key" type="digits?length=3;terminate_key=*#;max_time=10000;mask_key=#">
                  
                   <filled>