การติดตั้งการ์ด Analog FXS/FXO บน Asterisk และ DAHDI

Asterisk Opensource IP Pbx

การติดตั้งการ์ด Analog FXS/FXO บน Asterisk และ DAHDI

โพสต์โดย voip4share » 23 ก.พ. 2010 15:20

บทความต่อไปนี้ผมจะแนะนำวิธีการติดตั้งการ์ด Analog FXS/FXO บน Asterisk และใช้ DAHDI นะครับ ผมจะใช้การ์ดยี่ห้อ OpenVox รุ่น A400P แต่วิธีการที่ผมจะแนะนำแบบ Step-By-Step ต่อไปนี้สามารถเอาไปประยุกต์ใช้กับการติดตั้งการ์ด FXS/FXO รุ่นอื่นหรือยี่ห้ออื่นๆได้ครับ

1. จุดประสงค์
ต้องการเชื่อมต่อ Asterisk กับเบอร์โทรศัพท์เพื่อโทรออกไปยังภายนอกและรับสายจากภายนอก และต่อหัวเครื่องโทรศัพท์และแฟ็กซ์

2. การ์ด A400P และโมดูล FXS/FXO
openvox-a400p-small.png
OpenVox - A400P PCI
openvox-a400p-small.png (58.33 KiB) เปิดดู 2747 ครั้ง

openvox-fxo-100-small.png
OpenVox FXO-100 Module
openvox-fxo-100-small.png (16.68 KiB) เปิดดู 2747 ครั้ง

openvox-fxs-100-small.png
OpenVox FXS-100 Module
openvox-fxs-100-small.png (18.79 KiB) เปิดดู 2747 ครั้ง

การ์ด A400P มีบัสแบบ PCI มีอยู่ 4 สล๊อตบนการ์ดไว้สำหรับใส่โมดูล FXS/FXO สมมติว่าเราเลือกติดตั้ง 2 FXS และ 2 FXO โดยสองโมดูแรกเป็น FXS และสองโมดูลหลังเป็น FXO

3 ติดตั้งการ์ดและเชื่อมต่อสาย
ติดตั้งการ์ดเข้าไปใน PCI Slot ว่างในเครื่องคอมพิวเตอร์ การ์ดนี้พิเศษคือรองรับ PCI ทั้งแบบ 3.3 โวลต์และ 5 โวลต์ จากนั้นใช้คำสั่งเพื่อตรวจสอบว่าเครื่องมองเห็นการ์ดหรือไม่ ดังนี้
โค้ด: เลือกทั้งหมด
lspci -vvvv

ควรจะเห็นข้อความประมาณนี้นะครับ

02:0d.0 Communitcation controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface


4. ติดตั้ง DAHDI
4.1 ติดตั้ง dahdi-linux แบบที่ให้รองรับ OSLEC - Open Source Line Echo Canceller ด้วยนะครับ
4.2 ติดตั้ง dahdi-tools

5. ติดตั้ง Asterisk

6. ไฟล์คอนฟิก DAHDI
6.1 รันคำสั่ง dahdi_genconf
โค้ด: เลือกทั้งหมด
dahdi_genconf

จะมีไฟล์ /etc/dahdi/system.conf และ /etc/asterisk/dahdi-channels ถูกสร้างขึ้นมา แต่ละไฟล์มีรายละเอียดดังต่อไปนี้

6.2 ไฟล์ /etc/dahdi/system.conf
;Span 1: WCT1/0 "Wildcard TDM40P REV E/F Board 1" (MASTER)
fxoks=1
fxoks=2
fxsks=3
fxsks=4

echocanceller=oslec,1-4

# Global Data
loadzone = us
defaultzone = us


6.3 ไฟล์ /etc/asterisk/dahdi-channels.conf
; Span 1: WCTDM/0 "Wildcard TDM400P REV E/F Board 1" (MASTER)
;;; line="1 WCTDM/0/0"
signalling=fxo_ks
callerid="Channel 1" <6001>
mailbox=6001
group=5
context=from-internal
channel => 1
callerid=
mailbox=
group=
context=default

;;;line="2 WCTDM/0/1"
signalling=fxo_ks
callerid="Channel 2" <6002>
mailbox=6002
group=5
context=from-internal
channel => 2
callerid=
mailbox=
group=
context=default

;;; line="3 WCTDM/0/2"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 3
context=default

;;; line="4 WCTDM/0/3"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
context=default

แก้ไขค่า callerid และ mailbox ของพอร์ต FXS ตามที่ต้องการครับ ส่วนเบอร์ Extension ของพอร์ต FXS ทั้ง 2 พอร์ตให้ไปตั้งเอาที่ Dialplan ครับ

6.3 ไฟล์ /etc/asterisk/chan_dahdi.conf
เปิดไฟล์นี้ขึ้นมา
โค้ด: เลือกทั้งหมด
vi /etc/asterisk/chan_dahdi.conf

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

#include dahdi-channels.conf


7. รันคำสั่งต่อไปนี้
โค้ด: เลือกทั้งหมด
modprobe dahdi
modprobe wctdm
dahdi_cfg -vvvvvvvvvvvv


8. เข้า Asterisk Console
พิมพ์คำสั่ง
โค้ด: เลือกทั้งหมด
dahdi show channels

จะเห็นรายชื่อ Channel ของการ์ด

9. สร้าง Dialplan
โค้ด: เลือกทั้งหมด
vi /etc/asterisk/extensions.conf


[from-internel]
include => from-pstn
exten => 6001,1,Dial(DAHDI/1,30)
exten => 6001,n,Hangup()

exten => 6002,1,Dial(DAHDI/2,30)
exten => 6002,n,Hangup()

[from-pstn]
exten => _0X.,1,Dial(DAHDI/g0,${EXTEN})
exten => _0X.,n,Hangup()

exten => s,1,Goto(from-internal,6001,1)
exten => s,n,Hangup()


10. โทรออก
เบอร์ Extension 6001 และ 6002 โทรหากันได้โดยกดเบอร์ปลายทางโดยตรง หรือจะโทรออกภายนอกก็กดเบอร์ปลายทางได้เช่นเดียวกัน เช่น 029009000

11. รับสายเข้า
เมื่อมีคนโทรเข้ามาที่เบอร์โทรศัพท์ที่ต่ออยู่กับพอร์ต FXO จะทำให้ Asterisk โอนสายไปเบอร์ Extension 6001 โดยอัตโนมัติ
voip4share
Administrator
 
โพสต์: 656
ลงทะเบียนเมื่อ: 18 พ.ย. 2009 11:26
ที่อยู่: รามคำแหง กรุงเทพฯ

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

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

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