เทคนิคการติดตั้ง Asterisk 17.x + DAHDI 3.1.0 บน CentOS 7
โพสต์แล้ว: 26 ม.ค. 2020 22:09
บทความนี้จะแนะนำวิธีการติดตั้ง Asterisk เวอร์ชั่น 17 ซึ่งเป็นเวอร์ชั่นใหม่ล่าสุดของ Asterisk ณ ขณะนี้ครับ (วันที่โพสต์บทความนี้) ผมติดตั้งบน CentOS 7 เวอร์ชั่นล่าสุดในขณะนี้ด้วยเช่นกัน (เวอร์ชั่น 7.7.1908) การติดตั้งก็ราบรื่นดีครับ ไม่ติดขัดอะไร ขั้นตอนการติดตั้งมีดังต่อไปนี้ครับ
1. ติดตั้ง CentOS 7 และอัพเดท
2. ปิด SELinux
3. ปิด firewalld
4. ติดตั้ง Packets เพิ่ม
5. ติดตั้ง libmcrypt และ mhash
6. รีบู๊ตเครื่อง
7. ติดตั้ง radiusclient-ng
8. ติดตั้ง spandsp
9. ติดตั้ง DAHDI 3.1.0
(ออปชั่น) หรือจะติดตั้ง DAHDI 2.11.1 ก็ได้ ดังนี้
(ออปชั่น) สตาร์ท dahdi หรือไม่ต้องสตาร์ทก็ได้ถ้าไม่ได้ติดตั้ง DAHDI Card
10. ติดตั้ง libpri
11. ติดตั้ง libsrtp
12. ติดตั้ง Asterisk เวอร์ชั่น 17 ล่าสุด
ออปชั่นที่ควรเลือกในแต่ละหัวข้อของ 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 แล้วรันคำสั่งต่อไปนี้
13. สตาร์ท Asterisk ทุกครั้งที่เปิดเครื่อง
14. สตาร์ท Asterisk
15. เข้า Asterisk Prompt
16. ติดตั้ง G.729 และ G.723 Codecs
ติดตั้ง G.723, G.729 ฟรี
เครื่องที่ผมใช้ทดสอบ
CPU=Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
SSE4=Yes
KERNEL = 3.10.0-1062.9.1.el7.x86_64
Asterisk = 17.1.0
Asterisk Modules Path = /usr/lib/asterisk/modules
ดาวน์โหลดและสร้างไฟล์สำหรับ Codec g729 และ g723
** Asterisk 16 ติดตั้ง Asterisk modules ไว้ในโฟลเดอร์ /usr/lib นะครับ ไม่ว่าเครื่องจะเป็น 32 บิตหรือว่า 64 บิต **
17. ทดสอบโหลด codec_g729.so และ codec_g723.so
โหลด codec_g723.so
โหลด codec_g729.so
โหลดได้สมบูรณ์ทั้งสอง Codecs ครับ
18. ส่งท้าย
เป็นอันว่าติดตั้ง Asterisk 17 และ DAHDI 3.1.0 บน CentOS 7.7 ได้อย่างไม่มีปัญหาครับ ผมยังไม่ได้สร้างเบอร์ 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
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 install libsrtp libsrtp-devel
12. ติดตั้ง Asterisk เวอร์ชั่น 17 ล่าสุด
- โค้ด: เลือกทั้งหมด
cd /home
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
tar xvf asterisk-17-current.tar.gz -C /usr/src
cd /usr/src/asterisk-17.*
./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 17.1.0, 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 17.1.0 currently running on asterisk (pid = 5914)
asterisk*CLI>
16. ติดตั้ง G.729 และ G.723 Codecs
ติดตั้ง G.723, G.729 ฟรี
เครื่องที่ผมใช้ทดสอบ
CPU=Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
SSE4=Yes
KERNEL = 3.10.0-1062.9.1.el7.x86_64
Asterisk = 17.1.0
Asterisk Modules Path = /usr/lib/asterisk/modules
ดาวน์โหลดและสร้างไฟล์สำหรับ Codec g729 และ g723
** Asterisk 16 ติดตั้ง Asterisk modules ไว้ในโฟลเดอร์ /usr/lib นะครับ ไม่ว่าเครื่องจะเป็น 32 บิตหรือว่า 64 บิต **
- โค้ด: เลือกทั้งหมด
wget http://asterisk.hosting.lv/bin/codec_g723-ast170-gcc4-glibc-x86_64-core2-sse4.so -O /usr/lib/asterisk/modules/codec_g723.so
wget http://asterisk.hosting.lv/bin/codec_g729-ast170-gcc4-glibc-x86_64-core2-sse4.so -O /usr/lib/asterisk/modules/codec_g729.so
17. ทดสอบโหลด codec_g729.so และ codec_g723.so
- โค้ด: เลือกทั้งหมด
[root@asterisk ~]# asterisk -rvvvvv
Asterisk 17.1.0, 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 17.1.0 currently running on asterisk (pid = 5914)
asterisk*CLI>
โหลด codec_g723.so
- โค้ด: เลือกทั้งหมด
pbx*CLI> module load codec_g723.so
Loaded codec_g723.so
== Registered translator 'g723tolin' from codec g723 to slin, table cost, 900000, computational cost 156
== Registered translator 'lintog723' from codec slin to g723, table cost, 600000, computational cost 2002
Loaded codec_g723.so => (g723 Coder/Decoder, based on Intel IPP)
โหลด codec_g729.so
- โค้ด: เลือกทั้งหมด
pbx*CLI> module load codec_g729.so
Loaded codec_g729.so
== Registered translator 'g729tolin' from codec g729 to slin, table cost, 900000, computational cost 418
== Registered translator 'lintog729' from codec slin to g729, table cost, 600000, computational cost 1227
Loaded codec_g729.so => (g729 Coder/Decoder, based on Intel IPP)
pbx*CLI>
โหลดได้สมบูรณ์ทั้งสอง Codecs ครับ
18. ส่งท้าย
เป็นอันว่าติดตั้ง Asterisk 17 และ DAHDI 3.1.0 บน CentOS 7.7 ได้อย่างไม่มีปัญหาครับ ผมยังไม่ได้สร้างเบอร์ 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