หน้า 1 จากทั้งหมด 1

เทคนิคการติดตั้ง Asterisk 10.8.0 + DAHDI 1.6.1

โพสต์โพสต์แล้ว: 04 ต.ค. 2012 23:38
โดย nuiz
เทคนิคการติดตั้ง Asterisk 17.x + DAHDI 3.1.0 บน CentOS 7

พอดีช่วงนี้ว่างๆครับ เลยลองติดตั้ง Asterisk เวอร์ชั่นใหม่ๆดู อันนี้เป็นเวอร์ชั่น 10.8.0 ครับ ส่วนมากก็ก๊อบมาจากตอนติดตั้ง Asterisk 1.6.2.x แหล่ะครับ ทำเพิ่มอีกนิดๆหน่อยๆ

1. ติดตั้งและอัพเดท CentOS
ติดตั้ง CentOS ให้เรียบร้อยครับ เสร็จแล้วอย่าลืม Update
โค้ด: เลือกทั้งหมด
yum -y update


2. ปิด SELinux
โค้ด: เลือกทั้งหมด
vi /etc/selinux/config

แก้ไขบรรทัด SELINUX เป็น diabled
โค้ด: เลือกทั้งหมด
SELINUX=disabled


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


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


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


6. ติดตั้ง spandsp
โค้ด: เลือกทั้งหมด
cd /home
wget 'http://www.voip4share.com/sources/spandsp-0.0.6pre18.tgz'
tar xzvf spandsp-0.0.6pre18.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


7. ติดตั้ง pwlib
โค้ด: เลือกทั้งหมด
cd /home
wget 'http://www.voip4share.com/sources/pwlib-v1_10_3-src-tar.gz'
tar xzvf pwlib-v1_10_3-src-tar.gz -C /usr/src
cd /usr/src/pwlib_v1_10_3
./configure --prefix=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc
make clean
make optshared
make install


8. พิมพ์คำสั่งต่อไปนี้
โค้ด: เลือกทั้งหมด
export PWLIBDIR=/usr/src/pwlib_v1_10_3
export OPENH323DIR=/usr/src/openh323_v1_18_0
export LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib


9. สร้างไฟล์ /usr/include/linux/compiler.h
โค้ด: เลือกทั้งหมด
vi /usr/include/linux/compiler.h

โค้ด: เลือกทั้งหมด
#ifndef __LINUX_COMPILER_H
#define __LINUX_COMPILER_H
#define likely(x) __builtin_expect((x),1)
#define unlikely(x) __builtin_expect((x),0)
#endif /* __LINUX_COMPILER_H */


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


11. ติดตั้ง dahdi และ oslec
โค้ด: เลือกทั้งหมด
cd /home
wget 'http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-2.6.1+2.6.1.tar.gz'
wget 'http://www.voip4share.com/sources/oslec-dahdi.tar.gz'
tar xzvf dahdi-linux-complete-2.6.1+2.6.1.tar.gz -C /usr/src
tar xzvf oslec-dahdi.tar.gz -C /usr/src/dahdi-linux-complete-2.6.1+2.6.1/linux/drivers

โค้ด: เลือกทั้งหมด
sed -i "s|#obj-m += dahdi_echocan_oslec.o|obj-m += dahdi_echocan_oslec.o|" /usr/src/dahdi-linux-complete-2.6.1+2.6.1/linux/drivers/dahdi/Kbuild
sed -i "s|#obj-m += ../staging/echo/|obj-m += ../staging/echo/|" /usr/src/dahdi-linux-complete-2.6.1+2.6.1/linux/drivers/dahdi/Kbuild
echo 'obj-m += echo.o' > /usr/src/dahdi-linux-complete-2.6.1+2.6.1/linux/drivers/staging/echo/Kbuild

โค้ด: เลือกทั้งหมด
cd /usr/src/dahdi-linux-complete-2.6.1+2.6.1
make all
make install
make config


12. ติดตั้ง libpri
โค้ด: เลือกทั้งหมด
cd /home
wget 'http://www.voip4share.com/sources/libpri-1.4.12.tar.gz'
tar xzvf libpri-1.4.12.tar.gz -C /usr/src
cd /usr/src/libpri-1.4.12
make
make install


13. ติดตั้ง asterisk 10.8.0
โค้ด: เลือกทั้งหมด
cd /home
wget 'http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-10.8.0.tar.gz'
tar xzvf asterisk-10.8.0.tar.gz -C /usr/src
cd /usr/src/asterisk-10.8.0
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make menuselect

เลือกประมาณนี้ ใช้ปุ่ม Tab, Keys และ Enter ช่วยเลือก
โค้ด: เลือกทั้งหมด
Add-ons -> res_config_mysql, cdr_mysql
Channel Drivers -> chan_h323
AGI Samples -> agi-test.agi, eagi-test, eagi-sphinx-test, jukebox.agi
Core Sound Packages -> CORE-SOUNDS-EN-G729
Extras Sound Packages -> EXTRA-SOUNDS-EN-G729

เสร็จแล้วเริ่มต้นติดตั้ง
โค้ด: เลือกทั้งหมด
make
make install
make samples
make config


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

ลองเข้า Asterisk Console
โค้ด: เลือกทั้งหมด
asterisk -r

โค้ด: เลือกทั้งหมด
Asterisk 10.8.0, Copyright (C) 1999 - 2012 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 10.8.0 currently running on backup (pid = 31790)
Verbosity is at least 3
backup*CLI>


15. ติดตั้ง G.723, G.729
CPU เครื่องผมเป็น Xeon มี sse4 บนระบบปฏิบัติกาาร CentOS i386
โค้ด: เลือกทั้งหมด
cd /home
wget http://asterisk.hosting.lv/bin/codec_g723-ast100-gcc4-glibc-core2-sse4.so
wget http://asterisk.hosting.lv/bin/codec_g729-ast100-gcc4-glibc-core2-sse4.so

โค้ด: เลือกทั้งหมด
cp codec_g723-ast100-gcc4-glibc-core2-sse4.so /usr/lib/asterisk/modules/codec_g723.so
cp codec_g729-ast100-gcc4-glibc-core2-sse4.so /usr/lib/asterisk/modules/codec_g729.so


15. โหลด codec_g729.so, codec_g723.so
โค้ด: เลือกทั้งหมด
asterisk -r

รันคำสั่งต่อไปนี้
โค้ด: เลือกทั้งหมด
module load codec_g729.so
module load codec_g723.so

โชว์ Codec Translation
โค้ด: เลือกทั้งหมด
core show translation

ผลลัพธ์จะเห็น Row/Column ของ g723 และ g729 มีตัวเลขแล้ว

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

ก็เป็นอันว่าติดตั้ง Asterisk 10.8.0 สำเร็จด้วยดีครับ

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