CTI SERVER脚本语法说明
景讯CTIServer系统采用脚本化语言控制流程,可以很灵活地构件各种业务,满足业务频繁变更的需要。下面就其语法与使用方法做一个说明,非专业人员请勿随意修改,如需协助请咨询我司技术部工作人员。
整个流程文件分为变量定义区、流程执行区两个部分,前者是变量定义的地方,后者是脚本控制部分。
一、系统变量:
系统变量共有15个,用前缀@来标识
@msgno:命令语句的返回值。
0000:表示命令正常返回
0001:表示命令返回失败
9999:表示命令返回对方挂机
9998:表示命令返回对方正忙
9997:表示命令返回无人接听
9996:表示命令返回无拨号音
9995:表示命令返回无信号音
9994:表示命令返回语法错误
9993:表示命令返回对方空号
0002:表示命令返回对方传真机发出发送信号音
0003:表示命令返回对方传真机发出接收信号音
0004:表示对方有传真信号(这个不能肯定知道是发送还是接受信号)
0005:极性翻转挂机
0006:转座席座席无人接听
@msg:代表msgno代表的结果描述 //只读
@fax:代表发送和接受的传真编号//只读
@record:代表录音所代表的录音编号//只读
@channel:语音通道号//只读
@notice:语音通知编号//只读
@pages:总传真页数//只读
@chtel:本端号码//只读
@plaqueno:品牌编码//只读
@servicetype:服务类别//只读
@calltype:呼叫类别 //只读
@pretel:拨号前缀 //只读
@tel:呼叫号码 //只读
@extTel:分机号码 //只读
@subpath:放音子目录//只写
一、变量定义区:由declare标识符开始end标识符结束。
变量用前缀@来标识
例如:
DECLARE
@publicboxno,@boxno,@select,@reply,@playtime,@length
END
二、流程执行区:end标识符后面的语句都属于执行区。
2.1命令语句:
2.1.1行标:
[标号名]+:表示
作用:,用来作为跳转的指定行标。
2.1.2命令:每一个命令语句的执行都有一个返回值@msgno
Trace:语法 trace @var
参数:@var 表示要跟踪的变量名
作用:跟踪打印变量或者常量的值。
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetVocWaitTime:语法setvocwaittime @time
参数:@time 超时时间
作用:设置语音播放完毕间隔超时的时间。
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetDtmfWaitTime:语法setdtmfwaittime @time
参数:@time 超时时间
作用:设置按键间隔超时的时间。
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
IsNull: 语法isnull @var label或isnull const label
参数:@var 判断这个变量是否为空
作用:如果变量为空就跳转到lable指定的行标
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
IsNotNull:语法isNotnull @var label或isNotnull const label
参数:@var 判断这个变量是否不为空
作用:如果变量不为空就跳转到lable指定的行标
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetNull:语法setnull @var
参数:@var 被设置为空的变量
作用:设置变量为空
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
DtmfRecv:语法dtmfrecv @dtmf @dtmfstop @dtmfcount @dtmfvalid @dtmfkey
参数:@dtmf 存放接收到的dtmf码缓冲[out]
@dtmfstop 存放停止键的缓冲[out]
@dtmfcount 表示最多接收的按键数目
@dtmfvalid 有效的用户按键
@dtmfkey 收码停止键
作用:接收Dtmf按键码
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
Goto:语法goto @var或goto label
参数:@var存放行标的变量
作用:跳转到指定的行标
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
Case:语法case @var,value1:label1 value2:label2
参数:@var存放被判断的变量
value 和变量◎var匹配的值
label 匹配后跳转的行标
作用:根据变量匹配跳转到指定的行标,匹配值可以多个,中间用空格格开
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
Set:语法set @var1 const或set @var1 @var2
参数:@var被改变的变量
const被赋予的值
作用:设置变量的值,可以设置多个,中间用逗号分开。
返回值@msgno
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
Add:语法add @var const或add @var1 @var2
参数:@var被改变的变量
const被加数
作用:加法运算,运算结果保留在@var中
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
Sub:语法sub @var const或add @var1 @var2
参数:@var被改变的变量
const被减数
作用:减法运算,运算结果保留在@var中
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
Small:语法small @var1 @var2
参数:@var1 被比较数
@var2 比较数
作用:比较两个数值的大小,@var1小于@var2时@msgno返回为0000反之返回为0001
Big:语法big @var1 @var2
参数:@var1 被比较数
@var2 比较数
作用:比较两个数值的大小,@var1大于@var2时@msgno返回为0000反之返回为0001
GetLength:语法 getlength @string @length
参数:@string 字符串变量
@length 保存@string的长度的变量[out]
作用:得到字符串的长度
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetPublicBoxNo:语法 getpublicboxno @boxno
参数:@boxno 保存公共信箱的变量[out]
作用:得到公共信箱号码
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
Checkboxno:语法 Checkboxno @boxno
参数:@boxno 被校核的信箱号
作用:检测@boxno是否是注册的信箱号码
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetFaxReplyFlag:语法 getfaxreply @reply(太保)
参数:@reply 保存是否需要回执的变量[out]
作用:得到接收传真后是否需要回执的标识
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetFaxReplyFlagEx:语法 getfaxreplyEx @reply(人寿)
参数:@reply 保存是否需要回执的变量[out]
作用:得到接收传真后是否需要回执的标识
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetFaxAnswerFlag:语法getfaxanswerflag @Flag
参数:@Flag 保存对方传真是否应答的变量[out]
作用:检测对方传真机是否给了传真信号
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetTopExt:语法gettopExt @TopExt
参数:@ TopExt 保存总机号码的变量[out]
作用:得到总机号码
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetHoliday:语法GetHoliday @holiday
参数:@ TopExt 保存是否节假日的变量[out]
作用:判断是否节假日
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
IsExtOpen:语法IsExtOpen @Ext
参数:@ Ext 分机号变量
作用:判断分机号是否存在
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetExtWelcome:语法getextwelcome @ext @welcome
参数:@ Ext 分机号变量
@welcome 返回指定分机的欢迎词语音文件[out]
作用:得到指定分机的欢迎词语音文件
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetExtLeave:语法getextLeave @ext @Leave
参数:@ Ext 分机号变量
@Leave 返回指定分机的离开语音文件[out]
作用:得到指定分机的离开语音文件
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SaveRecord:语法SaveRecord @record @Ext @RecordType
参数:@ record 存放录音文件的变量
@Ext分机号[out]
@RecordType 录音类型0呼叫中心留言1总机留言2监控录音
作用:保存录音
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
DeleteRecord:语法deleterecord @record @Ext
参数:@ record 存放录音文件的变量
@Ext分机号
作用:删除录音
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
ListenRecord:语法ListenRecord @record
参数:@ record 存放录音文件的变量
作用:收听录音
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
IsExtNull:语法isextnull @ext
参数:@ext 存放分机号的变量
作用:判断分机是否存在
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
CheckExtPassWord:语法CheckExtPassword @ext @password
参数:@ext 存放分机号的变量
@password 存放分机的密码
作用:检测分机密码是否正确
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetExtLength:语法GetExtLength @ext @extvoclength
参数:@ext 存放分机号的变量
@extvoclength 返回信箱留言的时间长度
作用:检测分机密码是否正确
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetExtCount:语法getextcount @ext @new @extcount
参数:@ext 存放分机号的变量
@new 是否为新的留言
@extvoclength 返回信箱留言数量
作用:得到分机信箱留言数量
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
GetExtVoc:语法getextvoc @ext @new @extvocprev @extvoc
参数:@ext 存放分机号的变量
@new 是否为新的留言
@extvocprev 比这个录音编号小的留言
@extvoc 返回小于@extvocprev的录音留言[out]
作用:得到分机信箱中小于@extvocprev的录音留言
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
ReadExtVoc:语法readextvoc @ext @extvoc
参数:@ext 存放分机号的变量
@extvoc 设置阅读标识的录音编号
作用:设置分机留言的录音编号为阅读标识。
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
IsVocExist:语法isvocexist @voc
参数:@voc 语音文件变量
作用:检测语音留言代号是否存在。
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
DeleteVoc:语法DeleteVoc @voc
参数:@voc 语音文件变量
作用:删除语音文件。
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetExtLeave:语法setextleave @ext @status
参数:@ext 分机号变量
@status 状态
作用:设置分机状态1离开0在线
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
UpdateExtPassWord:语法updateextpassword @ext @password
参数:@ext 分机号变量
@password 分机密码
作用:更改分机密码
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SaveAsRecord:语法SaveAsRecord @record @voc
参数:@ record 录音文件变量
@voc 另存的语音文件
作用:另存语音文件
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetVisitType:语法SetVisitType @VisitType
参数:@VisitType 访问类别
作用:设置访问类别
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetServiceType:语法SetServiceType @ServiceType
参数:@ ServiceType 服务类别
作用:设置服务类别
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetPlaqueNo:语法SetPlaqueNo @PlaqueNo
参数:@ PlaqueNo 品牌类别
作用:设置品牌类别
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetCallType:语法SetCallType @CallType
参数:@ CallType 呼叫类别
作用:设置呼叫类别
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetProductType:语法SetProductType @ProductType
参数:@ ProductType产品类别
作用:设置产品类别
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SetFwpj:语法SetFwpj @fwpj
参数:@ fwpj 服务评价
作用:设置服务评价
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
AutoDialOut:语法AutoDialOut @ExtWay @preTel @Tel @ExtTel @WaitToneTime @ExtTime @WaitTalkTime
参数:@ ExtWay 分机发码方式1:停顿发码0:直接发码
@preTel 拨号前缀
@Tel 外呼电话号码
@ExtTel 分机号码
@WaitToneTime 拨号前缀与外呼号码之间停顿的时间
@ExtTime 外呼号码接通后发送分机号码的停顿时间
@WaitTalkTime 外呼成功后无人接听最长等待时间
作用:自动外拨
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
9999:表示用户取消
9998:表示线路忙
9997:表示无人应答
0002:表示命令返回对方传真机发出发送信号音
0003:表示命令返回对方传真机发出接收信号音
0004:表示对方有传真信号(这个不能肯定知道是发送还是接受信号)
DtmfDialOut:语法DtmfDialOut @ExtWay @preTel @Tel @ExtTel @WaitToneTime @ExtTime @WaitTalkTime
参数:@ ExtWay 分机发码方式1:停顿发码0:直接发码
@preTel 拨号前缀
@Tel 外呼电话号码
@ExtTel 分机号码
@WaitToneTime 拨号前缀与外呼号码之间停顿的时间
@ExtTime 外呼号码接通后发送分机号码的停顿时间
@WaitTalkTime 外呼成功后无人接听最长等待时间
作用:发码外拨
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
9999:表示用户取消
9998:表示线路忙
9997:表示无人应答
0002:表示命令返回对方传真机发出发送信号音
0003:表示命令返回对方传真机发出接收信号音
0004:表示对方有传真信号(这个不能肯定知道是发送还是接受信号)
FlashExtDial:语法FlashExtDial ExtWay @varDtmf @flashtime @preDtmfTime @WaitTalkTime @aftTalkTime PreHangup
参数:@ ExtWay 分机发码方式1:停顿发码0:直接发码
@varDtmf 发送的分机号码
@flashtime 闪断时间
@preDtmfTime 闪断后延时发码时间
@WaitTalkTime 外呼成功后无人接听最长等待时间
@aftTalkTime 连通后延时挂机时间
@ PreHangup 回铃音后是否挂机
作用:闪断拨号
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
9999:表示用户取消
9998:表示线路忙
9997:表示无人应答
0002:表示命令返回对方传真机发出发送信号音
0003:表示命令返回对方传真机发出接收信号音
0004:表示对方有传真信号(这个不能肯定知道是发送还是接受信号)
OnHook:语法Onhook
作用:挂断,通道初始化
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
OffHook:语法 OffHook
作用:摘机,用于外线
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
Sleep:语法sleep @var或sleep const
参数:@var 存放睡眠时间的变量
作用:睡眠一段时间
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
SleepEx:语法sleepex @var或sleepex const
参数:@var 存放睡眠时间的变量
作用:睡眠一段时间
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
DtmfSend:语法DtmfSend @var @time或DtmfSend 1234 @time
参数:@var 发送的dtmf码变量
@time 发码后延时的时间
作用:发送dtmf码
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
Play:语法Play file1,file2;@var:dtmfcount validkey vocStopkey DtmfStopkey
参数:file1,file2 播放的文件列表
注意:file可以是数字变量,而且可以加前缀PS、PD、PY、PV
PS:符串读法 壹貮叁点捌零
PD:数字的读法 壹佰貮拾叁点捌
PY:圆角分读法 壹佰貮拾叁点捌圆
PV:代表后面的值是文件名(默认)
@var 接收到的按键[out]
dtmfcount 最多接收的按键
validkey 有效的用户按键
vocStopkey 打断放音键
DtmfStopkey 命令结束返回按键
作用:播放文件
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
9999:表示用户取消
0002:表示命令返回对方传真机发出发送信号音
0003:表示命令返回对方传真机发出接收信号音
0004:表示对方有传真信号(这个不能肯定知道是发送还是接受信号)
Record:语法record @record time stopkey Startkey @Ext
参数:@record 存放文件的变量[out]
time 录音时间
stopkey 停止录音按键
Startkey开始录音的按键@表示无开始录音键
@Ext 分机号码@表示非分机
作用:录音
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
9999:表示用户取消
0002:表示命令返回对方传真机发出发送信号音
0003:表示命令返回对方传真机发出接收信号音
0004:表示对方有传真信号(这个不能肯定知道是发送还是接受信号)
FaxSend:语法faxsend file或faxsend @var
参数:@var 发送的传真文件,变量可有可无
作用:发送传真
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
9999:表示用户取消
FaxRecv:语法faxrecv file replyflag replyfile或faxrecv @var replyflag replyfile
参数:@var 接收的传真文件
replyflag 是否回执
replyfile 回执文件模板
作用:接收传真
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9993:表示命令板卡sdk函数调用出错
9994:表示命令返回语法错误
9999:表示用户取消
OrderProduct:语法OrderProduct ProductNo Faxnumber或OrderProduct @ProductNo @Faxnumber
参数:@ProductNo传真产品编号
@FaxNumber 传真号码(如果为空表示直接索取,后面处理脚本为faxsend)
作用:传真产品订购
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
IsWorkDay:语法isworkDay lablework lablenotwork type
参数:lablework 工作日跳转行标
lablenotwork 非工作日跳转行标
type 0: 人工服务1:呼叫转移
作用:是否工作日
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
IsWorkTime:语法isworktime lablework lablenotwork type
参数:lablework 工作时间跳转行标
lablenotwork 非工作时间跳转行标
type 0: 人工服务1:呼叫转移
作用:是否工作时间
返回值@msgno
0000:表示命令正常返回
0001:表示命令返回失败
9994:表示命令返回语法错误
WaitDial:语法WaitDial @dtmf @dtmfstop @dtmfcount @dtmfvalid @dtmfkey @DialToneTime
参数:@dtmf 接收的按键[out]
@dtmfstop 被停止的按键[out]
@dtmfcount 最多接收的按键
@dtmfvalid 有效的按键
@dtmfkey 停止按键的键
@DialToneTime 拨号音播放的最长时间
作用:座席外呼等待拨号
返回值@msgno
0000:表示正常返回
0001:表示返回失败
0009:表示拦截通话成功
0010:强插通话成功
0011:监听通话成功
9994:表示语法错误
9999:本方挂机
WaitReDial:语法WaitReDial @dtmf @dtmfstop @dtmfcount @dtmfvalid @dtmfkey @DialToneTime
参数:@dtmf 接收的按键[out]
@dtmfstop 被停止的按键[out]
@dtmfcount 最多接收的按键
@dtmfvalid 有效的按键
@dtmfkey 停止按键的键
@DialToneTime 拨号音播放的最长时间
作用:座席转接拨号
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
9999:本方挂机
SlicDialOut:语法SlicDialOut @telnumber @Channels
参数:@telnumber 外呼电话号码
@Channels 指定外呼外线通道集合,中间用逗号分开,所有通道用-1
作用:座席外呼
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
9999:本方挂机
SlicDialSlic:语法SlicDialSlic @telnumber @Waittime
参数:@telnumber 座席号码
@Waittime 等待应答的最长时间
作用:座席拨打座席
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
9999:本方挂机
SlicDialSlicChange:语法SlicDialSlicChange @telnumber @Waittime @meetKey
参数:@telnumber 座席号码
@Waittime 等待应答的最长时间
@meetKey 加入会议键
作用:座席转接座席
SlicDialSlicMeet:语法SlicDialSlicMeet @telnumber @Waittime
参数:@telnumber 座席号码
@Waittime 等待应答的最长时间
作用:座席请求座席加入会议
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
9999:本方挂机
SlicDialOutChange:语法SlicDialOutChange @telnumber @Waittime @meetKey @Channels
参数:@telnumber 电话号码
@Waittime 等待应答的最长时间
@meetKey 加入会议键
@Channels 转接指定的外线通道集合,中间用逗号分开,所有通道用-1表示。
作用:座席转接外线
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
9999:本方挂机
SlicDialOutMeet:语法SlicDialOutMeet @telnumber @Waittime
参数:@telnumber 电话号码
@Waittime 等待应答的最长时间
作用:座席请求外线加入会议
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
9999:本方挂机
TurnOut:语法TurnOut @telnumber @waitTime @WaitWay @Channels
参数:@telnumber 电话号码
@Waittime 等待空闲外线的时间
@WaitWay 是否无空闲通道直接返回1:直接返回0继续等待超时
@Channels 指定转接外呼的通道
作用:呼叫转移到外线
返回值@msgno
0000:表示返回成功
0001:表示返回失败
0006:无人接听
9994:表示语法错误
9999:对方挂机
TurnSlic:语法TurnSlic @Channels @Groups @Waittime @TurnWay @WaitWay @seattype @designSeat @expertSeat @WaitMusicFile
参数:@Channel 指定的通道号用,号分开
@Group 指定的座席组用,号分开
@Waittime 等待空闲座席的最大时间
@TurnWay 是否第一次转座席1是0 否
@WaitWay 是否无空闲座席直接返回1:直接返回0继续等待超时
@seattype 坐席种类,一般填写@代表不限制
@designSeat 是否指定坐席1表示客户是谁登记的,那么这个客户优先转接给谁。
@expertSeat 是否专家坐席0表示非专家坐席,1表示是, @和2表示不指定专家坐席
作用:转座席
返回值@msgno
0000:表示返回成功
0001:表示返回失败
0006:无人接听
9994:表示语法错误
9999:对方挂机
CheckLink:语法CheckLink
作用:座席呼入摘机等待连接
返回值@msgno
0000:表示返回成功
0001:表示返回失败
CheckTalk:语法CheckTalk
作用:外线通话连接
返回值@msgno
0000:表示返回成功
0001:表示返回失败
PlaySeatOperNo:语法Playseatoperno file1,file2
参数:file1,file2 播放的文件
作用:对会议中放音
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
LeftStr:语法//LeftStr @var const LeftStr @var1 @var2
参数:@var 存储字符串的变量,结果也存储在这里面
@var2 表示截取的长度。
作用:获取字符串左边指定位的长度的字符串
RightStr:语法//RightStr @var const RightStr @var1 @var2
参数:@var 存储字符串的变量,结果也存储在这里面
@var2 表示截取的长度。
作用:获取字符串右边指定位的长度的字符串
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
GetSlicNoByChannelNo:语法//GetSlicNoByChannelNo @ch @slicno
参数:@ch 表示通道序号
@slicno 表示坐席号码,是返回类型的变量。
作用:通过坐席通道序号得到坐席号码(分机号)
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
GrabSlic:语法//GrabSlic @Channels @seattype @expertSeat
参数:@Channels 表示可以抢接的通道集合,中间用分号格开,如果是所有通道用-1表示
@seattype 坐席类型,可以在数据库c_seatclients里面定义。
@expertSeat 是否专家坐席
作用:抢接电话
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
Quotedstr: 语法//Quotedstr @strvarname @strvalue
参数:@strvarname 表示存储加单引号后的变量
@strvalue 表示需要加单引号的变量或值
作用:给字符串加单引号
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
ExecSql:语法////Quotedstr @strva @strvalue
参数:@strvar 表示存储sql语句的变量
@strvalue 表示执行sql语句后的返回值,记录放到其中,记录需要用GetFieldValue函数进行分离。
作用:执行sql语句
返回值@msgno
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
GetFieldValue:语法GetFieldValue @strrecord, @row @col @strvalue
参数:@strrecord 必须填写用execsql命令执行后返回的记录集
@row 取记录对应的行
@col 取记录对应的列
@strvalue 存放字段的结果值。
作用:取执行sql查询语句后对应字段的值。
0000:表示返回成功
0001:表示返回失败
9994:表示语法错误
2.2举例
传真呼入流程:
DECLARE
@publicboxno,@boxno,@select,@reply,@playtime,@length
END
setVisitType 传真系统
getpublicboxno @publicboxno
getlength @publicboxno @length
set @playtime 0
set @reply 0
play Welcome, InputBox;@boxno:@length 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:checkboxno
set @boxno @publicboxno
goto checkboxno
checkboxno:
checkboxno @boxno
case @msgno,0000:faxrecvcheck
set @boxno @publicboxno
goto checkboxno
faxrecvcheck:
goto faxrecv
faxrecv:
faxrecv @fax @reply
trace @msgno
goto exit
play3time:
play SvrOut
exit:
onhook:
onhook
传真呼出流程:
DECLARE
@faxanswer
END
setVisitType 传真系统
sleepEx 1000
goto DailOut
DailOut:
DtmfDialOut 0 @Pretel @Tel @ExtTel 1000 1000 45000
trace @msgno
case @msgno, 0003:faxsend 0004:faxsend 0000:playnotify
goto onhook
playnotify:
play Notify
trace @msgno
case @msgno, 0003:faxsend 0004:faxsend 9999:onhook 0005: onhook
getfaxanswerflag @faxanswer
case @faxanswer,1:faxsend 0:faxnotify
faxnotify:
sleep 1000
case @msgno, 0003:faxsend 0004:faxsend 9999:onhook 0005: onhook
play FaxNotify
trace @msgno
case @msgno, 0003:faxsend 0004:faxsend 9999:onhook 0005: onhook
getfaxanswerflag @faxanswer
case @faxanswer,1:faxsend
goto faxsend
faxsend:
faxsend @fax
trace @msgno
onhook:
onhook
座席呼入流程:
DECLARE
@dtmf,@dtmfcount,@dtmfstop
END
setVisitType 呼叫中心
goto CheckLink
CheckLink:
CheckLink
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:WaitReDial
WaitReDial:
set @dtmfcount 100
WaitReDial @dtmf @dtmfstop @dtmfcount 0123456789 *# 20000 //拨号音20秒
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:SlicDial
SlicDial:
case @dtmfstop,*:SlicDialSlicChange #:SlicDialOutChange !:SlicDialSlicMeet //×拨打内部电话 #拨打外部电话
SlicDialSlicChange:
SlicDialSlicChange @dtmf 40000 * //用户按×把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:WaitReDial
SlicDialOutChange:
SlicDialOutChange @dtmf * //用户按×把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 0002:WaitReDial 0000:WaitReDial
SlicDialSlicMeet:
SlicDialSlicMeet @dtmf 40000 //把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 0002:WaitReDial 0000:WaitReDial
onhook:
onhook
座席呼出流程:
DECLARE
@dtmf,@dtmfcount,@dtmfstop
END
setVisitType 呼叫中心
goto WaitDial
WaitDial:
set @dtmfcount 100
WaitDial @dtmf @dtmfstop @dtmfcount 0123456789 *# 10000 //拨号音20秒
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:SlicDial
SlicDial:
case @dtmfstop,*:SlicDialSlic #:SlicDialOut //拨打内部电话 #拨打外部电话
SlicDialSlic:
SlicDialSlic @dtmf 40000//用户按×把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:WaitReDial
SlicDialOut:
SlicDialOut @dtmf //用户按×把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 0002:WaitReDial 0000:WaitReDial
WaitReDial:
set @dtmfcount 100
WaitReDial @dtmf @dtmfstop @dtmfcount 0123456789 *# 20000 //拨号音20秒
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:SlicDialChange
SlicDialChange:
case @dtmfstop,*:SlicDialSlicChange #:SlicDialOutChange !:SlicDialSlicMeet
SlicDialSlicChange:
SlicDialSlicChange @dtmf 40000 * //用户按×把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:WaitReDial
SlicDialOutChange:
SlicDialOutChange @dtmf * //用户按×把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:WaitReDial
SlicDialSlicMeet:
SlicDialSlicMeet @dtmf 40000 //把座席加入会议
case @msgno,9999:onhook 9998:onhook 9997:onhook 9996:onhook 9995:onhook 0000:WaitReDial
onhook:
onhook
呼叫中心呼入流程:
DECLARE
@select,@playtime,@seatoperno,@publicboxno,@boxno,@faxno,@turnway
END
setVisitType 呼叫中心
set @boxno 8888
getpublicboxno @publicboxno
set @playtime 0
Welcome:
play welcome
goto main
main:
set @playtime 0
set @turnway 1
mainmenu:
setcalltype 自动
play MainMenu;@select:1 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0002:checkboxno 004:checkboxno 0000:mainmenurecv
add @playtime 1
case @playtime,3:play3time
goto mainmenu
mainmenurecv:
case @select, 1:gsjs 2:ywzx 3:tsjy 4:fscz 5:yyly 6:zxxx 0:rgfw
add @playtime 1
case @playtime,3:play3time
goto mainmenu
gsjs:
play gsjs;@select:1 1# 1# 1#
case @msgno,9999:exit 9998:exit 9997:exit 0000:gsjsrecv
goto main
gsjsrecv:
case @select, 1:gsjs #:main
goto main
ywzx:
set @playtime 0
ywzxmenu:
play BusinessMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0002:checkboxno 004:checkboxno 0000:ywzxmenurecv
add @playtime 1
case @playtime,3:play3time
goto cpjsmenu
ywzxmenurecv:
case @select, 1:ywzx1 2:ywzx2 3:ywzx3 4:ywzx4 5:ywzx5 #:returnmainmenu
add @playtime 1
case @playtime,3:play3time
goto cpjsmenu
ywzx1:
setservicetype 帐户信息管理咨询
goto rgfw
ywzx2:
setservicetype 帐户充值咨询
goto rgfw
ywzx3:
setservicetype 帐户提现咨询
goto rgfw
ywzx4:
setservicetype 网上付款咨询
goto rgfw
ywzx5:
setservicetype 网上收款咨询
goto rgfw
tsjy:
setservicetype 投诉建议
goto rgfw
fscz:
set @boxno 8888
goto checkboxno
checkboxno:
checkboxno @boxno
case @msgno,0000:faxrecvcheck
set @boxno @publicboxno
goto checkboxno
faxrecvcheck:
goto faxrecv
faxrecv:
faxrecv @fax 0
trace @msgno
goto onhook
yyly:
goto rgfwrecord
zxxx:
play zxxx;@select:1 1# 1# 1#
case @msgno,9999:exit 9998:exit 9997:exit 0000:zxxxrecv
goto main
zxxxrecv:
case @select, 1:zxxx #:main
goto main
rgfw:
set @playtime 0
setcalltype 人工
isworkday rgfwworkday rgfwnotworkday 0
goto rgfwworkday
rgfwworkday:
isworktime rgfwwork rgfwnotwork 0
goto rgfwnotwork
rgfwnotworkday:
set @playtime 0
play NotWorkTurnToRecord
goto rgfwrecord
rgfwnotwork:
set @playtime 0
play NotWorkTurnToRecord
goto rgfwrecord
rgfwwork:
set @playtime 0
play RgfwWait
TurnSlic -1 -1 40000 @turnway 1
trace @msgno
case @msgno,0000:checkLink
rgfwcontinue:
set @playtime 0
rgfwcontinuemenu:
set @turnway 0
play SeatBusy, RgfwMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:rgfwcontinuerecv
add @playtime 1
case @playtime,3:play3time
goto rgfwcontinuemenu
rgfwcontinuerecv:
case @select,0:rgfwwork 1:rgfwrecord #:returnmainmenu
add @playtime 1
case @playtime,3:play3time
goto rgfwcontinuemenu
rgfwwork:
goto checklink
rgfwrecord:
set @playtime 0
play RecordReady
record @record 300000 # @ @
goto rgfwrecordmenu
rgfwrecordmenu:
play RecordMenu;@select:1 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:rgfwrecordrecv
add @playtime 1
case @playtime,3:play3time
goto rgfwrecordmenu
rgfwrecordrecv:
case @select,1:rgfwrecordok 2:rgfwrecordcancel 3:rgfwrecordlisten 4:rgfwrecordretry
add @playtime 1
case @playtime,3:play3time
goto rgfwrecordmenu
rgfwrecordok:
play RecordOk
saverecord @record
goto returnmainmenu
rgfwrecordcancel:
play RecordCancel
deleterecord @record
goto returnmainmenu
rgfwrecordretry:
deleterecord @record
goto rgfwrecord
rgfwrecordlisten:
listenrecord @record
goto rgfwrecordmenu
checklink:
goto checklinkret
getseatoperno @seatoperno
case @msgno,0000:playseatoperno
goto checklinkret
playseatoperno:
trace @seatoperno
isnull @seatoperno checklinkret
playseatoperno Hello, ps @seatoperno, SeatOperNo
checklinkret:
checkTalk
goto exit
play3time:
play SvrOut
goto exit
returnmainmenu:
goto main
exit:
play GoodBye
onhook:
onhook
自动总机客户呼入流程:
DECLARE
@select,@playtime,@ext,@topext,@length,@count,@newcount,@holiday,@welcome,@leave,@dtmfkey,@type
END
set @playtime 0
setcalltype 自动
setservicetype 自动服务
gettopext @topext
getswitchtellength @length
getholiday @holiday
trace @holiday
dtmfrecv @select # @length 0123456789 @dtmfkey 0
trace @select
isnull @select main
play ExtIsNoAnswer
set @type noanswer
set @ext @select
goto record
main:
play WelcomeExt, pv @holiday, InputDirectExt;@select:@length 0123456789 0123456789ABCD*# #
trace @select
case @msgno,9999:exit 9998:exit 9997:exit 0000:mainmenurecv
add @playtime 1
case @playtime,3:play3time
goto mainmenu
mainmenu:
play InputDirectExt;@select:@length 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:mainmenurecv
add @playtime 1
case @playtime,3:play3time
goto mainmenu
mainmenurecv:
case @select,9:topext @topext:topext
isnull @select mainmenuisnull
set @ext @select
goto ext
mainmenuisnull:
add @playtime 1
case @playtime,3:play3time
goto mainmenu
topext:
set @ext @topext
sendswitchflash @ext 15
case @msgno,0000:onhook 0001:topextisnull 0002:topextisbusy 0003:topextisnoanswer
goto topext
topextisnull:
set @playtime 0
topextisnullmenu:
play TopExtIsNull, InputOtherExt;@select:@length 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:topextisnullmenurecv
add @playtime 1
case @playtime,3:play3time
goto topextisnullmenu
topextisnullmenurecv:
case @select,9:topext @topext:topext
isnull @select topextisnullmenuisnull
set @ext @select
goto ext
topextisnullmenuisnull:
add @playtime 1
case @playtime,3:play3time
goto topextisnullmenu
topextisbusy:
set @playtime 0
topextisbusymenu:
play TopExtIsBusy, InputOtherExt;@select:@length 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:topextisbusymenurecv
add @playtime 1
case @playtime,3:play3time
goto topextisbusymenu
topextisbusymenurecv:
case @select,9:topext @topext:topext #:toprecord
isnull @select topextisbusymenuisnull
set @ext @select
goto ext
topextisbusymenuisnull:
add @playtime 1
case @playtime,3:play3time
goto topextisbusymenu
topextisnoanswer:
set @playtime 0
topextisnoanswermenu:
play TopExtIsNoAnswer, InputOtherExt;@select:@length 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:topextisnoanswermenurecv
add @playtime 1
case @playtime,3:play3time
goto topextisnoanswermenu
topextisnoanswermenurecv:
case @select,9:topext @topext:topext #:toprecord
isnull @select topextisnoanswermenuisnull
set @ext @select
goto ext
topextisnoanswermenuisnull:
add @playtime 1
case @playtime,3:play3time
goto topextisnoanswermenu
toprecord:
set @ext @topext
goto extrecord
ext:
sendswitchflash @ext 15
trace @msgno
case @msgno,0000:onhook 0001:extisnull 0002:extisbusy 0003:extisnoanswer
goto ext
extisnull:
set @playtime 0
extisnullmenu:
play ExtIsNull, InputOtherExt;@select:@length 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extisnullmenurecv
add @playtime 1
case @playtime,3:play3time
goto extisnullmenu
extisnullmenurecv:
case @select,9:topext @topext:topext
isnull @select extisnullmenuisnull
set @ext @select
goto ext
extisnullmenuisnull:
add @playtime 1
case @playtime,3:play3time
goto extisnullmenu
extisbusy:
set @playtime 0
extisbusymenu:
play ExtIsBusy, InputOtherExt;@select:@length 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extisbusymenurecv
add @playtime 1
case @playtime,3:play3time
goto extisbusymenu
extisbusymenurecv:
case @select,9:topext @topext:topext #:extrecord
isnull @select extisbusymenuisnull
set @ext @select
goto ext
extisbusymenuisnull:
add @playtime 1
case @playtime,3:play3time
goto extisbusymenu
extisnoanswer:
set @playtime 0
extisnoanswermenu:
play ExtIsNoAnswer, InputOtherExt;@select:@length 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extisnoanswermenurecv
add @playtime 1
case @playtime,3:play3time
goto extisnoanswermenu
extisnoanswermenurecv:
case @select,9:topext @topext:topext #:extrecord
isnull @select extisnoanswermenuisnull
set @ext @select
goto ext
extisnoanswermenuisnull:
add @playtime 1
case @playtime,3:play3time
goto extisnoanswermenu
extrecord:
isextopen @ext
case @msgno,0000:extnotopen:
goto record
extnotopen:
play ExtIsNotOpen
goto returnmainmenu
record:
set @playtime 0
isextleave @ext
case @msgno,0000:recordleave
goto recordwelcome
recordwelcome:
getextwelcome @ext @welcome
play pv @welcome
goto recordready
recordleave:
getextleave @ext @leave
play pv @leave
goto recordready
recordready:
play RecordReady
record @record 300 # @ext
goto recordmenu
recordmenu:
play RecordMenu;@select:1 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:recordrecv
add @playtime 1
case @playtime,3:play3time
goto recordmenu
recordrecv:
trace @select
isnull @select recordrecvnull
goto recordrecvok
recordrecvnull:
add @playtime 1
case @playtime,3:play3time
goto recordmenu
recordrecvok:
case @select,1:recordok 2:recordcancel 3:recordlisten 4:recordretry
add @playtime 1
case @playtime,3:play3time
play InputSelectError
goto recordmenu
recordok:
play RecordOk
saverecord @record
goto exit
recordcancel:
play RecordCancel
deleterecord @record
case @type, noanswer:exit
goto returnmainmenu
recordretry:
deleterecord @record
goto recordready
recordlisten:
listenrecord PV @record
goto recordmenu
play3time:
play SvrOut
goto exit
returnmainmenu:
set @playtime 0
setcalltype 自动
setservicetype 自动服务
goto mainmenu
exit:
play GoodBye
onhook:
onhook
自动总机内部呼入流程:
DECLARE
@select,@playtime,@ext,@password,@passwordnew,@length,@welcome,@leave,@extcount,@extcountnew,@extvocprev,@extvoc,@recordtype
END
set @playtime 0
setcalltype 自动
setservicetype 自动服务
getswitchtellength @length
set @extvocprev 99999999999999999
main:
play WelcomeExt, InputExt;@ext:@length 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extmenurecv
add @playtime 1
case @playtime,3:play3time
goto extmenu
extmenu:
play InputExt;@ext:@length 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extmenurecv
add @playtime 1
case @playtime,3:play3time
goto extmenu
extmenurecv:
trace @ext
isextnull @ext
case @msgno,0000:password
goto checkextisnull
checkextisnull:
set @playtime 0
checkextisnullmenu:
play ExtIsNullReInput;@ext:@length 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:checkextisnullmenurecv
add @playtime 1
case @playtime,3:play3time
goto checkextisnullmenu
checkextisnullmenurecv:
trace @ext
isextnull @ext
case @msgno,0000:password
goto checkextisnullmenu
password:
set @playtime 0
passwordmenu:
play InputPassWord;@password:6 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:passwordmenurecv
add @playtime 1
case @playtime,3:play3time
goto passwordmenu
passwordmenurecv:
trace @password
checkextpassword @ext @password
case @msgno,0000:checkextpasswordok
checkextpassworderror:
set @playtime 0
checkextpassworderrormenu:
play PassWordIsErrorReInput;@password:6 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:checkextpassworderrormenurecv
add @playtime 1
case @playtime,3:play3time
goto checkextpassworderrormenu
checkextpassworderrormenurecv:
trace @password
checkextpassword @ext @password
case @msgno,0000:checkextpasswordok
add @playtime 1
case @playtime,3:play3time
goto checkextpassworderrormenu
checkextpasswordok:
set @playtime 0
play RecordWarn, ExtMainMenu;@select:1 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extmainmenurecv
add @playtime 1
case @playtime,3:play3time
goto extmainmenu
returnextmainmenu:
set @playtime 0
extmainmenu:
play ExtMainMenu;@select:1 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extmainmenurecv
add @playtime 1
case @playtime,3:play3time
goto extmainmenu
extmainmenurecv:
case @select,1:extlisten 2:extsetting 3:updateextpassword
add @playtime 1
case @playtime,3:play3time
play InputSelectError
goto extmainmenu
extlisten:
getextlength @ext @extlength
getextcount @ext 0 @extcount
getextcount @ext 1 @extcountnew
trace @extlength
trace @extcount
trace @extcountnew
play youhave, pd @extcountnew, Tiao, NewRecord, TotalRecord, pd @extcount, Tiao, Record
case @extcount,0:returnextmainmenu
goto extlistenrecordplay
extlistenrecordplay:
set @playtime 0
getextcount @ext 0 @extcount
case @extcount,0:extvocisnull
getextvoc @ext 0 @extvocprev @extvoc
case @msgno,0000:extlistenrecordplayok
extlistenrecordplayover:
set @playtime 0
extlistenrecordplayovermenu:
play ExtVocIsReadOverMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extlistenrecordplayovermenurecv
add @playtime 1
case @playtime,3:play3time
goto extlistenrecordplayovermenu
extlistenrecordplayovermenurecv:
case @select,1:extlistenrecordplayagain #:returnextmainmenu
play InputSelectError
add @playtime 1
case @playtime,3:play3time
goto extlistenrecordplayovermenu
extlistenrecordplayagain:
set @extvocprev 99999999999999999
goto extlistenrecordplay
extvocisnull:
play ExtVocIsNull
goto returnextmainmenu
extlistenrecordplayok:
set @playtime 0
trace @extvoc
readextvoc @ext @extvoc
listenrecord pv @extvoc;@select:1 0123456789 0123456789ABCD*# #
extlistenrecord:
set @playtime 0
extlistenrecordmenu:
play ExtRecordMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extlistenrecordmenurecv
add @playtime 1
case @playtime,3:play3time
goto extlistenrecordmenu
extlistenrecordmenurecv:
case @select,1:extlistenrecordplaynext 2:extlistenrecordplayok 3:extlistendelete #:returnextmainmenu
add @playtime 1
case @playtime,3:play3time
play InputSelectError
goto extlistenrecordmenu
extlistenrecordplaynext:
set @extvocprev @extvoc
goto extlistenrecordplay
extlistendelete:
set @playtime 0
deleteextvoc @ext @extvoc
extlistendeletemenu:
play ExtRecordDeletedMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extlistendeletemenurecv
add @playtime 1
case @playtime,3:play3time
goto extlistendeletemenu
extlistendeletemenurecv:
case @select,1:extlistenrecordplaynext #:returnextmainmenu
add @playtime 1
case @playtime,3:play3time
play InputSelectError
goto extlistendeletemenu
extsetting:
set @playtime 0
extsettingmenu:
play ExtSettingMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:extsettingmenurecv
add @playtime 1
case @playtime,3:play3time
goto extsettingmenu
extsettingmenurecv:
case @select,1:welcome 2:leave #:returnextmainmenu
add @playtime 1
case @playtime,3:play3time
play InputSelectError
goto extsettingmenu
welcome:
set @playtime 0
set @recordtype welcome
getextwelcome @ext @welcome
welcomemenu:
play ExtSelfRecordMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:welcomemenurecv
add @playtime 1
case @playtime,3:play3time
goto welcomemenu
welcomemenurecv:
case @select,1:welcomeplay 2:record 3:welcomedelete 4:welcomeopen 5:welcomeclose #:extsetting
add @playtime 1
case @playtime,3:play3time
play InputSelectError
goto welcomemenu
welcomeplay:
isvocexist @welcome
case @msgno,0000:welcomeplayok
play ExtRecordNull
goto welcome
welcomeplayok:
play pv @welcome
goto welcome
welcomedelete:
isvocexist @welcome
case @msgno,0000:welcomedeleteok
play ExtRecordNull
goto welcome
welcomedeleteok:
deletevoc @welcome
play ExtRecordDeleted
goto welcome
welcomeopen:
setextleave @ext 0
play ExtRecordOpened
goto welcome
welcomeclose:
setextleave @ext 1
play ExtRecordClosed
goto welcome
leave:
set @playtime 0
set @recordtype leave
getextleave @ext @leave
leavemenu:
play ExtSelfRecordMenu;@select:1 0123456789# 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:leavemenurecv
add @playtime 1
case @playtime,3:play3time
goto leavemenu
leavemenurecv:
case @select,1:leaveplay 2:record 3:leavedelete 4:leaveopen 5:leaveclose #:extsetting
add @playtime 1
case @playtime,3:play3time
play InputSelectError
goto leavemenu
leaveplay:
isvocexist @leave
case @msgno,0000:leaveplayok
play ExtRecordNull
goto leave
leaveplayok:
play pv @leave
goto leave
leavedelete:
isvocexist @leave
case @msgno,0000:leavedeleteok
play ExtRecordNull
goto leave
leavedeleteok:
deletevoc @leave
play ExtRecordDeleted
goto leave
leaveopen:
setextleave @ext 1
play ExtRecordOpened
goto leave
leaveclose:
setextleave @ext 0
play ExtRecordClosed
goto leave
record:
set @playtime 0
recordready:
play RecordReady
record @record 300 #
goto recordmenu
recordmenu:
play RecordMenu;@select:1 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:recordrecv
add @playtime 1
case @playtime,3:play3time
goto recordmenu
recordrecv:
case @select,1:recordok 2:recordcancel 3:recordlisten 4:recordretry
add @playtime 1
case @playtime,3:play3time
goto recordmenu
recordok:
play RecordOk
case @recordtype, welcome:welcomesave
goto leavesave
welcomesave:
saveasrecord @record @welcome
deleterecord @record
goto welcome
leavesave:
saveasrecord @record @leave
deleterecord @record
goto leave
recordcancel:
play RecordCancel
deleterecord @record
case @recordtype, welcome:welcome
goto leave
recordretry:
deleterecord @record
goto recordready
recordlisten:
listenrecord PV @record
goto recordmenu
updateextpassword:
set @playtime 0
newextpasswordmenu:
play InputNewPassWord;@password:6 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:newextpasswordagain
add @playtime 1
case @playtime,3:play3time
goto newextpasswordmenu
newextpasswordagain:
set @playtime 0
newextpasswordagainmenu:
play InputNewPassWordAgain;@passwordnew:6 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:newextpasswordagainmenurecv
add @playtime 1
case @playtime,3:play3time
goto newextpasswordagainmenu
newextpasswordagainmenurecv:
case @passwordnew,@password:checknewextpassword
checknewextpasswordnotsame:
set @playtime 0
checknewextpasswordnotsamemenu:
play NewPassWordIsNotSameMenu;@password:6 0123456789 0123456789ABCD*# #
case @msgno,9999:exit 9998:exit 9997:exit 0000:newextpasswordagain
add @playtime 1
case @playtime,3:play3time
goto checknewextpasswordnotsamemenu
checknewextpassword:
updateextpassword @ext @password
case @msgno,0000:checknewextpasswordok
play UpdatePassWordFailed
goto returnextmainmenu
checknewextpasswordok:
play UpdatePassWordOk
goto returnextmainmenu
play3time:
play SvrOut
goto exit
returnmainmenu:
set @playtime 0
setcalltype 自动
setservicetype 自动服务
goto mainmenu
exit:
play GoodBye
onhook:
onhook