ทดลอง Setup Asterisk Testbed
ทดลอง Setup Asterisk Testbed
เมื่อวันก่อน ผมได้ ทดลอง Setup Asterisk Testbed ที่ห้องวิจัยที่ ENSEEIHT, Toulouse, France
ใช้คอมพิวเตอร์ 3 เครื่อง โดยแบ่งกันติดตั้งดังนี้
SIP Server: Asterisk (Linux Ubuntu 8.10)
SIP Client: LinPhone (recommend) , Ekiga (there is sound problem)
SIP Client: X-Lite (Windows)
Asterisk ทำหน้าที่เป็น SIP proxy+registra server.
Linphone ทำหน้าที่เป็น SIP phone client.
|
|
Step by step:
1. ติดตั้งโปรแกรมทั้งหมดโดยใ้ช้ synaptic => Asterisk & LinPhone 2. แก้ไขไฟล์ sip.conf และ extension.conf ตามนี้ /etc/asterisk/sip.conf [general] context=default bindport=5060 bindaddr=0.0.0.0 srvlookup=yes /etc/asterisk/extension.conf [from-internal] |
3. Start asterisk service => #/etc/init.d/asterisk start
(ปรกติแล้วถ้า ติดตั้งผ่าน synaptic มันจะ start อัตโนมัติ)
4. ติดต่อกับ asterisk terminal => #asterisk -r
5. เราจะได้ SIP console => *CLI>
6. CLI> sip show peers
// คำสั่งนี้ใช้สำหรับตรวจสอบสถานะของ peers หรือ คนที่เชื่อมต่อกับ SIP Server ครับ
7. CLI> sip show users
// คำสั่งนี้ใช้สำหรับแสดงผู้ใช้ ก็คล้าย ๆ กับ peers แหละครับ
8. เปิดโปรแกรม linphone (SIP Phone client), เจอ error message เกี่ยวกับ port เพราะว่า linphone ก็ใช้ UDP: port 5060 ซึ่งเป็น port เดียวกับ asterisk service กับของ server ครับ (พอดีว่าผมลง linphone ไว้ในเครื่อง server ด้วย) ดังนั้นเราก็แค่จัดการเปลี่ยน port ของ linphone ให้เป็น port อื่น ที่ไม่ใช้ 5060 แทนครับ ถ้าเป็นโปรแกรม Ekiga ให้ใช้คำสั่ง #gconf-edit ในการเปลี่ยน ซึ่งตอนที่ผมทดสอบ ผมใช้เป็น UDP: port 5100 ครับ
9.จากนั้นก็ไปยังเครื่องลูกข่ายอีกเครื่อง แล้วก็จัดการเปิดโปรแกรม linphone เหมือนกัน คราวนี้จะไม่เจอปัญหา port ชนกันแล้ว (นอกจากว่าจะมีโปรแกรมอื่นใช้ port นี้อยู่)
10. ทำการลงทะเบียนผู้ใช้กับ asterisk (SIP server). โดยใช้ Account & User name ตามที่เรากำหนดไว้ใน in sip.conf ซึ่งก็คือ
| Account Name=100,user=100, pass=100 Account Name=200,user=200, pass=200 Account Name=300,user=300, pass=300 |
SIP URI จะมีหน้าตาประมาณนี้ => sip:[email protected]
11. หลังจากลงทะเบียนกับ Asterisk server เรียบร้อยแล้ว, เราสามารถตรวจสอบสถานะการลงทะเบียนจาก server ได้โดยใช้คำสั่ง
*CLI> sip show peers
The status should label with "O.K."
12. เพียงเท่านี้เราก็สามารถโทรหาใคร ๆ ก็ได้ที่ลงทะเบียนใน SIP Server ของเราแล้วครับ :-)
เจ๋งดีพี่ PLE