- ดูผังที่ (อาจจะ) มีคนเขียนไว้
- ถ้าไม่มีผังอย่างว่าหรือไม่แน่ใจว่าข้อมูลในผังจะถูกต้องก็ต้องถอดสายโทรศัพท์ออกแล้วเอามาต่อกับเครื่องโทรศัพท์ กดโทรเข้าเบอร์มือถือ ดูว่าโชว์เบอร์อะไรก็เบอร์นั้นแหล่ะครับ
อีกวิธีหนึ่งที่ผมนึกออกและใช้ขณะที่ผมเทรนนิ่งให้หน่วยงานแห่งหนึ่งก็คือ ใช้คำสั่ง 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"
ง่ายมั๊ยครับ ลองใช้งานดูนะครับ ติดขัดตรงไหนก็โพสต์ถามต่อท้ายบทความนี้ได้เลย