พอไม่ได้เล่น (อ่านแล้วก็นึกๆเอา) ก็รู้สึกไม่ค่อยมั่นใจที่จะตอบปัญหาหรือให้คำแนะนำแก่คนที่มาโพสต์ถามปัญหา ก็เลยตัดสินใจซื้อมาเล่นซะเลย ซื้อมา 4 การ์ดเลยครับ เป็นการ์ด X100P สีเขียว การ์ด X100P สีแดง การ์ด TDM410P (3 FXO + 1 FXS) แล้วก็ TE110P เป็นการ์ด E1 กะว่าจะเล่นให้หนำใจไปเลย
เอาหล่ะครับ มาเริ่มกันที่การ์ด X100P สีเขียวกันเลย
ตัวการ์ดด้านหน้าและด้านหลัง


ติดตั้งในคอม



พอดีมีเบอร์โทรศัพท์ว่างอยู่เบอร์นึงพอดี ก็เลยต่อเข้าไป เสียบสายโทรศัพท์ในช่อง LINE นะครับ ส่วนช่อง PHONE เอาไว้ต่อกับเครื่องโทรศัพท์ (หรือไม่ต่อก็ได้) เอาไว้พ่วงเบอร์กันใช้ ซึ่งใช้โทรออกหรือรับสายเข้าได้โดยไม่ยุ่งเกี่ยวกับตัวการ์ดเลย ผมลองดูโดยการปิดเครื่องคอม ปรากฏว่าโทรออกได้ รับสายได้ ผ่านทางเบอร์โทรศัพท์ที่เอามาต่อกับช่อง LINE แต่การใช้งานโดยทั่วๆไปก็ไม่เห็นมีใครเอาเครื่องมาพ่วงนะครับ
ผมเคยสงสัยว่าจำเป็นต้องเสียบสายโทรศัพท์เข้าช่อง LINE ด้วยมั๊ย ปรากฏว่าจริงๆแล้วไม่จำเป็นครับ เสียบช่องไหนก็ได้ เพราะว่าช่อง LINE และ PHONE มันต่อถึงกันโดยไม่มีชิ้นส่วนอิเล็กทรอนิกส์ใดๆมาขวางเลย ลายปริ้นท์มันต่อถึงกัน เพราะฉะนั้นเสียบช่องไหนก็ได้ แต่ถึงจะเสียบช่องไหนก็ได้ ผมว่าเอาตามที่คนผลิตเขาปั๊มไว้บนการ์ดนั่นแหล่ะ
หน้า Hardware Detector ใน Elastix
ล๊อกอินเข้าเว็บ Elatix แล้วคลิ๊ก "Hardware Detector" ก็จะมองเห็นการ์ดแบบนี้ครับ

Elastix มองเห็นการ์ดแล้ว แต่ว่าพอร์ตยังเป็นสีเทาอยู่ สังเกตุที่พอร์ตนะครับ ตัวเลขด้านซ้ายมือ ในรูปคือ "1" คือหมายเลขพอร์ต ยังไม่รู้ว่าเป็นพอร์ตประเภทไหน FXO หรือว่า FXO ให้คลิ๊กที่ปุ่ม Detect New Hardware ครับ พอร์ตก็จะเปลี่ยนไปเป็น "สีเขียว" แบบรูปนี้

ตอนนี้ Asterisk ก็รู้แล้วว่าพอร์ตเป็นแบบ FXO
ถ้า Elastix มองไม่เห็นการ์ด (แต่ต้องชัวร์ว่าการ์ดไม่เสียและสล๊อตไม่เสีย) ก็อาจจะเป็นไปได้ว่าตอนบู๊ตเครื่อง Dahdi มันไม่รัน ลองหาทางแก้ปัญหาตามบทความนี้ครับ เทคนิคการอัพเกรด Elastix และแก้ปัญหาเรื่อง Card
สถานะพอร์ต
สีเขียวคือมีสัญญาณโทรศัพท์ (แรงดันไฟกระแสตรงที่มากับสายโทรศัพท์ ประมาณ 48 โวลต์) สีชมพูคือไม่มีสัญญาณโทรศัพท์ ตามรูปครับ

คอนฟิกรับสายเข้า
** ผมเทสกับ Elastix 2.0 **
วิธีการคอนฟิก Elastix ให้รับที่โทรเข้ามาทางการ์ด X100P ตามนี้ครับ
1. ล๊อกอินเข้าเว็บ Elastix แล้วคลิ๊กแท๊ป "PBX"
2. คลิ๊กที่ "ZAP Channel DIDs"
ช่อง Channel ใส่หมายเลขพอร์ต FXO ดูจากหน้า "Hardware Detector" ครับ เครื่องผมโชว์หมายเลข 1 ก็เลยใส่เลข 1
ช่อง Description ใส่อะไรก็ได้ให้สื่อความหมายว่าพอร์ตนี้เอาไว้ทำอะไร
ช่อง DID ใส่เบอร์โทรศัพท์ ใส่แบบไหนก็ได้ เช่นเบอร์โทรศัพท์ที่เอามาต่อกับพอร์ตนี้ เบอร์ภายในจากตู้สาขา หรือเบอร์มั่วๆ เบอร์นี้เอาไว้อ้างอิงในการทำงานของ Asterisk เอาเป็นว่าใส่อย่าให้ซ้ำกับเบอร์อื่นๆใน Elastix เป็นพอครับ
เสร็จแล้วกดปุ่ม "Apply Changes" และอาจจะกดปุ่ม "Apply Configuration Changes Here" ตามก็ได้ (หรือยังไม่ต้องกด รอให้คอนฟิกเมนูอื่นให้เสร็จก่อน)


สังเกตุบรรทัด context=from-zaptel ในรูปบนนะครับ เราต้องไปแก้คอนฟิกที่ๆหนึ่งจาก context=from-pstn ไปเห็น context=from-zaptel มันถึงจะโทรเข้าได้ ย้ำครับว่ามันถึงจะโทรเข้าได้
** ดูวิธีการแก้ไขค่า context ตอนท้ายๆของบทความนี้ **
3. คอนฟิก Extensions หรือ IVR หรือ Queues หรือ Ring Groups หรือ DISA หรือ...
คอนฟิกไว้เพื่อรับสายเวลามีคนโทรเข้ามาที่พอร์ต FXO หน่ะครับ ก็แล้วแต่ว่าเราต้องการใช้พอร์ต FXO ไว้ทำอะไร ผมเอาง่ายๆสุดคือเวลามีคนโทรเข้ามาแล้วก็ให้โยนมาที่เบอร์ Extension ของผม
อันนี้ผมคิดว่าคอนฟิกเป็นกันหมดแล้ว เลยไม่ขอยกตัวอย่าง
4. คอนฟิก Inbound Routes
คอนฟิกเพื่อโอนสายที่โทรเข้ามาไปยังจุดหมายปลายทางที่เราคอนฟิกไว้ในข้อ 3
คลิ๊กเมนู "Inbound Routes" ด้านซ้ายมือ แล้วคอนฟิก
Description ใส่รายละเอียดสั้นๆว่าเราเอาไว้ทำอะไร
DID Number ใส่เบอร์โทรศัพท์ ใส่ให้เหมือนกับเบอร์ที่ใส่ในช่อง DID ของเมนู "ZAP Channel DIDs" ในข้อ 2 เลยนะครับ ไม่งั้นจะหากันไม่เจอ
ส่วนตรง "Set Destination" ด้านล่างก็คลิ๊กเลือกว่าจะโยนไปที่ไหนเวลาที่มีใครโทรเข้ามา
เสร็จแล้วคลิ๊ก "Submit"

5. แก้ไขไฟล์ /etc/asterisk/dahdi-channels.conf
แก้ไข context=from-pstn เป็น context=from-zaptel
ของเดิม
; Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER)
;;; line="1 WCFXO/0/0"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
callerid=
group=
context=default
ให้แก้ไขบรรทัด context=from-pstn เป็น context=from-zaptel
ส่วนบรรทัด context=default และบรรทัดอื่นๆปล่อยไว้ตามเดิม เสร็จแล้วคลิ๊ก "Save"
6. กลับมาที่ PBX คลิ๊ก "Apply Configuration Changes Here"
7. เทสโทรเข้าได้เลยครับ เวอร์คแน่นอน
การ์ด X100P รองรับ CallerID นะครับ ซึ่งประโยชน์ของฟีเจอร์นี้ก็คือเวลาเราเอาเบอร์โทรศัพท์ที่รองรับ CallerID มาต่อ เบอร์คนโทรเข้าก็จะมาโชว์ในระบบด้วย เราก็จะรู้ว่าใครโทรเข้ามา สะดวกดีครับ
คอนฟิกให้โทรออก
สำหรับการคอนฟิกให้โทรออกได้ทางพอร์ต FXO เราต้องสร้าง Trunk และ Outbound Route (ในขณะที่การคอนฟิกเพื่อรับสายเข้าทางพอร์ต FXO เราไม่ต้องสร้าง Trunk)
1. สร้าง Trunks เลือกเป็นแบบ "ZAP Trunk"

Trunk Description ตั้งชื่อ
Maximum Channels ใส่ 1 เท่ากับจำนวนพอร์ตในการ์ด ซึ่งจะทำให้ Asterisk รู้ว่า Trunk นี้โทรออกได้ทีละสาย
Dial Rules ใส่ฟอร์แม็ตเบอร์โทรศัพท์ที่จะส่งออกทาง Trunk ซึ่ง X. หมายถึงจะส่งตัวเลขทุกหลักที่ได้รับ จะไม่แก้ไข
Zap Identifier (trunk name) ใส่หมายเลขพอร์ตของการ์ด ดูหมายเลขพอร์ตได้จากหน้าเว็บ "Hardware Detector"
ที่เหลือก็ปล่อยไว้ตามเดิมครับ แล้วกด "Submit Change"
2. สร้าง Outbound Routes
เมนู Outbound Routes

Route Name ตั้งชื่อ
Dial Patterns ตั้งเบอร์หลักแรกที่จะกด ควรตั้งไม่ให้ซ้ำกับที่มีอยู่แล้ว ไม่งั้นอันที่เราทำนี้อาจจะไม่เวอร์คก็ได้ (เพราะถ้าซ้ำ Elastix มันจะเลือกใช้อันแรกที่เจอ) ในตัวอย่างผมตั้งว่า ถ้ายูสเซอร์กด 0 ตามด้วยเลขอะไรก็ได้ ให้ส่งมาทางนี้
Trunk Sequence เลือก Trunk ที่จะใช้โทรออก เลือกได้หลาย Trunk ครับ เรียงลำดับตามที่เลือกไว้
ที่เหลือก็ปล่อยไว้ตามเดิม แล้วกด "Submit Changes"
3. กดปุ่ม "Apply Configuration Changes Here"
4. เทสโทรออก
มีเท่านี้ครับสำหรับการติดตั้ง คอนฟิก และใช้งานการ์ด Analog X100P
คำสั่งบน CentOS และ Asterisk
มาดูคำสั่งบน CentOS และ Asterisk กันครับ เอาไว้ดู Status และแก้ปัญหาการ์ด
- โค้ด: เลือกทั้งหมด
# dmesg
dahdi: Telephony Interface Registered on major 196
dahdi: Version: 2.3.0.1
ACPI: PCI Interrupt 0000:02:02.0[A] -> GSI 19 (level, low) -> IRQ 209
wcfxo: DAA mode is 'FCC'
Found a Wildcard FXO: Generic Clone
dahdi_echocan_oslec: Registered echo canceler 'OSLEC'
dahdi: Registered tone zone 0 (United States / North America)
- โค้ด: เลือกทั้งหมด
# lspci
02:02.0 Communication controller: Tiger Jet Network Inc. Tiger3XX Modem/ISDN interface
ถ้า CentOS ไม่เจอการ์ด ก็ต้องลองย้าย Slot PCI ดูครับ เผื่อ Slot จะมีปัญหา
- โค้ด: เลือกทั้งหมด
# lsmod
dahdi_echocan_oslec 6912 1
echo 9600 1 dahdi_echocan_oslec
wcfxo 16160 1
dahdi 197192 6 dahdi_echocan_oslec,wcfxo
crc_ccitt 6337 1 dahdi
คำสั่ง lsmod เช็คว่ามีการโหลด module อะไรบ้างเกี่ยวกับการ์ด
- โค้ด: เลือกทั้งหมด
# service dahdi status
### Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER)
1 FXO FXSKS (In use) (SWEC: OSLEC) (battery)
เช็คสถานะของ Dahdi มองเห็นการ์ดปกติ
- โค้ด: เลือกทั้งหมด
# dahdi_hardware
pci:0000:02:02.0 wcfxo+ e159:0001 Wildcard X101P clone
- โค้ด: เลือกทั้งหมด
# dahdi_scan
[1]
active=yes
alarms=OK
description=Generic Clone Board 1
name=WCFXO/0
manufacturer=Digium
devicetype=Generic Clone
location=PCI Bus 02 Slot 03
basechan=1
totchans=1
irq=209
type=analog
port=1,FXO
คำสั่ง dahdi_scan นี้นะครับ ระบบจะบอกคอนฟิกที่พอร์ต 1 ใช้ในขณะนี้ ตัวเลขในเครื่องหมาย [] คือหมายเลขพอร์ต โดยดึงคอนฟิกมาจากไฟล์หลายๆไฟล์มาผสมกัน
- โค้ด: เลือกทั้งหมด
# dahdi_test
Opened pseudo dahdi interface, measuring accuracy...
99.992% 100.000% 99.994% 99.994% 99.994% 99.993% 99.994% 99.994%
99.994% 99.995% 99.994% 99.994% 99.994% 99.994% 99.994% 99.995%
99.994% 99.994% 99.993% 99.994% 99.994% 99.994% 99.991% 99.997%
99.994% 99.995% 99.993% 99.994% 99.994% 99.994% 99.994% 99.994%
99.993% 99.994% 99.994% 99.994% 99.993% 99.995% 99.994% 99.994%
99.994% 99.994% 99.994% 99.994% 99.994% 99.994% 99.993% 99.993%
99.995% 99.994% 99.994% 99.994% 99.994% 99.994% 99.994% 99.993%
99.995% 99.994% 99.994% 99.994% 99.994% 99.994% 99.994% 99.994%
99.994% 99.994% 99.994% 99.996% 99.994% 99.994% 99.994% 99.994%
99.993% 99.995% 99.994% 99.994% 99.994% 99.994%
--- Results after 78 passes ---
Best: 100.000 -- Worst: 99.991 -- Average: 99.993949, Difference: 100.006051
- โค้ด: เลือกทั้งหมด
# dahdi_speed
Count: 985399
คำสั่งใน Asterisk Console
ลองเข้ามาดูคำสั่งใน Asterisk Console ครับ
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi restart
Destroying channels and reloading DAHDI configuration.
== Unregistered channel -2
== Unregistered channel 1
== Parsing '/etc/asterisk/chan_dahdi.conf': == Found
== Parsing '/etc/asterisk/dahdi-channels.conf': == Found
== Parsing '/etc/asterisk/chan_dahdi_additional.conf': == Found
== Parsing '/etc/asterisk/users.conf': == Found
-- Reconfigured channel 1, FXS Kewlstart signalling
-- Automatically generated pseudo channel
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi show channels
Chan Extension Context Language MOH Interpret Blocked State
pseudo default default In Service
1 from-zaptel default In Service
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi show channel 1
Channel: 1
File Descriptor: 20
Span: 1
Extension:
Dialing: no
Context: from-zaptel
Caller ID:
Calling TON: 0
Caller ID name:
Mailbox: none
Destroy: 0
InAlarm: 0
Signalling Type: FXS Kewlstart
Radio: 0
Owner: <None>
Real: <None>
Callwait: <None>
Threeway: <None>
Confno: -1
Propagated Conference: -1
Real in conference: 0
DSP: no
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 OFF
Wait for dialtone: 0ms
Actual Confinfo: Num/0, Mode/0x0000
Actual Confmute: No
Hookstate (FXS only): Onhook
บรรทัด Span หมายถึงหมายเลขการ์ด การ์ดนี้เป็นการ์ดที่ 1
บรรทัด Channel หมายถึงหมายเลขพอร์ต (บนการ์ด) การ์ดหนึ่งๆอาจจะมีหลายพอร์ต แต่สำหรับการ์ด X100P การ์ดนี้มีพอร์ตเดียวครับ
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi show status
Description Alarms IRQ bpviol CRC4 Fra Codi Options LBO
Generic Clone Board 1 OK 0 0 0 CAS Unk 0 db (CSU)/0-133 feet (DSX-1)
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi show version
DAHDI Version: 2.3.0.1 Echo Canceller: OSLEC
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi show cadences
r1: 125,125,2000,4000
r2: 250,250,500,1000,250,250,500,4000
r3: 125,125,125,125,125,4000
r4: 1000,500,2500,5000
Status ตอนมีการโทร
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi show channel 1
Channel: 1
File Descriptor: 20
Span: 1
Extension:
Dialing: no
Context: from-zaptel
Caller ID:
Calling TON: 0
Caller ID name:
Mailbox: none
Destroy: 0
InAlarm: 0
Signalling Type: FXS Kewlstart
Radio: 0
Owner: DAHDI/1-1
Real: DAHDI/1-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
ตัดสายที่กำลังคุยกัน หรือสายที่ค้าง
- โค้ด: เลือกทั้งหมด
elastix-a*CLI> dahdi destroy channel 1
Disconnected from Asterisk server
เทคนิคที่จะช่วยแก้ปัญหาการใช้งานการ์ด X100P และการ์ด FXO ทั่วไป
ต่อไปนี้เป็นปัญหาที่เจอกันบ่อยๆในการใช้งานพอร์ต FXO ครับ
1. สายค้าง
วางสายแล้วพอร์ต FXO ไม่ยอมวางสาย ทำให้โทรเข้าไม่ได้อีก จนกว่าจะสั่ง disconnect (คำสั่งบน Asterisk Console คือ dahdi destroy channel X โดยที่ X คือหมายเลขพอร์ตที่ค้าง) ปัญหานี้เกิดจากพอร์ต FXO ดีเท็คสัญญาณ Disconnect Tone หรือ Busy Tone ไม่ได้ ซึ่งค่า Default ของพอร์ต FXO ก็ไม่ได้ให้มันดีเท็คสัญญาณนี้ด้วย
วิธีการแก้ไขนะครับ
1. เปิดไฟล์ /etc/asterisk/chan_dahdi.conf
ไฟล์นี้แก้ไขได้เลยนะครับ ไม่ต้องเป็นห่วงว่า Elastix จะเขียนทับ
2. เอาเครื่องหมาย ; หน้าบรรทัด busydetect และ busycount ออก
;Uncomment these lines if you have problems with the disconection of your analog lines
busydetect=yes
busycount=3
3. บันทึกไฟล์ และรีโหลด
elastix-a*CLI> dahdi restart
4. เช็ค
elastix-a*CLI> dahdi show channel 1
Channel: 1
Busy Detection: yes
Busy Count: 3
Busy Pattern: 0,0
บรรทัด Busy Pattern นี้นะครับ เอาไว้ให้เราตั้งค่า Tone On/Off ของสัญญาณ Busy Tone/Disconnect Tone ได้เผื่อว่าเบอร์โทรศัพท์ที่เราเอามาต่อมันจะมีสัญญาณ Busy ผิดแปลกไปจากมาตรฐาน ซึ่งค่ามาตรฐานก็ใช้ดีฟอลท์ของประเทศ us ครับ โดยข้อมูลสัญญาณ Tone ต่างๆของ us รวมทั้งประเทศต่างๆ อยู่ในไฟล์ /etc/asterisk/indications.conf ครับ ขอบอกว่าประเทศไทยของเราก็มีกะเขาด้วยนะครับ ดูที่ [th]
ถ้าแก้ไขพารามิเตอร์ busydetect แล้วยังไม่หาย ก็อาจจะเป็นไปได้ว่า สัญญาณ Busy Tone ที่ส่งมาทางสายโทรศัพท์นั้นนะครับ มันไม่ได้อยู่ในรูปแบบที่ Asterisk รับรู้ อย่างนี้ก็ต้องเพิ่มบรรทัดนี้เข้าไปครับ
busypattern=500,500
ซึ่งหมายความว่า ถ้า Asterisk พบว่ามีสัญญาณ Tone ที่มีรูปแบบ On นาน 500 ms (หรือ 0.5 sec) และ Off นาน 500 ms และเกิดต่อเนื่องในช่วง busycount มันจะคิดว่าเป็น Busy tone แล้วก็จะตัดสาย
2. กดปุ่ม "Detect New Hardward" ในหน้า "Hardware Detector" แล้ว โทรเข้าพอร์ต FXO ไม่ได้
สาเหตุคือ เมื่อเรากดปุ่ม Detect New Hardware มันจะแก้ค่าบรรทัด context= จาก context=from-zaptel (ซึ่งใช้งานได้) ไปเป็น context=from-pstn (ตามค่าดีฟอล์ ซึ่งใช้งานไม่ได้)
ให้แก้ไขไฟล์ /etc/asterisk/dahdi-channels.conf
; Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER)
;;; line="1 WCFXO/0/0 FXSKS (In use) (SWEC: OSLEC) (EC: OSLEC)"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
เซฟไฟล์แล้วรีสตาร์ท Dahdi
elastix-a*CLI> dahdi restart
หรือตอนที่เกิดปัญหา เข้า Asterisk Console แล้วพิมพ์คำสั่ง dahdi show channel 1 ก็จะเห็นครับว่า Context มันไม่ใช่ from-zaptel
elastix-a*CLI> dahdi show channel 1
Channel: 1
Context: from-pstn
ถ้าเวอร์ค บรรทัด Context จะเป็นแบบนี้
elastix-a*CLI> dahdi show channel 1
Channel: 1
File Descriptor: 20
Span: 1
Extension:
Dialing: no
Context: from-zaptel
วิธีแก้ไขให้กดปุ่ม "Detect New Hardware" ได้โดยไม่ทำให้คอนฟิกเปลี่ยน
เปิดไฟล์ /etc/dahdi/genconf_parameters
เพิ่มบรรทัดนี้เข้าไปครับ จะเพิ่มไว้เป็นบรรทัดแรกหรือบรรทัดสุดท้ายก็ได้ครับ
context_lines from-zaptel
บันทึกไฟล์ แล้วลองกด "Detect New Hardware" เล่นดูเลยครับ อ่อ แล้วถ้ากำลังมีคนใช้สายอยู่ ห้ามกดปุ่มนี้เล่นนะครับ เพราะมันจะชัทดาวน์ Asterisk แล้วสั่งสตาร์ทใหม่ สายที่โทรอยู่จะถูกตัดทิ้งหมดเลย
3. มี Echo
คุยๆไปก็ได้ยินเสียงตัวเองสะท้อนกลับมา อาจจะได้ยินฝั่งเราหรือฝั่งปลายทางก็ได้ ลองเช็คคอนฟิกพอร์ตดูนะครับว่ามีเปิดใช้ Echo Canceller หรือยัง
- โค้ด: เลือกทั้งหมด
# service dahdi status
### Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER)
1 FXO FXSKS (In use) (battery)
ผลลัพท์ไม่โชว์ Echo Canceller ซึ่งอาจจะเป็นสาเหตุทำให้ได้ยินเสียงตัวเองสะท้อนกลับมา ให้เลือกใช้งาน Echo Canceller สักแบบครับ ผมแนะนำ OSLEC ซึ่งมีติดตั้งมาพร้อมกับ Elastix อยู่แล้ว วิธีการเปิด Echo Canceller ใช้งาน
วิธีการทำก็ไม่ยากครับ เข้าหน้าเว็บ "Hardware Detector" คลิ๊กที่ "Configuration of Span" ที่ช่อง Drop-down list เลือก OSLEC คลิ๊ก "Save" และ "Close"


ตรวจสอบอีกรอบก็จะเห็นว่ามี Echo Canceller ใช้งานแล้ว
- โค้ด: เลือกทั้งหมด
# service dahdi status
### Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER)
1 FXO FXSKS (In use) (SWEC: OSLEC) (battery)
SWEC ย่อมาจาก Soft Ware Echo Canceller
เพิ่มเติมเกี่ยวกับ Port Status
มาดูคำสั่ง service dahdi status กันอีกรอบครับ มีคำว่า RED แสดงว่าไม่ได้ต่อสายโทรศัพท์ หรือสายโทรศัพท์ไม่มีสัญญาณ และถ้าเป็น battery หมายถึงดีเท็คสัญญาณโทรศัพท์ได้
- โค้ด: เลือกทั้งหมด
# service dahdi status
### Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER) RED
1 FXO FXSKS (In use) (SWEC: OSLEC) RED
### Span 1: WCFXO/0 "Generic Clone Board 1" (MASTER)
1 FXO FXSKS (In use) (SWEC: OSLEC) (battery)
ส่วนคำว่า battery นั้นแสดงว่าพอร์ตดีเท็คสัญญาณจากสายโทรศัพท์ เป็นสัญญาณไฟกระแสตรง ถ้าไม่ได้ต่อสายโทรศัพท์ไว้จะมีคำว่า RED แทนครับ
เป็นอันว่าการติดตั้งและคอนฟิกใช้งานรวมทั้งการแก้ปัญหาการใช้งานการ์ด X100P ก็สำเร็จครับ ผมหวังว่าบทความนี้คงจะช่วยแก้ปัญหาให้แก่บางท่านได้บ้าง ปัญหามันไม่ได้มีเพียงเท่านี้นะครับ ผมว่ายังมีอีกเยอะที่ยังไม่เจอ ยังไงถ้าเจอแล้วรบกวนโพสต์บอกด้วยนะครับ จะได้ช่วยหาทางแก้และจะได้เป็นประโยชน์ต่อท่านอื่นๆ
บทความที่เกี่ยวข้อง
Elastix
วิธีการติดตั้ง Elastix 2.0
OSLEC - Line Echo Canceller สำหรับ Asterisk
ติดตั้งและใช้งานการ์ด E1 TE110P
เทคนิคการแก้ปัญหา DTMF บนการ์ด Asterisk
เทคนิคการรับส่ง Fax ด้วย Elastix ตอนที่ 1 - ส่ง Fax จาก PSTN -> Elastix -> Email
เทคนิคการรับส่ง Fax ด้วย Elastix ตอนที่ 2 - ส่ง Fax ทางเว็บ
เทคนิคการรับส่ง Fax ด้วย Elastix ตอนที่ 3 - โปรแกรม Winprint HylaFAX
เทคนิคการติดตั้งการ์ด X100P
เทคนิคการติดตั้งการ์ด TDM410P บน Elastix
เทคนิคการติดตั้งการ์ด TDM400P
เทคนิคการคอนฟิกพอร์ต FXO ของการ์ด TDM410P
