ในบทความนี้ท่านจะได้
Asterisk 11.2.1
(มีแต่ SIP/IAX2 ครับ ไม่มี H.323)
DAHDI 2.6.1
Libpri 1.4.14
1. ติดตั้งและอัพเดท CentOS
ติดตั้ง CentOS ให้เรียบร้อยครับ เสร็จแล้วอย่าลืม Update ท่านจะได้ CentOS 5.9
- โค้ด: เลือกทั้งหมด
- 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 ngrep 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.1+2.6.1-3.tar.gz'
 tar xzvf dahdi-linux-complete-2.6.1+2.6.1-3.tar.gz -C /usr/src
 cd /usr/src/dahdi-linux-complete-2.6.1+2.6.1
 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.2.1
- โค้ด: เลือกทั้งหมด
- cd /home
 wget 'http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-11.2.1.tar.gz'
 tar xzvf asterisk-11.2.1.tar.gz -C /usr/src
 cd /usr/src/asterisk-11.2.1
 ./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.2.1, 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.2.1 currently running on ivr (pid = 7748)
 asterisk*CLI>
12. ติดตั้ง G.723, G.729
CPU เครื่องผมเป็น Core2 Duo ไม่มี sse4 บนระบบปฏิบัติการ CentOS x86_64
- โค้ด: เลือกทั้งหมด
- cd /home
 wget http://asterisk.hosting.lv/bin/codec_g723-ast110-gcc4-glibc-x86_64-core2.so
 wget http://asterisk.hosting.lv/bin/codec_g729-ast110-gcc4-glibc-x86_64-core2.so
ก๊อบปี้ไฟล์ Codec พร้อมเปลี่ยนชื่อ แต่ให้เช็คก่อนนะครับว่าเครื่องของท่านมันเป็น /usr/lib/asterisk/modules แบบเดียวกับเครื่องของผมหรือว่าเป็น /usr/lib64/asterisk/modules ปรับให้ตรงด้วย
- โค้ด: เลือกทั้งหมด
- cp codec_g723-ast110-gcc4-glibc-x86_64-core2.so /usr/lib/asterisk/modules/codec_g723.so
 cp codec_g729-ast110-gcc4-glibc-x86_64-core2.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. ตรวจสอบดูความเรียบร้อยอีกครั้ง
รีสตาร์ทเครื่อง เช็คว่า Asterisk สตาร์ทหรือไม่ จากนั้นคอนฟิก Dialplan, SIP Extensions แล้วโทรทดสอบดู เวอร์คดีครับ ผมลองแล้ว
เป็นอันว่าติดตั้ง Asterisk 11.2.1 เสร็จแล้วครับ ราบรื่น ไม่มีปัญหาอะไร
บทความที่เกี่ยวข้อง
เทคนิคการแก้ไขปัญหาคอมไพล์ DAHDI ไม่ผ่านบน CentOS 5.9
เทคนิคการแก้ไขปัญหาสตาร์ท Asterisk 11.2.1 ไม่ได้
เทคนิคการติดตั้ง Asterisk 16.x + DAHDI 2.11.1 บน CentOS 7
เทคนิคการติดตั้ง Asterisk 15.x + DAHDI 2.11.1 บน CentOS 7

