IVR开发的一些要点记录

 

1、如何加入中文环境:

  •      将中文的jar包zh-cn.jar拷贝到lib目录里
  •       在windows->Preference->Languages->Audio Localization Bundles->Add,将中文的jar包加载进来,点击OK。
  • 在项目上右击->Properties->Dialog designer->Languages->Project Language,选中中文那个->Edit->单击Localization Bundles->点击Install->此时它会自动将录好的语音文件拷贝到项目中,此时配置audioVariable即会自动朗读货币、数字之类的即可。

2.0、如何读取简单变量:

IVariable vdnvar = mySession.getVariable(IProjectVariables.VDNVAR);
			//vdnvar.getSimpleVariable().setValue(vdn);//设值
			String vdn=vdnvar.getSimpleVariable().getStringValue();//读值

 

 

 

 

2、如何读取复杂变量:

IVariable mobileVar = mySession.getVariable(IProjectVariables.PROMPT_COLLECT_MOBILE);
String mobile=mobileVar.getComplexVariable().getField(IProjectVariables.PROMPT_COLLECT_MOBILE_FIELD_VALUE).getStringValue();

 

注意到:在读取变量时,用PROMPT_COLLECT_MOBILE,

在读取值时,用PROMPT_COLLECT_MOBILE_FIELD_VALUE

 

3、对于输入简单的1、2、3、4、5之类的,不要用prompt_collect控件,用menu,因为menu里面对DTMF的控制是最方便的,不需要用像在collect控件里用if语句来判断。

 

4、关于timeout,这个默认是8秒,在模拟器里面设置过了是不生效的,必须到VP平台里面才能生效。

 

 

5.可以对某个指定的语音文件进行秒数控制,打开某个prompt文件->Prompt Main->Edit->设置秒数即可,而且也可以这里设置barge-in是否允许被打断,true为允许,false为不允许。

 

 

6.关于Data节点判断,这里特别要注意了,最好用字符串去比较,这是最准确的,否则搞什么bit,int之类可能会一直有问题。

 

7.关于做IVR二次确定电话的,需要每次都将collectPhone收集的值放进一个简单变量中,然后所有操作都从这个简单变量里面取就行了。

凡是有节假日的控制的,都要做成一样的,就是judgeTime里面判断是下班,还是节假日,而且都要配置1张表:就是手动控制节假日还是工作日的表。(自然上下班的时间不需要判断,一般都是定死的。) 

 

 8.关于配置文件的读取方式:

在dd5里面,conf放在根下,注意不是src下,然后用getSession直接加上"/conf"即可。

 

 

 9.拿到主叫号:

 

IVariable aniVariable = mySession.getVariable(IProjectVariables.SESSION);  

String ani=aniVariable.getComplexVariable().getField(IProjectVariables.SESSION_FIELD_ANI).getStringValue();

 

你可能感兴趣的:(开发)