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/09 13:17] 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 82: | Line 102: | ||
| <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”。那么我们需要为按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 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 |