08-可定制IVR配置
本章节下载: 08-可定制IVR配置 (556.96 KB)
1.10.1 Call节点普通二次呼叫配置举例(按结束符匹配,发起普通二次呼叫)
1.10.2 Call节点普通二次呼叫配置举例(按号码长度匹配,发起普通二次呼叫)
1.10.3 Call节点普通二次呼叫配置举例(按随时匹配号码,发起普通二次呼叫)
1.11.4 同时配置扩展二次呼叫和普通二次呼叫,出现匹配错误
1.11.5 同时配置扩展二次呼叫和普通二次呼叫,出现匹配错误
IVR(Interactive Voice Response,交互式语音应答)在语音应用中使用非常广泛,主要用在定制交互的操作过程,协助其它业务达到更人性化的目的。可定制语音IVR可以由用户根据自己的实际需求定制满足具体业务的操作过程。在用户拨打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节点实现。
¡ 普通二次呼叫:输入两次号码才能完成的呼叫称为普通二次呼叫,可以根据实际业务需要,选择根据输入号码的长度、配置结束符或随时匹配号码三种方式中的一种来实现普通二次呼叫,普通二次呼叫通过Call节点实现。
¡ 扩展二次呼叫:配置输入的号码和扩展二次呼叫的电话号码的对应关系,通过拨打输入的号码呼叫扩展二次呼叫的号码,扩展二次呼叫通过Call节点实现。
可定制IVR主要以节点为单位进行配置,简化用户的配置,利于使用,配置更灵活。节点类型包括Call节点、Jump节点、Service节点。每类节点完成几种功能,组合在一起可以灵活实现复杂的IVR功能。
· Call节点:实现二次呼叫功能。
· Jump节点:根据用户按键定制IVR呼叫流程。最多可以配置连续八级的跳转。
· Service节点:实现立即二次呼叫、跳转、结束呼叫和放音等功能。
本特性的支持情况与设备型号有关,请以设备的实际情况为准。
型号 |
说明 |
MSR610 |
不支持 |
MSR810、MSR810-W、MSR810-W-DB、MSR810-LM、MSR810-W-LM、MSR810-10-PoE、MSR810-LM-HK、MSR810-W-LM-HK、MSR810-LM-CNDE-SJK、MSR810-CNDE-SJK、MSR810-EI、MSR810-LM-EA、MSR810-LM-EI |
不支持 |
MSR810-LMS、MSR810-LUS |
不支持 |
MSR810-SI、MSR810-LM-SI |
不支持 |
MSR810-LMS-EA、MSR810-LME |
不支持 |
MSR1004S-5G、MSR1004S-5G-CN |
不支持 |
MSR1104S-W、MSR1104S-W-CAT6、MSR1104S-5G-CN、MSR1104S-W-5G-CN |
不支持 |
MSR2600-6-X1、MSR2600-15-X1、MSR2600-15-X1-T |
不支持 |
MSR2600-10-X1 |
支持 |
MSR 2630 |
支持 |
MSR3600-28、MSR3600-51 |
支持 |
MSR3600-28-SI、MSR3600-51-SI |
不支持 |
MSR3600-28-X1、MSR3600-28-X1-DP、MSR3600-51-X1、MSR3600-51-X1-DP |
不支持 |
MSR3600-28-G-DP、MSR3600-51-G-DP |
不支持 |
MSR3610-I-DP、MSR3610-IE-DP、MSR3610-IE-ES、MSR3610-IE-EAD、MSR-EAD-AK770、MSR3610-I-IG、MSR3610-IE-IG |
不支持 |
MSR-iMC |
不支持 |
MSR3610-X1、MSR3610-X1-DP、MSR3610-X1-DC、MSR3610-X1-DP-DC、MSR3620-X1、MSR3640-X1 |
支持 |
MSR 3610、MSR 3620、MSR 3620-DP、MSR 3640、MSR 3660 |
支持 |
MSR3610-G、MSR3620-G |
不支持 |
MSR3640-G |
支持 |
MSR3640-X1-HI |
支持 |
型号 |
说明 |
MSR810-W-WiNet、MSR810-LM-WiNet |
不支持 |
MSR830-4LM-WiNet |
不支持 |
MSR830-5BEI-WiNet、MSR830-6EI-WiNet、MSR830-10BEI-WiNet |
不支持 |
MSR830-6BHI-WiNet、MSR830-10BHI-WiNet |
不支持 |
MSR2600-6-WiNet |
不支持 |
MSR2600-10-X1-WiNet |
支持 |
MSR2630-WiNet |
支持 |
MSR3600-28-WiNet |
支持 |
MSR3610-X1-WiNet |
支持 |
MSR3620-X1-WiNet |
支持 |
MSR3610-WiNet、MSR3620-10-WiNet、MSR3620-DP-WiNet、MSR3620-WiNet、MSR3660-WiNet |
支持 |
型号 |
说明 |
MSR860-6EI-XS |
不支持 |
MSR860-6HI-XS |
不支持 |
MSR2630-XS |
不支持 |
MSR3600-28-XS |
不支持 |
MSR3610-XS |
支持 |
MSR3620-XS |
支持 |
MSR3610-I-XS |
不支持 |
MSR3610-IE-XS |
不支持 |
MSR3620-X1-XS |
支持 |
MSR3640-XS |
支持 |
MSR3660-XS |
支持 |
型号 |
说明 |
MSR810-LM-GL |
不支持 |
MSR810-W-LM-GL |
不支持 |
MSR830-6EI-GL |
不支持 |
MSR830-10EI-GL |
不支持 |
MSR830-6HI-GL |
不支持 |
MSR830-10HI-GL |
不支持 |
MSR1004S-5G-GL |
不支持 |
MSR2600-6-X1-GL |
不支持 |
MSR3600-28-SI-GL |
不支持 |
部分设备需要安装Voice Software License才能使用可定制IVR。有关License的详细介绍,请参见“基础配置指导”中的“License管理”。
可定制IVR配置任务如下:
(1) 配置IVR语音实体
(3) (可选)配置全局IVR处理策略
(4) 配置IVR节点
请根据具体需求选择配置的节点类型。
¡ 创建IVR节点
¡ 配置Call节点
¡ 配置Jump节点
配置使用VoIP语音实体呼叫IVR接入号时,需要在VoIP语音实体下配置使用SIP带外方式传输主叫拨打的DTMF信号。关于SIP带外方式传输的具体配置请参见“语音配置指导”中的“SIP”。
(1) 进入系统视图。
system-view
(2) 进入语音视图。
voice-setup
(3) 进入语音拨号策略视图。
dial-program
(4) 创建IVR语音实体,并进入IVR语音实体视图。
entity entity-number ivr
(5) 配置IVR语音实体根节点,即IVR执行的第一个节点。
ivr-root node-id
缺省情况下,未配置IVR语音实体的根节点。
(6) 配置号码模板。
match-template match-string
(7) (可选)配置IVR语音实体。
详细配置请参见“语音配置指导”中的“语音实体”。
可以通过选择不同的编码模式进入不同的语音媒体资源管理视图。在每个语音媒体资源管理视图下,可以配置媒体资源ID与媒体资源的对应关系。
(1) 进入系统视图。
system-view
(2) 进入语音视图。
voice-setup
(3) 进入语音媒体资源管理视图。
media-file { g711alaw | g711ulaw | g723r53 | g729r8 }
(4) 配置媒体资源ID与媒体文件的对应关系。
set-media media-id file filename
缺省情况下,未定义媒体资源ID。
IVR处理策略既可以全局配置,也可以在节点下配置。若在节点下没有配置输入错误或者没有配置输入超时的处理策略,则使用全局IVR处理策略。若全局和节点下都进行了配置,则优先采用节点下的配置。节点下配置IVR处理策略的详细介绍,请参见“1.8.3 配置Call节点”以及“1.8.4 配置Jump节点”。
(1) 进入系统视图。
system-view
(2) 进入语音视图。
voice-setup
(3) 进入IVR管理视图。
ivr-system
(4) 配置全局IVR用户输入错误的处理策略。
global-input-error { media-play media-id [ play-times ] | repeat repeat-times } *
缺省情况下,输入错误后不播放提示音,输入超过错误3次后结束呼叫。
(5) 配置全局IVR用户输入超时的处理策略。
global-timeout { expires seconds | media-play media-id [ play-times ] | repeat repeat-times }*
缺省情况下,超时时间为10秒,超时次数为3次,输入超时后不播放提示音,超过超时次数后结束呼叫。
在配置节点时要防止出现无效节点、环回节点、八级节点。
· 无效节点指没有配置任何操作的节点;
· 环回节点是指节点之间形成回路,且除了跳转外没有其他的操作;
· 八级节点指连续执行八个不同的节点。
具体内容可以参见“1.11 可定制IVR常见故障处理”。
(1) 进入系统视图。
system-view
(2) 进入语音视图。
voice-setup
(3) 进入IVR管理视图。
ivr-system
(4) 创建IVR节点,并进入IVR节点视图。
node node-id [ call | jump | service ]
(5) 配置节点描述信息。
description string
缺省情况下,未配置节点的描述信息。
Call节点支持两种二次呼叫:普通二次呼叫与扩展二次呼叫,两种策略可以同时配置。先匹配到哪种策略,就按照哪种策略进行呼叫。若普通二次呼叫与扩展二次呼叫号码相同,则优先按扩展拨号策略进行拨号。
由于需要等待用户输入按键,故需配置节点下超时、出错处理策略,若未配置,则根据全局输入超时、出错处理策略进行处理。
Call节点下的超时分为等待第一次按键超时与第一次按键后超时,其中等待第一次按键超时按照输入超时处理策略进行处理,第一次按键后超时按照输入错误处理策略进行处理。
(1) 进入系统视图。
system-view
(2) 进入语音视图。
voice-setup
(3) 进入IVR管理视图。
ivr-system
(4) 进入Call节点视图。
node node-id call
(5) 配置扩展二次呼叫。请选择其中一项进行配置。
¡ 配置扩展二次呼叫。
input number extension extension-number
¡ 配置普通二次呼叫的号码匹配策略。
call-normal { length number-length | matching | terminator character }
(6) (可选)配置号码前缀。
dial-prefix string
缺省情况下,未配置前缀号码。
(7) (可选)配置等待用户按键播放的提示音。
media-play media-id [ play-times ] [ force ]
缺省情况下,未配置等待用户按键播放的提示音。
(8) 配置节点下用户输入错误的处理策略。
input-error { end-call | goto-pre-node | goto-node node-id } [ media-play media-id [ play-times ] | repeat repeat-times ] *
缺省情况下,按照全局输入错误策略进行处理。
(9) 配置节点下用户输入超时的处理策略。
timeout { end-call | goto-pre-node | goto-node node-id } [ expires seconds | media-play media-id [ play-times ] | repeat repeat-times ] *
缺省情况下,按照全局输入超时策略进行处理。
Jump节点下可以配置放音、按键跳转、按键挂机操作。由于此节点需等待用户输入按键,故需配置节点超时、出错处理策略,在用户输入超时、错误的时候,会根据配置的策略进行处理,如未配置,则按照全局输入超时、出错处理策略进行处理。
(1) 进入系统视图。
system-view
(2) 进入语音视图。
voice-setup
(3) 进入IVR管理视图。
ivr-system
(4) 进入Jump节点视图。
node node-id jump
(5) 配置根据具体输入执行跳转操作。
user-input character { end-call | goto-node node-id | goto-pre-node }
缺省情况下,未配置具体输入执行跳转操作。
(6) (可选)配置等待用户按键播放的提示音。
media-play media-id [ play-times ] [ force ]
缺省情况下,未配置等待用户按键播放的提示音。
(7) 配置节点下用户输入错误的处理策略。
input-error { end-call | goto-pre-node | goto-node node-id } [ media-play media-id [ play-times ] | repeat repeat-times ] *
缺省情况下,按照全局输入错误策略进行处理。
(8) 配置节点下用户输入超时的处理策略。
timeout { end-call | goto-pre-node | goto-node node-id } [ expires seconds | media-play media-id [ play-times ] | repeat repeat-times ] *
缺省情况下,按照全局输入超时策略进行处理。
Service节点用来配置以下功能:立即二次呼叫、跳转、结束呼叫和放音。
用户在此节点下通过operation命令最多可以配置三个功能执行项,并且可以通过select-rule命令调整这三条功能执行项的执行顺序,若未配置,则按缺省顺序1 2 3执行功能。由于Service节点无须等待用户输入按键,所以没有超时、出错处理策略。当某项执行功能为跳转到其他节点或挂机操作时,将不再执行剩下未执行的功能项。
(1) 进入系统视图。
system-view
(2) 进入语音视图。
voice-setup
(3) 进入IVR管理视图。
ivr-system
(4) 进入Service节点视图。
node node-id service
(5) 配置节点操作功能。
operation number { call-immediate call-number | end-call | goto-node node-id | goto-pre-node | media-play media-id [ play-times ] }
缺省情况下,未配置节点操作功能。
(6) 配置功能执行顺序。
select-rule 1st-operation 2nd-operation 3rd-operation
缺省情况下,功能执行顺序为1 2 3。
在完成上述配置后,在任意视图下执行display命令可以显示配置后可定制IVR的运行情况,通过查看显示信息验证配置的效果。
表1-1 可定制IVR显示和维护
操作 |
命令 |
查看放音信息 |
display voice media-play |
查看IVR呼叫信息 |
display voice ivr call-info |
查看媒体文件的读取信息 |
display voice media-source |
在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> system-view
[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> system-view
[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) 配置Router A
具体配置过程和“1.10.1 3. (1)”完全相同,此处不再重复。
(2) 配置Router B
# 配置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.10.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) 配置Router A
具体配置过程和“1.10.1 3. (1)”完全相同,此处不再重复。
(2) 配置Router B
# 配置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.10.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> system-view
[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
(2) 配置Router B
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterB> system-view
[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> system-view
[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
(2) 配置Router B
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterB> system-view
[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节点配置举例组网图
(1) 配置Router A
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterA> system-view
[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
(2) 配置Router B
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterB> system-view
[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节点配置举例组网图
(1) 配置Router A
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterA> system-view
[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
(2) 配置Router B
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterB> system-view
[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发起呼叫。
图1-8 节点综合使用典型配置举例组网图
(1) 配置Router A
# 配置POTS语音实体中的本地号码为100,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterA> system-view
[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
(2) 配置Router B
# 配置POTS语音实体中的本地号码为500,并将FXS语音用户线line2/1/1绑定到此POTS语音实体上。
<RouterB> system-view
[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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!