เทคนิคการคอนฟิกพอร์ต FXS ของการ์ด TDM410P, TDM400P
โพสต์แล้ว: 10 เม.ย. 2012 10:19
คอนฟิกพอร์ต FXS
เราสามารถเอาพอร์ต FXS (โมดูลสีเขียว) นี้ไปต่อกับ Fax หรือเครื่องโทรศัพท์ธรรมดา (หรือที่เรียกว่า Single Line Telephone, SLT) ก็ได้ หรือพอร์ตสายนอก (หรือที่เรียกว่า CO Line) ของตู้สาขาก็ได้ หรือจะต่อกับพอร์ต FXO ของอุปกรณ์ VoIP Gateway ก็ได้ ไม่ว่าจะต่อกับอุปกรณ์ประเภทไหนก็คอนฟิกเหมือนๆกันครับ
** เทคนิคนี้ใช้ได้ทั้งการ์ดแบบ PCI และ PCI Express ครับ **
1. ติดตั้งการ์ด FXS ในเครื่อง
- ปิดเครื่อง ถอดสายไฟ สาย LAN สายจอ (แนะนำว่าต้องถอดสายเหล่านี้ออกด้วยนะครับ เสียเวลานิดๆหน่อยๆเอง เพราะมันอาจจะมีไฟ surge เล็กๆ ซึ่งอาจจะทำให้การ์ดของท่านพังได้)
- ใส่การ์ดใน Slot ที่เหมาะสม
- เนื่องจากบนการ์ดมี FXS (โมดูลสีเขียว) ด้วย ต้องต่อสายไฟเข้าการ์ดด้วยครับ อันนี้สำคัญมาก
- แล้วเปิดเครื่อง
2. เพิ่มบรรทัด conext_lines from-zaptel
อย่าลืมแก้ไขไฟล์ /etc/dahdi/genconf_parameters เพิ่มบรรทัดนี้เข้าไปด้วย ไม่งั้นเดี๋ยวจะโทรเข้าไม่ได้
3. เข้าหน้าเว็บ Elastix
คลิ๊กแท๊ป System -> Hardware Detector แล้วกดปุ่ม Detect New Hardware
รอสักพักก็จะเห็น Card และพอร์ต FXS ครับ จะมีหมายเลขพอร์ตกำกับไว้ด้วย เช่น 1, 2, 3, ...
4. เช็คหมายเลขพอร์ต
ก่อนอื่นให้ตรวจสอบหมายเลขพอร์ต FXS ก่อนครับ พอร์ตที่เราต้องการจะใช้งานมันหมายเลขอะไร ดูหมายเลขพอร์ตได้จากเมนู Hardware Detector
พอร์ต FXS มีหมายเลขพอร์ตคือ 4
5. คอนฟิก FXS Extension
สังเกตว่าตรง Channel ต้องใส่เลข 4 ซึ่งเป็นเบอร์พอร์ตของ FXS
และแก้ไขคอนฟิกเพิ่มเติม
และถ้าเราเอาหัวเครื่องโทรศัพท์ หรือเครื่องแฟ็กซ์ไปต่อกับพอร์ตที่ 4 ของการ์ด ยกหูก็จะได้ยินเสียง Dial Tone และกดต่อไปเบอร์ Extension อื่นๆได้
6. โทรออกและรับสายเข้า
เมื่อคอนฟิกเบอร์ Extension ของพอร์ต FXS แล้ว ก็พร้อมจะโทรออกและรับสายเข้า
6.1คอนฟิกเบอร์ Extension เพิ่มอีก 1 เบอร์ ไว้ทดสอบโทรเข้าไปหาพอร์ต FXS และเอาไว้เทสโทรออกจากพอร์ต FXS ให้คอนฟิก Extension แบบ SIP เพราะง่ายต่อการทดสอบ
6.2 โทรเทสจากพอร์ต FXS (เบอร์ 800) ไปหาเบอร์ SIP ( เบอร์ 100)
ยกหูโทรศัพท์ ฟังเสียง Dial Tone กดเบอร์ปลายทาง 100 แล้วรอประมาณ 5 วินาที จะมีสัญญาณเรียกไปยังเบอร์ SIP
6.3 โทรเทสจากเบอร์ SIP ไปยังพอร์ต FXS
ที่โปรแกรม Softphone ที่ใช้ทดสอบ กดเบอร์ปลายทาง 800 รอสักครู่เครื่องโทรศัพท์เบอร์ 800 จะดัง สังเกตุที่จอ (ถ้าเครื่องรองรับ CallerID) จะโชว์เบอร์โทรเข้าเป็นเบอร์ 100
เพิ่มเติม ลองใช้คำสั่งต่างๆเหล่านี้ดูครับ
5. สถานะของพอร์ต FXS
ยกหู
-- Starting simple switch on 'DAHDI/4-1'
วางหู
-- Hungup 'DAHDI/4-1'
แก้ปัญหาโทรไม่ออก
-- Executing [90870050676@from-internal:4] Macro("DAHDI/4-1", "dialout-trunk,1,0870050676,,") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("DAHDI/4-1", "DIAL_TRUNK=1") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("DAHDI/4-1", "0?sub-pincheck,s,1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("DAHDI/4-1", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("DAHDI/4-1", "DIAL_NUMBER=0870050676") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("DAHDI/4-1", "DIAL_TRUNK_OPTIONS=tr") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("DAHDI/4-1", "OUTBOUND_GROUP=OUT_1") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("DAHDI/4-1", "0?nomax") in new stack
-- Executing [s@macro-dialout-trunk:8] GotoIf("DAHDI/4-1", "1?chanfull") in new stack
-- Goto (macro-dialout-trunk,s,30)
-- Executing [s@macro-dialout-trunk:30] NoOp("DAHDI/4-1", "max channels used up") in new stack
-- Executing [90870050676@from-internal:5] Macro("DAHDI/4-1", "outisbusy,") in new stack
เป็นเพราะสายค้าง โทรออกทาง Trunk 1, มีคนใช้สายอยู่
เราสามารถเอาพอร์ต FXS (โมดูลสีเขียว) นี้ไปต่อกับ Fax หรือเครื่องโทรศัพท์ธรรมดา (หรือที่เรียกว่า Single Line Telephone, SLT) ก็ได้ หรือพอร์ตสายนอก (หรือที่เรียกว่า CO Line) ของตู้สาขาก็ได้ หรือจะต่อกับพอร์ต FXO ของอุปกรณ์ VoIP Gateway ก็ได้ ไม่ว่าจะต่อกับอุปกรณ์ประเภทไหนก็คอนฟิกเหมือนๆกันครับ
** เทคนิคนี้ใช้ได้ทั้งการ์ดแบบ PCI และ PCI Express ครับ **
1. ติดตั้งการ์ด FXS ในเครื่อง
- ปิดเครื่อง ถอดสายไฟ สาย LAN สายจอ (แนะนำว่าต้องถอดสายเหล่านี้ออกด้วยนะครับ เสียเวลานิดๆหน่อยๆเอง เพราะมันอาจจะมีไฟ surge เล็กๆ ซึ่งอาจจะทำให้การ์ดของท่านพังได้)
- ใส่การ์ดใน Slot ที่เหมาะสม
- เนื่องจากบนการ์ดมี FXS (โมดูลสีเขียว) ด้วย ต้องต่อสายไฟเข้าการ์ดด้วยครับ อันนี้สำคัญมาก
- แล้วเปิดเครื่อง
2. เพิ่มบรรทัด conext_lines from-zaptel
อย่าลืมแก้ไขไฟล์ /etc/dahdi/genconf_parameters เพิ่มบรรทัดนี้เข้าไปด้วย ไม่งั้นเดี๋ยวจะโทรเข้าไม่ได้
- โค้ด: เลือกทั้งหมด
context_lines from-zaptel
3. เข้าหน้าเว็บ Elastix
คลิ๊กแท๊ป System -> Hardware Detector แล้วกดปุ่ม Detect New Hardware
รอสักพักก็จะเห็น Card และพอร์ต FXS ครับ จะมีหมายเลขพอร์ตกำกับไว้ด้วย เช่น 1, 2, 3, ...
4. เช็คหมายเลขพอร์ต
ก่อนอื่นให้ตรวจสอบหมายเลขพอร์ต FXS ก่อนครับ พอร์ตที่เราต้องการจะใช้งานมันหมายเลขอะไร ดูหมายเลขพอร์ตได้จากเมนู Hardware Detector
พอร์ต FXS มีหมายเลขพอร์ตคือ 4
5. คอนฟิก FXS Extension
สังเกตว่าตรง Channel ต้องใส่เลข 4 ซึ่งเป็นเบอร์พอร์ตของ FXS
และแก้ไขคอนฟิกเพิ่มเติม
และถ้าเราเอาหัวเครื่องโทรศัพท์ หรือเครื่องแฟ็กซ์ไปต่อกับพอร์ตที่ 4 ของการ์ด ยกหูก็จะได้ยินเสียง Dial Tone และกดต่อไปเบอร์ Extension อื่นๆได้
6. โทรออกและรับสายเข้า
เมื่อคอนฟิกเบอร์ Extension ของพอร์ต FXS แล้ว ก็พร้อมจะโทรออกและรับสายเข้า
6.1คอนฟิกเบอร์ Extension เพิ่มอีก 1 เบอร์ ไว้ทดสอบโทรเข้าไปหาพอร์ต FXS และเอาไว้เทสโทรออกจากพอร์ต FXS ให้คอนฟิก Extension แบบ SIP เพราะง่ายต่อการทดสอบ
6.2 โทรเทสจากพอร์ต FXS (เบอร์ 800) ไปหาเบอร์ SIP ( เบอร์ 100)
ยกหูโทรศัพท์ ฟังเสียง Dial Tone กดเบอร์ปลายทาง 100 แล้วรอประมาณ 5 วินาที จะมีสัญญาณเรียกไปยังเบอร์ SIP
6.3 โทรเทสจากเบอร์ SIP ไปยังพอร์ต FXS
ที่โปรแกรม Softphone ที่ใช้ทดสอบ กดเบอร์ปลายทาง 800 รอสักครู่เครื่องโทรศัพท์เบอร์ 800 จะดัง สังเกตุที่จอ (ถ้าเครื่องรองรับ CallerID) จะโชว์เบอร์โทรเข้าเป็นเบอร์ 100
เพิ่มเติม ลองใช้คำสั่งต่างๆเหล่านี้ดูครับ
- โค้ด: เลือกทั้งหมด
demo*CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
1 from-pstn default In Service
2 from-pstn default In Service
3 from-pstn default In Service
4 from-internal default In Service
- โค้ด: เลือกทั้งหมด
demo*CLI> dahdi show channel 4
Channel: 4
File Descriptor: 25
Span: 1
Extension:
Dialing: no
Context: from-internal
Caller ID: 800
Calling TON: 0
Caller ID name: device
Mailbox: 800@device
Destroy: 0
InAlarm: 0
Signalling Type: FXO Kewlstart
Radio: 0
Owner: DAHDI/4-1
Real: DAHDI/4-1
Callwait: <None>
Threeway: <None>
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: yes
Busy Detection: no
TDD: no
Relax DTMF: no
Dialing/CallwaitCAS: 0/0
Default law: ulaw
Fax Handled: no
Pulse phone: no
DND: no
Echo Cancellation:
128 taps
(unless TDM bridged) currently ON
Wait for dialtone: 0ms
Actual Confinfo: Num/0, Mode/0x0000
Actual Confmute: No
Hookstate (FXS only): Offhook
5. สถานะของพอร์ต FXS
ยกหู
-- Starting simple switch on 'DAHDI/4-1'
วางหู
-- Hungup 'DAHDI/4-1'
แก้ปัญหาโทรไม่ออก
-- Executing [90870050676@from-internal:4] Macro("DAHDI/4-1", "dialout-trunk,1,0870050676,,") in new stack
-- Executing [s@macro-dialout-trunk:1] Set("DAHDI/4-1", "DIAL_TRUNK=1") in new stack
-- Executing [s@macro-dialout-trunk:2] GosubIf("DAHDI/4-1", "0?sub-pincheck,s,1") in new stack
-- Executing [s@macro-dialout-trunk:3] GotoIf("DAHDI/4-1", "0?disabletrunk,1") in new stack
-- Executing [s@macro-dialout-trunk:4] Set("DAHDI/4-1", "DIAL_NUMBER=0870050676") in new stack
-- Executing [s@macro-dialout-trunk:5] Set("DAHDI/4-1", "DIAL_TRUNK_OPTIONS=tr") in new stack
-- Executing [s@macro-dialout-trunk:6] Set("DAHDI/4-1", "OUTBOUND_GROUP=OUT_1") in new stack
-- Executing [s@macro-dialout-trunk:7] GotoIf("DAHDI/4-1", "0?nomax") in new stack
-- Executing [s@macro-dialout-trunk:8] GotoIf("DAHDI/4-1", "1?chanfull") in new stack
-- Goto (macro-dialout-trunk,s,30)
-- Executing [s@macro-dialout-trunk:30] NoOp("DAHDI/4-1", "max channels used up") in new stack
-- Executing [90870050676@from-internal:5] Macro("DAHDI/4-1", "outisbusy,") in new stack
เป็นเพราะสายค้าง โทรออกทาง Trunk 1, มีคนใช้สายอยู่