10-可定制IVR配置
本章节下载 (398.44 KB)
1.9.1 Call节点普通二次呼叫典型配置举例(按结束符匹配,发起普通二次呼叫)
1.9.2 Call节点普通二次呼叫典型配置举例(按号码长度匹配,发起普通二次呼叫)
1.9.3 Call节点普通二次呼叫典型配置举例(按随时匹配号码,发起普通二次呼叫)
1.10.4 同时配置扩展二次拨号和普通二次拨号,出现匹配错误
1.10.5 同时配置扩展二次拨号和普通二次拨号,出现匹配错误
MSR800、MSR 900、MSR900-E、MSR 930、MSR 2600、MSR 30-11、MSR 30-11E、MSR 30-11F和MSR3600-51F路由器不支持语音功能。
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节点下可以定制当前节点用户出错后的处理方式,目前提供的出错处理机制有三种方式:结束呼叫、跳转到某个指定节点、返回上级节点。
出错处理机制既可以在节点下配置,也可以进行全局配置。
在Call节点和Jump节点下可以定制当前节点用户按键超时后的处理方式,目前提供的超时处理机制有三种方式:结束呼叫、跳转到某个指定节点、返回上级节点。
超时处理机制既可以在节点下配置,也可以进行全局配置。
支持立即二次呼叫、普通二次呼叫和扩展二次呼叫。
· 立即二次呼叫:用户不需要拨入任何电话按键即可进行的二次呼叫为立即二次呼叫,立即二次呼叫通过Service节点实现。
· 普通二次呼叫:输入两次号码才能完成的呼叫称为普通二次呼叫,可以根据实际业务需要,选择根据匹配号码的长度、配置结束符或随时匹配号码三种方式中的一种来实现普通二次呼叫,普通二次呼叫通过Call节点实现。
· 扩展二次呼叫:配置输入的号码和扩展二次呼叫的电话号码的对应关系,通过拨打扩展号码实现扩展二次呼叫。
表1-1 可定制IVR配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置IVR实体 |
创建IVR语音实体 |
必选 |
|
配置IVR语音实体 |
必选 |
||
配置媒体资源ID与媒体资源文件的对应关系 |
必选 |
||
配置全局IVR处理策略 |
可选 |
||
创建IVR节点 |
配置Call节点 |
请根据具体需求进行选择 |
|
配置Jump节点 |
|||
配置Service节点 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入语音拨号策略视图 |
dial-program |
- |
创建IVR语音实体,并进入IVR语音实体视图 |
entity entity-number ivr |
必选 缺省情况下,没有创建IVR语音实体 |
表1-3 配置根节点
表1-4 操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入语音拨号策略视图 |
dial-program |
- |
创建IVR语音实体,并进入IVR语音实体视图 |
entity entity-number ivr |
- |
配置IVR实体根节点,即IVR执行的第一个节点 |
ivr-root node-id |
必选 缺省情况下,没有配置实体根节点 |
表1-5 配置IVR实体下的命令
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入语音拨号策略视图 |
dial-program |
- |
创建IVR语音实体,并进入IVR语音实体视图 |
entity entity-number ivr |
- |
配置语音实体的号码模板 |
match-template match-string |
必选 缺省情况下,没有配置号码 |
向H.323 Gatekeeper或者SIP Server注册此语音实体的号码 |
register-number |
可选 缺省情况下,IVR语音实体都注册到语音服务器上 |
将用户组绑定到语音实体 |
caller-group { deny | permit } subscriber-group-list-number |
可选 缺省情况下,语音实体下没有绑定用户组,即允许任意主叫号码呼入 |
配置允许呼入的主叫号码 |
caller-permit calling-string |
可选 缺省情况下,没有配置允许呼入的主叫号码,即对呼叫不做任何限制 |
按照优先级别配置语音编解码方式 |
compression { 1st-level | 2nd-level | 3rd-level | 4th-level } { g711alaw | g711ulaw | g723r53 | g729r8 } |
可选 目前IVR语音实体只支持g711alaw、g711ulaw、g723r53和g729r8四种语音编解码方式,缺省的优先级顺序为g729r8、g711alaw、g711ulaw、g723r53 需要注意的是: · IVR语音实体不支持g726编解码方式 · default entity compression对IVR语音实体不起作用 |
配置IVR语音实体描述字符串 |
description text |
可选 缺省情况下,没有配置IVR语音实体描述字符串 |
配置语音实体下承载RTP流的IP报文中ToS字段的DSCP域的值 |
dscp media dscp-value |
可选 缺省情况下,DSCP域的值为ef(101110) |
配置不同编解码格式下的语音打包时长 |
payload-size { g711 | g723 | g729 } time-length |
可选 缺省情况下,g711打包时长为20毫秒,g723打包时长为30毫秒,g729打包时长为30毫秒 需要注意的是: · 由于IVR语音实体不支持g726编解码,因此在IVR语音实体下配置g726的打包时长不起任何作用 · payload-size命令对采用MOH音频输入端口方式指定的媒体资源(使用set-media命令)不起作用 |
将当前语音实体和最大呼叫连接组绑定 |
max-call set-number |
可选 缺省情况下,语音实体未绑定最大呼叫连接组(即语音实体不属于任何一个最大呼叫连接组,呼叫连接数目不受限制) |
配置语音实体的优先级 |
priority priority-order |
可选 缺省情况下,优先级别为0 数值越小,优先级越高 |
退出语音实体搜索功能 |
select-stop |
可选 缺省情况下,语音实体搜索功能处于开启状态 |
配置SIP鉴权信息 |
user username password { cipher | simple } password [ cnonce cnonce | realm realm ] * |
可选 缺省情况下,在IVR语音实体视图下没有SIP鉴权信息 |
配置指定语音实体的管理状态从up转为down |
shutdown |
可选 缺省情况下,语音实体的管理状态为up |
上述命令的功能及使用方法和其他语音实体相同,各命令的详细介绍请参见“语音命令参考”中的“语音实体”、“SIP”和“拨号策略”。
进入媒体资源管理视图,可以通过选择不同的编码模式进入不同的语音媒体资源管理视图。在每个语音媒体资源管理视图下,可以配置媒体资源ID与媒体资源的对应关系。
表1-6 配置媒体资源ID与媒体资源的对应关系
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入IVR管理视图 |
ivr-system |
- |
进入语音媒体资源管理视图 |
media-file { g711alaw | g711ulaw | g723r53 | g729r8 } |
- |
配置某个媒体资源ID与媒体资源文件或MOH音频输入端口的对应关系 |
set-media media-id { file filename | moh-interface interface-number } |
必选 缺省情况下,没有配置任何自定义媒体资源ID |
当用户在节点下没有配置出错处理策略或者没有配置按键超时后的处理策略时,则按照全局IVR处理策略进行处理。
表1-7 配置全局IVR处理策略
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入IVR管理视图 |
ivr-system |
- |
配置全局IVR用户输入错误的处理策略 |
ivr-input-error { media-play media-id [ play-times ] | repeat repeat-times } * |
可选 缺省情况下,允许输入错误次数为3次,无放音,达到输入错误次数后结束呼叫 |
配置全局IVR输入超时的处理策略 |
ivr-timeout { expires seconds | media-play media-id [ play-times ] | repeat repeat-times }* |
可选 缺省情况下,超时时间为10秒,超时次数为3次,无放音,达到超时次数后结束呼叫 |
IVR节点可分为三种类型:Call节点、Jump节点和Service节点。用户创建节点后会进入相应的节点视图,用户可以在相应的节点视图下进行节点配置。
在配置节点时要防止出现无效节点、环回节点、八级节点。
· 无效节点指没有配置任何操作的节点;
· 环回节点是指节点之间形成回路,除了跳转外没有其他的操作;
· 八级节点指连续执行八个不同的节点,即节点深度达到八级。
具体内容可以参见“常见配置错误举例”。
表1-8 创建IVR节点
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入IVR管理视图 |
ivr-system |
- |
创建并进入一个IVR实体节点 |
node node-id { call | jump | service } |
- |
配置节点描述信息 |
description string |
可选 缺省情况下,没有配置节点描述信息 |
Call节点用来配置二次呼叫功能。Call节点有两种拨号策略:普通二次呼叫与扩展二次呼叫,两种策略可以同时配置。其中扩展二次呼叫的优先级高于普通二次呼叫,即先去匹配扩展二次呼叫号码,再去匹配普通二次呼叫号码,哪种策略先匹配,就先按照哪种策略进行呼叫,若同时匹配则按扩展拨号策略进行拨号。
由于需要等待用户输入按键,故需配置节点下超时、出错处理策略,若未配置,则根据全局超时、出错处理策略进行处理。
Call节点下的超时与Jump节点下的超时有些不同,Call节点下的超时分为等待第一次按键超时与第一次按键后超时,其中等待第一次按键超时按照输入超时处理策略进行处理,第一次按键后超时按照输入错误处理策略进行处理。Call节点下超时处理策略配置的是等待第一次按键超时时间,第一次按键后,等待下一次按键超时时间默认为10秒。
表1-9 配置Call节点
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入IVR管理视图 |
ivr-system |
- |
进入Call节点视图 |
node node-id call |
- |
配置扩展二次呼叫 |
extension extension-number call corresponding-number |
两者必选其一 |
配置普通二次呼叫的号码匹配策略 |
call-normal { length number-length | matching | terminator character } |
|
配置Call节点下所拨电话号码的前缀号码,即在被叫号码前加上所配置的前缀号码 |
dial-prefix string |
可选 缺省情况下,没有配置前缀号码 |
配置节点等待用户按键播放的提示音 |
media-play media-id [ play-times ] [ force ] |
可选 缺省情况下,没有配置等待用户按键播放的提示音 |
配置节点输入错误处理策略 |
input-error { end-call | goto-pre-node | goto-node node-id } [ media-play media-id [ play-times ] | repeat repeat-times ] * |
可选 缺省情况下,没有设置节点下输入错误的处理策略 |
配置节点输入超时处理策略 |
timeout { end-call | goto-pre-node | goto-node node-id } [ expires seconds | media-play media-id [ play-times ] | repeat repeat-times ] * |
可选 缺省情况下,没有设置节点下输入超时的处理策略 |
若没有在节点下进行配置,则使用全局出错/超时处理机制;若全局和节点下都进行了配置,则优先采用节点下所作的配置。
Jump节点下可以配置放音、按键跳转、按键挂机操作。由于此节点需等待用户输入按键,故需配置节点超时、出错处理策略,在用户输入超时、错误的时候,会根据配置的策略进行处理,如未配置,则按照全局超时、出错处理策略进行处理。
表1-10 配置Jump节点
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入IVR管理视图 |
ivr-system |
- |
进入Jump节点视图 |
node node-id jump |
- |
配置根据具体输入执行跳转操作 |
user-input character { end-call | goto-node node-id | goto-pre-node } |
必选 缺省情况下,没有配置跳转操作 |
配置节点等待用户按键播放的提示音 |
media-play media-id [ play-times ] [ force ] |
可选 缺省情况下,没有配置等待用户按键播放的提示音 |
配置节点输入错误处理策略 |
input-error { end-call | goto-pre-node | goto-node node-id } [ media-play media-id [ play-times ] | repeat repeat-times ] * |
可选 缺省情况下,没有设置节点下输入错误的处理策略 |
配置节点输入超时处理策略 |
timeout { end-call | goto-pre-node | goto-node node-id } [ expires seconds | media-play media-id [ play-times ] | repeat repeat-times ] * |
可选 缺省情况下,没有设置节点下输入超时的处理策略 |
用户可以根据实际需要定制输入错误处理策略和输入超时处理策略。若没有在节点下进行配置,则使用全局出错/超时处理机制;若全局和节点下都进行了配置,则优先采用节点下所作的配置。
Service节点用来配置各种功能:放音、跳转、立即二次呼叫、结束呼叫。
用户在此节点下最多可以配置三个功能执行项,并且可以通过命令行调整这三条功能执行项的执行顺序,若未配置,则按缺省1 2 3的顺序执行功能。如配置select-rule operation-order 2 1 3,那么执行顺序为2 1 3。
当某项执行功能为跳转到其他节点,或挂机操作时,将不再执行剩下未执行的功能项。具体可参考配置举例“1.9.7 Service节点典型配置举例”。
由于Service节点无须等待用户输入按键,所以没有超时、出错处理策略。
表1-11 配置Service节点
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入语音视图 |
voice-setup |
- |
进入IVR管理视图 |
ivr-system |
- |
进入Service节点视图 |
node node-id service |
- |
配置功能执行顺序 |
select-rule operation-order 1st-operation 2nd-operation 3rd-operation |
可选 缺省情况下,功能执行顺序为select-rule operation-order 1 2 3 |
配置节点操作功能 |
operation number { call-immediate call-number | end-call | goto-node node-id | goto-pre-node | media-play media-id [ play-times ] } |
可选 缺省情况下,没有配置任何节点操作功能 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后语音IVR的运行情况,通过查看显示信息验证配置的效果。
表1-12 语音IVR显示和维护
操作 |
命令 |
查看IVR放音信息 |
display voice ivr media-play [ | { begin | exclude | include } regular-expression ] |
查看IVR呼叫信息 |
display voice ivr call-info [ | { begin | exclude | include } regular-expression ] |
查看媒体资源文件的读取信息 |
display voice ivr media-source [ | { begin | exclude | include } regular-expression ] |
在Router B上配置IVR接入号,并定制Call节点功能。要求:
· 当Telephone A通过SIP呼叫Router B上的IVR接入号300后播放录音welcome.wav。
· Telephone A拨入50#后,二次呼叫到Telephone B1。
· 如果Telephone A拨号错误,播放录音input_error.wav。
· 如果Telephone A拨号超时,播放录音timeout.wav。
图1-1 Call节点普通二次呼叫配置举例组网图
# 配置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 1/0
[RouterA-voice-dial-entity100] quit
# 配置到Router B侧的VoIP语音实体。
[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语音实体。
<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 1/0
[RouterB-voice-dial-entity500] quit
[RouterB-voice-dial] entity 50 pots
[RouterB-voice-dial-entity50] match-template 50
[RouterB-voice-dial-entity50] line 1/1
[RouterB-voice-dial-entity50] quit
# 配置IVR实体,指定根节点为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] ivr-system
[RouterB-voice-ivr] media-file g729r8
[RouterB-voice-ivr-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-ivr-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-ivr-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-ivr-g729r8] quit
# 配置用户出错/用户按键超时后的全局处理策略:若用户未按键导致超时,则播放超时提示音,用户会听到timeout.wav录音内容,如果超时次数达到4次就自动挂机;若用户按键错误,则播放错误提示音,如果错误次数达到3次就自动挂机。
[RouterB-voice-ivr] ivr-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] ivr-input-error repeat 3 media-play 10003
# 配置Call节点,要求匹配到IVR号码300后播放welcome.wav,拨入50#后,二次呼叫到Telephone B1。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] call-normal terminator #
(3) 检验配置结果
电话Telephone A拨打300后听到welcome.wav的放音内容。拨入50#后,Telephone B1振铃。
在Router B上配置IVR接入号,并定制Call节点功能。要求:
· 当Telephone A通过SIP呼叫Router B上的IVR接入号300后播放录音welcome.wav,配置匹配号码的长度为3,即Telephone A拨入500后,匹配到长度为三位的号码500,就可以完成二次呼叫到Telephone B2。
· 如果Telephone A拨号错误,播放录音input_error.wav。
· 如果Telephone A拨号超时,播放录音timeout.wav。
图1-2 Call节点普通二次呼叫配置举例组网图
(1) 配置Router A
具体配置过程和“1.9.1 3. (1)”完全相同,此处不再重复。
(2) 配置Router B
# 配置Call节点,要求匹配到IVR号码300后播放welcome.wav,拨入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)”相同,此处不再重复。
(3) 检验配置结果
电话Telephone A拨打300后听到welcome.wav的放音内容。拨入500后,Telephone B2振铃。
在Router B上配置IVR接入号,并定制Call节点功能。要求:
· 当Telephone A通过SIP呼叫Router B上的IVR接入号300后播放录音welcome.wav,配置随时匹配号码进行呼叫,即Telephone A拨入号码后,只要能被匹配到,就立即进行二次呼叫。
· 如果Telephone A拨号错误,播放录音input_error.wav。
· 如果Telephone A拨号超时,播放录音timeout.wav。
图1-3 Call节点普通二次呼叫配置举例组网图
(1) 配置Router A
具体配置过程和“1.9.1 3. (1)”完全相同,此处不再重复。
(2) 配置Router B
# 配置Call节点,要求匹配到IVR号码300后播放welcome.wav,拨入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)”相同,此处不再重复。
(3) 检验配置结果
电话Telephone A拨打300后听到welcome.wav的放音内容。拨入50后,立即匹配到号码50(因为配置的是call-normal matching方式),Telephone B1振铃。
在Router B上配置IVR接入号,并定制Call节点功能。要求:
· 当Telephone A通过SIP呼叫Router B上的IVR接入号300后播放录音welcome.wav,Telephone A按键“0”后就会自动拨打到500,即进行扩展二次呼叫到Telephone B。
· 如果Telephone A拨号错误,播放录音input_error.wav。
· 如果Telephone A拨号超时,播放录音timeout.wav。
图1-4 Call节点扩展二次呼叫配置举例组网图
# 配置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 1/0
[RouterA-voice-dial-entity100] quit
# 配置到Router B侧的VoIP语音实体。
[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语音实体。
<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 1/0
[RouterB-voice-dial-entity500] quit
# 配置IVR实体,指定根节点为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] ivr-system
[RouterB-voice-ivr] media-file g729r8
[RouterB-voice-ivr-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-ivr-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-ivr-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-ivr-g729r8] quit
# 配置用户出错/用户按键超时后的全局处理策略:若用户未按键导致超时,则播放超时提示音,用户会听到timeout.wav录音内容,如果超时次数达到4次就自动挂机;若用户按键错误,则播放错误提示音,如果错误次数达到3次就自动挂机。
[RouterB-voice-ivr] ivr-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] ivr-input-error repeat 3 media-play 10003
# 配置Call节点,要求匹配到IVR号码300后播放welcome.wav,按键“0”后自动拨打500,进行二次呼叫。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] extension 0 call 500
(3) 检验配置结果
电话Telephone A拨打300后听到welcome.wav的放音内容。按键“0”后电话Telephone B振铃。
在Router B上配置IVR接入号,并定制Jump节点功能。要求:
· 当Telephone A通过SIP呼叫Router B上的IVR接入号300后播放录音welcome.wav,然后用户根据提示音进行跳转操作,配置按键 # 表示挂机,则用户在按 # 键后呼叫结束。
· 如果Telephone A拨号错误,播放录音input_error.wav。
· 如果Telephone A拨号超时,播放录音timeout.wav。
图1-5 Jump节点配置举例组网图
# 配置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 1/0
[RouterA-voice-dial-entity100] quit
# 配置到Router B侧的VoIP语音实体。
[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语音实体。
<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 1/0
[RouterB-voice-dial-entity500] quit
# 配置IVR实体,指定根节点为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] ivr-system
[RouterB-voice-ivr] media-file g729r8
[RouterB-voice-ivr-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-ivr-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-ivr-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-ivr-g729r8] quit
# 配置用户出错/用户按键超时后的全局处理策略:若用户未按键导致超时,则播放超时提示音,用户会听到timeout.wav录音内容,如果超时次数达到4次就自动挂机;若用户按键错误,则播放错误提示音,如果错误次数达到3次就自动挂机。
[RouterB-voice-ivr] ivr-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] ivr-input-error repeat 3 media-play 10003
# 配置一个Jump节点,要求播放welcome.wav,在用户按键 # 后结束本次呼叫。
[RouterB-voice-ivr] node 10 jump
[RouterB-voice-ivr-node10] media-play 10001
[RouterB-voice-ivr-node10] user-input # end-call
(3) 检验配置结果
电话Telephone A拨打300后听到welcome.wav的放音内容。按键 # 后结束本次呼叫。
在Router B上配置IVR接入号,并定制Service节点功能。要求:
· 当Telephone A通过SIP呼叫Router B上的IVR接入号300后,直接呼叫Telephone B。
· 如果Telephone A拨号错误,则播放录音input_error.wav。
· 如果Telephone A拨号超时,则播放录音timeout.wav。
图1-6 Service节点配置举例组网图
(1) 配置Router A
# 配置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 1/0
[RouterA-voice-dial-entity100] quit
# 配置到Router B侧的VoIP语音实体。
[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语音实体。
<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 1/0
[RouterB-voice-dial-entity500] quit
# 配置IVR实体,指定根节点为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] ivr-system
[RouterB-voice-ivr] media-file g729r8
[RouterB-voice-ivr-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-ivr-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-ivr-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-ivr-g729r8] quit
# 配置用户出错/用户按键超时后的全局处理策略:若用户未按键导致超时,则播放超时提示音,用户会听到timeout.wav录音内容,如果超时次数达到4次就自动挂机;若用户按键错误,则播放错误提示音,如果错误次数达到3次就自动挂机。
[RouterB-voice-ivr] ivr-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] ivr-input-error repeat 3 media-play 10003
# 配置Service节点,通过配置执行顺序,要求直接呼叫500。
[RouterB-voice-ivr] node 10 service
[RouterB-voice-ivr-node10] operation 1 call-immediate 500
[RouterB-voice-ivr-node10] operation 2 media-play 10001 1
[RouterB-voice-ivr-node10] select-rule operation-order 1 2 3
(3) 检验配置结果
电话Telephone A拨打300后直接呼叫500,不会听到welcome.wav的放音内容。
在Router B上配置IVR接入号,并定制Service节点功能。要求:
· 当Telephone A通过SIP呼叫Router B上的IVR接入号300后,首先会播放录音,然后结束呼叫。
· 如果Telephone A拨号错误,播放录音input_error.wav。
· 如果Telephone A拨号超时,播放录音timeout.wav。
图1-7 Service节点配置举例组网图
(1) 配置Router A
# 配置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 1/0
[RouterA-voice-dial-entity100] quit
# 配置到Router B侧的VoIP语音实体。
[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语音实体。
<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 1/0
[RouterB-voice-dial-entity500] quit
# 配置IVR实体,指定根节点为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] ivr-system
[RouterB-voice-ivr] media-file g729r8
[RouterB-voice-ivr-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-ivr-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-ivr-g729r8] set-media 10004 file cfa0:/wav/g729r8/bye.wav
[RouterB-voice-ivr-g729r8] quit
# 配置用户出错/用户按键超时后的全局处理策略:若用户未按键导致超时,则播放超时提示音,用户会听到timeout.wav录音内容,如果超时次数达到4次就自动挂机;若用户按键错误,则播放错误提示音,如果错误次数达到3次就自动挂机。
[RouterB-voice-ivr] ivr-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] ivr-input-error repeat 3 media-play 10003
# 配置Service节点,通过配置执行顺序,要求先执行播放bye.wav,放音结束后本次呼叫结束。
[RouterB-voice-ivr] node 10 service
[RouterB-voice-ivr-node10] operation 2 media-play 10004 1
[RouterB-voice-ivr-node10] operation 3 end-call
[RouterB-voice-ivr-node10] select-rule operation-order 2 3 1
(3) 检验配置结果
电话Telephone A拨打300后先听到bye.wav的放音内容,放音结束后本次呼叫结束。
在Router B上配置IVR接入号,并综合使用三种节点。要求当Telephone A通过SIP呼叫Router B上的IVR接入号300后播放录音welcome.wav,然后用户根据用户操作进行节点跳转,具体要求为:
· 若用户按 * 键,则跳转到Service节点,先是听到bye.wav的放音内容,接着就会释放呼叫。
· 若用户按 # 键,则跳转到Call节点,先是听到call.wav的放音内容,如果用户拨1则向电话号码500发起呼叫。
图1-8 节点综合使用典型配置举例组网图
(1) 配置Router A
# 配置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 1/0
[RouterA-voice-dial-entity100] quit
# 配置到Router B侧的VoIP语音实体。
[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语音实体。
<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 1/0
[RouterB-voice-dial-entity500] quit
[RouterB-voice-dial] quit
# 配置IVR实体,指定根节点为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对应媒体资源文件cfa0:/wav/g729r8/bye.wav,配置资源ID 10005对应媒体资源文件cf a0:/wav/g729r8/call.wav。
[RouterB-voice] ivr-system
[RouterB-voice-ivr] media-file g729r8
[RouterB-voice-ivr-g729r8] set-media 10001 file cfa0:/wav/g729r8/welcome.wav
[RouterB-voice-ivr-g729r8] set-media 10002 file cfa0:/wav/g729r8/timeout.wav
[RouterB-voice-ivr-g729r8] set-media 10003 file cfa0:/wav/g729r8/input_error.wav
[RouterB-voice-ivr-g729r8] set-media 10004 file cfa0:/wav/g729r8/bye.wav
[RouterB-voice-ivr-g729r8] set-media 10005 file cfa0:/wav/g729r8/call.wav
[RouterB-voice-ivr-g729r8] quit
# 配置用户出错/用户按键超时后的全局处理策略:若用户未按键导致超时,则播放超时提示音,用户会听到timeout.wav录音内容,如果超时次数达到4次就自动挂机;若用户按键错误,则播放错误提示音,如果错误次数达到3次就自动挂机。
[RouterB-voice-ivr] ivr-timeout repeat 4 expires 5 media-play 10002
[RouterB-voice-ivr] ivr-input-error repeat 3 media-play 10003
# 配置Jump节点(根节点),要求先播放welcome.wav,在提示音播放结束后,若用户按 * 键,则跳转到节点20进行处理;若用户按 # 键,则跳转到节点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,在提示音播放结束后,若用户拨1则向电话号码500发起呼叫。
[RouterB-voice-ivr] node 10 call
[RouterB-voice-ivr-node10] media-play 10005 2 force
[RouterB-voice-ivr-node10] extension 1 call 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 operation-order 2 3 1
(3) 检验配置结果
电话Telephone A拨打300后听到welcome.wav的放音内容,若用户超时未按键则播放超时提示音,则用户会听到timeout.wav,如果超时次数达到4次就会挂机(因为未配置节点超时处理,所以按全局超时处理配置处理)。
· 若用户按 * 键,则跳转到节点20,先是听到bye.wav的放音内容,接着就会释放呼叫,用户听到忙音。
· 若用户按 # 键,则跳转到节点10,先是听到call.wav的放音内容,接着等待用户拨号,如果用户拨1则向电话号码500发起呼叫。
拨打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] extension 1 call 300
[Sysname-voice-ivr-node9] quit
执行到节点8时,已经连续执行八个不同的节点,此时下一个要执行的是一个新的节点9,已经到达了IVR的8级节点限制,这时就会执行挂机操作。
避免此类配置。
用户配置了扩展二次拨号和普通二次拨号随时匹配matching,但是当拨打1201时不会拨到7745231上。配置如下:
[Sysname-voice-ivr] node 1 call
[Sysname-voice-ivr-node1] call-normal matching
[Sysname-voice-ivr-node1] extension 1201 call 7745231
当用户拨1201时,用户输入120时就会进行拨号。
有些特殊电话号码比较短,如120、110、114等。如果用户配置的扩展号以这些号码为前缀,则用户拨打扩展号码的时候,由于已经匹配到这些电话号码,就会进行普通二次呼叫。解决的办法是,扩展号不要以这些特殊的电话号码作为前缀。
用户同时配置扩展二次拨号和普通二次拨号,普通二次拨号采用#为结束符,但是当拨打7745666时总是会拨到7745231上。配置如下:
[Sysname-voice-ivr] node 1 call
[Sysname-voice-ivr-node1] call-normal terminator #
[Sysname-voice-ivr-node1] extension 7 call 7745231
扩展二次拨号的优先级高于普通二次拨号,当用户拨7时,就会匹配到扩展号7,此时就会拨打7745231,而不会拨到7745666上。
扩展号长度比普通电话号码要短时,扩展号不能作为电话号码的前缀。可以修改一下扩展号,将7745231的扩展号改为*7,同时普通二次拨号不要以*作为结束符,就可以解决这个问题。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!