FreeSWITCH的moh使用筆記

操作系統 :CentOS 7.6_x64

FreeSWITCH版本 :1.10.9

之前寫過FreeSWITCH安裝的文章,今天整理下moh使用過程中遇到的問題及解決方案,並提供moh音頻下載途徑。FreeSWITCH安裝的文章可參考如下鏈接:

docker構建FreeSWITCH編譯環境及打包
使用docker構建可動態啓動的FreeSWITCH實例
CentOS7環境源碼安裝freeswitch1.10

一、問題描述

FreeSWITCH有hold_music功能,在hold時會觸發,體現在sdp裏面就是a頭裏面是 sendonly 屬性:

 如果沒有啓用local_stream模塊,觸發moh時會報如下錯誤:

[ERR] switch_core_file.c:346 Invalid file format [local_stream] for [moh]!

 如果沒有下載moh音頻,觸發moh時會報如下錯誤:

[ERR] mod_local_stream.c:883 Unknown source default

 二、安裝moh

1、安裝local_stream模塊

文件:freeswitch-1.10.9.-release/modules.conf

模塊名稱:formats/mod_local_stream

 2、安裝moh音頻

  • 安裝8k音頻

make moh-install

下載文件路徑:

https://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-8000-1.0.52.tar.gz

  • 安裝16k音頻

make hd-moh-install

下載文件路徑:

https://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-16000-1.0.52.tar.gz

  • 安裝32k音頻

make uhd-moh-install

下載文件路徑:

https://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-32000-1.0.52.tar.gz

  • 安裝48k音頻

make cd-moh-install

下載文件路徑:

https://files.freeswitch.org/releases/sounds/freeswitch-sounds-music-48000-1.0.52.tar.gz

 安裝完畢的目錄結構:

/usr/local/freeswitch/sounds/music

 如果下載過慢,可以從如下渠道獲取:

關注微信公衆號(聊聊博文,文末可掃碼)後回覆 20231029 獲取。

三、使用moh

1、啓用local_stream模塊

文件:/usr/local/freeswitch/conf/autoload_configs/modules.conf.xml

模塊名稱:mod_local_stream

 2、配置local_stream模塊

配置文件路徑:conf/autoload_configs/local_stream.conf.xml

配置文件內容:

<configuration name="local_stream.conf" description="stream files from local dir">
  <!-- fallback to default if requested moh class isn't found -->
  <directory name="default" path="$${sounds_dir}/music/8000">
    <param name="rate" value="8000"/>
    <param name="shuffle" value="true"/>
    <param name="channels" value="1"/>
    <param name="interval" value="20"/>
    <param name="timer-name" value="soft"/>
    <!-- list of short files to break in with every so often -->
    <!--<param name="chime-list" value="file1.wav,file2.wav"/>-->
    <!-- frequency of break-in (seconds)-->
    <!--<param name="chime-freq" value="30"/>-->
    <!-- limit to how many seconds the file will play -->
    <!--<param name="chime-max" value="500"/>-->
  </directory>

  <directory name="moh/8000" path="$${sounds_dir}/music/8000">
    <param name="rate" value="8000"/>
    <param name="shuffle" value="true"/>
    <param name="channels" value="1"/>
    <param name="interval" value="20"/>
    <param name="timer-name" value="soft"/>
  </directory>

  <directory name="moh/16000" path="$${sounds_dir}/music/16000">
    <param name="rate" value="16000"/>
    <param name="shuffle" value="true"/>
    <param name="channels" value="1"/>
    <param name="interval" value="20"/>
    <param name="timer-name" value="soft"/>
  </directory>

  <directory name="moh/32000" path="$${sounds_dir}/music/32000">
    <param name="rate" value="32000"/>
    <param name="shuffle" value="true"/>
    <param name="channels" value="1"/>
    <param name="interval" value="20"/>
    <param name="timer-name" value="soft"/>
  </directory>

  <directory name="moh/48000" path="$${sounds_dir}/music/48000">
    <param name="rate" value="48000"/>
    <param name="shuffle" value="true"/>
    <param name="channels" value="1"/>
    <param name="interval" value="10"/>
    <param name="timer-name" value="soft"/>
  </directory>

</configuration>

3、配置hold_music

文件:/usr/local/freeswitch/conf/vars.xml

配置內容:

<X-PRE-PROCESS cmd="set" data="hold_music=local_stream://moh"/>

四、資源下載

本文涉及的音頻文件,可以從如下途徑獲取:

關注微信公衆號(聊聊博文)後回覆 20231029 獲取。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章