หมายเหตุ ณ วันที่ผมทำบทความติดตั้งนี้ เวอร์ชั่น Asterisk 18 ยังไม่มีเวอร์ชั่น Stable นะครับ หากท่านใดนำบทความนี้ไปใช้ให้ตรวจสอบจากเว็บไซต์ downloads.asterisk.org/pub/telephony/asterisk อีกครั้งครับ
1. ติดตั้ง CentOS 7 และอัพเดท
- โค้ด: เลือกทั้งหมด
- yum -y update
2. ปิด SELinux
- โค้ด: เลือกทั้งหมด
- sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
 sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
3. ปิด firewalld
- โค้ด: เลือกทั้งหมด
- systemctl disable firewalld
 systemctl stop firewalld
4. ติดตั้ง Packets เพิ่ม
- โค้ด: เลือกทั้งหมด
- yum -y install kernel kernel-tools kernel-tools-libs kernel-headers kernel-devel gcc gcc-c++ bison flex patch make ncurses-devel newt-devel autoconf automake libxml2-devel mariadb mariadb-devel mariadb-libs libtiff-devel net-snmp-libs net-snmp-devel net-snmp-utils net-snmp-perl wireshark httpd-devel mod_ssl ntp libtool-ltdl-devel libxslt-devel sqlite-devel wget libuuid libuuid-devel uuid uuid-devel ftp bzip2 libedit-devel libedit svn net-tools libtool
5. ติดตั้ง libmcrypt และ mhash
- โค้ด: เลือกทั้งหมด
- rpm -ivh http://www.voip4share.com/sources2/libmcrypt-2.5.8-13.el7.x86_64.rpm
 rpm -ivh http://www.voip4share.com/sources2/mhash-0.9.9.9-10.el7.x86_64.rpm
6. รีบู๊ตเครื่อง
- โค้ด: เลือกทั้งหมด
- reboot
7. ติดตั้ง radiusclient-ng
- โค้ด: เลือกทั้งหมด
- cd /home
 wget 'http://www.voip4share.com/sources/radiusclient-ng-0.5.6.tar.gz'
 tar xzvf radiusclient-ng-0.5.6.tar.gz -C /usr/src/
 cd /usr/src/radiusclient-ng-0.5.6
 ./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
 make && make install
8. ติดตั้ง spandsp
- โค้ด: เลือกทั้งหมด
- cd /home
 wget http://www.voip4share.com/sources/spandsp-0.0.6pre21.tgz
 tar xzvf spandsp-0.0.6pre21.tgz -C /usr/src
 cd /usr/src/spandsp-0.0.6
 ./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
 make clean && make && make install
9. ติดตั้ง DAHDI 3.1.0
- โค้ด: เลือกทั้งหมด
- cd /home
 wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-3.1.0+3.1.0.tar.gz
 tar xvf dahdi-linux-complete-3.1.0+3.1.0.tar.gz -C /usr/src
 cd /usr/src/dahdi-linux-complete-3.1.0+3.1.0
 make all
 make install
 make install-config
(ออปชั่น) หรือจะติดตั้ง DAHDI 2.11.1 ก็ได้ ดังนี้
- โค้ด: เลือกทั้งหมด
- cd /home
 wget http://www.voip4share.com/sources/dahdi-linux-complete-2.11.1+2.11.1.tar.gz
 tar xvf dahdi-linux-complete-2.11.1+2.11.1.tar.gz -C /usr/src
 cd /usr/src/dahdi-linux-complete-2.11.1+2.11.1
 make distclean
 make all
 make install
 make config
 cp -p /usr/src/dahdi-linux-complete-*/tools/dahdi.init /etc/init.d/dahdi
 cp -p /etc/dahdi/system.conf.sample /etc/dahdi/system.conf
 systemctl enable dahdi
 ldconfig
(ออปชั่น) สตาร์ท dahdi หรือไม่ต้องสตาร์ทก็ได้ถ้าไม่ได้ติดตั้ง DAHDI Card
- โค้ด: เลือกทั้งหมด
- systemctl start dahdi
10. ติดตั้ง libpri
- โค้ด: เลือกทั้งหมด
- cd /home
 wget http://www.voip4share.com/sources/libpri-1.6.0.tar.gz
 tar xzvf libpri-1.6.0.tar.gz -C /usr/src
 cd /usr/src/libpri-1.6.0
 make
 make install
11. ติดตั้ง libsrtp
- โค้ด: เลือกทั้งหมด
- yum -y install libsrtp libsrtp-devel
12. ติดตั้ง Asterisk เวอร์ชั่น 18 ล่าสุด
ทริกครับ!!! ถ้า ./configure แล้วมี Error ให้รันซ้ำครับ ซ้ำจนกว่าจะได้
- โค้ด: เลือกทั้งหมด
- cd /home
 wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18.0.0-rc2.tar.gz
 tar xvf asterisk-18.0.0-rc2.tar.gz -C /usr/src
 cd /usr/src/asterisk-18.*
 ./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-crypto --with-ssl --with-srtp --with-jansson-bundled
 make menuselect.makeopts
 make menuselect
ออปชั่นที่ควรเลือกในแต่ละหัวข้อของ Menu
Add-ons (See README-addons.txt)
- format_mp3
- res_config_mysql
Applications
- app_meetme
- app_macro
Core Sound Packages
- CORE-SOUNDS-EN-WAV
- CORE-SOUNDS-EN-ULAW
- CORE-SOUNDS-EN-ALAW
- CORE-SOUNDS-EN-G729
Music On Hold File packages
- MOH-OPSOUND-WAV
- MOH-OPSOUND-ULAW
- MOH-OPSOUND-ALAW
- MOH-OPSOUND-G729
Extras Sound Packages
- EXTRA-SOUNDS-EN-WAV
- EXTRA-SOUNDS-EN-ULAW
- EXTRA-SOUNDS-EN-ALAW
- EXTRA-SOUNDS-EN-G729
จากนั้น Save แล้วรันคำสั่งต่อไปนี้
- โค้ด: เลือกทั้งหมด
- contrib/scripts/get_mp3_source.sh
 make clean
 make
 make install
 make samples
 make config
13. สตาร์ท Asterisk ทุกครั้งที่เปิดเครื่อง
- โค้ด: เลือกทั้งหมด
- systemctl enable asterisk
14. สตาร์ท Asterisk
- โค้ด: เลือกทั้งหมด
- systemctl start asterisk
15. เข้า Asterisk Prompt
- โค้ด: เลือกทั้งหมด
- [root@asterisk ~]# asterisk -rvvvvv
 Asterisk 18.0.0-rc2, Copyright (C) 1999 - 2018, Digium, Inc. and others.
 Created by Mark Spencer <markster@digium.com>
 Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
 This is free software, with components licensed under the GNU General Public
 License version 2 and other licenses; you are welcome to redistribute it under
 certain conditions. Type 'core show license' for details.
 =========================================================================
 Connected to Asterisk 18.0.0-rc2 currently running on asterisk (pid = 9893)
 asterisk*CLI>
16. ติดตั้ง G.729 และ G.723 Codecs
ณ วันที่ผมทำบทความนี้ บนเว็บไซ์ http://asterisk.hosting.lv ยังไม่มี G.729, G.723.1 codes สำหรับ Asterisk 18 นะครับ แต่ผมว่าปัจจุบันเราไม่ต้องใช้ 2 codecs นี้แล้วก็ได้ครับ ดังนั้นจึงไม่จำเป็นต้องติดตั้ง
17. ส่งท้าย
เป็นอันว่าติดตั้ง Asterisk 18 และ DAHDI 3.1.0 บน CentOS 7.8 ได้อย่างไม่มีปัญหาครับ ผมยังไม่ได้สร้างเบอร์ Extensions ยังไม่ได้คอนฟิก Dialplan ถ้าจะสร้างก็น่าจะรีจิสเตอร์ได้และโทรได้ครับ
บทความที่เกี่ยวข้อง
เทคนิคการแก้ปัญหาเมื่อ Asterisk ฟ้อง No RTP Engine
เทคนิคการติดตั้ง Asterisk-GUI เพื่อคอนฟิก Asterisk
การเขียน Dialplan เพื่อโอนสายไปยังเบอร์อื่นตามเงื่อนไขการโทร
เทคนิคการดาวน์โหลดไฟล์เสียง mp3 จากเว็บ TTS (ใหม่)
เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7
เปิดบริการ อบรม Issabel/FreePBX/Elastix ด้วยคอร์สพิเศษ ให้ติดตั้ง คอนฟิกคล่อง ใช้งานคล่อง ได้ใน 3 วัน
วิธีการติดตั้ง Issabel บน CentOS 7
ตัวอย่างการใช้งาน Action URL บน Grandstream IP Phone
รวมเทคนิคการใช้งาน RasPBX - Asterisk on Raspberry Pi

