zoukankan      html  css  js  c++  java
  • centos7 安装freeswitch

     1、安装运行库

      yum install -y git gcc-c++ wget alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gdbm-devel gnutls-devel ilbc2-devel ldns-devel libcodec2-devel libcurl-devel libedit-devel libidn-devel libjpeg-devel libmemcached-devel libogg-devel libsilk-devel libsndfile-devel libtiff-devel libtheora-devel libtool libvorbis-devel libxml2-devel lua-devel lzo-devel mongo-c-driver-devel ncurses-devel net-snmp-devel openssl-devel opus-devel pcre-devel perl perl-ExtUtils-Embed pkgconfig portaudio-devel postgresql-devel python26-devel python-devel soundtouch-devel speex-devel sqlite-devel unbound-devel unixODBC-devel libuuid-devel which yasm zlib-devel

    2、 cd /usr/local

    3、wget  http://files.freeswitch.org/freeswitch-releases/freeswitch-1.8.2.tar.bz2

    4、tar xvjf freeswitch-1.8.2.tar.bz2

    5、cd freeswitch-1.8.2

    6、./configure

    7、make install

    ---------------------------以上是安装freeswitch    下面是安装声音文件---------------------------

    语音包是安装在 /usr/local/freeswitch-1.8.2/sounds 下的

    1、make sounds-install

    2、make moh-install

     

     

    安装错误及其他

    一. 编译出错

    安装 之前, 最好 先安装 这几个东西(如果有, 请忽略):

    yasm (有nasm的话 不用装这个) ,

    opus-devel(可能 提示 libopus-dev 或 libopus-devel 等) ,

    lua-devel , libsndfile-devel , libtiff-devel

     

    当然了,  你也可以 先不管, 等 出错 提示了, 在按照下面的方法安装:

    1. 安装 yasm ,  yasm 和 nasm 必须要有一个,必须装了!

    错误提示: Neither yasm nor nasm have been found

    ((which nasm) || (which yasm) || (git clone https://github.com/yasm/yasm.git && cd yasm && ./autogen.sh && make && make install))

    2.安装 lua-devel

    错误提示:  找不到 lua.h 等lua的头文件

    yum install lua lua-devel

    3.安装 opus-devel

    错误提示: You must install libopus-dev to build mod_opus

    yum -y install opus-devel

    #可能需要清理:  make clean && ./configure && make

    如果还是报这个错误, 就注释这两行,在Makefile:

    vim freeswitch/src/mod/codecs/mod_opus/Makefile

    # Comment line 896 & 897

    #install: error

    #all: error

    4.安装 sndfile

    错误提示 :  You must install libsndfile-dev to build mod_sndfile

    #下载包libsndfile-x.x.xx.tar.gz  from地址 http://www.mega-nerd.com/libsndfile/#Download,  然后

    tar zxvf libsndfile-1.0.26.tar.gz

    ./configure

    make

    make install

    cp /usr/local/lib/pkgconfig/sndfile.pc /usr/lib64/pkgconfig

    #然后 重新 configure   FreeSWITCH...

    如果还是报这个错误,就注释这两行,在Makefile:

     

    vim src/mod/formats/mod_sndfile/Makefile

    # Comment line 897 & 898

    #install: error

    #all: error

    5.安装 libyuv 

    错误提示: You must install libyuv-dev to build mod_fsv

    cd freeswitch/libs 

    git clone https://freeswitch.org/stash/scm/sd/libyuv.gitcd libyuv

    make -f linux.mk CXXFLAGS="-fPIC -O2 -fomit-frame-pointer -Iinclude/"

    make install

    cp /usr/lib/pkgconfig/libyuv.pc /usr/lib64/pkgconfig/

    6.安装 libvpx

    错误提示: You must install libvpx-dev to build ....

    cd freeswitch/libs

    git clone https://freeswitch.org/stash/scm/sd/libvpx.git

    cd libvpx

    ./configure --enable-pic --disable-static --enable-shared

    make

    make install

    cp /usr/local/lib/pkgconfig/vpx.pc /usr/lib64/pkgconfig

     

    7.安装 libpng

    错误提示: You must install libpng-dev to build ....

    git clone https://freeswitch.org/stash/scm/sd/libpng.git

    cd libpng

    ./configure

    Make

    make install

    cp /usr/local/lib/pkgconfig/libpng* /usr/lib64/pkgconfig/

     

    8.安装 libav

    错误提示: You must install libav-dev to build ....

    git clone https://freeswitch.org/stash/scm/sd/libav.git

    cd libav

    ./configure             #CFLAGS="-fPIC" ./configure --enable-pic --enable-shared

    make                    # make CXXFLAGS="-fPIC"

    make install

     

     . 其他问题

    1.错误提示: libs/spandsp

     

    configure: loading cache ../../config.cache

    configure: error: `CFLAGS' was not set in the previous run

    configure: error: `CPPFLAGS' was not set in the previous run

    configure: error: in `/usr/src/freeswitch.git/libs/spandsp':

    configure: error: changes in the environment can compromise the build

    configure: error: run `make distclean' and/or `rm ../../config.cache' and start over

     

    解决: 重新 configure

    ./configure -C && make

     

    . 安装中文语音

    fs默认不加载中文语音。需要在fs的src中首先编译中文模块。

    1.编译:

    a.在 configure 之前, 编辑 modules.conf,  取消 "#say/mod_say_zh"  这行的注释 ->"say/mod_say_zh"

    b.补救安装 `make mod_say_zh-install` 

    2.加载(不重启fs

    在fs控制台上加载该模块 `load mod _say_zh` 
    若想fs在每次启动的时候都加载该模块,就在`autoload_configs/modules.conf.xml`中`<load module="mod_say_zh">`的注释去掉即可。

    也可以这样:

    sed -i 's#<!-- <load module="mod_say_zh"/> -->#<load module="mod_say_zh"/>#g' autoload_configs/modules.conf.xml

     

    3.修改 `var.xml`中的配置 

    `<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/en/us/callie"/>`修改为中文语音文件的目录
    `<X-PRE-PROCESS cmd="set" data="sound_prefix=$${sounds_dir}/zh/cn/link"/>`
    加入以下几行(也可以不加)

    <X-PRE-PROCESS cmd="set" data="default_language=zh"/>
    <X-PRE-PROCESS cmd="set" data="default_dialect=cn"/>
    <X-PRE-PROCESS cmd="set" data="default_voice=sue"/>

    4.加入中文语音配置

    cd conf/lang

    cp -R en zh

    mv zh/en.xml zh/zh.xml

    vim zh/zh.xml

    (替换路径`en/us/callie`和 `en`等:第二行修改为)

    <language name="zh" say-module="zh" sound-prefix="$${sounds_dir}/zh/cn/link" tts-engine="cepstral" tts-voice="link">

    或者修改zh.xml
      <language name="zh" say-module="zh" sound-prefix="$${sound_prefix}/zh/cn/link" tts-engine="mod_tts_commandline" tts-voice="link">
    7、/usr/local/freeswitch/
    conf/freeswitch.xml
      在61行增加   <X-PRE-PROCESS cmd="include" data="lang/zh/*.xml"/>
    8
    、控制台 reloadxml

    5. 载入中文配置

    在`freeswitch.xml`的`<section name="languages" `节点中增加一行 (或那一行取消注释)

    ` <X-PRE-PROCESS cmd="include" data="lang/zh/*.xml"/>`

     

    . 解决ESL拒绝连接问题

    默认是只接受本机连接的,稍一改动就 内外都不能连接了,或者只能接受内外之一连接 

    解决方法:

    1. event_socket.conf.xml 加入:

    <param name="apply-inbound-acl" value="domains"/>

     

    2. acl.conf.xml 加入:

    <list name="domains" default="deny">

    <node type="allow" domain="$${domain}"/>

    <node type="allow" cidr="192.168.1.0/24"/>

    <node type="allow" cidr="127.0.0.1/24"/>

    </list>

     

    FreeSwitch开启录音功能

    修改拨码计划

    打开文件../freeswitch/conf/dialplan/default.xml

    找到Local_Extension节点

     

    <extension name="Local_Extension">

    <condition field="destination_number" expression="^(10[01][0-8])$">

    在其下,添加:

    <action application="set" data="RECORD_TITLE=Recording ${destination_number} ${caller_id_number} ${strftime(%Y-%m-%d %H:%M)}"/> 

    <action application="set" data="RECORD_COPYRIGHT=(c) 2011"/> 

    <action application="set" data="RECORD_SOFTWARE=FreeSWITCH"/>

    <action application="set" data="RECORD_ARTIST=FreeSWITCH"/>

    <action application="set" data="RECORD_COMMENT=FreeSWITCH"/>

    <action application="set" data="RECORD_DATE=${strftime(%Y-%m-%d %H:%M)}"/>

    <action application="set" data="RECORD_STEREO=true"/>

    <action application="record_session" data="$${base_dir}/recordings/archive/${strftime(%Y-%m-%d-%H-%M-%S)}_${destination_number}_${caller_id_number}.wav"/>

     

    freeswitch呼叫慢的问题

    安装完freeswitch后,测试中发现呼叫请求服务器处理的特别慢,后来跟踪发现在/usr/local/freeswitch/conf/dialplan/default.xml中有个sleep 10s的处理,

    <condition field="${default_password}" expression="^1234$" break="never">

            <action application="log" data="CRIT WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING "/>

            <action application="log" data="CRIT Open $${conf_dir}/vars.xml and change the default_password."/>

            <action application="log" data="CRIT Once changed type 'reloadxml' at the console."/>

     

  • 相关阅读:
    83. Remove Duplicates from Sorted List
    35. Search Insert Position
    96. Unique Binary Search Trees
    94. Binary Tree Inorder Traversal
    117. Populating Next Right Pointers in Each Node II
    116. Populating Next Right Pointers in Each Node
    111. Minimum Depth of Binary Tree
    169. Majority Element
    171. Excel Sheet Column Number
    190. Reverse Bits
  • 原文地址:https://www.cnblogs.com/allen-zhang/p/11797876.html
Copyright © 2011-2022 走看看