เทคนิคการติดตั้งการ์ด GSM G400P

Elastix IP Pbx

Moderator: jubjang

เทคนิคการติดตั้งการ์ด GSM G400P

โพสต์โดย nuiz » 04 ส.ค. 2011 16:13

เป็นบทความที่ต่อจากบทความนี้ครับ วิธีติดตั้ง GSM Card for Asterisk

การ์ด G400P เป็นการ์ด Asterisk อีกประเภทหนึ่ง บนการ์ดมีโมดูล GSM จำนวน 4 โมดูล แต่ละโมดูลจะมีถาดเล็กๆให้ใส่ SIM Card การ์ดนี้ใช้ไดร์เวอร์ wctdm นะครับ Asteirsk จะมองเห็นการ์ดนี้เป็นแบบ FXO ครับ

*** ขั้นตอนต่อไปนี้เป็นวิธีการเซ็ตให้ Elastix มองเห็นการ์ดโดยไม่ต้องไปเข้าหน้า Hardware Detector ครับ เพราะผมเคยเจอว่าบางทีเวลาเรากดปุ่ม Hardware Detect แล้ว เคอเซอร์เม๊าส์มันหมุนๆอยู่นั่นแหล่ะ หาการ์ดไม่เจอสักที หลังๆมานี่ผมเลยไม่ได้เข้าหน้านั้นอีกเลย ทำ manual เอาเร็วกว่า ***

ใส่การ์ดในเครื่อง บู๊ตเครื่อง แล้วล๊อกอินเข้าเครื่อง พิมพ์คำสั่งเช็คฮาร์ดแวร

โค้ด: เลือกทั้งหมด
dahdi_hardware


pci:0000:02:02.0 wctdm- e159:0001 Wildcard S400P Prototype

จากข้อมูลที่มันโชว์ให้เห็น เราก็รู้ว่า GSM Card นี้ใช้โมดูลไดร์เวอร์คือ wctdm เราก็มาเช็คใน Kernel ว่ามีโมดูลชื่อนี้หรือยัง (เครื่องท่านอาจจะไม่ได้ใช้ kernel เวอร์ชั่นนี้เหมือนก็ได้นะครับ เปลี่ยนไดเร็คตอรี่ตามเวอร์ชั่นที่ใช้งาน)

โค้ด: เลือกทั้งหมด
ls /lib/modules/2.6.18-194.3.1.el5/dahdi


wctdm.ko

ปรากฏว่ามี สบายเรา

ทีนี้ก็มาใส่ชื่อโมดูลไว้ในไฟล์ /etc/dahdi/modules เพื่อให้มันโหลดทุกครั้งที่เราสตาร์ทเครื่อง (หรือสตาร์ท dahdi) ไม่ต้องใส่นามสกุล .ko เข้าไปด้วยนะครับ บรรทัดอื่นๆสำหรับโหลดโมดูลของการ์ดอื่นครับ

wcfxo
wcte11xp
wctdm24xxp
wctdm

หลังจากนั้นก็รีสตาร์ท dahdi service

โค้ด: เลือกทั้งหมด
service dahdi restart


โค้ด: เลือกทั้งหมด
Unloading DAHDI hardware modules: ERROR: Module dahdi is in use
done
Loading DAHDI hardware modules:
  wcfxo:                                                   [  OK  ]
  wcte11xp:                                                [  OK  ]
  wctdm24xxp:                                              [  OK  ]
  wctdm:                                                   [  OK  ]

Running dahdi_cfg:  DAHDI_SPANCONFIG failed on span 1: Invalid argument (22)
                                                           [FAILED]


ยังไม่ต้องสนใจข้อความหลังจากพิมพ์คำสั่ง dahdi restart นะครับ เอาแค่ว่ามันรีสตาร์ทได้เป็นพอ จากบรรทัด wctdm [OK] เราก็มั่นใจแล้วว่าตอนนี้ dahdi มันมองเห็นการ์ด GSM แล้ว

ต่อไปก็มาสร้างไฟล์คอนฟิกด้วคำสั่ง dahdi_genconf

โค้ด: เลือกทั้งหมด
dahdi_genconf


มาเช็คที่ไฟล์ system.conf ในไดเร็คตอรี่ /etc/dahdi ก็จะได้ประมาณนี้
โค้ด: เลือกทั้งหมด
# Span 1: WCTDM/4 "Wildcard S400P Prototype Board 5" (MASTER)
fxsks=1
echocanceller=oslec,1
fxsks=2
echocanceller=oslec,2
fxsks=3
echocanceller=oslec,3
fxsks=4
echocanceller=oslec,4

# Global data

loadzone        = us
defaultzone     = us


และที่ไฟล์ dahdi-channels.conf ในไดเร็คตอรี่ /etc/asterisk ก็จะได้ประมาณนี้

โค้ด: เลือกทั้งหมด
; Span 1: WCTDM/4 "Wildcard S400P Prototype Board 5" (MASTER)
;;; line="1 WCTDM/4/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/4/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-zaptel
channel => 2
callerid=
group=
context=default

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

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


ลองใช้คำสั่ง dahdi_scan ดู (ไม่ต้องก็ได้) ก็จะได้ประมาณนี้

โค้ด: เลือกทั้งหมด
[1]
active=yes
alarms=OK
description=Wildcard S400P Prototype Board 5
name=WCTDM/4
manufacturer=Digium
devicetype=Wildcard S400P Prototype
location=PCI Bus 02 Slot 03
basechan=1
totchans=4
irq=209
type=analog
port=1,FXO
port=2,FXO
port=3,FXO
port=4,FXO


อย่างที่บอกไว้ครับ ว่ามันมองเห็นเป็นพอร์ต FXO

ต่อไปเข้าหน้าเว็บ Hardware Detector ของ Elastix เช็คว่ามันเจอการ์ดมั๊ย ก็เจอครับ ตามรูป

รูปภาพ

ขั้นตอนต่อไปนี้ผมจะลองใช้งานการ์ดนี้โทรออกไปภายนอก (ผ่าน sim card) ผมต้องมีการเซ็ต group ใหม่ไม่ให้มันไปซ้ำกับ group เดิมที่ผมตั้งไว้ให้การ์ดใบอื่นๆที่ติดตั้งอยู่ในเครื่องตอนนี้

1. เปลี่ยน channel group ของพอร์ตบนการ์ด
ผมจะเปลี่ยนเป็น group หมายเลข 8 หล่ะกันครับ เพราะว่ามีคอนฟิกอื่นๆที่ใช้ group 0 เป็นของการ์ดอื่นอยู่แล้ว แต่การ์ดนั้นไม่ได้ติดตั้ง แต่ผมก็ไม่ได้ลบ trunk ออก เดี๋ยวมันจะมั่วๆกัน แล้วอาจจะทำให้ไม่เวอร์ค

** ถ้าเปลี่ยน group เป็นค่าอื่นที่ไม่ใช่ 0 ห้ามกดปุ่ม Hardware Detect บนหน้าเว็บ Elatix อีกนะครับ ไม่อย่างนั้นค่าจะกลับมาเป็นดีฟอลท์ แล้วจะใช้งานไม่ได้จนกว่าจะเปลี่ยนกลับ **

; Span 1: WCTDM/4 "Wildcard S400P Prototype Board 5" (MASTER)
;;; line="1 WCTDM/4/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=8
context=from-zaptel
channel => 1
callerid=
group=
context=default

;;; line="2 WCTDM/4/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=8
context=from-zaptel
channel => 2
callerid=
group=
context=default

;;; line="3 WCTDM/4/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=8
context=from-zaptel
channel => 3
callerid=
group=
context=default

;;; line="4 WCTDM/4/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=8
context=from-zaptel
channel => 4
callerid=
group=
context=default

2. รีสตาร์ท dahdi
โค้ด: เลือกทั้งหมด
asterisk -rx "dahdi restart"


3. โชว์ group
โค้ด: เลือกทั้งหมด
asteriks -rx "dahdi  show channels group 8"

Chan Extension Context Language MOH Interpret Blocked State
1 from-zaptel default In Service
2 from-zaptel default In Service
3 from-zaptel default In Service
4 from-zaptel default In Service

4. เข้าเว็บ Elastix สร้าง Trunk
เลือกเป็น Add Zap Trunk (DAHDI compatible mode)
รูปภาพ

5. สร้าง Outbound Routes
รูปภาพ

6. โทรออก
จากโปรแกรม softphone ที่รีจิสเตอร์อยู่ กด 0851619439 โทรออกได้ครับ โชว์เบอร์ซิมที่ใส่ไว้


การแก้ปัญหา
ตอนเทสผมเจอปัญหาเดียวคือ สนทนาแล้ว ปลายทางวางสาย แต่ sip client ไม่ยอมวางสาย
เป็นเพราะการ์ด GSM มันดีเท็คสัญญาณ Busy Tone ไม่ได้ หรือมีการคอนฟิก busypattern ไว้แต่ไม่ตรงกับของจริง ให้ลอง comment บรรทัด busypattern ไว้ก่อน แล้วรีสตาร์ท dahdi

ไฟล์ /etc/asterisk/chan_dahdi.conf

busydetect=yes
busycount=3
;busypattern=500,500

แล้วพิมพ์คำสั่งนี้
asterisk -rx "dahdi restart"

ปรากฏว่าแก้ปัญหาการไม่วางสายได้

บทความที่เกี่ยวข้อง
GSM VoIP Gateway 4 พอร์ต
GSM VoIP Gateway 8 พอร์ต
วิธีการคอนฟิกพอร์ต FXO ของการ์ด TDM410P บน Elastix
เทคนิคการติดตั้งการ์ด GSM บน Asterisk และ Elastix
ขอบคุณสำหรับทุกคำถามและทุกคำตอบครับ
nuiz
Diamond Member
 
โพสต์: 1675
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: เทคนิคการติดตั้งการ์ด GSM G400P

โพสต์โดย nuiz » 23 ก.ย. 2011 12:28

เป็นอีกบทความหนึ่งที่เขียนไว้นานแล้ว แต่เพิ่งเขียนเสร็จครับ
ขอบคุณสำหรับทุกคำถามและทุกคำตอบครับ
nuiz
Diamond Member
 
โพสต์: 1675
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

Re: เทคนิคการติดตั้งการ์ด GSM G400P

โพสต์โดย sitt01 » 25 ก.ย. 2011 17:06

แล้วมีวิธีที่จะไม่ให้โชว์เบอร์ที่โทรออกด้วย sim หรือ เปล่าครับ กะจะให้ไว้โทรออกอย่างเดียวไม่ให้โทรเข้า หรือไม่ก็เปลี่ยนเป็นเบอร์สำหรับให้โทรเข้า/หรือขื่อบริษัทก็ได้
ข้อดีของการเป็นคนทำคอมพิวเตอร์ คือ ทำยังไงคอมพิวเตอร์ก็จะไม่เจ๊ง ถ้าไม่ไปยุ่งกับ Hardware อย่างมากก็แค่เสียเวลาลง โปรแกรมใหม่ แต่อย่างว่ายิ่งลงบ่อยเท่าไรก็ยิ่งขำนาญเท่านี้น
sitt01
Diamond Member
 
โพสต์: 104
ลงทะเบียนเมื่อ: 17 ม.ค. 2011 14:19

Re: เทคนิคการติดตั้งการ์ด GSM G400P

โพสต์โดย nuiz » 25 ก.ย. 2011 18:53

แยกเป็น 2 กรณีนะครับ
1. ไม่ให้โชว์เบอร์ซิม
พอเป็นไปได้ แต่ได้เฉพาะซิม ais แบบรายเดือน เสียค่าซ่อนเบอร์เพิ่มเดือนละ 30 บาท แต่จะไม่โชว์เบอร์เฉพาะตอนโทรหาเบอร์ ais ด้วยกัน โทรหาเครือข่ายอื่นเบอร์ก็ยังโชว์อยู่เหมือนเดิม เพราะถ้าไม่มีเบอร์ไปโชว์ เครื่อข่ายอื่นจะบล๊อคครับ ส่วนซิมแบบเติมเงินหมดสิทธิ์

ในตัวอุปกรณ์พวก GSM VoIP Gateway จะมีฟีเจอร์ซ่อนเบอร์ได้ แต่ซ่อนแล้วโทรไม่ออก 55+

2. โชว์เป็นเบอร์อื่นที่ไม่ใช่เบอร์ซิม
ผู้ใช้งานระดับธรรมดาอย่างเราๆท่านๆ ผมบอกได้คำเดียวว่า "หมดสิทธิ์" ต้องโทรออกทางอื่นแทนถึงจะโชว์เบอร์อย่างที่ต้องการได้ เช่นขอเบอร์มาเสียบเข้าการ์ดใบอื่นๆแทน หรือไม่ก็ขอ SIP Trunk จากคนที่เขาให้บริการ Trunk แบบโชว์เบอร์ (Pure CLi)
ขอบคุณสำหรับทุกคำถามและทุกคำตอบครับ
nuiz
Diamond Member
 
โพสต์: 1675
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33


ย้อนกลับไปยัง Elastix - Unified Communications Software

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

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

cron