เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7

Asterisk Opensource IP Pbx

เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7

โพสต์โดย nuiz » 17 ก.พ. 2019 14:58

บทความนี้จะแนะนำวิธีการติดตั้ง Asterisk เวอร์ชั่น 16 ซึ่งเป็นเวอร์ชั่นใหม่ล่าสุดของ Asterisk ณ ขณะนี้ครับ (วันที่โพสต์บทความนี้) ผมติดตั้งบน CentOS 7 เวอร์ชั่นล่าสุดด้วย (เวอร์ชั่น 7.4) เหมือนกัน การติดตั้งก็ราบรื่นดีครับ ไม่ติดขัดอะไร ขั้นตอนการติดตั้งมีดังต่อไปนี้ครับ

1. ติดตั้ง CentOS 7 และอัพเดท
โค้ด: เลือกทั้งหมด
yum -y update
yum -y update kernel kernel-tools kernel-tools-libs kernel-headers kernel-devel


2. ปิด SELinux
โค้ด: เลือกทั้งหมด
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config


3. ปิด iptables และ firewalld
โค้ด: เลือกทั้งหมด
systemctl mask iptables
systemctl mask firewalld
systemctl stop iptables


4. ติดตั้ง Packets เพิ่ม
โค้ด: เลือกทั้งหมด
yum -y install kernel-devel kernel-headers 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


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 2.11.1 + OSLEC
โค้ด: เลือกทั้งหมด
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
โค้ด: เลือกทั้งหมด
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. ติดตั้ง Jansson
โค้ด: เลือกทั้งหมด
cd /home
wget http://www.digip.org/jansson/releases/jansson-2.12.tar.gz
tar xvf jansson-2.12.tar.gz -C /usr/src
cd /usr/src/jansson-2.12
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install


12. ติดตั้ง libsrtp
โค้ด: เลือกทั้งหมด
yum install libsrtp libsrtp-devel


13. ติดตั้ง Asterisk เวอร์ชั่น 16 ล่าสุด
โค้ด: เลือกทั้งหมด
cd /home
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
tar xvf asterisk-16-current.tar.gz -C /usr/src
cd /usr/src/asterisk-16.*
./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-crypto --with-ssl --with-srtp
make menuselect.makeopts
make menuselect


ออปชั่นที่ควรเลือกในแต่ละหัวข้อของ Menu

Add-ons (See README-addons.txt)
- format_mp3
- res_config_mysql

Applications
- app_meetme

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


14. สตาร์ท Asterisk ทุกครั้งที่เปิดเครื่อง
โค้ด: เลือกทั้งหมด
systemctl enable asterisk


15. สตาร์ท Asterisk
โค้ด: เลือกทั้งหมด
systemctl start asterisk


16. เข้า Asterisk Prompt
โค้ด: เลือกทั้งหมด
[root@pbx ~]# asterisk -rvvvvvv
Asterisk 16.2.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 16.2.0 currently running on pbx (pid = 21524)
pbx*CLI>


17. ติดตั้ง G.729 และ G.723 Codecs

ติดตั้ง G.723, G.729 ฟรี

เครื่องที่ผมใช้ทดสอบ
CPU=Intel(R) Core(TM) i5-4670 CPU @ 3.40GHz
SSE4=Yes
OS = CentOS 7.4.1708 ซึ่งเป็นแบบ X86_64
Asterisk = 16.2.0
Asterisk Modules Path = /usr/lib/asterisk/modules

ดาวน์โหลดและสร้างไฟล์ g729 และ g723
โค้ด: เลือกทั้งหมด
wget http://asterisk.hosting.lv/bin/codec_g723-ast160-gcc4-glibc-x86_64-core2-sse4.so -O /usr/lib/asterisk/modules/codec_g723.so
wget http://asterisk.hosting.lv/bin/codec_g729-ast160-gcc4-glibc-x86_64-core2-sse4.so -O /usr/lib/asterisk/modules/codec_g729.so


[color=#FF0000]17. ทดสอบโหลด codec_g729.so และ codec_g723.so
โค้ด: เลือกทั้งหมด
[root@pbx ~]# asterisk -rvvvvvvv
Asterisk 16.2.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 16.2.0 currently running on pbx (pid = 21680)
pbx*CLI>
pbx*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 16 และ DAHDI 2.11.1 บน CentOS 7.4 ได้อย่างไม่มีปัญหาครับ ผมยังไม่ได้สร้างเบอร์ Extensions ยังไม่ได้คอนฟิก Dialplan ถ้าจะสร้างก็น่าจะรีจิสเตอร์ได้และโทรได้ครับ

บทความที่เกี่ยวข้อง
เปิดบริการ อบรม Elastix ด้วยคอร์สพิเศษ ให้ติดตั้ง คอนฟิกคล่อง ใช้งานคล่อง ได้ใน 3 วัน
เทคนิคการแก้ปัญหาเมื่อ Asterisk ฟ้อง No RTP Engine
เทคนิคการติดตั้ง Asterisk-GUI เพื่อคอนฟิก Asterisk
การเขียน Dialplan เพื่อโอนสายไปยังเบอร์อื่นตามเงื่อนไขการโทร
เทคนิคการดาวน์โหลดไฟล์เสียง mp3 จากเว็บ TTS (ใหม่)
เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7
** หากมีปัญหากับอุปกรณ์หรือบริการที่ทำหรือซื้อมาเอง ให้โพสต์ถามในเว็บนะครับ ขอสงวนสิทธิ์การให้ความช่วยเหลือแบบส่วนตัวเฉพาะลูกค้าที่ซื้อสินค้าและบริการจากผมเท่านั้นครับ **
** ติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ครับ **
nuiz
Diamond Member
 
โพสต์: 5201
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ย้อนกลับไปยัง Asterisk SIP Server

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

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