• 安装 FreeSwitch PBX


    安装 FreeSwitch PBX

    https://computingforgeeks.com/how-to-install-freeswitch-pbx-on-ubuntu/

    https://www.cnblogs.com/zhuminghui/p/10980406.html

    PBX 是 Private Branch Exchange 的缩写。它是在组织内使用的专用电话系统,可根据特定组织的需要进行定制。来自组织的 PBX 用户可以在他们之间进行内部通信,也可以与外部世界进行外部通信。通过诸如 VoIP(IP 语音)、ISDN(综合服务数字网络)或模拟等渠道促进外部通信。

    使用 PBX 电话系统的优势在于您可以获得比物理线路更多的电话、用户之间的免费通话以及呼叫队列、数字接线员、呼叫转移、语音邮件和通话录音等海量功能。PBX 电话系统的一些示例包括 FreeSwitch、3cx、Elastix、FreePBX 和 Asterisk。

    在本指南中,我们将了解如何在 Ubuntu 20.04/18.04 上安装 FreeSwitch PBX

     

    什么是 FreeSwitch PBX?

    FreeSwitch 是一个免费的开源通信平台。它支持实时通信、视频和 IP 语音以及 WebRTC。它可以在 Windows、MacOS、Linux 和 FreeBSD 上运行。它用于构建具有诸如带有聊天和屏幕共享的网络会议、IVR、会话边界控制器、批发最低成本路由等功能的 PBX 系统。

    FreeSwitch PBX 系统有哪些特点?

    • 在 Windows、Linux 和 FreeBSD 上运行
    • IVR API
    • WebRTC 支持
    • 通话录音(立体声主叫/被叫左/右)
    • 高性能多线程核心引擎
    • 平行狩猎
    • 连环狩猎
    • 自动话务员
    • 基本 IP/PBX 功能
    • 自定义回铃音(早期媒体)

    在 Ubuntu 20.04/18.04 上安装 FreeSwitch PBX

    首先更新你的系统包

    sudo aptitude update

    接下来,安装在 Ubuntu 20.04/18.04 上运行 FreeSwitch PBX 所需的依赖项

    sudo aptitude install -y git subversion build-essential autoconf automake libtool libncurses5 libncurses5-dev make libjpeg-dev libtool libtool-bin libsqlite3-dev libpcre3-dev libspeexdsp-dev libldns-dev libedit-dev yasm liblua5.2-dev libopus-dev cmake
    sudo aptitude install -y libavformat-dev libswscale-dev

    以下软件包是可选的,但我们可以安装它们。

    sudo aptitude install -y libcurl4-openssl-dev libexpat1-dev libgnutls28-dev libtiff5-dev libx11-dev unixodbc-dev libssl-dev python-dev zlib1g-dev libasound2-dev libogg-dev libvorbis-dev libperl-dev libgdbm-dev libdb-dev uuid-dev libsndfile1-dev

    安装libks和信号线

    sudo aptitude install -y cmake
    cd /usr/src
    sudo git clone https://github.com/signalwire/libks.git
    cd libks
    sudo cmake .
    sudo make
    sudo make install
    
    cd /usr/src
    git clone https://github.com/signalwire/signalwire-c.git
    cd signalwire-c
    sudo cmake .
    sudo make
    sudo make install

    接下来,使用wget从发布页面 获取最新的 FreeSwitch 版本

    cd /usr/src
    sudo wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.zip
    sudo apt -y install unzip
    sudo unzip freeswitch-1.10.3.-release.zip
    cd freeswitch-1.10.3.-release/

    请注意,如果您没有安装 unzip,请通过运行apt -y install unzip安装它

    sudo aptitude install -y unzip

    现在运行标准安装过程

    sudo ./configure -C
    sudo make

    如果在编译过程中遇到错误,可以注释掉任何抛出错误的模块或安装缺少的依赖项。就我而言,我最初注释掉了语言/mod_lua 和应用程序/mod_signalwire,但您可以根据收到的错误注释掉更多内容。之后重新开始编译,如下所示:

    sudo ./configure && sudo make clean && sudo make

    对于成功的编译,您将看到如下输出:

    接下来,安装freeswitch

    sudo make install

    输出

    现在编译声音

    sudo make all cd-sounds-install cd-moh-install

    创建simlink以轻松使用服务。

    sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
    sudo ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin

    添加具有较少权限的新组和用户来运行 FreeSWITCH 服务。

    cd /usr/local
    sudo groupadd freeswitch
    sudo adduser --disabled-password  --quiet --system --home /usr/local/freeswitch --gecos "FreeSWITCH Voice Platform" --ingroup freeswitch freeswitch
    sudo chown -R freeswitch:freeswitch /usr/local/freeswitch/
    sudo chmod -R ug=rwX,o= /usr/local/freeswitch/
    sudo chmod -R u=rwx,g=rx /usr/local/freeswitch/bin/
    

    我们需要将 FreeSwitch 添加为 systemd 单元文件。使用您喜欢的编辑器打开新文件/etc/systemd/system/freeswitch.service粘贴以下内容:

    sudo vim /etc/systemd/system/freeswitch.service

    粘贴以下内容

    [Unit]
    Description=freeswitch
    Wants=network-online.target
    Requires=syslog.socket network.target local-fs.target
    After=syslog.socket network.target network-online.target local-fs.target
    
    [Service]
    Type=forking
    Environment="DAEMON_OPTS=-nonat"
    EnvironmentFile=-/etc/default/freeswitch
    ExecStartPre=/bin/chown -R freeswitch:freeswitch /usr/local/freeswitch
    ExecStart=/usr/bin/freeswitch -u freeswitch -g freeswitch -ncwait $DAEMON_OPTS
    TimeoutSec=45s
    Restart=always
    RestartSec=90
    StartLimitInterval=0
    StartLimitBurst=6
    
    User=root
    Group=daemon
    LimitCORE=infinity
    LimitNOFILE=100000
    LimitNPROC=60000
    LimitSTACK=250000
    LimitRTPRIO=infinity
    LimitRTTIME=infinity
    IOSchedulingClass=realtime
    IOSchedulingPriority=2
    CPUSchedulingPolicy=rr
    CPUSchedulingPriority=89
    UMask=0007
    NoNewPrivileges=false
    
    [Install]
    WantedBy=multi-user.target
    

    启动 FreeSwitch 服务并在启动时启用它

    sudo chmod ugo+x /etc/systemd/system/freeswitch.service
    sudo systemctl start freeswitch.service
    sudo systemctl enable freeswitch.service

    现在检查 FreeSWITCH 服务的状态

    sudo systemctl status freeswitch.service

    如果 freeswitch 已正确安装并运行,输出应如图所示

    现在您可以使用客户端连接到 FreeSWITCH,如下所示

    # fs_cli -r

    您将看到如下输出:

     

    =========== End

     
  • 相关阅读:
    用Python查找数组中出现奇数次的那个数字
    python之路--MySQL多表查询
    python之路--MySQl单表查询
    python之路--MySQL 库,表的详细操作
    python之路--MySQL数据库初识
    python之路--线程的其他方法
    python之路--关于线程的一些方法
    python之路--管道, 事件, 信号量, 进程池
    python之路--进程内容补充
    python之路--操作系统介绍,进程的创建
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/16201253.html
Copyright © 2020-2023  润新知