freeswitch实现ivr语音导航

1.测试

用分机拨打5000可以收听系统默认的ivr

2.放置welcome音频文件

centeros的sounds文件在 /usr/share/freeswitch/sounds下,默认的是英文的,问我这边做了中文支持

[root@localhost sounds]# ls
en  fr  music  ru  zh
[root@localhost sounds]# cd zh/cn/link/
[root@localhost link]# ls
ascii  currency  custom  digits  directory  ivr  misc  phonetic-ascii  time  voicemail

创建custom文件夹,将提前录制的welcome.wav  welcome_short.wav放进去

3.创建ivr xml

进入ivr_menus,所有的ivr文件都放在这里了,我们新建welcome.xml文件

[root@localhost ivr_menus]# pwd
/etc/freeswitch/ivr_menus
[root@localhost ivr_menus]# ls
demo_ivr.xml  new_demo_ivr.xml  welcome.xml

        
        
        
        

在上述配置中,首先,我们指定菜单的名字(name)是welcome,其他各项的含义如下:
·greet-long:指定最开始的欢迎音,即最开始播放的“您好,欢迎致电某某公司,请直拨分机号,查号请
拨0”的语音,该语音文件默认的位置应该是在/usr/local/freeswitch/sounds目录下。应该事先把声音文件录好(可
以使用Windows系统自带的“录音机”或其他录音软件实现,后面我们还会讲到其他录音的方法),在本例子
中,我们都使用相对路径,当然也可以使用绝对路径,如/root/ivr/welcome.wav)。另外,PSTN交换机都是使用
PCM编码的,如果与PSTN对接的话,将声音文件存储为单声道、8000Hz的格式,能获得较好的音质并占用较少
的系统资源。当然,对于其他采样率的声音文件,FreeSWITCH也能自动转换,只是在Log中会有相关的采样率不
匹配的警告,初学者可以暂时不必理会。
·greet-short:该项指定一个简短的提示音。如果用户长时间没有按键,则应重新提示拨号,但重新提示应
该简短,比如直接说“请直拨分机号,查号请拨0”,而不用再把公司的欢迎广告再重复播放一遍。所以,可以把
这么一个声音文件录制到welcome_short.wav中。
·invalid-sound:如果用户按错了键,则会使用该提示。如果使用“make sounds-install”命令安装了声音文
件,则该文件应该是默认存在的。只是它是英文的,如果需要中文的提示,可以自己录一个,并修改这里的路径
使其指向自己录制的声音文件。
·exit-sound:该项指定最后菜单退出时(一般是超时没有按键)的声音,默认会提示“Good Bye”。
·timeout:指定超时时间(毫秒),即多长时间没有收到按键就超时,播放其他提示音。
·max-failures:为容忍用户按键错误的次数。如果用户的按键与下面配置的正则表达式不匹配(即没有找
到相关的菜单项),就认为是错误的。
·max-timeouts:即最大超时次数。
·inter-digit-timeout:为两次按键的最大间隔(毫秒)。如用户拨分机号1001时,假设拨了10,等3秒,
然后再按01,这时系统实际收到的号码为10(后面的01超时后没有收到),则会播放invalid-sound指定的声音文件
以提示错误。
·digit-len:说明菜单项的长度,即最大收号位数。在本例中,用户分机号长度为4位,因此我们使用4。
该菜单中有两个菜单项(Entry),第一个是在用户按0(digits="0")时,通过menu-exec-app执行一个
App。在此处它执行transfer,将来话转到default Dialplan中进行路由,并会最终转到分机1000。
如果来电用户知道被叫的分机号,则可以直接拨分机号,而不用经过人工转接,以节约时间。在本例中,第
二个菜单项中的digits正则表达式“/^(10[01][0-9])$/”会匹配用户输入的1000~1019之间的分机,也是转到
default Dialplan中进行路由,并最终转到对应的分机上。
如果来电用户按其他按键,则由于找不到匹配的菜单项进而提示错误(invalid-sound指定的声音),并提示
用户重新输入。
以上菜单设定好后,需要在控制台中执行reloadxml(或按F6键)使配置生效。
配置完成后就可以在控制台上进行如下测试(呼叫1001,接听后进入ivr菜单):
freeswitch> originate user/1001 &ivr(welcome)

4.修改dialplan拨号计划

[root@localhost freeswitch]# cd dialplan/
[root@localhost dialplan]# ls
default  default.xml  features.xml  public  public.xml  skinny-patterns  skinny-patterns.xml
[root@localhost dialplan]# vi default.xml 

         
             
             
             
        
    

接下来拨打1234就可以听到ivr语音了

你可能感兴趣的:(freeswitch)