เทคนิคการติดตั้ง Asterisk 14.4.0 + DAHDI 2.11.1 บน CentOS 6

Asterisk Opensource IP Pbx

เทคนิคการติดตั้ง Asterisk 14.4.0 + DAHDI 2.11.1 บน CentOS 6

โพสต์โดย nuiz » 08 พ.ค. 2017 23:22

บทความนี้ผมจะลองติดตั้ง Asterisk 14.4.0 ดูครับ จะลองดูว่าจะติดตั้ง G.729 และ G.723 ได้มั๊ย เพราะเวอร์ชั่น 14.3.1 นั้นผมลองแล้วติดตั้ง Codec สองตัวนี้ไม่ได้ ผมติดตั้งบน CentOS 6.9 แบบ 64 บิตครับ บน vmware ESXi

1. ติดตั้ง CentOS 6.9 และอัพเดท CentOS
ติดตั้ง CentOS ให้เรียบร้อยครับ จะเป็นเวอร์ชั่น 6.x อะไรก็ได้ เสร็จแล้วอย่าลืม Update ท่านจะได้ CentOS เวอร์ชั่นล่าสุด อัพเดทเสร็จก็อย่าลืม reboot นะครับ เสร็จแล้วค่อยเริ่มทำงานต่อ

2. ปิด SELinux
โค้ด: เลือกทั้งหมด
cp /etc/selinux/config /etc/selinux/config.backup
sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config


3. ปิด iptables, ip6tables
ปิดชั่วคราวก่อนครับ (ถ้าเปิดไว้ หรือถ้าไม่แน่ใจว่าเปิดไว้หรือเปล่า) ไว้ทำเสร็จหมดแล้วค่อยเปิดใหม่
โค้ด: เลือกทั้งหมด
chkconfig iptables off
chkconfig ip6tables off
service iptables stop
service ip6tables stop


4. ติดตั้ง Packages เพิ่มเติม
ถ้า Packages ไหนมีติดตั้งไว้แล้วก็ไม่เป็นไรครับ ที่ผมใส่ x86_64 ต่อท้ายแต่ละ Packages ด้วย เพราะเดี๋ยวมันจะติดตั้ง Packages ของ i386 ให้ด้วยครับ
โค้ด: เลือกทั้งหมด
yum -y install kernel-devel.x86_64 kernel-headers.x86_64 gcc.x86_64 gcc-c++.x86_64 bison.x86_64 flex.x86_64 patch.x86_64 make.x86_64 ncurses-devel.x86_64 newt-devel.x86_64 autoconf automake libxml2-devel.x86_64 mysql-devel.x86_64 mysql-server.x86_64 libtiff-devel.x86_64 net-snmp-libs.x86_64 net-snmp-devel.x86_64 net-snmp-utils.x86_64 net-snmp-perl.x86_64 wireshark.x86_64 httpd-devel.x86_64 libc-client.x86_64 mod_ssl.x86_64 ntp.x86_64 libtool-ltdl-devel.x86_64 libc-client-devel.x86_64 libxslt-devel.x86_64 sqlite-devel.x86_64 wget.x86_64 libuuid.x86_64 libuuid-devel.x86_64 uuid.x86_64 uuid-devel.x86_64

และติดตั้ง mcrypt และ mhash สองโปรแกรมนี้จะทำให้ติดตั้ง Packages อื่นได้ครับ
โค้ด: เลือกทั้งหมด
rpm -ivh http://www.voip4share.com/sources/libmcrypt-2.5.8-9.el6.x86_64.rpm
rpm -ivh http://www.voip4share.com/sources/libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
rpm -ivh http://www.voip4share.com/sources/mhash-0.9.9.9-3.el6.x86_64.rpm
rpm -ivh http://www.voip4share.com/sources/mhash-devel-0.9.9.9-3.el6.x86_64.rpm


5. รีบู๊ตอีกทีครับ เพื่อให้ใช้ Kernel ใหม่
โค้ด: เลือกทั้งหมด
reboot


ุ6. ติดตั้ง 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


7. ติดตั้ง 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


8. ติดตั้ง 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


9. ติดตั้ง 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


10. ติดตั้ง Jansson
โค้ด: เลือกทั้งหมด
cd /home
wget http://www.voip4share.com/sources/jansson-2.9.tar.gz
tar xvf jansson-2.9.tar.gz -C /usr/src
cd /usr/src/jansson-2.9
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install


11. ติดตั้ง libsrtp
โค้ด: เลือกทั้งหมด
cd /home
wget http://www.voip4share.com/sources2/srtp-1.4.2.tgz
tar xvf srtp-1.4.2.tgz -C /usr/src
cd /usr/src/srtp
./configure CFLAGS=-fPIC --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install


12. ติดตั้ง Asterisk 14.4.0
โค้ด: เลือกทั้งหมด
cd /home
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14.4.0.tar.gz
tar xvf asterisk-14.4.0.tar.gz -C /usr/src
cd /usr/src/asterisk-14.4.0
./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-crypto --with-ssl --with-srtp
make menuselect.makeopts
make menuselect

เลือกประมาณนี้ ใช้ปุ่ม Tab ปุ่มลูกศร และปุ่ม Enter ช่วยเลือก สำหรับไฟล์เสียง ผมแนะนำให้ติดตั้งไฟล์เสียงฟอร์แม็ต ulaw, alaw ดีกว่าครับ ปกติเราก็ใช้ ulaw,alaw อยู่แล้ว จะได้ไม่ต้องมีการ transcoding

Add-ons เลือกเพิ่ม format_mp3, res_config_mysql, cdr_mysql
Core Sound Packages เลือกเพิ่ม (หรือไม่ต้องก็ได้) CORE-SOUNDS-EN-ULAW, -ALAW
Extras Sound Packages เลือกเพิ่ม (หรือไม่ต้องก็ได้) EXTRA-SOUNDS-EN-ULAW, -ALAW

เสร็จแล้วเริ่มต้นติดตั้ง หากเป็นการติดตั้งเพื่ออัพเกรด ไม่ควรใช้คำสั่ง make samples นะครับ ไม่เช่นนั้นคอนฟิกที่ทำไว้จะหายไปหมด
โค้ด: เลือกทั้งหมด
contrib/scripts/get_mp3_source.sh
make clean
make
make install
make samples
make config


13. ทำให้ Asterisk มองเห็นไลบรารี่ของ Jansson ได้
เนื่องจากตอนติดตั้ง Jansson มันติดตั้งไลบรารี่ไว้ที่โฟลเดอร์ /usr/lib แทนที่จะเป็น /usr/lib64 จึงอาจทำให้ Asterisk หาไม่เจอ
โค้ด: เลือกทั้งหมด
touch /etc/ld.so.conf.d/jansson2.conf
echo /usr/lib > /etc/ld.so.conf.d/jansson2.conf
ldconfig


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


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


16. ลองเข้า Asterisk Console
พิมพ์คำสั่งนี้ครับ
โค้ด: เลือกทั้งหมด
asterisk -rvvvvv

เข้าได้ครับ
โค้ด: เลือกทั้งหมด
Asterisk 14.4.0, Copyright (C) 1999 - 2016, 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 14.4.0 currently running on vicidial (pid = 2827)
vicidial*CLI>


17. ติดตั้ง G.723, G.729
ผมดาวน์โหลดแล้วก๊อบไปไว้ในโฟลเดอร์ /usr/lib/asterisk/modules ในคำสั่งเดียวเลยนะครับ เครื่องนี้ cpu เป็น xeon ครับ มี sse4 ด้วย
โค้ด: เลือกทั้งหมด
wget http://asterisk.hosting.lv/bin/codec_g723-ast140-gcc4-glibc-x86_64-core2-sse4.so -O /usr/lib/asterisk/modules/codec_g723.so
wget http://asterisk.hosting.lv/bin/codec_g729-ast140-gcc4-glibc-x86_64-core2-sse4.so -O /usr/lib/asterisk/modules/codec_g729.so

แล้วสั่งให้ Asterisk โหลดสอง codecs นี้ครับ
โค้ด: เลือกทั้งหมด
asterisk -rvvvvv

จาก Asterisk CLI เราสั่งโหลดด้วยคำสั่ง module load codec_g729.so และ module load codec_g723.so ครับ ดังตัวอย่าง
โค้ด: เลือกทั้งหมด
vicidial*CLI> module load codec_g729.so
[/code[
ผลลัพธ์ครับ ยังมี error ไม่สามารถโหลดโมดูล codec_g729.so ได้ครับ
[code]
[May  8 23:38:46] WARNING[2896]: loader.c:552 load_dynamic_module: Error loading module 'codec_g729.so': /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib/asterisk/modules/codec_g729.so)
[May  8 23:38:46] WARNING[2896]: loader.c:1084 load_resource: Module 'codec_g729.so' could not be loaded.

ฟ้องว่าหา GLIBC 2.14 ไม่เจอ ในเครื่อง CentOS 6.x เป็น GLIBC 2.12 ครับ เวอร์ชั่นในเครื่องต่ำไป ก็ปล่อยไปก่อนครับ ไม่มี G.729 เราก็ยังใช้งาน Asterisk ได้อยู่เหมือนเดิม

18. ตรวจสอบดูความเรียบร้อยอีกครั้ง
รีสตาร์ทเครื่อง เช็คว่า Asterisk สตาร์ทหรือไม่ จากนั้นคอนฟิก Dialplan, SIP Extensions แล้วโทรทดสอบดู

เป็นอันว่าติดตั้งเรา Asterisk 14.4.0 เสร็จแล้วครับ ลองดูครับ "ทำตามนี้ ไม่มีพลาด"

สรุปว่า Asterisk 14.4.0 ที่ลงบน CentOS 6 นั้น ไม่สามารถติดตั้ง G.729 codec ได้ครับ หากท่านต้องการใช้งาน G.729 ผมแนะนำว่าให้ท่านใช้ CentOS 7 แทนครับ ซึ่งติดตั้ง G.729 ได้แน่นอน ตามบทความนี้ เทคนิคการติดตั้ง Asterisk 14.4.0 + DAHDI 2.11.1 บน CentOS 7

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

Re: เทคนิคการติดตั้ง Asterisk 14.4.0 + DAHDI 2.11.1 บน CentOS 6

โพสต์โดย nuiz » 11 พ.ค. 2017 15:22

เพิ่มเติมครับ GLIBC ที่เป็นต้นเหตุทำให้ติดตั้ง G.729 ไม่ได้นั้น บน CentOS 6 เป็นเวอร์ขั่น 2.12 ครับ ซึ่งต่ำไป (ต้องใช้เวอร์ชั่น 2.14+) แต่ถ้าบน CentOS 7 เป็น GLIBC เวอร์ชั่น 2.17 ครับ ผมว่าน่าจะติดตั้งได้
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6993
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33


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

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

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