FAQ-VU脚本语法说明

发布时间:  2014-09-22 浏览次数:  184 下载次数:  0
问题描述
VU脚本语法说明
解决方案
参数
VU脚本命令中共涉及5种参数类型:
  •  整型常量,取值范围为0~65536。
  •  整型变量。
  •  号码型常量,由数字组成的字符串,如“6000”。
  •  号码型变量,由数字组成的字符串,最大长度为24。
  •  字符型常量,暂时只支持“*”、“#”。

PlayCollect命令
PlayCollect 256,256,250,true,24,'#','*','#','#',20,NumLen,calledNum
PlayCollect命令用于放音收号。该命令的参数及其含义如下表所示。

CallTransfer命令
CallTransfer calledNum,1024,1023,1050,1060,2000,1070
CallTransfer命令的参数及其含义如下表所示。
CallTransfer命令参数含义


Let命令
str groupNo = "0"
int NumLen = 0
Let命令是取整型和号码型数据的左值。

StrAdd命令
StrAdd extensionNum,5,firstNum,calledNum,NULL,NULL,NULL
StrAdd命令是将右值的若干个字符串拼接成左值的字符串。最多支持拼接11个字符串。 StrAdd命令可以实现添加固定字冠的号码变换,例如,用户原来的号码为4位,如果升级到6位,则是在原来4位前加固定的两位数。通过该命令,也可以实现拨原来的4位号码找到该用户的功能。
StrAdd的参数及其含义如下表所示。
StrAdd命令参数含义


Switch、Case、Default命令
Switch命令中的参数为整型常量。Switch的内容需要用{}括起来。
Case命令中的参数为整型常量。Case的内容需要用{}括起来,该内容的结尾需要加break命令。
Default命令无参数。Default内容需要用{}括起来,该内容体的结尾需要加break命令。

If命令
If命令支持变量的比较。整型变量支持6种比较类型,分别为<、<=、==、>=、>、<>;号码型变量支持2种比较类型,分别为==、<>。If命令的参数及其含义如下表所示。
If命令的参数

Goto命令
Goto命令中的参数表示跳转的行号,为整型常量。
End命令
End为结束命令。该命令执行后,不再执行其后的命令。
举例
自动总机脚本是安装包中“SCRIPT”文件夹下的“VU脚本”,该脚本文件适用于自动总机业务。自动总机业务包含的两种菜单选项如下:
 请拨分机号(假设局内号码的最大号长为4位)
 查号请拨’0’(拨’0’转到前台,假设前台号码为”8000”)
假设要实现的功能如下:拨4位号码直接接通局内分机;拨’0’接通前台号码”8000”;等待拨号超时的时长为20秒;如果听提示音超时没有拨号则呼叫自动转接至前台号码”8000”;如果所拨号码正忙或者号码不存在,听相应提示音后重新听总机提示音,如提示”请拨分机号,查号请拨0”,然后可以重复前面的操作按照需要进行拨号。
为了实现该功能,需要编辑或修改“VU脚本”文件的以下内容:
10    define OperationNO   1
50    define true           1
80    define false          0
100   str groupNo = "0"
200   str transferNum = "8000"
210   int NumLen = 0
220   str calledNum = ""
230   int seatNo = 65535
300   calledNum = ""
301   NumLen = 0
       /*250通道放音;最大收号号长为4位;拨‘0’认为收号结束*/
302   PlayCollect 256,256,250,true,4,'#','*',0,'#',20,NumLen,calledNum
400   switch(NumLen)
500   {
501     case 0:
520     {
521        /*这里的逻辑表示:听提示音期间,没有拨号,呼叫转至”8000”*/
522       CallTransfer transferNum,1024,1023,1050,1060,2000,1070
523       break
524     }
600     case 1:
602     {   
700         if(calledNum == groupNo)
701         {
                  /*这里的逻辑表示:听提示音期间,拨了’0’,呼叫将转至”8000”*/
800              CallTransfer transferNum,1024,1023,1050,1060,2000,1070
801         }
802         else
803         {
804           goto 300 
805         }
806         break
901     }
1000    default:
1001    {
            /*这里的逻辑表示:听提示音期间,拨了至少2位号码,呼叫转至相应分机*/
1020       CallTransfer calledNum,1024,1023,1050,1060,2000,1070
1021       break
1025    }
1030  }

1050  calledNum = ""
1051  NumLen = 0
1052  PlayCollect 256,140,250,false,24,'#','*','#','#',10,NumLen,calledNum
1053  goto 300

1060  calledNum = ""
1061  NumLen = 0
1062  PlayCollect 256,177,250,false,24,'#','*','#','#',10,NumLen,calledNum
1063  goto 300

1070  calledNum = ""
1071  NumLen = 0
1072  PlayCollect 256,141,250,false,24,'#','*','#','#',10,NumLen,calledNum
1073  goto 300

2000  end
每一行的具体含义如下表所示。

END