This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
en:module_manual:advanced:ivr [2013/12/08 01:03] solo [Play announce] |
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. |
| - | 保存至变量:用户的按键输入默认存入变量inputcode, 但inputcode值只在当前节点内有效果,例如主流程中有一个放音收号的动作输入123,并存入inputcode,但一旦转入某个子流程后,inputcode就会被清空,并且如果在一个流程内有多次放音收号的动作,inputcode值只存最后一次的按键结果,所以,如果有以上情况,并且你希望本次动作的按键结果能随话务一直保留,则需要设置本参数,以便后续引用;此参数请以大写字母开头,且只允许包含大写字母,数字,中横杠"-" ,下划线"_"。 | + | Save Variable: By default, custom 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 flow, it 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, 0 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>以下三种情况系统将结束放音收号,执行后续流程: | + | <note tip>In the following three cases the system will end the read data action: |
| - | - 1,达到输入限制位数 | + | - the input reaches the limit |
| - | - 2,达到输入超时时长 | + | - 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 |
| - | 如果放音收号动作中,可以确定输入按键都为固定长度或可确定最大长度,如你要求用户输入卡号,且卡号都是12位,则设置输入限制为12,用户输入12位数字后,系统自动向下转向,不需要再按“#”或等待输入超时。如果为非固定长度可在语音提示中要求用户按#结束。 | + | 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> | ||
| Line 120: | 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 143: | 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”。那么我们需要为按1和2设置一个去向。即按了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 1 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 174: | 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 368: | 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 |