zoukankan      html  css  js  c++  java
  • Freeswitch 安装爬坑记录1

    2 Freeswitch的安装

    2.1 准备工作

    • 服务器安装CentOS

    • 因为是内部环境,可以关闭一些防火墙设置,保证不会因为网络限制而不能连接

      关闭防火墙
      查看防火墙 systemctl status firewalld
      关闭防火墙 systemctl stop firewalld
      查看防火墙服务是否开机启动 systemctl is-enabled firewalld
      关闭防火墙开机启动 systemctl disable firewalld

      关闭 SELinux
      查看当前SELinux状态 getenforce
      关闭SElinux setenforce 0
      编辑配置文件 vim /etc/selinux/config
      SELINUX=permissive
      修改此参数,修改为 disabled

    • 更新环境

      yum -y update

    • 先大概的安装一些编译环境需要的模块,在安装过程中再根据报错提示进行需要的模块安装

      yum install -y http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm epel-release
      yum install -y git alsa-lib-devel autoconf automake bison broadvoice-devel bzip2 curl-devel db-devel e2fsprogs-devel flite-devel g722_1-devel gcc-c++ 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 libtheora-devel libtiff-devel libtool libuuid-devel 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 wget which yasm zlib-devel libks libks-devel signalwire-client-c signalwire-client-c-level

    2.2 下载freeswitch

    2.3 编译

    • 编译

      cd /usr/local/src/freeswitch
      ./bootstrap.sh -j
      ./configure --enable-portable-binary \
      --prefix=/usr --localstatedir=/var --sysconfdir=/etc \
      --with-gnu-ld --with-python --with-erlang --with-openssl \
      --enable-core-odbc-support --enable-zrtp
      ./bootstrap.sh
      ./configure

    • 运行后应该会有一些编译环境没有安装完成,会有报错提示,根据提示安装完所有模块,注意要使用正确的模块名称,一般是去掉版本号,同时还要安装一个同名的带-devel结尾的开发版本模块

      yum install -y 模块名称

    • 缺少模块出现如下提示

      checking for spandsp >= 3.0... configure: error: no usable spandsp; please install spandsp3 devel package or equivalent

    • 根据提示对应需要安装spandsp3和spandsp3-devel

      yum install -y spandsp3
      yum install -y spandsp3-devel

    • 安装spandsp3p这个包时,有可能会出现下载镜像点没有对应的包体,阿里,网易,教育网等都没有对应的镜像,所以需要给系统添加更多的第三方镜像,这里推荐以下镜像:

      Install OKey repository:
      yum install http://repo.okay.com.mx/centos/7/x86_64/release/okay-release-1-1.noarch.rpm

      Install cheese repository:
      yum install http://www.nosuchhost.net/~cheese/fedora/packages/epel-7/x86_64/cheese-release-7-1.noarch.rpm

    • 安装完成这个第三方镜像后,下载包体时会从这个第三方镜像FTP下载,下载后会进行密钥校验,会出现校验报错

      警告:/var/cache/yum/x86_64/7/okay/packages/spandsp-3.0.0-1.el7.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 13d0a55d: NOKEY
      从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OKAY 检索密钥
      源 "Extra OKay Packages for Enterprise Linux - x86_64" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
      失败的软件包是:spandsp-3.0.0-1.el7.x86_64
      GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-OKAY

    • 我们需要把第三方镜像FTP下载后的密钥校验给关闭,之后可正常安装第三方包体,方法如下:

      找到文件 /etc/yum.repos.d/okey.repo
      打开后将其中所有 gpgcheck=0 改为 gpgcheck=1

    • 其它第三方镜像源出现问题,同理处理。

    • 安装spandsp3-devel时如果发生依赖关系问题,因为spandsp3已经依赖关系对应到spandsp-devel上了,所以无法安装成功,这时我们需要把spandsp和spandsp-devel都移除后就可以正确安装spandsp3-devel了

      yum remove -y spandsp
      yum remove -y spandsp-devel

    • 安装完重成,要重新进行编译步骤的两个命令,再看是否提示其它模块需要安装

    • 缺少模块出现如下提示

      checking for sofia-sip-ua >= 1.13.6... configure: error: no usable sofia-sip; please install sofia-sip-ua devel package or equivalent

    • 需要安装对应的devel包,建立依赖关系

      yum install -y sofia-sip
      yum install -y sofia-sip-devel

    • 编译成功会看到如下图提示
      image

    2.4 安装

    • 开始安装,使用安装命令

      make
      make install

    • 安装中会出现错误提示,并且安装过程会中止。其原因为安装环境需要的模块没有安装完成,如下提示:

      Makefile:1442: *** You must install libavformat-dev and libswscale-dev to build mod_av。 停止。

    • 处理这种提示错误,可以发现需要安装 libavformat-devel 和 libswscale-devel ,直接使用yum进行安装

      cd libs
      git clone https://freeswitch.org/stash/scm/sd/libav.git
      或者 wget https://freeswitch.org/stash/rest/api/latest/projects/SD/repos/libav/archive?format=zip
      cd libav
      ./configure
      make
      make install

    • 安装完成后,需要重新编译后才能再次安装,否则安装仍会提示相同问题

      ./bootstrap.sh
      ./configure
      make

    • 另一种解决方案

      编译libav成功
      sudo ldconfig
      修改freeswitch 编译脚本:
      export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:${PKG_CONFIG_PATH}
      ./configure

    • 最终还是没有成功解决,由于mod_av这个模块是用于视频通话的,在呼叫中心当前暂时不会使用到,所以可以直接不安装这个模块先,那么我们可以找到对应安装配置文件,把此模块注释掉,随便把mod_callcenter这个呼叫中心模块打开

      vi /etc/local/src/freeswitch/modules.conf
      ·#applications/mod_av
      applications/mod_callcenter

    • 见到如下图所示,则安装成功:
      image

    • 安装高质量音频文件

      make -j cd-sounds-install
      make -j cd-moh-install

    • 见到如下图所示,则安装成功:
      image

    • 启动freeswitch

      cd /usr/local/freeswitch/bin
      ./freeswitch

    • 见到如下图所示,则运行成功
      image

    • 为了使用方便,可以把启动freeswitch和其命令端做符号链接放到搜索路径中,之后可以在任何路径下直接执行freeswitch 和 fs_cli 来启动

      ln sf /usr/local/freeswitch/bin/freeswitch /usr/bin/
      ln sf /usr/local/freeswitch/bin/fs_cli /usr/bin/

  • 相关阅读:
    蓝桥网试题 java 基础练习 特殊的数字
    蓝桥网试题 java 基础练习 杨辉三角形
    蓝桥网试题 java 基础练习 查找整数
    蓝桥网试题 java 基础练习 数列特征
    蓝桥网试题 java 基础练习 字母图形
    蓝桥网试题 java 基础练习 01字串
    蓝桥网试题 java 基础练习 回文数
    蓝桥网试题 java 基础练习 特殊回文数
    Using text search in Web page with Sikuli
    each of which 用法
  • 原文地址:https://www.cnblogs.com/aowind/p/15655308.html
Copyright © 2011-2022 走看看