เทคนิคการเช็คเบอร์โทรที่ต่อกับการ์ด FXO

Elastix IP Pbx

Moderator: jubjang

เทคนิคการเช็คเบอร์โทรที่ต่อกับการ์ด FXO

โพสต์โดย nuiz » 15 ก.พ. 2014 09:09

กรณีที่เราติดตั้งการ์ด FXO แล้วอยากรู้ว่าแต่ละพอร์ตนั้นต่ออยู่กับเบอร์อะไร วิธีปกติที่ทำๆกันก็คือ
- ดูผังที่ (อาจจะ) มีคนเขียนไว้
- ถ้าไม่มีผังอย่างว่าหรือไม่แน่ใจว่าข้อมูลในผังจะถูกต้องก็ต้องถอดสายโทรศัพท์ออกแล้วเอามาต่อกับเครื่องโทรศัพท์ กดโทรเข้าเบอร์มือถือ ดูว่าโชว์เบอร์อะไรก็เบอร์นั้นแหล่ะครับ

อีกวิธีหนึ่งที่ผมนึกออกและใช้ขณะที่ผมเทรนนิ่งให้หน่วยงานแห่งหนึ่งก็คือ ใช้คำสั่ง channel originate บน Asterisk ครับ

ปกติเวลาเราจะใช้คำสั่งของ Asterisk เราต้องเข้าไปใน Asterisk Console ก่อนใช่มั๊ยครับ โดยการพิมพ์คำสั่ง asterisk -rvvvvv จาก Linux Prompt

แต่ตัวอย่างต่อไปนี้ผมไม่ได้เข้าไปที่ Asterisk Prompt นะครับ ผมสั่งรันจาก Linux Prompt เลย ซึ่งเวลาสั่งรันคำสั่งใน Asterisk จาก Linux Prompt ตรงๆ ต้องให้มีตัว x ด้วยนะครับแต่ไม่ต้องมีตัว v ลักษณะแบบนี้หน่ะครับ

โค้ด: เลือกทั้งหมด
[root@elastix ~]# asterisk -rx "คำสั่ง"


ก่อนอื่นมาดูกันครับว่าคำสั่ง channel originate ใช้งานยังไง พิมพ์คำสั่ง asterisk -rx "help channel originate" บน Linux Prompt
โค้ด: เลือกทั้งหมด
[root@elastix ~]# asterisk -rx "help channel originate"
Privilege escalation protection disabled!
See https://wiki.asterisk.org/wiki/x/1gKfAQ for more details.
  There are two ways to use this command. A call can be originated between a
channel and a specific application, or between a channel and an extension in
the dialplan. This is similar to call files or the manager originate action.
Calls originated with this command are given a timeout of 30 seconds.

Usage1: channel originate <tech/data> application <appname> [appdata]
  This will originate a call between the specified channel tech/data and the
given application. Arguments to the application are optional. If the given
arguments to the application include spaces, all of the arguments to the
application need to be placed in quotation marks.

Usage2: channel originate <tech/data> extension [exten@][context]
  This will originate a call between the specified channel tech/data and the
given extension. If no context is specified, the 'default' context will be
used. If no extension is given, the 's' extension will be used.


ผมจะใช้รูปแบบที่ 2 (Usage2) หล่ะกันครับ ซึ่งผมต้องรันคำสั่งในรูปแบบนี้

โค้ด: เลือกทั้งหมด
channel originate <tech/data> extension [exten@][context]


โดยที่ channel originate คือคำสั่ง ส่วนที่เหลือคือออปชั่นครับ ตัวอย่างการใช้งานจริงๆเป็นแบบนี้

สั่งโทรออกทาง FXO พอร์ตที่ 1 สั่งแบบนี้
โค้ด: เลือกทั้งหมด
[root@elastix ~]# asterisk -rx "channel originate dahdi/1/0851619439 extension 1234@from-internal"

ค่า 1234@from-internal ใส่มั่วๆไปก็ได้ครับเพื่อให้มันครบตามรูปแบบของคำสั่ง
ถ้าพอร์ตไม่เสีย เบอร์ไม่เสีย มือถือผมจะโชว์เบอร์โทรเข้า เบอร์นั้นแหล่ะครับคือเบอร์ที่ต่ออยู่กับพอร์ตที่ 1

โทรออกทาง FXO พอร์ต 15 ก็สั่งแบบนี้
โค้ด: เลือกทั้งหมด
[root@elastix ~]# asterisk -rx "channel originate dahdi/15/0851619439 extension 1234@from-internal"


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

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

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

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

cron