Asterisk 11.3.0
(มีแต่ SIP/IAX2 ครับ ไม่มี H.323)
DAHDI 2.6.2
Libpri 1.4.14
CentOS 6.4
1. ติดตั้งและอัพเดท CentOS
ติดตั้ง CentOS 6.x ให้เรียบร้อยครับ เสร็จแล้วอย่าลืม Update ท่านจะได้ CentOS 6.x เวอร์ชั่นล่าสุด (เวอร์ชั่นล่าสุดที่ผมใช้ทดสอบกับบทความนี้คือ 6.4 ครับ)
- โค้ด: เลือกทั้งหมด
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 wget
แล้ว reboot อีกทีครับ
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.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
7. ติดตั้ง dahdi และ oslec
- โค้ด: เลือกทั้งหมด
cd /home
wget 'http://www.voip4share.com/sources/dahdi-linux-complete-2.6.2+2.6.2-1.tar.gz'
tar xzvf dahdi-linux-complete-2.6.2+2.6.2-1.tar.gz -C /usr/src
cd /usr/src/dahdi-linux-complete-2.6.2+2.6.2
make all
make install
make config
8. ติดตั้ง libpri
- โค้ด: เลือกทั้งหมด
cd /home
wget 'http://www.voip4share.com/sources/libpri-1.4.14.tar.gz'
tar xzvf libpri-1.4.14.tar.gz -C /usr/src
cd /usr/src/libpri-1.4.14
make
make install
9. ติดตั้ง asterisk 11.3.0
- โค้ด: เลือกทั้งหมด
cd /home
wget 'http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.3.0.tar.gz'
tar xzvf asterisk-11.3.0.tar.gz -C /usr/src
cd /usr/src/asterisk-11.3.0
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --disable-asteriskssl
make menuselect
เลือกประมาณนี้ ใช้ปุ่ม Tab, Keys และ Enter ช่วยเลือก
- โค้ด: เลือกทั้งหมด
Add-ons -> res_config_mysql, cdr_mysql
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
10. แก้ไขไฟล์ asterisk.conf
ดีฟอลท์ของ Asterisk เวอร์ชั่นหลังๆนี้นะครับ เขาจะไม่ปล่อยให้โชว์ข้อความมากมายเหมือนเวอร์ชั่นก่อนหน้า นัยน์ว่าต้องการลดขนาด Log file หน่ะครับ ถ้าโชว์ข้อความมากเกินไปไฟล์มันก็จะใหญ่ เดาๆเอาหน่ะครับ ข้อความที่ผมว่าไว้ก็คือที่เราเห็นตอนที่รันคำสั่ง asterisk -r หน่ะครับ
ถ้าต้องการให้เห็นข้อความเยอะๆเหมือนเดิม มีวิธีครับ
10.1 ให้แสดงชั่วครั้งชั่วคราว
แทนที่จะรันคำสั่ง asterisk -r เฉยๆก็ให้รัน asterisk -rvvvv ครับ จะใส่ v กี่ตัวก็ได้ 1 หรือ 2 หรือ 3 หรือ 4 หรือ 5 ก็แล้วแต่ครับ ตัว v นี้ย่อมาจาก Verbose
10.2 แก้อย่างถาวร
โดยแก้ไขไฟล์ /etc/asterisk/asterisk.conf ครับ บรรทัดนี้
;verbose=3
ให้เอาเครื่องหมาย ; หน้าบรรทัดออก แล้วเซฟไฟล์
11. สตาร์ท Asterisk
- โค้ด: เลือกทั้งหมด
chkconfig asterisk on
service asterisk start
ลองเข้า Asterisk Console
- โค้ด: เลือกทั้งหมด
asterisk -r
เข้าได้ครับ
- โค้ด: เลือกทั้งหมด
Asterisk 11.3.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 11.3.0 currently running on ivr (pid = 7748)
asterisk*CLI>
12. ติดตั้ง G.723, G.729
CPU เครื่องผมเป็น Core i3 มี sse4 ดังตัวอย่าง รันบนระบบปฏิบัติการ CentOS x86_64
- โค้ด: เลือกทั้งหมด
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 42
model name : Intel(R) Core(TM) i3-2375M CPU @ 1.50GHz
stepping : 7
cpu MHz : 1496.602
cache size : 3072 KB
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc aperfmperf unfair_spinlock pni pclmulqdq ssse3 cx16 sse4_1 sse4_2 popcnt xsave avx hypervisor lahf_lm arat epb xsaveopt pln pts dts
bogomips : 2993.20
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
ดาวน์โหลด G.729 และ G.723.1 Codecs
- โค้ด: เลือกทั้งหมด
cd /home
wget http://asterisk.hosting.lv/bin/codec_g723-ast110-gcc4-glibc-x86_64-core2-sse4.so
wget http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-core2-sse4.so
ก๊อบปี้ไฟล์ Codec พร้อมเปลี่ยนชื่อ แต่ให้เช็คก่อนนะครับว่าเครื่องของท่านมันเป็น /usr/lib/asterisk/modules แบบเดียวกับเครื่องของผมหรือว่าเป็น /usr/lib64/asterisk/modules ปรับให้ตรงด้วย
- โค้ด: เลือกทั้งหมด
cp codec_g723-ast110-gcc4-glibc-x86_64-core2-sse4.so /usr/lib/asterisk/modules/codec_g723.so
cp codec_g729-ast110-gcc4-glibc-x86_64-core2-sse4.so /usr/lib/asterisk/modules/codec_g729.so
13. สั่งโหลด 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 มีตัวเลขแล้ว
14. คอนฟิก Codec G.723.1 ให้ใช้แบบ High Bit Rate (6.3 kbps)
แก้ไขไฟล์ /etc/asterisk/codecs.conf เพิ่มบรรทัดต่อไปนี้
- โค้ด: เลือกทั้งหมด
[g723]
sendrate => 63
15. ตรวจสอบดูความเรียบร้อยอีกครั้ง
รีสตาร์ทเครื่อง เช็คว่า Asterisk สตาร์ทหรือไม่ จากนั้นคอนฟิก Dialplan, SIP Extensions แล้วโทรทดสอบดู เวอร์คดีครับ ผมลองแล้ว
เป็นอันว่าติดตั้ง Asterisk 11.3.0 เสร็จแล้วครับ ราบรื่น ไม่มีปัญหาอะไร
บทความที่เกี่ยวข้อง
เทคนิคการแก้ไขปัญหาคอมไพล์ DAHDI ไม่ผ่านบน CentOS 5.9
เทคนิคการแก้ไขปัญหาสตาร์ท Asterisk 11.2.1 ไม่ได้
เทคนิคการติดตั้ง Asterisk-GUI เพื่อคอนฟิก Asterisk
เทคนิคการติดตั้ง CentOS 6.4
เทคนิคการติดตั้ง Asterisk 12.5.0 + DAHDI 2.10.0 บน CentOS 5.10
เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7
เทคนิคการติดตั้ง Asterisk 15.x + DAHDI 2.11.1 บน CentOS 7