วิธีการลง asterisk 16 + freepbx 15 บน PI
โพสต์แล้ว: 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 ก่อน
2.ลงโปรแกรมอื่่นที่โปรแกรมหลักต้องใช้ **ผมใส่ --fix-missing ไว้ด้วยเพราะถ้าไม่ใส่ โปรแกรมบางตัวมันจะหาไม่เจอ และไม่ลงให้ อาจเป็นเพราะเราลงใน PI มันไม่เหมือนลงใน คอม เลยต้องหาที่ liberry อื่นๆอีกที ...อันนี้ผมเดาเอาเองนะครับ เอาเป็นว่าใส่มันลงไปแล้ว ลงได้ครบก็เลยใส่ไว้
3.ลงโปรมแกรม หลัก asterisk 16
ตาง make munuselect ให้ เลือก chan_ooh323 กับ format_mp3 ในหัวข้อ ADD-ons ด้วยนะครับ ที่เหลือเลือกใส่ตามใจชอบเลย
4.เสร็จแล้วลง codec g729 เลย
4.1 Install dependency
4.2 Install BCG729
4.3 Install the Asterisk g729 codec.
5. ใส่ user และ Group สำหรับใช้งานsudo groupadd asterisk
6. กำหนด Default user สำหรับ 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โดยแก้เป็น
ที้ง 2 file เหมือนกัน
9 รีสตาร์ด asterisk
เสร็จในส่วนของasterisk 16 แล้่ว
ลง 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 แล้่ว