วิธีการลง asterisk 16 + freepbx 15 บน PI

Running Debian, Asterisk and FreePBX on the Raspberry Pi

วิธีการลง asterisk 16 + freepbx 15 บน PI

โพสต์โดย sitt01 » 09 มิ.ย. 2020 11:02

ต่อเนื่องจาก วิธี บูท rasberry Pi จาก USB drive โดยไม่ต้องใช้ sdcard ผมใช้ imgae จาก ไปเจอมา freepbx สำหรับ PI4 และที่ http://www.raspberry-asterisk.org/downloads/ แล้วผลปรากฎว่า โหลดไปได้แล้ว เครื่องกับค้างบูทไม่เสร็จ เลยต้องไปโหลด rasiberrin Pi OS ที่ https://www.raspberrypi.org/downloads/raspberry-pi-os/ ผลออกได้ใช้ได้ครับไม่มีอาการค้างแต่อย่างใด แต่มันไม่มี ระบบ VOIP SERVER ก็เลยต้องลงเองทีละขึ้นตอน
ลง asterisk 16
1. update ก่อน
โค้ด: เลือกทั้งหมด
sudo apt update && sudo apt -y upgrade
sudo reboot

2.ลงโปรแกรมอื่่นที่โปรแกรมหลักต้องใช้ **ผมใส่ --fix-missing ไว้ด้วยเพราะถ้าไม่ใส่ โปรแกรมบางตัวมันจะหาไม่เจอ และไม่ลงให้ อาจเป็นเพราะเราลงใน PI มันไม่เหมือนลงใน คอม เลยต้องหาที่ liberry อื่นๆอีกที ...อันนี้ผมเดาเอาเองนะครับ เอาเป็นว่าใส่มันลงไปแล้ว ลงได้ครบก็เลยใส่ไว้
โค้ด: เลือกทั้งหมด
apt-get -y install subversion libspeexdsp-dev unixodbc-dev libmariadbclient-dev-compat libnewt-dev libncurses5-dev uuid-dev libxml2-dev libsqlite3-dev libssl-dev portaudio19-dev libedit-dev --fix-missing

3.ลงโปรมแกรม หลัก asterisk 16
โค้ด: เลือกทั้งหมด
cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar xvf asterisk-16-current.tar.gz
rm -f asterisk-16-current.tar.gz
cd asterisk-16.6.1
./configure --with-jansson-bundled --with-pjproject-bundled
./contrib/scripts/get_mp3_source.sh
make menuselect
make
make install
make config
make samples

ตาง make munuselect ให้ เลือก chan_ooh323 กับ format_mp3 ในหัวข้อ ADD-ons ด้วยนะครับ ที่เหลือเลือกใส่ตามใจชอบเลย


4.เสร็จแล้วลง codec g729 เลย
4.1 Install dependency
โค้ด: เลือกทั้งหมด
apt -y install dh-autoreconf

4.2 Install BCG729
โค้ด: เลือกทั้งหมด
cd /usr/src
wget http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/bcg729-1.0.2.tar.gz
tar xzf bcg729-1.0.2.tar.gz
rm -f bcg729-1.0.2.tar.gz
cd bcg729-1.0.2
./configure
make
make installcd /usr/src

4.3 Install the Asterisk g729 codec.
โค้ด: เลือกทั้งหมด
wget http://asterisk.hosting.lv/src/asterisk-g72x-1.4.3.tar.bz2
tar xjf asterisk-g72x-1.4.3.tar.bz2
rm -f asterisk-g72x-1.4.3.tar.bz2
cd asterisk-g72x-1.4.3
./autogen.sh
./configure CFLAGS='-march=armv6' --with-asterisk160 --with-bcg729  --with-asterisk-includes=../asterisk-16.6.1/include
make
make install

5. ใส่ user และ Group สำหรับใช้งานsudo groupadd asterisk
โค้ด: เลือกทั้งหมด
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk

6. กำหนด Default user สำหรับ Asterisk
โค้ด: เลือกทั้งหมด
sudo nano /etc/default/asterisk

เอาเครื่องหมาย ; ด้านหน้า ออก
AST_USER="asterisk"
AST_GROUP="asterisk"
7. กำหนด permissions ใน files /etc/asterisk/asterisk.conf
เลื่อนลงมาด้านล่างของ file แล้วเอาเครื่องหมาย ; ออก
[files]
astctlpermissions = 0660
astctlowner = asterisk
astctlgroup = asterisk
astctl = asterisk.ctl
8. แก้ที่อยู่ของ radiusclient.conf ไม่อย่างนั้นมันจะ error หา file นี้ไม่เจอ
เข้าไปแก้ที่ /etc/asterisk/cdr.conf กับ /etc/asterisk/cel.confโดยแก้เป็น
โค้ด: เลือกทั้งหมด
[radius]
radiuscfg => /etc/radcli/radiusclient.conf

ที้ง 2 file เหมือนกัน
9 รีสตาร์ด asterisk
โค้ด: เลือกทั้งหมด
systemctl stop asterisk
systemctl start asterisk
asterisk -rv

เสร็จในส่วนของasterisk 16 แล้่ว
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 309
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: วิธีการลง asterisk 16 + freepbx 15 บน PI

โพสต์โดย sitt01 » 12 มิ.ย. 2020 18:18

ถ้าใคร ลง codec G729 แล้ว มี error ให้ dowload ตัวนี้ bcg729 นะครับ bcg729-1.0.4
โค้ด: เลือกทั้งหมด
cd /tmp
wget https://www.linphone.org/releases/sources/bcg729/bcg729-1.0.4.tar.gz
tar xjf bcg729-1.0.4.tar.gz
cd bcg729-1.0.4
./autogen.sh
./configure
make
sudo make install

จากนั้นไป complie Asterisk g729 codec. อีกครั้งก็จะสำเร็จครับ
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 309
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: วิธีการลง asterisk 16 + freepbx 15 บน PI

โพสต์โดย sitt01 » 12 มิ.ย. 2020 18:32

มาต่อที่ freepbx 15
1. ลง Mariadb
โค้ด: เลือกทั้งหมด
sudo apt update
sudo apt -y install mariadb-server mariadb-client --fix-missing

2. ลง node.jd.10
โค้ด: เลือกทั้งหมด
sudo apt update
sudo apt -y install curl dirmngr apt-transport-https lsb-release ca-certificates --fix-missing
curl -sL https://deb.nodesource.com/setup_10.x | sudo bash

3. ลงโปรแกรม Yarn
โค้ด: เลือกทั้งหมด
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update && sudo apt-get install yarn

4 ลง apache2
โค้ด: เลือกทั้งหมด
sudo apt -y install apache2 --fix-missing

5 เปลี่ยน apache2 user
โค้ด: เลือกทั้งหมด
sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
sudo sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
sudo sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf

6 เอา apache index home page ออก
โค้ด: เลือกทั้งหมด
sudo rm -f /var/www/html/index.html

7. ลง PHP
โค้ด: เลือกทั้งหมด
sudo apt -y install wget php php-pear php-cgi php-common php-curl php-mbstring php-gd php-mysql php-gettext php-bcmath php-zip php-xml php-imap php-json php-snmp php-fpm libapache2-mod-php --fix-missing

8 เปลียน maximun upload size ุ(ถ้า เป็น PHP version อื่น ให้เปลี่ยน ที่อยู่ตามด้วยนะครับ
โค้ด: เลือกทั้งหมด
sudo sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.3/apache2/php.ini
sudo sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.3/cli/php.ini

9. ลง freepbx
โค้ด: เลือกทั้งหมด
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
tar xfz freepbx-15.0-latest.tgz
rm -f freepbx-15.0-latest.tgz
cd freepbx
sudo ./start_asterisk start
sudo ./install -n
รอจนเสร็จ จากนั้น
sudo a2enmod rewrite
sudo systemctl restart apache2

เสร็จแล้วครับ
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 309
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: วิธีการลง asterisk 16 + freepbx 15 บน PI

โพสต์โดย sitt01 » 12 มิ.ย. 2020 18:40

ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 309
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: วิธีการลง asterisk 16 + freepbx 15 บน PI

โพสต์โดย sitt01 » 12 มิ.ย. 2020 18:50

ยังมี error อีกนิดหน่อยนะครับ
พอไปที่ GUI ของ free pbx จะเจอ error ว่า No Swap file ให้แก้ด้วยคำสั่งนี้
โค้ด: เลือกทั้งหมด
dd if=/dev/zero of=/swapfile bs=1024 count=65536
swapon -a
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 309
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: วิธีการลง asterisk 16 + freepbx 15 บน PI

โพสต์โดย sitt01 » 16 มิ.ย. 2020 11:45

พอแก้เสร็จก็จะเจอ อีก noswap error
โค้ด: เลือกทั้งหมด
The swap space of your system is too low (102396 KB). You should have at least 200000 KB of swap space. This should be fixed as soon as possible. Once fixed issue a reload to remove this message


ให้เข้าไปแก้ที่ fie /etc/php/7.3/apache2/php.ini หาข้อความ memoey_limite = 128M เปลี่ยน จาก 1028 เป็น 256M แล้ว reboot ข้อความ error no swap จะหายไป
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 309
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: วิธีการลง asterisk 16 + freepbx 15 บน PI

โพสต์โดย sitt01 » 18 มิ.ย. 2020 21:30

มีข้อผิดพลาดอีกเล็กๆน้อยตอนที่เขียน เช่นในข้อ3 ตอนเลือก menu select ต้องเลือก app_macro ในหัวข้อ application ด้วยไม่อย่างนั้นจะโทรหากันไม่ได้

3.ลงโปรมแกรม หลัก asterisk 16
โค้ด: เลือกทั้งหมด
cd /usr/src
wget http://downloads.asterisk.org/pub/telep ... ent.tar.gz
tar xvf asterisk-16-current.tar.gz
rm -f asterisk-16-current.tar.gz
cd asterisk-16.6.1
./configure --with-jansson-bundled --with-pjproject-bundled
./contrib/scripts/get_mp3_source.sh
make menuselect
make
make install
make config
make samples

ตาง make munuselect ให้ เลือก chan_ooh323 กับ format_mp3 ในหัวข้อ ADD-ons ด้วยนะครับ ที่เหลือเลือกใส่ตามใจชอบเลย
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Gold Member
 
โพสต์: 309
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19


ย้อนกลับไปยัง RasPBX - Asterisk for Raspberry Pi

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และ บุคคลทั่วไป 0 ท่าน