Note to myself:
Untuk instalasi FreeSwitch PBX di Ubuntu 20.04 membutuhkan:
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 unzip 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 liblua5.2-dev libsocket++-dev libpq-dev libswscale-dev libc6-dev libavformat-dev


Instruksi:

 

  1. Install paket yang diperlukan:
    1. sudo apt 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 unzip
    2. sudo apt 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
    3. sudo apt install libc6-dev libavformat-dev libswscale-dev libpq-dev libsocket++-dev liblua5.2-dev
  2. Install libks dari source:
    1. cd /usr/src
      sudo git clone https://github.com/signalwire/libks.git
      cd libks
      sudo cmake .
      sudo make
      sudo make install
  3. install Signal Wire dari source:
    1. cd /usr/src
      sudo git clone https://github.com/signalwire/signalwire-c.git
      cd signalwire-c
      sudo cmake .
      sudo make
      sudo make install
  4.  Download FreeSwitch source:
    1. cd /usr/src
      sudo wget https://files.freeswitch.org/freeswitch-releases/freeswitch-1.10.3.-release.zip
      sudo unzip freeswitch-1.10.3.-release.zip
      cd freeswitch-1.10.3.-release/
  5.  Compile FreeSwitch:
    1. sudo ./configure -C
      sudo make
    2. Kalau ada error, benahi dulu kekurangan atau errornya, kemudian recompile
      sudo ./configure && sudo make clean && sudo make
  6. Install FreeSwitch:
    1. sudo make install
  7. Compile dan install FreeSwitch Sounds:
    1. sudo make all cd-sounds-install cd-moh-install
    2. sudo ln -s /usr/local/freeswitch/bin/freeswitch /usr/bin/
    3. sudo ln -s /usr/local/freeswitch/bin/fs_cli /usr/bin
  8. Buat user dan group untuk FreeSwitch service:
    1. 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/
  9. Buat system service untuk initd:
    1. sudo vim /etc/systemd/system/freeswitch.service

    2. Isi dengan text berikut:
      [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

  10. Buka port pada firewall:
    1. sudo ufw allow 1720
    2. sudo ufw allow 5060
    3. sudo ufw allow 50505 
  11. Enabling freeswitch service saat boot:
    1. sudo chmod ugo+x freeswitch.service
      sudo systemctl start freeswitch.service
      sudo systemctl enable freeswitch.service
  12. Check status freeswitch service:
    1. sudo systemctl status freeswitch.service
    2. sudo fs_cli -r

 

Done.
Semoga lancar.

No comments

Leave your comment

In reply to Some User