08-可定制IVR配置
本章节下载: 08-可定制IVR配置 (359.66 KB)
1.9.1 Call节点普通二次呼叫典型配置举例(按结束符匹配,发起普通二次呼叫)
1.9.2 Call节点普通二次呼叫典型配置举例(按号码长度匹配,发起普通二次呼叫)
1.9.3 Call节点普通二次呼叫典型配置举例(按随时匹配号码,发起普通二次呼叫)
1.10.4 同时配置扩展二次呼叫和普通二次呼叫,出现匹配错误
1.10.5 同时配置扩展二次呼叫和普通二次呼叫,出现匹配错误
设备各款型对于本节所描述的特性支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
MSR810/810-W/810-W-DB/810-LM/810-W-LM /810-LM-HK/MSR810-W-LM-HK |
可定制IVR |
不支持 |
MSR 2630 |
支持 |
|
MSR3600-28/3600-51 |
支持 |
|
MSR 3610/3620/3620-DP/3640/3660 |
支持 |
|
MSR 5620/5660/5680 |
支持 |
|
MSR2600-10-X1 |
支持 |
IVR(Interactive Voice Response,交互式语音应答)在语音应用中使用非常广泛,主要用在定制交互的操作过程,协助其它业务达到更人性化的目的。可定制语音IVR可以由用户根据自己的实际需求定制满足具体业务的操作过程。在用户拨打IVR接入号后,语音IVR系统会播放相应的提示音指导用户进行下一步操作。
传统的交互式语音系统采用固定的操作流程,用户不能根据自己的需求改变媒体文件及流程。可定制IVR系统可以由用户根据自己业务需要定制符合自己的交互式语音系统,随时添加、修改、删除媒体文件。主要的优点如下。
目前设备只支持wav格式的媒体文件。
系统提供丰富的编码格式,目前支持四种编码格式:G.711alaw、G.711ulaw、G.723r53和G.729r8。G.711alaw、G.711ulaw格式音质好,但是占用的存储空间大;G.723r53、G.729r8格式音质稍差点,但是占用存储空间小。
可定制IVR主要以节点为单位进行配置,简化用户的配置,利于使用,配置更灵活。总共有三类节点,Call节点、Jump节点、Service节点。每类节点完成几种功能,组合在一起可以灵活实现复杂的IVR功能。
· Call节点:实现二次呼叫功能。
· Jump节点:根据用户按键定制IVR呼叫流程。最多可以配置连续八级的跳转。
· Service节点:实现立即二次呼叫、跳转、结束呼叫和放音等功能。
用户可以根据业务需求配置IVR接入号、定制提示音、定制按键和提示音结合的人机交互流程。
在Call节点和Jump节点下可以定制当前节点用户输入出错和超时后的处理方式。出错和超时处理机制既可以在节点下配置,也可以在全局视图下配置。
· 立即二次呼叫:用户不需要拨入任何电话按键即可进行的二次呼叫为立即二次呼叫,立即二次呼叫通过Service节点实现。
· 普通二次呼叫:输入两次号码才能完成的呼叫称为普通二次呼叫,可以根据实际业务需要,选择根据输入号码的长度、配置结束符或随时匹配号码三种方式中的一种来实现普通二次呼叫,普通二次呼叫通过Call节点实现。
· 扩展二次呼叫:配置输入的号码和扩展二次呼叫的电话号码的对应关系,通过拨打输入的号码呼叫扩展二次呼叫的号码,扩展二次呼叫通过Call节点实现。
表1-1 可定制IVR配置任务简介
配置IVR语音实体 |
创建IVR语音实体 |
||
配置IVR语音实体 |
|||
配置媒体资源ID与媒体文件的对应关系 |
|||
配置全局IVR处理策略 |
|||
创建IVR节点 |
配置Call节点 |
||
配置Jump节点 |
|||
配置使用VoIP语音实体呼叫IVR接入号时,需要在VoIP语音实体下配置使用SIP带外方式传输主叫拨打的DTMF信号。关于SIP带外方式传输的具体配置请参见“语音配置指导”中的“SIP”。
创建IVR语音实体,并进入IVR语音实体视图 |
缺省情况下,没有创建IVR语音实体 |
创建IVR语音实体,并进入IVR语音实体视图 |
||
配置IVR语音实体根节点,即IVR执行的第一个节点 |
缺省情况下,不存在IVR语音实体的根节点 |
可以通过选择不同的编码模式进入不同的语音媒体资源管理视图。在每个语音媒体资源管理视图下,可以配置媒体资源ID与媒体资源的对应关系。
表1-5 配置媒体资源ID与媒体文件的对应关系
配置媒体资源ID与媒体文件的对应关系 |
若在节点下没有配置输入错误或者没有配置输入超时的处理策略,则使用全局IVR处理策略。若全局和节点下都进行了配置,则优先采用节点下的配置。
表1-6 配置全局IVR处理策略
进入IVR管理视图 |
||
配置全局IVR用户输入错误的处理策略 |
global-input-error { media-play media-id [ play-times ] | repeat repeat-times } * |
|
配置全局IVR用户输入超时的处理策略 |
global-timeout { expires seconds | media-play media-id [ play-times ] | repeat repeat-times }* |
缺省情况下,超时时间为10秒,超时次数为3次,输入超时后不播放提示音,超过超时次数后结束呼叫 |
IVR节点可分为三种类型:Call节点、Jump节点和Service节点。创建指定节点类型后会进入相应的节点视图,用户可以在相应的节点视图下进行配置。
· 环回节点是指节点之间形成回路,且除了跳转外没有其他的操作;
具体内容可以参见“1.10 可定制IVR常见配置错误举例”。
进入IVR管理视图 |
||
Call节点支持两种二次呼叫:普通二次呼叫与扩展二次呼叫,两种策略可以同时配置。先匹配到哪种策略,就按照哪种策略进行呼叫。若普通二次呼叫与扩展二次呼叫号码相同,则优先按扩展拨号策略进行拨号。
由于需要等待用户输入按键,故需配置节点下超时、出错处理策略,若未配置,则根据全局输入超时、出错处理策略进行处理。
Call节点下的超时与Jump节点下的超时有些不同,Call节点下的超时分为等待第一次按键超时与第一次按键后超时,其中等待第一次按键超时按照输入超时处理策略进行处理,第一次按键后超时按照输入错误处理策略进行处理。
进入IVR管理视图 |
||
进入Call节点视图 |
||
call-normal { length number-length | matching | terminator character } |
||
Jump节点下可以配置放音、按键跳转、按键挂机操作。由于此节点需等待用户输入按键,故需配置节点超时、出错处理策略,在用户输入超时、错误的时候,会根据配置的策略进行处理,如未配置,则按照全局输入超时、出错处理策略进行处理。
进入IVR管理视图 |
||
进入Jump节点视图 |
||
user-input character { end-call | goto-node node-id | goto-pre-node } |
||
Service节点用来配置以下功能:立即二次呼叫、跳转、结束呼叫和放音。
用户在此节点下最多可以配置三个功能执行项,并且可以通过命令行调整这三条功能执行项的执行顺序,若未配置,则按缺省1 2 3的顺序执行功能。由于Service节点无须等待用户输入按键,所以没有超时、出错处理策略。当某项执行功能为跳转到其他节点或挂机操作时,将不再执行剩下未执行的功能项。具体可参考配置举例“1.9.7 Service节点典型配置举例”。
进入IVR管理视图 |
||
进入Service节点视图 |
||
在完成上述配置后,在任意视图下执行display命令可以显示配置后可定制IVR的运行情况,通过查看显示信息验证配置的效果。
表1-11 语音IVR显示和维护
查看IVR呼叫信息 |
|
在Router B上配置IVR接入号,并定制Call节点功能。要求如下:
· Telephone A拨打Router B上的IVR接入号300后听到提示音welcome.wav。
· Telephone A拨入50#后,二次呼叫到Telephone B1。
· 如果Telephone A拨号错误,Router B播放提示音input_error.wav。
· 如果Telephone A拨号超时,Router B播放提示音timeout.wav。
图1-1 Call节点普通二次呼叫配置举例组网图
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA] voice-setup
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 100 pots
[RouterA-voice-dial-entity100] match-template 100
[RouterA-voice-dial-entity100] line 2/1/1
[RouterA-voice-dial-entity100] quit
# 配置到Router B的VoIP语音实体,呼叫目的IP地址为1.1.1.2,被叫号码模板为300。
[RouterA-voice-dial] entity 300 voip
[RouterA-voice-dial-entity300] match-template 300
[RouterA-voice-dial-entity300] address sip ip 1.1.1.2
[RouterA-voice-dial-entity300] outband sip
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/2绑定到此POTS语音实体上。
[RouterB] voice-setup
[RouterB-voice] dial-program
[RouterB-voice-dial] entity 500 pots
[RouterB-voice-dial-entity500] match-template 500
[RouterB-voice-dial-entity500] line 2/1/2
[RouterB-voice-dial-entity500] quit
# 配置POTS语音实体中的本地号码为50,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterB-voice-dial] entity 50 pots
[RouterB-voice-dial-entity50] match-template 50
[RouterB-voice-dial-entity50] line 2/1/1
[RouterB-voice-dial-entity50] quit
# 配置IVR语音实体,接入号为300,指定根节点为10(即IVR执行的第一个节点)。
[RouterB-voice-dial] entity 300 ivr
[RouterB-voice-dial-entity300] match-template 300
[RouterB-voice-dial-entity300] ivr-root 10
[RouterB-voice-dial-entity300] quit
[RouterB-voice-dial] quit
# 配置媒体资源ID与媒体文件的对应关系:配置资源ID 10001对应媒体文件cfa0:/wav/g729r8/welcome.wav,配置资源ID 10002对应媒体文件cf a0:/wav/g729r8/timeout.wav,配置媒体资源ID 10003对应媒体文件cf a0:/wav/g729r8/input_error.wav。
[RouterB-voice] media-file g729r8
[RouterB-voice-media-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-media-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-media-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-media-g729r8] quit
# 配置全局IVR用户输入错误和输入超时的处理策略:若用户未按键导致输入超时,则播放超时提示音timeout.wav,如果超时次数超过4次就结束呼叫;若用户按键错误,则播放错误提示音,如果错误次数超过3次就结束呼叫。
[RouterB-voice-ivr] global-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] global-input-error repeat 3 media-play 10003
# 配置Call节点,要求匹配到IVR接入号300后,Router B播放welcome.wav。Telephone A拨入50#后,二次呼叫到Telephone B1。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] call-normal terminator #
Telephone A拨打300后听到welcome.wav的放音内容,拨入50#后,Telephone B1振铃。
在Router B上配置IVR接入号,并定制Call节点功能。要求如下:
· 当Telephone A拨打Router B上的IVR接入号300后听到提示音welcome.wav。
· 配置匹配输入号码的长度为3,Telephone A拨入500后,即匹配到长度为三位的号码500,就可以完成二次呼叫到Telephone B2。
· 如果Telephone A拨号错误,Router B播放提示音input_error.wav。
· 如果Telephone A拨号超时,Router B播放提示音timeout.wav。
图1-2 Call节点普通二次呼叫配置举例组网图
具体配置过程和“1.9.1 3. (1)”完全相同,此处不再重复。
# 配置Call节点,要求匹配到IVR接入号300后,Router B播放welcome.wav。Telephone A拨入500后,匹配到三位号码的电话,二次呼叫到Telephone B2。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] call-normal length 3
其他配置和“1.9.1 3. (2)”相同,此处不再重复。
Telephone A拨打300后听到welcome.wav的放音内容,拨入500后,Telephone B2振铃。
在Router B上配置IVR接入号,并定制Call节点功能。要求如下:
· Telephone A拨打Router B上的IVR接入号300后听到提示音welcome.wav。
· 配置随时匹配号码进行呼叫,Telephone A拨入号码后,只要号码能被匹配到,就立即进行二次呼叫。
· 如果Telephone A拨号错误,Router B播放提示音input_error.wav。
· 如果Telephone A拨号超时,Router B播放提示音timeout.wav。
图1-3 Call节点普通二次呼叫配置举例组网图
具体配置过程和“1.9.1 3. (1)”完全相同,此处不再重复。
# 配置Call节点,要求匹配到IVR号码300后,Router B播放welcome.wav。Telephone A拨入50后,立即匹配到Telephone B1的号码50。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] call-normal matching
其他配置和“1.9.1 3. (2)”相同,此处不再重复。
Telephone A拨打300后听到welcome.wav的放音内容,拨入50后,立即匹配到号码50,Telephone B1振铃。
在Router B上配置IVR接入号,并定制Call节点功能。要求如下:
· Telephone A拨打Router B上的IVR接入号300后听到提示音welcome.wav。
· Telephone A按键“0”后就会自动拨打500,即扩展二次呼叫到Telephone B。
· 如果Telephone A拨号错误,Router B播放提示音input_error.wav。
· 如果Telephone A拨号超时,Router B播放提示音timeout.wav。
图1-4 Call节点扩展二次呼叫配置举例组网图
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA] voice-setup
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 100 pots
[RouterA-voice-dial-entity100] match-template 100
[RouterA-voice-dial-entity100] line 2/1/1
[RouterA-voice-dial-entity100] quit
# 配置到Router B的VoIP语音实体,呼叫目的IP地址为1.1.1.2,被叫号码模板为300。
[RouterA-voice-dial] entity 300 voip
[RouterA-voice-dial-entity300] match-template 300
[RouterA-voice-dial-entity300] address sip ip 1.1.1.2
[RouterA-voice-dial-entity300] outband sip
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterB] voice-setup
[RouterB-voice] dial-program
[RouterB-voice-dial] entity 500 pots
[RouterB-voice-dial-entity500] match-template 500
[RouterB-voice-dial-entity500] line 2/1/1
[RouterB-voice-dial-entity500] quit
# 配置IVR语音实体,接入号为300,指定根节点为10(即IVR执行的第一个节点)。
[RouterB-voice-dial] entity 300 ivr
[RouterB-voice-dial-entity300] match-template 300
[RouterB-voice-dial-entity300] ivr-root 10
[RouterB-voice-dial-entity300] quit
[RouterB-voice-dial] quit
# 配置媒体资源ID与媒体文件的对应关系:配置资源ID 10001对应媒体文件cfa0:/wav/g729r8/welcome.wav,配置资源ID 10002对应媒体文件cf a0:/wav/g729r8/timeout.wav,配置媒体资源ID 10003对应媒体文件cf a0:/wav/g729r8/input_error.wav。
[RouterB-voice] media-file g729r8
[RouterB-voice-media-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-media-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-media-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-media-g729r8] quit
# 配置全局IVR用户输入错误和输入超时的处理策略:若用户未按键导致输入超时,则播放超时提示音timeout.wav,如果超时次数超过4次就结束呼叫;若用户按键错误,则播放错误提示音,如果错误次数超过3次就结束呼叫。
[RouterB-voice-ivr] global-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] global-input-error repeat 3 media-play 10003
# 配置Call节点,要求匹配到IVR接入号300后,Router B播放welcome.wav。Telephone A按键“0”后自动拨打500。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] input 0 extension 500
Telephone A拨打300后听到welcome.wav的放音内容,按键“0”后,Telephone B振铃。
在Router B上配置IVR接入号,并定制Jump节点功能。要求如下:
· Telephone A拨打Router B上的IVR接入号300后听到提示音welcome.wav,然后用户根据提示音进行跳转操作,Telephone A按#键后呼叫结束。
· 如果Telephone A拨号错误,Router B播放提示音input_error.wav。
· 如果Telephone A拨号超时,Router B播放提示音timeout.wav。
图1-5 Jump节点配置举例组网图
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA] voice-setup
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 100 pots
[RouterA-voice-dial-entity100] match-template 100
[RouterA-voice-dial-entity100] line 2/1/1
[RouterA-voice-dial-entity100] quit
# 配置到Router B的VoIP语音实体,呼叫目的IP地址为1.1.1.2,被叫号码模板为300。
[RouterA-voice-dial] entity 300 voip
[RouterA-voice-dial-entity300] match-template 300
[RouterA-voice-dial-entity300] address sip ip 1.1.1.2
[RouterA-voice-dial-entity300] outband sip
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterB] voice-setup
[RouterB-voice] dial-program
[RouterB-voice-dial] entity 500 pots
[RouterB-voice-dial-entity500] match-template 500
[RouterB-voice-dial-entity500] line 2/1/1
[RouterB-voice-dial-entity500] quit
# 配置IVR语音实体,接入号为300,指定根节点为10(即IVR执行的第一个节点)。
[RouterB-voice-dial] entity 300 ivr
[RouterB-voice-dial-entity300] match-template 300
[RouterB-voice-dial-entity300] ivr-root 10
[RouterB-voice-dial-entity300] quit
[RouterB-voice-dial] quit
# 配置媒体资源ID与媒体文件的对应关系:配置资源ID 10001对应媒体文件cf a0:/wav/g729r8/welcome.wav,配置资源ID 10002对应媒体文件cf a0:/wav/g729r8/timeout.wav,配置媒体资源ID 10003对应媒体文件cf a0:/wav/g729r8/input_error.wav。
[RouterB-voice] media-file g729r8
[RouterB-voice-media-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-media-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-media-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-media-g729r8] quit
# 配置全局IVR用户输入错误和输入超时的处理策略:若用户未按键导致输入超时,则播放超时提示音timeout.wav,如果超时次数超过4次就结束呼叫;若用户按键错误,则播放错误提示音,如果错误次数超过3次就结束呼叫。
[RouterB-voice-ivr] global-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] global-input-error repeat 3 media-play 10003
# 配置Jump节点,要求播放welcome.wav,Telephone A按键#后结束本次呼叫。
[RouterB-voice-ivr] node 10 jump
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] user-input # end-call
Telephone A拨打300后听到welcome.wav的放音内容,按键#后结束本次呼叫。
在Router B上配置IVR接入号,并定制Service节点功能。要求如下:
· Telephone A拨打Router B上的IVR接入号300后,直接呼叫Telephone B。
· 如果Telephone A拨号错误,Router B播放提示音input_error.wav。
· 如果Telephone A拨号超时,Router B播放提示音timeout.wav。
图1-6 Service节点配置举例组网图
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA] voice-setup
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 100 pots
[RouterA-voice-dial-entity100] match-template 100
[RouterA-voice-dial-entity100] line 2/1/1
[RouterA-voice-dial-entity100] quit
# 配置到Router B的VoIP语音实体,呼叫目的IP地址为1.1.1.2,被叫号码模板为300。
[RouterA-voice-dial] entity 300 voip
[RouterA-voice-dial-entity300] match-template 300
[RouterA-voice-dial-entity300] address sip ip 1.1.1.2
[RouterA-voice-dial-entity300] outband sip
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterB] voice-setup
[RouterB-voice] dial-program
[RouterB-voice-dial] entity 500 pots
[RouterB-voice-dial-entity500] match-template 500
[RouterB-voice-dial-entity500] line 2/1/1
[RouterB-voice-dial-entity500] quit
# 配置IVR语音实体,接入号为300,指定根节点为10(即IVR执行的第一个节点)。
[RouterB-voice-dial] entity 300 ivr
[RouterB-voice-dial-entity300] match-template 300
[RouterB-voice-dial-entity300] ivr-root 10
[RouterB-voice-dial-entity300] quit
[RouterB-voice-dial] quit
# 配置媒体资源ID与媒体文件的对应关系:配置资源ID 10001对应媒体文件cf a0:/wav/g729r8/welcome.wav,配置资源ID 10002对应媒体文件cf a0:/wav/g729r8/timeout.wav,配置媒体资源ID 10003对应媒体文件cf a0:/wav/g729r8/input_error.wav。
[RouterB-voice] media-file g729r8
[RouterB-voice-media-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-media-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-media-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-media-g729r8] quit
# 配置全局IVR用户输入错误和输入超时的处理策略:若用户未按键导致输入超时,则播放超时提示音timeout.wav,如果超时次数超过4次就结束呼叫;若用户按键错误,则播放错误提示音,如果错误次数超过3次就结束呼叫。
[RouterB-voice-ivr] global-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] global-input-error repeat 3 media-play 10003
# 配置Service节点,通过调整执行顺序,Telephone A直接呼叫500。
[RouterB-voice-ivr] node 10 service
[RouterB-voice-ivr-node10] operation 1 media-play 10001 1
[RouterB-voice-ivr-node10] operation 2 call-immediate 500
[RouterB-voice-ivr-node10] select-rule 2 1 3
Telephone A拨打300后不会听到welcome.wav的放音内容,直接呼叫500。
在Router B上配置IVR接入号,并定制Service节点功能。要求:
· Telephone A拨打Router B上的IVR接入号300后,Router B首先会播放提示音bye.wav,然后结束呼叫。
· 如果Telephone A拨号错误,Router B播放提示音input_error.wav。
· 如果Telephone A拨号超时,Router B播放提示音timeout.wav。
图1-7 Service节点配置举例组网图
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA] voice-setup
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 100 pots
[RouterA-voice-dial-entity100] match-template 100
[RouterA-voice-dial-entity100] line 2/1/1
[RouterA-voice-dial-entity100] quit
# 配置到Router B的VoIP语音实体,呼叫目的IP地址为1.1.1.2,被叫号码模板为300。
[RouterA-voice-dial] entity 300 voip
[RouterA-voice-dial-entity300] match-template 300
[RouterA-voice-dial-entity300] address sip ip 1.1.1.2
[RouterA-voice-dial-entity300] outband sip
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterB] voice-setup
[RouterB-voice] dial-program
[RouterB-voice-dial] entity 500 pots
[RouterB-voice-dial-entity500] match-template 500
[RouterB-voice-dial-entity500] line 2/1/1
[RouterB-voice-dial-entity500] quit
# 配置IVR语音实体,接入号为300,指定根节点为10(即IVR执行的第一个节点)。
[RouterB-voice-dial] entity 300 ivr
[RouterB-voice-dial-entity300] match-template 300
[RouterB-voice-dial-entity300] ivr-root 10
[RouterB-voice-dial-entity300] quit
[RouterB-voice-dial] quit
# 配置媒体资源ID与媒体文件的对应关系:配置资源ID 10002对应媒体文件cf a0:/wav/g729r8/timeout.wav,配置媒体资源ID 10003对应媒体文件cf a0:/wav/g729r8/input_error.wav,配置资源ID 10004对应媒体文件cf a0:/wav/g729r8/bye.wav。
[RouterB-voice] media-file g729r8
[RouterB-voice-media-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-media-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-media-g729r8] set-media 10004 file cfa0:/wav/g729r8/bye.wav
[RouterB-voice-media-g729r8] quit
# 配置全局IVR用户输入错误和输入超时的处理策略:若用户未按键导致输入超时,则播放超时提示音timeout.wav,如果超时次数超过4次就结束呼叫;若用户按键错误,则播放错误提示音,如果错误次数超过3次就结束呼叫。
[RouterB-voice-ivr] global-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] global-input-error repeat 3 media-play 10003
# 配置Service节点,通过调整执行顺序,要求先执行播放bye.wav,放音结束后本次呼叫结束。
[RouterB-voice-ivr] node 10 service
[RouterB-voice-ivr-node10] operation 2 end-call
[RouterB-voice-ivr-node10] operation 3 media-play 10004 1
[RouterB-voice-ivr-node10] select-rule 3 2 1
Telephone A拨打300后先听到bye.wav的放音内容,放音结束后本次呼叫结束。
在Router B上配置IVR接入号,并综合使用三种节点。要求Telephone A拨打Router B上的IVR接入号300后播放提示音welcome.wav,然后根据配置进行节点跳转,具体要求为:
· 如果Telephone A按*键,则跳转到Service节点。Telephone A先是听到bye.wav的放音内容,呼叫结束。
· 如果Telephone A按#键,则跳转到Call节点。Telephone A先是听到call.wav的放音内容,Telephone A拨1则向Telephone B发起呼叫。
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterA] voice-setup
[RouterA-voice] dial-program
[RouterA-voice-dial] entity 100 pots
[RouterA-voice-dial-entity100] match-template 100
[RouterA-voice-dial-entity100] line 2/1/1
[RouterA-voice-dial-entity100] quit
# 配置到Router B的VoIP语音实体,呼叫目的IP地址为1.1.1.2,被叫号码模板为300。
[RouterA-voice-dial] entity 300 voip
[RouterA-voice-dial-entity300] match-template 300
[RouterA-voice-dial-entity300] address sip ip 1.1.1.2
[RouterA-voice-dial-entity300] outband sip
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
[RouterB] voice-setup
[RouterB-voice] dial-program
[RouterB-voice-dial] entity 500 pots
[RouterB-voice-dial-entity500] match-template 500
[RouterB-voice-dial-entity500] line 2/1/1
[RouterB-voice-dial-entity500] quit
[RouterB-voice-dial] quit
# 配置IVR语音实体,接入号为300,指定根节点为1(即IVR执行的第一个节点)。
[RouterB-voice-dial] entity 300 ivr
[RouterB-voice-dial-entity300] match-template 300
[RouterB-voice-dial-entity300] ivr-root 1
[RouterB-voice-dial-entity300] quit
[RouterB-voice-dial] quit
# 配置媒体资源ID与媒体文件的对应关系:配置资源ID 10001对应媒体文件cf a0:/wav/g729r8/welcome.wav,配置资源ID 10002对应媒体文件cf a0:/wav/g729r8/timeout.wav,配置媒体资源ID 10003对应媒体文件cf a0:/wav/g729r8/input_error.wav,配置资源ID 10004对应媒体文件cf a0:/wav/g729r8/bye.wav,配置资源ID 10005对应媒体文件cfa0:/wav/g729r8/call.wav。
[RouterB-voice] media-file g729r8
[RouterB-voice-media-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-media-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-media-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-media-g729r8] set-media 10004 file cfa0:/wav/g729r8/bye.wav
[RouterB-voice-media-g729r8] set-media 10005 file cfa0:/wav/g729r8/call.wav
[RouterB-voice-media-g729r8] quit
# 配置全局IVR用户输入错误和输入超时的处理策略:若用户未按键导致输入超时,则播放超时提示音timeout.wav,如果超时次数超过4次就结束呼叫;若用户按键错误,则播放错误提示音,如果错误次数超过3次就结束呼叫。
[RouterB-voice-ivr] global-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] global-input-error repeat 3 media-play 10003
# 配置Jump节点(根节点),要求先播放welcome.wav,在提示音播放结束后,若Telephone A按*键,则跳转到节点20;若Telephone A按#键,则跳转到节点10。
[RouterB-voice-ivr] node 1 jump
[RouterB-voice-ivr-node1] user-input # goto-node 10
[RouterB-voice-ivr-node1] user-input * goto-node 20
[RouterB-voice-ivr-node1] media-play 10001 force
[RouterB-voice-ivr-node1] quit
# 配置Call节点,要求先播放call.wav,提示音播放结束后,若Telephone A拨1则向电话号码500发起呼叫。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10005 force
[RouterB-voice-ivr-node10] input 1 extension 500
[RouterB-voice-ivr-node10] quit
# 配置Service节点,要求先播放bye.wav,然后结束呼叫。
[RouterB-voice-ivr] node 20 service
[RouterB-voice-ivr-node20] operation 2 media-play 10004
[RouterB-voice-ivr-node20] operation 3 end-call
[RouterB-voice-ivr-node20] select-rule 2 3 1
Telephone A拨打Router B上的IVR接入号300后听到welcome.wav的放音内容。
· 如果Telephone A按*键,Telephone A先是听到bye.wav的放音内容,呼叫结束,Telephone A听到忙音。
· 如果Telephone A按#键,Telephone A先是听到call.wav的放音内容,Telephone A拨1, Telephone B振铃。
用户拨打IVR接入号300,听到提示音之后,按提示音操作按#键进行二次呼叫,但是用户一按#键就会导致挂机,不能进行二次呼叫。配置如下:
[Sysname-voice-dial] entity 300 ivr
[Sysname-voice-dial-entity300] match-template 300
[Sysname-voice-dial-entity300] ivr-root 1
[Sysname-voice-dial-entity300] quit
[Sysname-voice-dial] quit
[Sysname-voice] ivr-system
[Sysname-voice-ivr] node 1 jump
[Sysname-voice-ivr-node1] user-input # goto-node 10
[Sysname-voice-ivr-node1] user-input * goto-node 20
[Sysname-voice-ivr-node1] media-play 10001 force
[Sysname-voice-ivr-node1] quit
[Sysname-voice-ivr] node 10 call
当用户按#键时进入节点10,但此节点下没有配置任何操作,导致直接挂机。
在节点10下配置放音、普通二次呼叫后,用户就可以进行拨号。
用户拨打IVR接入号300,按#键跳转到节点10后,会直接挂机。配置如下:
[Sysname-voice-dial] entity 300 ivr
[Sysname-voice-dial-entity300] match-template 300
[Sysname-voice-dial-entity300] ivr-root 1
[Sysname-voice-dial-entity300] quit
[Sysname-voice-dial] quit
[Sysname-voice] ivr-system
[Sysname-voice-ivr] node 1 jump
[Sysname-voice-ivr-node1] user-input # goto-node 10
[Sysname-voice-ivr-node1] quit
[Sysname-voice-ivr] node 10 service
[Sysname-voice-ivr-node10] operation 1 goto-node 11
[Sysname-voice-ivr-node10] quit
[Sysname-voice-ivr] node 11 service
[Sysname-voice-ivr-node11] operation 1 goto-node 12
[Sysname-voice-ivr-node11] quit
[Sysname-voice-ivr] node 12 service
[Sysname-voice-ivr-node12] operation 1 goto-node 10
用户按#键后,IVR流程跳转到节点10,节点10直接跳到节点11,节点11直接就跳到节点12,节点12又跳回到节点10。所以当执行跳回至节点10时,设备检测到10为环回节点,则直接挂机。
修改节点10的环回性,如可以在节点10下配置呼叫等。
当执行到节点8时,不能再往下执行节点9,导致直接挂机。配置如下:
[Sysname-voice-dial] entity 300 ivr
[Sysname-voice-dial-entity300] match-template 300
[Sysname-voice-dial-entity300] ivr-root 1
[Sysname-voice-dial-entity300] quit
[Sysname-voice-dial] quit
[Sysname-voice] ivr-system
[Sysname-voice-ivr] node 1 jump
[Sysname-voice-ivr-node1] user-input # goto-node 2
[Sysname-voice-ivr-node1] quit
[Sysname-voice-ivr] node 2 jump
[Sysname-voice-ivr-node2] user-input # goto-node 3
[Sysname-voice-ivr-node2] quit
[Sysname-voice-ivr] node 3 jump
[Sysname-voice-ivr-node3] user-input # goto-node 4
[Sysname-voice-ivr-node3] quit
[Sysname-voice-ivr] node 4 jump
[Sysname-voice-ivr-node4] user-input # goto-node 5
[Sysname-voice-ivr-node4] quit
[Sysname-voice-ivr] node 5 jump
[Sysname-voice-ivr-node5] user-input # goto-node 6
[Sysname-voice-ivr-node5] quit
[Sysname-voice-ivr] node 6 jump
[Sysname-voice-ivr-node6] user-input # goto-node 7
[Sysname-voice-ivr-node6] quit
[Sysname-voice-ivr] node 7 jump
[Sysname-voice-ivr-node7] user-input # goto-node 8
[Sysname-voice-ivr-node7] quit
[Sysname-voice-ivr] node 8 jump
[Sysname-voice-ivr-node8] user-input # goto-node 9
[Sysname-voice-ivr-node8] quit
[Sysname-voice-ivr] node 9 call
[Sysname-voice-ivr-node9] input 1 extension 300
[Sysname-voice-ivr-node9] quit
执行到节点8时,已经连续执行八个不同的节点,已经达到IVR最多支持8级节点的限制,这时就会执行挂机操作。
用户配置扩展二次呼叫和普通二次呼叫,普通二次呼叫使用随时匹配方式,但是当用户拨打1201时不会拨到7745231上。配置如下:
[Sysname-voice-ivr] node 1 call
[Sysname-voice-ivr-node1] call-normal matching
[Sysname-voice-ivr-node1] input 1201 extension 7745231
用户拨打1201准备和号码为7745231的用户通话,但在用户拨打120时发现呼叫成功。
有些特殊电话号码比较短,如120、110、114等。如果用户配置的扩展号以这些号码为前缀,则用户拨打扩展号码时,由于已经匹配到这些电话号码,就会进行普通二次呼叫。解决的办法是,扩展号不要以这些特殊的电话号码作为前缀。
用户同时配置扩展二次呼叫和普通二次呼叫,普通二次呼叫采用#为结束符,但是当用户拨打7745666时总是会拨到7745231上。配置如下:
[Sysname-voice-ivr] node 1 call
[Sysname-voice-ivr-node1] call-normal terminator #
[Sysname-voice-ivr-node1] input 7 extension 7745231
由于逐位匹配会优选扩展二次呼叫的号码,所以,当用户拨7时,与扩展号7完全匹配,此时就会拨打7745231,而不会拨到7745666上。
为了避免在拨打普通电话号码时误匹配扩展号,需要合理的配置扩展号。可以修改一下扩展号,将7745231的扩展号改为*7,同时普通二次呼叫不要以*作为结束符,就可以解决这个问题。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!