*** ชื่อไฟล์ในตัวอย่าง ปัจจุบันอาจจะไม่มีอยู่บนเซอร์เวอร์แล้ว ต้องลองเข้าไปเช็คในเว็บนั้นๆ ตาม path ในคำสั่ง wget แล้วปรับชื่อไฟล์ตาม ***
8 ติดตั้ง Asterisk
Asterisk จะใช้โปรแกรมเสริมต่อไปนี้ช่วยในการทำงาน
- DAHDI เป็นไดร์เวอร์ติดต่อกับการ์ดอินเตอร์เฟสโทรศัพท์ เช่นการ์ด FXO, E1, FXS, GSM เป็นต้น ดังนั้นเวอร์ชั่นของ DAHDI และ Asterisk ต้องสัมพันธ์กันด้วยนะครับ
- Libpri เป็นไดร์เวอร์ติดต่อกับการ์ดอินเตอร์เฟสโทรศัพท์แบบ E1 PRI ดังนั้นเวอร์ชั่นต้องสัมพันธ์กันด้วยนะครับ
- Asterisk-Addons เป็นไดร์เวอร์ติดต่อกับดาต้าเบสเช่น MySQL และโปรโตคอล H.323 ดังนั้นเวอร์ชั่นต้องสัมพันธ์กันด้วยนะครับ
- DAHDI-TOOLS เป็นเครื่องมือที่จะใช้จัดการกับการ์ดอินเตอร์เฟสนะครับ
8.1 ติดตั้ง dahdi-linux
ก่อนจะคอมไพล์ dahdi-linux ผมแนะนำให้ติดตั้ง OSLEC (Open Source Line Echo Canceller) ไปพร้อมๆกันด้วยเลยครับ โดยคอมไพล์ dahdi-linux ตามคำแนะนำในบทความ OSLEC นี้เลยนะครับ แล้วก็ข้ามขั้นตอน 8.1 นี้ไปได้เลย แต่ถ้าไม่อยากติดตั้ง OSLEC ก็ทำตามขั้นตอนด้านล่างนี้ได้เลยครับ
- โค้ด: เลือกทั้งหมด
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.2.1-rc2.tar.gz
tar xzvf dahdi-linux-2.2.1-rc2.tar.gz -C /usr/src
cd /usr/src/dahdi-linux-2.2.1-rc2
make all
make install
Note!
1 ระหว่างการติดตั้งจะมีการดาวน์โหลดไฟล์จำนวนหนึ่งมาจากเว็บไซต์ http://downloads.digium.com/pub/telephony/firmware
2 จะมีการติดตั้งไฟล์ *.ko ไว้ที่โฟลเดอร์ /lib/modules/2.6.18-164.9.1.el5 ซึ่งเป็นไลบรารี่ของ kernel ปัจจุบันที่ใช้งานอยู่
3 สร้างไฟล์ dahdi.rules ไว้ในโฟลเดอร์ /etc/udev/rules.d ภายในไฟล์มีข้อมูลดังต่อไปนี้
# udev rules to generate the /dev/dahdi device files (if not yet provided
# by your distribution):
KERNEL=="dahdictl", NAME="dahdi/ctl"
KERNEL=="dahditranscode", NAME="dahdi/transcode"
KERNEL=="dahditimer", NAME="dahdi/timer"
KERNEL=="dahdichannel", NAME="dahdi/channel"
KERNEL=="dahdipseudo", NAME="dahdi/pseudo"
KERNEL=="dahdi[0-9]*", NAME="dahdi/%n"
# DAHDI devices with ownership/permissions for running as non-root
SUBSYSTEM=="dahdi", OWNER="asterisk", GROUP="asterisk", MODE="0660"
4 สำคัญ เนื่องจากการติดตั้งจะมีการเช็ค kernel ด้วยนะครับ และจะติดตั้งไฟล์บางไฟล์เข้าไปไว้ในไลบรารี่ของ kernel ด้วย ดังนั้น ถ้ามีการอัพเกรด kernel จะต้องคอมไพล์ dahdi-linux ใหม่ทุกครั้ง
8.2 ติดตั้ง dahdi-tools
- โค้ด: เลือกทั้งหมด
wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/dahdi-tools-2.2.1-rc2.tar.gz
tar xzvf dahdi-tools-2.2.1-rc2.tar.gz -C /usr/src
cd /usr/src/dahdi-tools-2.2.1-rc2
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make menuselect
1 เริ่มจากเมนูหลัก กดปุ่ม Enter
2 เลือกออปชั่นที่จะติดตั้ง ซึ่งเป็น Tools หรือคำสั่ง ซึ่งเป็นยูติลิตี้ต่างๆในการใช้งานฮาร์ดแวร์การ์ดอินเตอร์เฟสที่รองรับ การดีเท็คการ์ด การสร้างไฟล์คอนฟิกของการ์ด เลือกให้หมดครับไว้ก่อนครับ
3 โดยเลื่อนปุ่มลูกศรลงมายังบรรทัดที่ยังไม่มี * แล้วกดปุ่ม Space Bar หนึ่งครั้งจะมี * ปรากฏ แล้วเลื่อนไปยังบรรทัดอื่นทำเช่นเดียวกัน
4 กดปุ่ม Esc กลับสู่เมนูหลัก
5 กดปุ่ม s เพื่อบันทึกและออกจากเมนู
- โค้ด: เลือกทั้งหมด
make
make install
make config
Note!
1 มีไฟล์ dahdi_genconf, dahdi_hardware, fxotune, fxstest, sethdlc, dahdi_cfg, dahdi_diag, dahdi_monitor, dahdi_speed, dahdi_test, dahdi_scan, dahdi_registration ติดตั้งไว้ที่โฟลเดอร์ /usr/sbin เราใช้ไฟล์เหล่านี้เพื่อดีเท็ค ทดสอบ คอนฟิก และมอนิเตอร์การ์ดอินเตอร์เฟสที่อาจมีการติดตั้งเพิ่มเข้าไป
2 มีไฟล์ติดตั้งไว้ใน /usr/lib, /usr/include/dahdi
3 มีไฟล์ dahdi ติดตั้งไว้ที่ /etc/rc.d/init.d เอาไว้รัน dhadi เป็นเซอร์วิส และสั่ง start/stop/restart ได้เหมือนเซอร์วิสอื่นๆบน CentOS
4 มีการเพิ่ม dahdi เข้าไปเป็นเซอร์วิสหนึ่งบน CentOS
5 มีไฟล์ ifup-hdlc ติดตั้งไว้ที่โพลเดอร์ /etc/sysconfig/network-scripts
6 ระหว่างที่พิมพ์ make install จะมีการตรวจสอบการ์ดในเครื่องด้วย ถ้าพบว่ามีการ์ดที่เข้ากันได้กับ DAHDI มันจะแสดงออกมา ดังตัวอย่าง
7 เมื่อมีการติดตั้งฮาร์ดแวร์ใหม่ ให้รีสตาร์ทเซอร์วิส dhadi ด้วย (ถ้าไม่ได้เซ็ตให้ dahdi รันทุกครั้งที่เปิดเครื่อง)
Note! การติดตั้งการ์ดอินเตอร์เฟส FXS/FXO/E1/GSM
8.3 ติดตั้ง libpri
libpri เป็นไดร์เวอร์สำหรับการ์ด E1 ครับ
- โค้ด: เลือกทั้งหมด
wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.4.10.2.tar.gz
tar xzvf libpri-1.4.10.2.tar.gz -C /usr/src
cd /usr/src/libpri-1.4.10.2
make
make install
Note! มีไฟล์ libpri.h ติดตั้งไว้ที่ /usr/include และไฟล์ libpri.so.1.4 ติดตั้งไว้ที่ /usr/lib
8.4 ติดตั้ง libxml2-devel
- โค้ด: เลือกทั้งหมด
yum -y install libxml2-devel
8.5 ติดตั้ง asterisk
- โค้ด: เลือกทั้งหมด
export PWLIBDIR=/usr/src/pwlib_v1_10_3
export OPENH323DIR=/usr/src/openh323_v1_18_0
export LD_LIBRARY_PATH=$PWLIBDIR/lib:$OPENH323DIR/lib
- โค้ด: เลือกทั้งหมด
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-1.6.2.0.tar.gz
tar xzvf asterisk-1.6.2.0.tar.gz -C /usr/src
cd /usr/src/asterisk-1.6.2.0
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make menuselect
ใช้ปุ่มลูกศรขึ้นลงเพื่อเลื่อนเมนู กดปุ่ม Enter เพื่อเข้าเมนูย่อย กดปุ่ม Spacebar เพื่อเลือกออปชั่นภายในเมนูย่อย กดปุ่ม Esc เพื่อกลับสู่เมนูหลัก กด s เพื่อบันทึกและออกจากเมนูหลัก
Applications เลือก Applications ที่จะติดตั้ง ควรใช้ค่าดีฟอลท์ครับ
Bridging Modules ใช้ดีฟอลท์
Call Detail Recording ใช้ดีฟอลท์
Channel Drivers
Codec Translators
ใช้แปลงจากโคเด็คหนึ่งไปเป็นโคเด็คอื่น
Format Interpreters
Dialplan Functions
PBX Modules
Resource Modules
Test Modules
Complier Flags
Voicemail Build Options
Module Embedding
Core Sound Packages
Music On Hold File Packages
Extra Sound Packages
- โค้ด: เลือกทั้งหมด
make
make install
make samples
make config
Note!
1 มีไฟล์ /etc/rc.d/init.d/asterisk ไว้ให้รัน Asterisk เป็นเซอร์วิสบน CentOS ได้
2 มีไฟล์ asterisk และ safe_asterisk ติดตั้งไว้ที่ /usr/sbin
3 มีโฟลเดอร์ /usr/include/asterisk, /var/lib/asterisk/, /var/log/asterisk, /var/spool/asterisk, /var/run/asterisk, /usr/lib/asterisk/modules, /etc/asterisk ถูกสร้างขึ้นมา
4 มีตัวอย่างไฟล์คอนฟิก *.conf อยู่ที่ /etc/asterisk
8.6 ติดตั้ง asterisk-addons
- โค้ด: เลือกทั้งหมด
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-addons-1.6.2.0.tar.gz
tar xzvf asterisk-addons-1.6.2.0.tar.gz -C /usr/src
cd /usr/src/asterisk-addons-1.6.2.0
./configure --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var
make menuselect
เลื่อนมาที่ Channel Drivers แล้วกด Enter แล้วเอา * หน้า chan_ooh323 ออก
กดปุ่ม Esc แล้วกดปุ่ม s
- โค้ด: เลือกทั้งหมด
make
make install
make samples
Note!
1. asterisk-addons นี้เป็นการเก็บ CDR ไว้ในดาต้าเบส MySQL และให้ดึงคอนฟิกมาจากดาต้าเบสแทนที่จะเป็นไฟล์ .conf
2. ที่ผมให้เอา chan_ooh323 ออกเพราะเราคอมไพล์และใช้ chan_h323 แทนแล้ว
ติดตั้ง Asterisk + CentOS ตอนที่ 1
ติดตั้ง Asterisk + CentOS ตอนที่ 3