Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:module_manual:advanced:ivr [2013/12/08 02:04]
solo [Read Data]
en:module_manual:advanced:ivr [2017/12/12 03:05] (current)
Line 17: Line 17:
  
 **Failover:** the setting when the main flow fails and where to turn to, and the cause to the failure: ivr reaches the max loop time; fail to call web service; fail to play broadcast; no target has been set to the flow; IVR fails to switch to the device. When these situations occur, the flow will be switched to this target set here. **Failover:** the setting when the main flow fails and where to turn to, and the cause to the failure: ivr reaches the max loop time; fail to call web service; fail to play broadcast; no target has been set to the flow; IVR fails to switch to the device. When these situations occur, the flow will be switched to this target set here.
 +
 +<note tip>​导致失败的原因:
 +
 +  * ivr达到最大循环次数;​
 +
 +  * 调用webservice失败;​
 +
 +  * 播放语音出错;​
 +
 +  * 本节点未设置任何转向目标;​
 +
 +  * 转向源未匹配到任何转向目标;​
 +
 +  * ivr直接转分机失败
 +
 +</​note>​
 +
 +以上几种情况发生时,流程会自动转入失败转向所设置的转向目标。
  
 **Failed Announce: ** this function is not enabled. **Failed Announce: ** this function is not enabled.
Line 22: Line 40:
  
 **IVR event url:**the http URL where the call events related to IVR are sent to ( program can be used to analyse the recordings). This can be left blank, and documentary recording is default. When using dialer dials IVR , and choose documentary recording, the system will record the ivr path into campaign call recording, and get the input of customers in the IVR . **IVR event url:**the http URL where the call events related to IVR are sent to ( program can be used to analyse the recordings). This can be left blank, and documentary recording is default. When using dialer dials IVR , and choose documentary recording, the system will record the ivr path into campaign call recording, and get the input of customers in the IVR .
 +
 +<note tip>​该参数默认是隐藏,​由系统配置文件中的 eventurl_display 参数来控制是否显示.</​note>​
  
 **Web Service time out:** in this main flow, when perform all acts related to calling web service, and the program runs out of time, it will lead to "fail over to". **Web Service time out:** in this main flow, when perform all acts related to calling web service, and the program runs out of time, it will lead to "fail over to".
Line 72: Line 92:
 {{:​en:​module_manual:​advanced:​ivr_action_readdata_system.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_action_readdata_system.jpg?​700|}}
  
-此动作的语音类型同播放话音动作同样分为系统和webservice两种,参见上方播放语音动作部分参数。+It is same as "Play announce",​ the voice could come from an announcement or webservice.
  
-保存至变量:用户的按键输入默认存入变量inputcodeinputcode值只在当前节点内有效果,例如主流程中有一个放音收号的动作输入123,并存入inputcode,但一旦转入某个子流程后,inputcode就会被清空,并且如果在一个流程内有多次放音收号的动作,inputcode值只存最后一次的按键结果,所以,如果有以上情况,并且你希望本次动作的按键结果能随话务一直保留,则需要设置本参数,以便后续引用;此参数请以大写字母开头,且只允许包含大写字母,数字,中横杠"​-" ,下划线"_"+Save Variable: By defaultcustom input will be saved to variable "inputcode", but this variable is only available in current node, let's say in a flow, customer input 123, this value will be saved to "inputcode" ​but when it goes to another flowit will lost this value, if you have several ​"Read Data" ​in same flow, it will only save the last value. So if you want to keep this value in your IVR, you could save it to a variable here, the variable name should be capital letters, dash or underscore.
  
-输入限制: 限制此动作中允许的最大按键位数,0,代表无限制,当用户按键长度达到此限制时,系统将停止收号并完成此动作,执行后续流程。+Max Digits: Limit the maximum allowed in this action,  ​means unlimited, when the length of customer input reaches this value, the system will go to next action.
  
-输入超时:即用户开始输入后,最大输入间隔时长,如果输入间隔达到此参数值,系统则认为已完成输入,将停止收号并完成此动作,执行后续流程+Timeout: If system doesn'​t receive any input after this value(in seconds), it will go to next action, 0 means no time out.
  
 <note tip>In the following three cases the system will end the read data action: <note tip>In the following three cases the system will end the read data action:
  
-  - 1, the input reaches the limit +  -  the input reaches the limit 
-  - 2, timeout +  -  timeout 
-  - 3, end with #, when user input #, system will think the input is done, so it's better don't use # as an input option+  -  end with #, when user input #, system will think the input is done, so it's better don't use # as an input option
  
 In a read data action, if you know the input length, say a credit card number has 12 digits, it's better you add a input limit, then when user input 12 digits, system will continue, user don't enter # or wait for time out, if it's flexible length, you can ask user to end input with # key. In a read data action, if you know the input length, say a credit card number has 12 digits, it's better you add a input limit, then when user input 12 digits, system will continue, user don't enter # or wait for time out, if it's flexible length, you can ask user to end input with # key.
 </​note>​ </​note>​
 +
 ==== Web Service ==== ==== Web Service ====
 调用外部webservice接口。↓ 调用外部webservice接口。↓
Line 119: Line 140:
 </​WRAP>​ </​WRAP>​
 <WRAP column 45%> <WRAP column 45%>
-  * 系统当前时间 +  * systen current time 
-  * 用户最后按键输入值 +  * last customer input 
-  * 主叫号码 +  * caller id 
-  * 接入号码(DID) +  * DID number 
-  * 呼叫流水号 +  * session id of the call 
-  * 团队ID +  * team ID 
-  * 团队标识 +  * team identity 
-  * 话务接入系统时间(当前通话开始时间) +  * answer time 
-  * 当前话务语言 +  * channel languange 
-  * 当前IVR节点id +  * IVR id 
-  * 话务最后一个相关坐席工号 +  * last agent No. 
-  * 话务最后一个相关坐席组id +  * last queue id 
-  * 业务模块类型 +  * business type 
-  * 业务模块id+  * business ​id
 </​WRAP>​ </​WRAP>​
 <WRAP column 20%> <WRAP column 20%>
-<note important>​注意大小写</​note>​+<note important>​Variable is case-sensitive ​</​note>​
 </​WRAP>​ </​WRAP>​
 </​WRAP>​ </​WRAP>​
Line 142: Line 163:
  
 全局变量:​ 将WS 返回值中标识的返回值设为全局可用变量,多个参数同样使用竖线"​|"​分隔,要设置的全局变量必须为WS 返回值中的参数,如WS 返回值 设置为 USERID|CREDIT , webservice 返回 1|001|321|ABC,​ 则第一个返回值 1 会存入内部变量inputcode中,根据WS 返回值的设置第二个参数标识为USERID,第三个参数标识为CREDIT , 如果想将这两个返回值都设为全局变量,则全局变量应设为USERID|CREDIT(先后顺序没有要求,USERID|CREDIT和CREDIT|USERID效果相同),如果只需要CREDIT设为全局变量,那么全局变量只设为CREDIT即可。 全局变量:​ 将WS 返回值中标识的返回值设为全局可用变量,多个参数同样使用竖线"​|"​分隔,要设置的全局变量必须为WS 返回值中的参数,如WS 返回值 设置为 USERID|CREDIT , webservice 返回 1|001|321|ABC,​ 则第一个返回值 1 会存入内部变量inputcode中,根据WS 返回值的设置第二个参数标识为USERID,第三个参数标识为CREDIT , 如果想将这两个返回值都设为全局变量,则全局变量应设为USERID|CREDIT(先后顺序没有要求,USERID|CREDIT和CREDIT|USERID效果相同),如果只需要CREDIT设为全局变量,那么全局变量只设为CREDIT即可。
-===== 设置目标 ​===== +===== Transfer ​===== 
-如果这个ivr结束后,需继续引导客户,那么我们需要设置ivr目标。+When all actions in this IVR are done, you want to guide customer to another IVR, we need config "​Transfer"​
  
-例如,你的第一条ivr是一则语音提示,“欢迎致电本公司,产品咨询请按1,技术服务请按2”。那么我们需要为按12设置一个去向。即按了1或2应该如何处理。+For example, your first IVR is an announcement "​Welcome to our company, for sales press 1, for support press 2". Then we need config where caller would go after pressing ​or 2.
  
-首先保存你这条ivr记录,然后在ivr列表中找到此记录,鼠标左键双击记录,打开ivr编辑界面,在编辑界面上点击【设置目标】按钮。+Save your IVR first, then find the IVR in IVR list, double click the record, click "​Transfer"​ in edit window
  
-根据“转向”的不同,需要填写不同的参数。+According to different transfer object, you need choose different parameters
  
-  * **分机**,当客户输入指定内容时(输入目标),将客户送至一部分机设备,让话务员与客户通话。+  * **Extension**, when customer input match "​Condition"​ , transfer caller to one extension
  
 {{:​en:​module_manual:​advanced:​ivr_dest_extension.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_extension.jpg?​700|}}
  
-  * **呼入语音**一般配合“获取数据”的ivr使用,播报获取到的内容(需要选择后续动作=是,如果为否,仅是播放一则语音告知客户而已)。+  * **Announcem**一般配合“获取数据”的ivr使用,播报获取到的内容(需要选择后续动作=是,如果为否,仅是播放一则语音告知客户而已)。
  
 {{:​en:​module_manual:​advanced:​ivr_dest_announce.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_announce.jpg?​700|}}
Line 173: Line 194:
 可参照下述实例中的步骤三。 可参照下述实例中的步骤三。
  
-  * **电脑话务**,将客户送到另一个ivr流程中,适用于多级ivr导航。+  * **IVR**, send caller to another IVR
  
 {{:​en:​module_manual:​advanced:​ivr_dest_ivr.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_ivr.jpg?​700|}}
  
-  * **队列**,将客户送到一个技能组的队列中,让某个坐席组为客户服务。例如人工服务请按0。+  * **Queue**, send caller to a queue, then agent in the queue could take the call.
  
 {{:​en:​module_manual:​advanced:​ivr_dest_queue.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_queue.jpg?​700|}}
  
-如果选择自动转向队列,那么系统会随机将客户送到某一个空闲队列。+If you select Auto Switch, system will send the call to a idle queue randomly.
  
-跳过队列公告,进入队列后,忽略队列中设置的公告内容(即不播放队列公告中设置的语音内容)。+Skip Circular Queue, ignore the queue announcement
  
-  * **振铃组**,是分机设备的集合。客户进入振铃组后,按照振铃策略,依次有分机振铃,直到有话务员服务或者振铃超时(超时后,会结束通话)。+  * **Ring group**, send caller to a ring group
  
 {{:​en:​module_manual:​advanced:​ivr_dest_ringgroup.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_ringgroup.jpg?​700|}}
  
-  * **应用**+  * **Application**
  
 {{:​en:​module_manual:​advanced:​ivr_dest_application.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_application.jpg?​700|}}
  
-  * **会议室**,将客户送到系统中的会议室,即多人群聊。+  * **Conference**, send caller to a conference room
  
 {{:​en:​module_manual:​advanced:​ivr_dest_conference.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_conference.jpg?​700|}}
  
-  * **语音邮件**,让客户进行语音留言。+  * **Voicemail**, send caller to a voice mail box
  
 {{:​en:​module_manual:​advanced:​ivr_dest_voicemail.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_voicemail.jpg?​700|}}
  
-  * **忙线**,系统告知电信商服务繁忙,然后我方会结束通话。客户收到电信商的忙音提示,客户自行挂机。+  * **Busy**, system will send busy signal, and caller will hear busy tone
  
 {{:​en:​module_manual:​advanced:​ivr_dest_busy.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_busy.jpg?​700|}}
  
-  * **挂断**,即挂机,直接结束通话,客户电话显示通话结束。+  * **Hangup**, system will hang up the call
  
 {{:​en:​module_manual:​advanced:​ivr_dest_hangup.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_hangup.jpg?​700|}}
  
-  * **传真设备**,指定传真设备,给出传真信号,让客户发送传真到系统。+  * **Fax**, give fax tone, so caller could send a fax
  
 {{:​en:​module_manual:​advanced:​ivr_dest_fax.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_fax.jpg?​700|}}
  
-  * **拨出路由**+  * **ORoute**, outbound route, send caller to an outbound route
  
 {{:​en:​module_manual:​advanced:​ivr_dest_oroute.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_oroute.jpg?​700|}}
  
-  * **留言**,+  * **Record**,for call recording
  
 {{:​en:​module_manual:​advanced:​ivr_dest_record.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_record.jpg?​700|}}
  
-  * **发送DTMF**+  * **Send DTMF**
  
 {{:​en:​module_manual:​advanced:​ivr_dest_dtmf.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_dtmf.jpg?​700|}}
  
-  * **要求回访**+  * **Requect Callback**, system will save the caller id, generate a call back request and send to agents
  
 {{:​en:​module_manual:​advanced:​ivr_dest_request_callback.jpg?​700|}} {{:​en:​module_manual:​advanced:​ivr_dest_request_callback.jpg?​700|}}
- 
  
 ===== 实例 ===== ===== 实例 =====
Line 367: Line 387:
 使用系统中的任意一部内线分机,拨打第四步所创建电脑话务的内线号码50001,根据语音提示进行操作,看看每个环节是否正确,是否达到你预想的效果。 使用系统中的任意一部内线分机,拨打第四步所创建电脑话务的内线号码50001,根据语音提示进行操作,看看每个环节是否正确,是否达到你预想的效果。
  
-===== 故障与调试 ​===== +===== Debug ===== 
-<wrap em>1.当使用ivr获取数据模式时,如何调试我的代码?</​wrap>​ +<wrap em>​1. ​How to debug my code when I want to use IVR to read data from a webservice?</​wrap>​
- +
-你可以在程序中进行一个写文件操作,这样你就知道ivr是否调到你的程序了。 +
- +
-如果未调用到你的程序,请检查获取地址和方法填写是否正确,以及网络上是否有限制,是否允许了ivr的访问。另外可以自行写个程序调用下你的程序,看看程序是否有错误。+
  
-<wrap em>2.测试中,在电话上按键后没有反映(ivr不能向下流转),依然重复播报语音</​wrap>​+Usually you can write some message to a log file so you could know if IVR hit the webservice.
  
-如果使用的是内线分机,请在pbx模版页面检查分机模版的dtmfmode参数是否正确。+If it didn'​t,​ please check if the URL and method is correct and if you have a network issue, or your firewall blocked the port. Alternatively,​ you can write another script to call your webservice, see if you got any error.
  
-如果是外部电话通过中继呼入,请在pbx模版检查中继模版的dtmfmode参数是否与线路商规定的dtmf编码符合。+<wrap em>2. IVR has no response when you press via keypad. </​wrap>​
  
-还有可能是你的网关或其它设备的dtmf被禁用或配置不正确。+Usually it's DTMF issue, make sure you are using correct dtmfmode, test from an internal extension will help, read [[:​en:​faq:​how_to_choose_dtmf_mode]] for more information.
  
-<wrap em>3.电话进入ivr或在ivr某一个环节,未听到相关语音,通话就断掉了</​wrap>​+<wrap em>​3. ​Call hangup when you enter a IVR or IVR node</​wrap>​
  
-检查ivr中设置的语音文件是否存在。+Check if the sound file exists
  
  
  
  
en/module_manual/advanced/ivr.1386468272.txt.gz · Last modified: 2017/12/12 03:11 (external edit)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki