用FreeSWITCH實現IVR


 
IVR系統默認的配置文件為/usr/local/freeswitch/conf/autoload_configs/ivr.conf.xml
<include>
    <menus>
        <menu name="welcome"
         greet-long="/usr/local/freeswitch/sounds/welcome.wav"
        greet-short="/usr/local/freeswitch/sounds/morning.wav"   #一定要注意錄音文件的路徑
        invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
        exit-sound="voicemail/vm-goodbye.wav"
        timeout="15000"
        max-failures="3"
        max-timeouts="3"
        inter-digit-timeout="2000"
        digit-len="4">
        <entry action="menu-exec-app" digits="0" param="transfer 1000 XML default"/>
        <entry action="menu-exec-app" digits="/^(10[01][0-9])$/" param="transfer $1 XML default"/>
        <menu>
    <menus>
<include>
 
實現撥打4321號碼,轉到IVR流程
編輯/usr/local/freeswitch/conf/dialplan/default.xml  新增如下代碼
<extension name="incoming_ivr">
      <condition field="destination_number" expression="^4321$">
        <action application="answer"/>
        <action application="sleep" data="2000"/>
        <action application="ivr" data="welcome"/>
      </condition>
    </extension>
greet-long:指定最開始的歡迎詞,該語音文件默認位置應該是在/usr/local/freeswitch/sounds目錄下;
greet-short:該項指定一個簡短的提示音,如果用戶長時間沒有哦按鍵,則應重新提示撥號;
invalid-sound:如果用戶按錯了鍵,則會使用該提示;
exit-sound:該項指定最后菜單退出是(一般是超時沒有按鍵)的聲音;
timeout:指定超時時間(毫秒),即多長時間沒有收到按鍵就超時,播放其他提示音;
max-failures:為容忍用戶按鍵錯誤的次數;
max-timeouts:即最大超時次數;
inter-digit-timeout:為兩次按鍵的最大間隔(毫秒);
digit-len:說明菜單項的長度,即最大收號位數。
按時間進線路由
<extension name="time_based_ivr">
    <condition wday="2-6" hour="8:30-17:30">
        <action application="ivr" data="ivr_day"/>
        <anti-action application="ivr" data="ivr_night"/>
    </condition>
</extension>
wday表示星期(星期日的值為“0“,故周一到五則的值用“2-6”表示)
使用sound_prefix,播放中文語音
修改/usr/local/freeswitch/conf/vars.xml為
<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/zh/cn/link"/>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM