วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

Asterisk Opensource IP Pbx

วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย voip4share » 19 ก.พ. 2010 16:17

ขอขอบคุณ คุณ rookie ที่ทำให้ผมได้รู้จัก OSLEC

** บทความนี้เหมาะสำหรับท่านที่ลง Asterisk มีการใช้งานการ์ด Asterisk ในเครื่อง และต้องการติดตั้ง Software Echo Canceller แบบ OSLEC เพิ่มเติม **

รายละเอียดเกี่ยวกับ OSLEC

OSLEC - Open Source Line Echo Canceller ซอฟท์แวร์กำจัดเสียงสะท้อนกลับบนการ์ด DAHDI/Zaptel ที่มีประสิทธิภาพสูง ไม่ต้องคอนฟิกค่า ใช้งานได้จริง

ท่านที่เคยซื้อการ์ด DAHDI/Zaptel ไม่ว่าจะเป็น FXS, FXO หรือว่า E1 ก็ตาม โดยเฉพาะการ์ดที่ไม่มีภาค Echo Canceller อยู่ในการ์ด มักจะต้องเจอกับปัญหาเสียงสะท้อนกลับอยู่บ่อยๆ ลองอินาเบิลฟีเจอร์ Echo Canceller ที่มีมาพร้อมกับ Zaptel หรือ DAHDI แล้วมันก็เวอร์คบ้างไม่เวอร์คบ้าง อย่างนี้ต้องลองใช้ OSLEC ดูครับ

บทความนี้ผมจะแนะนำวิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บนเครื่อง CentOS 5.4

1. เช็ค Kernel Version บนเครื่อง
โค้ด: เลือกทั้งหมด
uname -r

โค้ด: เลือกทั้งหมด
ผลลัพธ์
2.6.18-164.11.1.el5
เป็น Kernel เวอร์ชั่น 2.6.18

ใน Kernel ของ CentOS เวอร์ชั่นนี้ไม่มี OSLEC อยู่ด้วยนะครับ (OSLEC เกิดไม่ทัน)

2. ติดตั้ง kernel-devel
จริงๆแล้วขั้นตอนนี้ จะใช้กับการคอมไพล์ DAHDI ใหม่ คนที่เคยคอมไพล์แล้วก็จะมี kernel-devel อยู่ในเครื่องแล้ว ข้ามไปขั้นตอนต่อไปได้เลยครับ
โค้ด: เลือกทั้งหมด
yum -y install kernel-devel

จะมีไดเร็คตอรี่ /usr/src/kernels/2.6.18-164.11.1.el5-i686
แต่ไดเร็คตอรี่เป้าหมายของเราคือ /usr/src/kernels/2.6.18-164.11.1.el5-i686/drivers ซึ่งเราจะก๊อบไดเร็คตอรี่ของ OSLEC (ที่เราจะเอามาจาก Source Code แท้ๆของ Linux Kernel)ไปไว้ข้างใน

3. ดาวน์โหลด Source Code ของ DAHDI
ถ้าไม่มี Source Code ของ DAHDI ให้ดาวน์โหลดจากเว็บนี้นะครับ http://downloads.asterisk.org/pub/telephony/dahdi-linux โหลดเวอร์ชั่นที่ใหม่ที่สุด
โค้ด: เลือกทั้งหมด
cd /tmp
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/dahdi-linux-2.2.1.tar.gz
tar xzvf dahdi-linux-2.2.1.tar.gz -C /usr/src
mkdir /usr/src/dahdi-linux-2.2.1/drivers/staging


4. ดาวน์โหลด Kernel Source Code เวอร์ชั่นที่มี OSLEC
4.1 ดาวน์โหลด Kernel 2.6.32 Source Code
อาจจะสงสัยว่าในเมื่อบนเครื่องใช้ Kernel 2.6.18 แล้วทำไมต้องโหลด Source Code ของ 2.6.32 มา เป็นเพราะว่า 2.6.18 ไม่มี OSLEC หน่ะครับ ก็เลยโหลดของเวอร์ชั่นอื่นมาและควรเป็นเวอร์ชั่นที่ใหม่ที่สุดในขณะนั้น
ไปที่เว็บไซต์ http://kernel.org/pub/linux/kernel/v2.6
หา Source Code ของ Kernel เวอร์ชั่น 2.6.32 แล้วดาวน์โหลดมา เวอร์ชั่นล่าสุดคือ 2.6.32.8
สำหรับท่านที่ไม่อยากดาวน์โหลด Kernel Source Code (ไฟล์ขนาดประมาณ 60 Mb แต่ใช้แค่นิดเดียว) ให้ข้ามไปขั้นตอนที่ 5 ครับ
โค้ด: เลือกทั้งหมด
cd /tmp
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.8.tar.bz2
tar xvf linux-2.6.32.8.tar.bz2 -C /usr/src

4.2 ก๊อปไฟล์
โค้ด: เลือกทั้งหมด
cp -rf /usr/src/linux-2.6.32.8/drivers/staging/echo /usr/src/dahdi-linux-2.2.1/drivers/staging

4.3 แก้ไขไฟล์คอนฟิกใน DAHDI
โค้ด: เลือกทั้งหมด
sed -i "s|#obj-m += dahdi_echocan_oslec.o|obj-m += dahdi_echocan_oslec.o|" /usr/src/dahdi-linux-2.2.1/drivers/dahdi/Kbuild
sed -i "s|#obj-m += ../staging/echo/|obj-m += ../staging/echo/|" /usr/src/dahdi-linux-2.2.1/drivers/dahdi/Kbuild
echo 'obj-m += echo.o' > /usr/src/dahdi-linux-2.2.1/drivers/staging/echo/Kbuild

4.4 คอมไพล์ dahdi-linux ใหม่
โค้ด: เลือกทั้งหมด
cd /usr/src/dahdi-linux-2.2.1/
make
make install

จะมีไฟล์ /lib/modules/2.6.18-164.11.1.el5/staging/echo/echo.ko, /lib/modules/2.6.18-164.11.1.el5/dahdi/dahdi_echocan_oslec.ko
นอกจากนั้นยังมีไฟล์ Echo Canceller แบบอื่นๆที่มีมากับ DAHDI อยู่แล้วได้แก่ JPAH (dahdi_echocan_jpah.ko), KB1 (dahdi_echocan_kb2.ko), MG2 (dahdi_echocan_mg2.ko), SEC (dahdi_echocan_sec.ko) และ SEC2 (dahdi_echocan_sec2.ko) ก็ติดตั้งด้วย

เสร็จแล้วข้ามไปที่ขั้นตอน 6 ได้เลยครับ

5. อีกทางเลือกหนึ่งในการติดตั้ง OSLEC + DAHDI โดยไม่ต้องดาวน์โหลด Kernel Source Code

ดาวน์โหลดไฟล์ oslec-dahdi นี้ไปไว้ในเครื่อง Asterisk
5.1 แตกไฟล์
โค้ด: เลือกทั้งหมด
tar xzvf oslec-dahdi.tar.gz -C /usr/src/dahdi-linux-2.2.1/drivers

จะมีซับไดเร็คตอรี่ staging/echo
5.2 แก้ไขคอนฟิก
โค้ด: เลือกทั้งหมด
sed -i "s|#obj-m += dahdi_echocan_oslec.o|obj-m += dahdi_echocan_oslec.o|" /usr/src/dahdi-linux-2.2.1/drivers/dahdi/Kbuild
sed -i "s|#obj-m += ../staging/echo/|obj-m += ../staging/echo/|" /usr/src/dahdi-linux-2.2.1/drivers/dahdi/Kbuild
echo 'obj-m += echo.o' > /usr/src/dahdi-linux-2.2.1/drivers/staging/echo/Kbuild

5.3 คอมไพล์ DAHDI
โค้ด: เลือกทั้งหมด
cd /usr/src/dahdi-linux-2.2.1
make
make install


6. คอนฟิก OSLEC
เอา oslec ไปไส่ไว้ในไฟล์ /etc/dahdi/system.conf นะครับ เพื่อบอก
โค้ด: เลือกทั้งหมด
vi /etc/dahdi/system.conf

เพิ่มบรรทัดนี้

echocanceller=oslec,1

บันทึกไฟล์

7. รีสตาร์ท DAHDI
โค้ด: เลือกทั้งหมด
service dahdi restart

Unloading DAHDI hardware modules: done
Loading DAHDI hardware modules:
wct4xxp: [ OK ]
wcte12xp: [ OK ]
wct1xxp: [ OK ]
wcte11xp: [ OK ]
wctdm24xxp: [ OK ]
wcfxo: [ OK ]
wctdm: [ OK ]
wcb4xxp: [ OK ]
wctc4xxp: [ OK ]
xpp_usb: [ OK ]

/usr/share/dahdi/waitfor_xpds: Missing astribank_is_starting
Running dahdi_cfg: [ OK ]


8. DAHDI กับ Linux Kernel
สังเกตุเห็นอะไรมั๊ยครับตอนติดตั้ง DAHDI มันเกี่ยวข้องกับ Kernel เต็มๆ (ไม่เฉพาะตอนติดตั้ง OSLEC นะครับ) ตอนคอมไพล์มันจะอ้างอิงกับ Kernel ด้วย ซึ่งถ้าเรามีการอัพเกรด CentOS ภายหลัง ซึ่งมันอาจจะอัพเกรด Kernel ก็จะทำให้ DAHDI พังไปด้วยครับ ต้องคอมไพล์กันใหม่
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย SoNFaiYen » 15 ก.ค. 2011 16:40

ขั้นตอนที่ 4.2 มันขึ้นว่า cp: cannot create directory `/usr/src/dahdi-linux-2.2.1/drivers/staging': No such file or directory
SoNFaiYen
Silver Member
 
โพสต์: 25
ลงทะเบียนเมื่อ: 14 ก.ค. 2011 08:10

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย nuiz » 15 ก.ค. 2011 18:01

อืม..
ทำขั้นตอนที่ 3 ยังคับ ที่ให้สร้างไดเร็คตอรี่
ตัวอย่างที่ผมทำ ผมทำนานแล้วครับ ตอนนั้นยังเป็น dahdi 2.2.1 อยู่ แต่ตอนนี้ dahdi เป็นเวอร์ชั่นอื่นแล้ว ถ้าดาวน์โหลดมาคนละเวอร์ชั่น ให้ปรับไดเร็คตอรี่ด้วยครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย SoNFaiYen » 15 ก.ค. 2011 21:39

ได้แล้วครับ ขอบคุณครับ ถ้าผมจะจ้างคุณสอนไม่ทราบว่าคุณสะดวกไหมครับ ผมเรียนอยู่มหาลัยธุรกิจบัณฑิตย์.....
SoNFaiYen
Silver Member
 
โพสต์: 25
ลงทะเบียนเมื่อ: 14 ก.ค. 2011 08:10

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย SoNFaiYen » 15 ก.ค. 2011 21:47

ขั้นตอนที่ 6 ที่มช้คำสั่ง vi /etc/dahdi/system.conf มันไม่สามารถเซฟไฟล์ได้อะครับ ซึ่งผมเข้าไปดูใน sysytem ไม่มี folder dahdi อะครับ
SoNFaiYen
Silver Member
 
โพสต์: 25
ลงทะเบียนเมื่อ: 14 ก.ค. 2011 08:10

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย nuiz » 15 ก.ค. 2011 23:05

dahdi มี 2 ไฟล์นะครับ dahdi-linux กับ dahdi-tools ต้องติดตั้ง dahdi-tools ด้วยนะครับ ถึงจะมีไดเร็คตอรี่ /etc/dahdi

บทความอันนี้ผมเขียนขึ้นมาสำหรับคนที่ลง Asterisk ไปแล้วและทำงานได้แล้วแต่อยากลง OSLEC เพิ่มหน่ะครับ

ถ้าเป็นการติดตั้งใหม่เลย ให้ดูจากบทความนี้ดีกว่าครับ รวมบทความการติดตั้ง Asterisk 1.6

แต่ถ้าเราใช้งาน Asterisk โดยไม่ได้ติดตั้งการ์ดใดๆลงไปไม่ว่าจะเป็น Analog Card หรือ Digital Card หรือ GSM Card ใช้แต่ Softphone, IP Phone, VoIP Gateway, SIP, IAX ก็ไม่ต้องลง OSLEC ก็ได้นะครับ

ส่วนเรื่องสอน ไม่ถนัดครับ :D หาข้อมูลจากบทความในเว็บนี้ก็ได้ครับ น่าจะพอได้อยู่นะ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย SoNFaiYen » 16 ก.ค. 2011 00:20

ผมจะต้องลบอะไรออกบ้างครับ คือลงไปเยอะแล้ว หรือว่าลง CentOS ใหม่เลยดีครับ.....
SoNFaiYen
Silver Member
 
โพสต์: 25
ลงทะเบียนเมื่อ: 14 ก.ค. 2011 08:10

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย nuiz » 16 ก.ค. 2011 09:35

แนะนำให้เริ่มใหม่เลย
เสียเวลานิดนึง แต่จะคล่องขึ้นครับ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย SoNFaiYen » 18 ก.ค. 2011 19:17

ตอนนี้ผมยังไม่ได้ลงใหม่เลยครับ ผมอยากรู้ว่าถ้าผม config เสร็จ แล้วผมจะทำให้โทรศัพท์คุยกันได้ยังไงครับ
SoNFaiYen
Silver Member
 
โพสต์: 25
ลงทะเบียนเมื่อ: 14 ก.ค. 2011 08:10

Re: วิธีการติดตั้ง OSLEC ร่วมกับ DAHDI บน CentOS 5.4

โพสต์โดย nuiz » 18 ก.ค. 2011 20:46

คำถามกว้างมากเลยครับ ไม่รู้ว่าคุณทำอะไรไปแล้วบ้าง ง่ายสุดๆก็ประมาณว่าต้องคอนฟิก เบอร์ extension แล้วก็เอา softphone รีจิสเตอร์เข้าไป แล้วก็กดโทรหากัน ยังไงรบกวนหาอ่านจากบทความเก่าๆในเว็บนะครับ มีหมดทุกอย่างแล้วครับ

ถ้าจะตั้งคำถามใหม่ เปิดกระทู้ใหม่เลยครับ และบอกรายละเอียดด้วยว่ามีอะไรบ้าง ลงอะไรไปแล้วบ้าง ทำอะไรไปแล้วบ้าง ลองอะไรไปแล้วบ้าง และติดปัญหาอะไรบ้าง

และถ้าจะเอาแบบเป็นเร็วๆ ภายในวันสองวัน ก็มีคนมาโพสต์เทรนนิ่งอยู่นะครับ เขาเปิดอบรมอยู่บ่อยๆ ยังไงติดตามได้ แต่ไม่เกี่ยวกับเว็บนี้นะครับ เขามาโพสต์เฉยๆ
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

ต่อไป

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

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

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