AsteriskThailand
February 08, 2012, 12:59:08 AM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News:
 
   Home   Help Search Login Register  
Pages: [1] 2
  Print  
Author Topic: การติดตั้งและใช้งาน Asterisk แบบเริ่มต้น  (Read 13649 times)
mingky
Newbie
*
Posts: 7


View Profile
« on: October 06, 2007, 08:42:57 PM »

สอบถามคุณ Patrickz ครับ
ผมอยากทราบวิธีติดตั้งและใช้ง่าย Asterisk แบบเริ่มต้นครับ
คือการติดตั้งคงไม่ยากนัก แต่การเริ่มใช้งานนี่สิครับ มองไม่ออกเลยครับ
ว่าต้องเริ่มที่ตรงไหนอย่างไร เช่น

หากผมต้องการใช้ softphon จากเครื่องลูก หมุนมาที่เครื่อง Asterisk หรือเครื่องอื่น
ที่มี softphon เหมือนกัน ต้องทำอย่างไรบ้างหลังจากติดตั้ง Asterisk เสร็จแล้วครับ

เบื้องต้นผมเข้าใจว่า เครื่องลูกข่ายต้องต่ออยู่กับ switching ในเครือข่ายภายใน
ผมต้องเข้าไปแก้ไขไฟล์ใดบ้าง เพื่อเริ่มใช้งานครับ จริงๆ อยากได้คำแนะนำแบบ
step by step

รบกวนด้วยนะครับ ขอบคุณล่วงหน้าครับ

« Last Edit: October 10, 2007, 12:57:09 PM by admin » Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #1 on: October 07, 2007, 04:21:42 AM »

สวัสดีครับคุณ mingky

Quote
สอบถามคุณ Patrickz ครับ
เล่นระบุแบบนี้ เดี่ยวคนอื่นไม่กล้า jam Grin หัวข้อนี้คงตอบกันยาวเลย
เรื่องการใช้งานนั้น ผมเห็นว่ามีเอกสารเยอะอยู่แล้ว ทั้งการติดตั้งและใช้งาน แต่ว่าเป็นฝรั่งเขียน ยกตัวอย่างเช่น
Trixbox without Tears (มีเป็น pdf ด้วย)
Sureteq Full Step-by-Step Guides Versions 1 & 2.x
ถ้าเป็นภาษาไทยก็คงดี ท่านใดสนใจเขียนถึงเรื่องนี้ ลอง post ได้ที่ี่Asterisk Howto

Quote
หากผมต้องการใช้ softphon จากเครื่องลูก หมุนมาที่เครื่อง Asterisk หรือเครื่องอื่น
ที่มี softphon เหมือนกัน ต้องทำอย่างไรบ้างหลังจากติดตั้ง Asterisk เสร็จแล้วครับ
หลังจากติดตั้ง Asterisk เรียบร้อยแล้ว ต่อมาก็เป็นเรื่องของการกำหนดเรื่องต่างๆ เช่น extensions
สิ่งที่ต้องกำหนดคือ extensions number, password และ feature อื่นๆ เช่น fax, did, follow me, IVR เป็นต้น
และแทนที่จะไปยุ่งกับ extensiosn.conf โดยตรง  การใช้ FreePBX จะง่ายกว่า

Quote
เบื้องต้นผมเข้าใจว่า เครื่องลูกข่ายต้องต่ออยู่กับ switching ในเครือข่ายภายใน ผมต้องเข้าไปแก้ไขไฟล์ใดบ้าง เพื่อเริ่มใช้งานครับ
ใช่ครบ  มองเป็น server - client ถ้า VoIP Server มี IP เป็น Publish IP ทุกคนๆ ก็สามารถเชื่อมต่อมาที่ Server ได้ (คล้ายๆ web server นั่นแหล่ะครับ)
ถ้าหากว่า client ไม่ได้ต่อกับ Server  แล้วมีคนติดต่อเข้าไป ก็จะเหมือนกับว่า โทรศัพท์ไม่ได้เสียบสายเอาไว้

พอติดตั้ง asterisk แล้ว  กำหนด extensions แล้ว สำหรับการทดสอบ ทดลอง  ผมแนะนำให้กำหนด password เหมือนกับ extensions ไปเลย จะช่วยให้สะดวกขึ้น ต่อมาก็เตรียมในส่วนการเชื่อมต่อกับ Asterisk  ซึ่งอาจเป็น SoftPhone หรืออาจเป็น Hardware ก็ได้ เช่น (ATA, VoIP Phone) แต่ไม่ว่าจะใช้อะไร สิ่งที่มักใช้ในการกำหนดค่ามีดังนี้

host: คือ IP ของ VoIP Server
username: หมายเลข extension
password: รหัสของ extension นั้น

ดังนั้นหากบริษัทฯ มี 2 สาขา เราอาจตั้ง extensions ไว้สองชุด ดังนี้ สาขาใหญ่ 100, 102, 103, 104, 105  สาขาย่อย 201,202,203,204,205 เป็นต้น  และทั้งสองสาขามองเห็น IP ของ VoIP Server ได้นั้น ก็จะสามารถติดต่อกันระหว่างสาขาได้ โดยที่ค่าใช้จ่ายจะอยู่ในรูปของ bandwidth แทน

มองแบบง่ายๆ  ก็คล้ายกับใช้ MSN คุยกับ MSN นั้นเอง หรือ Skype คุยกันกับ Skype นั้นเอง ซึ่งต้องติดต่อผู้ให้บริการเหล่านี้

คำถามต่อมาก็คือ ทำไมไม่ใช้ IM ไปเลยล่ะ?  เหตุผลเพราะ SoftSwitch นั้นออกแบบมาให้เป็น IP-PBX ซึ่งมีความสะดวกในการเชื่อมต่อกับ PBX ภายในองค์กร หรือ PSTN

เช่นหากบริษัทฯ มี 2 สาขา  ตั้งอยู่ใน USA อีกสาขาอยู่ใน Thailand  หากบริษัทใน USA ต้องการโทรศัพท์ ไปยังเบอร์ใน Thai ล่ะ
ก็ให้โทรผ่าน VoIP Server ในไทย แทนที่จะโทรฯทางไกลมายังไทย   ก็กลายมาเป็น ค่าโทรออกจาก Thai เอง (local)

USA <------voip-------> Thai <------ PSTN -------> 021234567

เอาล่ะครับ สรุปว่าลองกำหนด extension แล้วใช้ softphone เข้าไปใ้ช้งาน
SoftPhone ที่นิยมใช้คือ X-Lite ลองดูครับ Wink

ป.ล. ลองอ่าน ทำระบบ VoIP ต้องมีอะไรบ้าง เพิ่มเติมครับ เผื่อจะมีประโยชน์ ไม่มากก็น้อย...(หรือไม่มีเลย  Grin Grin Grin)
« Last Edit: October 08, 2007, 10:14:04 AM by Patrickz » Logged

Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #2 on: October 07, 2007, 12:50:59 PM »

ไปเจอเว็บ AsteriskDIY คิดว่าน่าสนใจดีครับ
ว่าจะไปรวมเขียนบทความสักหน่อย แต่ไม่มีที่ให้สมัคร คาดว่าคงเป็น wiki แบบ private!!
แต่บทความดี ลองดูครับ Smiley
Logged

mingky
Newbie
*
Posts: 7


View Profile
« Reply #3 on: October 07, 2007, 10:03:18 PM »

ขอบคุณครับคุณ Patrickz ที่ตอบคำถามอย่างรวดเร็ว
แรกๆ ก็ไม่แน่ใจครับ ว่าควรถามที่ไหน อย่างไร กับใคร
เลยอ้างชื่อคุณ Patrickz ไว้ก่อนกันเหนียว ผมเชื่อว่าใครอื่นก็คงตอบได้ด้วยอยู่แล้วละครับ
และแล้วก็โดนย้ายหัวข้อมาไว้ที่นี่ จนได้ แฮ่...

แต่มือใหม่ก็คือมือใหม่ครับ สิ่งที่คุณ Patrickz แนะนำนั้นดูจะเหมาะกับมือใหม่ไม่จริงครับ
ไม่ว่าจะ freepbx ผมก็คงนั่งอ่านและงมอยู่นานเหมือนเดิม
หรือ AsteriskDIY นั้นก็ดูจะยังเขียนไปได้ไม่เท่าไร มีแต่หัวข้อเตรียมไว้เท่านั้น
ส่วนทำระบบ VoIP ต้องมีอะไรบ้าง อ่านแล้วก็ยังเป็นสิ่งเกินจำเป็นสำหรับมือใหม่ซิงๆ อยู่ดีครับ

และหากย้อนมาดูคำถามที่ผมถาม ก็คงเป็นปัญหาของการถามของมือใหม่ ที่ถามแล้วทำให้ผู้ตอบ
ตอบได้แบบกว้างๆ ดังที่กล่าวมา  ผมจึงโทษตัวเองที่ถามไม่ดีเองครับ

จึงขอถามใหม่ดังนี้

โจทย์ที่ผมคิดว่าง่ายที่สุดสำหรับผม
มีคอมฯ อยู่ 3 เครื่องต่อกับอยู่คนละชั้นของอาคาร  อยู่ในเครือข่าย แลนภายใน
ทั้งหมดติดตั้ง Ubuntu 7.04
คอมที่ชั้น 1 ติดตั้ง asterisk เสร็จแล้ว ip-address = 192.168.200.101
คอมที่ชั้น 2 ip-address = 192.168.200.102
คอมที่ชั้น 3 ip-address = 192.168.200.103

1. ผมติดตั้ง asterisk บน Ubuntu เสร็จสิ้นแล้ว รู้ได้อย่างไร ก็คือทดลองเรียก #asterisk ครั้งที่หนึ่ง เงียบ
จึงเรียกอีกครั้ง ด้วยคำสั่ง #asterisk -r เป็นครั้งที่สอง ก็สามารถเข้าสู่ terminal ของ asterisk ได้
(เข้าใจว่าเป็นแบบนั้นนะครับ)
2. ผมตรวจสอบอีกครั้ง ด้วยคำสั่ง # ps aux | grep asterisk ก็เห็นว่ามี process asterisk จริงๆ
3. ถึงตรงนี้ก็เริ่มงงแล้วครับ ว่าต้อง config ไฟล์อะไรต่อ บางคนบอกว่า ต้องไปแก้ไขไฟล์ อยู่ 2 ไฟล์
3.1  extensions.conf - รายละเอียดเยอะมาก ดูแล้วงง...ไปหมดครับ
3.2 sip.conf - งง... อีกเหมือนเดิม
4. นี่ละครับ คำถามสำหรับมือใหม่ซิงๆ จริงๆ จึงใคร่ขอตัวอย่าง ของ extensions.conf และ sip.conf ที่ใช้งานได้ครับ
ผมเองยังคงเข้าใจว่าหากกำหนดทั้ง 2 ไฟล์ ไฟล์ละไม่กี่บรรทัด ก็สามารถใช้ soft phone  ติดต่อระหว่างเครื่องทั้ง 3 ได้
อันนี้คิดเองนะครับ จริงๆ ไม่รู้เลยครับ ว่าต้องทำอย่างไรแค่ไหน

และจะทดสอบแต่ละขั้นตอนอย่างไรครับ ว่าสิ่งที่เราทำนั้นถูกต้องแล้ว

ขอบคุณล่วงหน้าครับ

Logged
stp
Newbie
*
Posts: 32


View Profile
« Reply #4 on: October 08, 2007, 09:53:04 AM »

แบบง่ายที่สุด

- run asterisk ด้วยคำสั่ง asterisk -vvvvvc จาก terminal
- จะได้หน้าจอ CLI (Command Line Interface) ของ asterisk และมีคำว่า Asteisk Ready ถ้าไม่ได้ CLI แสดงว่ามี Error
- ตอนติดตั้งถ้า run คำสั่ง make samples และ make config จะมีไฟล์ตัวอย่างติดตั้งให้ด้วย

ทำให้สามารถโทรคุยกันได้โดย
- แก้ไนไฟล์ sip.conf เพื่อกำหนด device ที่จะติดต่อกับ asterisk โดยเพิ่ม

[102]
secret=102
type=friend
host=dynamic
context=from-internal

[103]
secret=103
type=friend
host=dynamic
context=from-internal

เป็นการกำหนดให้มี 2 SIP device โดยเป็นเบอร์ 102 และ 103 ตามลำดับ, type=friend หมายถึงให้โทรเข้าและโทรออกได้, host=dynamic หมายถึง device สามารถจะ connect กับ server จาก IP อะไรก็ได้ ถ้าต้องการจะ Fix ให้ใส่ IP ที่ต้องการเข้าไป, context=from-internal เป็นการกำหนด context สำหรับการโทรเข้า สามารถตั้งเป็นอะไรก็ได้แต่ต้องไปกำหนดใน extensions.conf ด้วย

- แก้ไนไฟล์ extensions.conf เพิ่มทำการกำหนด dial plan หรือวิธีการหมุนเบอร์โทรศัพท์

[from-internal]
exten => 102,1,Dial(SIP/102)
exten => 103,1,Dial(SIP/103)

[from-internal] เป็นชื่อเดียวกับที่กำหนดใน sip.conf, exten => 102,1,Dial(SIP?102) เป็นการกำหนดว่า เมื่อมีการกดเบอร์ 102 จาก context=from-internal ให้ไปเรียก device SIP/102

- ทำการ start asterisk ใหม่ หรือ ถ้า run อยุ๋แล้วให้พิมพ์ reload จากหน้า CLI
- ติดตั้ง soft phone ที่ PC ทั้ง 2 เครื่อง โดยกำหนด SIP Proxy = IP ของ asterisk server,  usename=102 และ 103 ตามลำดับ, password=102 และ 103 ตามลำดับ (ตามที่กำหนดจาก secret ของแต่ละเครื่อง)
- ตรวจสอบว่า soft phone สามารถ connect กับ server และ register ได้หรือไม่ โดยพิมพ์ sip show peers จากหน้า CLI แล้วดู status ว่า OK หรือไม่ ส่วนที่ soft phone จะต้องแสดงว่า registered
- ทำการโทรหากันได้เลย

ให้ติดตั้ง GUI (Asterisk Now, FreePBX) เพื่อให้กำหนด dialplan ได้ง่ายขึ้น

hope this help.
Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #5 on: October 08, 2007, 10:37:12 AM »

ขอบคุณครับ ที่คุณ stp ตอบมานั่นแหล่ะครับ ใช่เลย  แต่ว่าคุณ mingky ต้องเข้าใจรูปแบบการใ้ช้งานของ config และ ความหมายแต่ล่ะ directive ด้วย
ภาพรวม ลองอ่านได้ที่ Asterisk - voip-info.org
2 อันนี้สำคัญครับ sip.conf และ extensions.conf

ผมก็มือใหม่เหมือนกันครับ เชื่อเถอะ! 3-4 เดือนก่อน ผมไม่รู้เรื่องเลย เริ่มต้นไม่ถูก จับต้นชนปลายไม่ได้
ผมก็ศึกษามาตามนี้เหมือนกัน Smiley ลองไล่ๆ ดูจาก gotoknow.org: VoIP
VoIP
Asterisk: เส้นทางสู่ voip ตอนที่ 1
Asterisk: เส้นทางสู่ voip ตอนที่ 2
Asterisk: เส้นทางสู่ voip ตอนที่ 3
Asterisk: เส้นทางสู่ voip ตอนที่ 4

ผมแนะนำว่า ให้ลองใช้ Asterisk Distro จะง่ายกว่า เช่น Trixbox (2.2.4 นะ)
เน้นศึกษาการใช้งาน การ config ไอ้เรื่อง compile asterisk, ติดตั้ง FreePBx, ระบบ Billing นี่เอาไว้ทีหลังได้

เห็นคำถามคุณ mingky  ผมก็เลยมีคำถามต่อเลย Grin  รบกวนท่านผู้รู้ด้วยครับ
Quote
คอมที่ชั้น 1 ติดตั้ง asterisk เสร็จแล้ว ip-address = 192.168.200.101
คอมที่ชั้น 2 ip-address = 192.168.200.102
คอมที่ชั้น 3 ip-address = 192.168.200.103

มีแผนว่าชั้นที่ 1 จะติดต่อกับชั้นอื่นๆ ได้ด้วยหรือเปล่าครับ?  มันเหมือนกับว่า MSN คุยกับ Google ไม่ได้ได้ หากเป็นอย่างนั้นอาจต้องทำให้ทั้ง 3 Server รู้จักกัน  กรณีนี้จะทำได้อย่างไรครับ?  ใ้ช้ IAX2? หรือมีช่องทางใดได้บ้างครับ?
« Last Edit: October 08, 2007, 01:47:15 PM by Patrickz » Logged

stp
Newbie
*
Posts: 32


View Profile
« Reply #6 on: October 08, 2007, 02:40:32 PM »

asterisk มีทั้ง SIP Server และ SIP UA (Client) อยู่ในตัว การเชื่อม asterisk server หลายตัวเข้าด้วยกัน สามารถทำได้ผ่าน IAX หรือ SIP ก็ได้โดยการ config asterisk แต่ละเครื่องเป็น client ของ server อื่นๆ เช่น

config server1 ให้ connect กับ server2 ผ่าน SIP

[server2]
secret=
usename=
host=IP_OF_SERVER2
type=friend


ที่ server2
[server1]
secret=
username=
host=IP_OF_SERVER1
type=friend

จะเห็นว่าวิธีการเหมือนการ config SIP device ทั่วไปเพียงแต่ไม่ได้กำหนดเป็นเบอร์โทรศัพท์ แต่ใช้เป็นชื่อแทน ([server1], [server2]) และไม่มีกาีรกำหนด password (จะใส่ก็ได้) แล้วแต่ host ปลายทาง, ส่วน host ให้ใส่ IP ปลายทางของ host ที่จะ connect ด้วย

ส่วน dialplan ไม่ต้องกำหนดเพิ่มเติม หรืออาจจะเพิ่มเฉพาะ access code ที่จะให้โทรออก SIP trunk เท่านั้น

เนื่องจากไม่มีการ register เหมือน sip device ทั่วไป จึงต้องแก้ context ใน sip.conf ใน section [general] เพื่อให้ใช้ context ที่ถูกต้อง

ถ้าไม่มีความจำเป็นจริง ๆ สามารถใช้ softphone ทั้งหมดแล้ว connect ผ่าน server ตัวเดียวจะง่ายกว่า
Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #7 on: October 08, 2007, 03:41:01 PM »

Quote
ถ้าไม่มีความจำเป็นจริง ๆ สามารถใช้ softphone ทั้งหมดแล้ว connect ผ่าน server ตัวเดียวจะง่ายกว่า
เห็นด้วยครับ  Server ตัวหนึ่ง รับได้หลายร้อย concurrent call เลยนะครับ

ส่วนที่คุณ stp post มานั้น ผมลองแล้วครับ work! Grin
Logged

mingky
Newbie
*
Posts: 7


View Profile
« Reply #8 on: October 10, 2007, 02:30:00 PM »

ต้องขอขอบคุณ คุณ patrickz ครับ

หลังจากผมได้คำตอบจาก คุณ stp ในการกำหนดค่าใน
แฟ้ม sip.conf และ extensions.conf แล้ว ผมก็ลงมือทดลองทันที
โดยไม่รู้ ผมลบเนื้อหาไฟล์ทั้งสองออก แล้วใส่ข้อความใหม่
ตามที่ได้รับคำแนะนำ  ผลก็ออกมาว่าใช้ไม่ได้  แต่.....

พออ่านคำตอบอีกครั้ง อย่างละเอียด ถึงรู้ว่าเขาให้เพิ่มเข้าไปครับ
โห โดยผมเพิ่มเติมส่วนที่ได้รับคำแนะนำต่อท้าย
แฟ้ม sip.conf ดังนี้

..........
[101]
secret=101
type=friend
host=dynamic
context=from-internal

[102]
secret=102
type=friend
host=dynamic
context=from-internal

[103]
secret=103
type=friend
host=dynamic
context=from-internal

และต่อท้ายเพิ่มในแฟ้ม extensions.conf ดังนี้

......
[from-internal]
exten => 101,1,Dial(SIP/101)
exten => 102,1,Dial(SIP/102)
exten => 103,1,Dial(SIP/103)

แล้วผมก็ทดสอบดังนี้

1. พิมพ์ reload จากหน้า CLI

*CLI>reload

ขึ้นข้อความเต็มไปหมด แต่ไม่เห็นความผิดปกติอะไร


2. ติดตั้ง soft phone ที่ PC ทั้ง 3 เครื่อง
- เครื่อง 192.168.200.101 ใช้โปรแกรม Ekiga Softphone
- เครื่อง 192.168.200.102 ใช้โปรแกรม Ekiga Softphone
- เครื่อง 192.168.200.103 ใช้โปรแกรม Ekiga Softphone

3. ตรวจสอบว่า soft phone สามารถ connect กับ server และ register ได้หรือไม่
โดยพิมพ์ sip show peers จากหน้า CLI แล้วดู status ว่า OK หรือไม่

*CLI> sip show peers
Name/username              Host            Dyn Nat ACL Port     Status   
103                        (Unspecified)    D          0        Unmonitored
102                        (Unspecified)    D          0        Unmonitored
101                        (Unspecified)    D          0        Unmonitored
3 sip peers [3 online , 0 offline]

ดู Status แปลกไปนะครับ ทำไมไม่เป็น OK ตามคำแนะนำ

ส่วนที่ soft phone ก็แสดงว่า registered

4. ทำการโทรหากันได้เลย ผมลองโทรจากเครื่อง 192.168.200.101 เรียก 102
ใน Ekiga ก็มีข้อความว่า Connected with 102 out: GSM/ in: GSM/

ส่วนใน Teminal ของ Asterisk ก็มีข้อความขึ้นมาว่า

*CLI> Oct 10 13:58:58 WARNING[9257]: chan_sip.c:3654 process_sdp: Unknown SDP media type in offer: video 5018 RTP/AVP 31
    -- Executing Wait("SIP/5063-081a17c8", "1") in new stack
    -- Executing Answer("SIP/5063-081a17c8", "") in new stack
    -- Executing Set("SIP/5063-081a17c8", "TIMEOUT(digit)=5") in new stack
    -- Digit timeout set to 5
    -- Executing Set("SIP/5063-081a17c8", "TIMEOUT(response)=10") in new stack
    -- Response timeout set to 10
    -- Executing BackGround("SIP/5063-081a17c8", "demo-congrats") in new stack
    -- Playing 'demo-congrats' (language 'en')

อย่างนี้ถือว่าปกติหรือไม่ครับ

ต่อมา... ก็จะมีข้อความเพิ่มดังนี้
    -- Executing WaitExten("SIP/5063-081a17c8", "") in new stack
    -- Timeout on SIP/5063-081a17c8, going to 't'
    -- Executing Goto("SIP/5063-081a17c8", "#|1") in new stack
    -- Goto (default,#,1)
    -- Executing Playback("SIP/5063-081a17c8", "demo-thanks") in new stack
    -- Playing 'demo-thanks' (language 'en')
    -- Executing Hangup("SIP/5063-081a17c8", "") in new stack
  == Spawn extension (default, #, 2) exited non-zero on 'SIP/5063-081a17c8'

แล้วดูเหมือนสายตัดไป

เนื่องจากผมมือใหม่ขนานแท้ จึงไม่ได้ต่อหูฟังหรือไมค์แต่อย่างใด
ทดสอบสด จาก software เท่านั้น ถ้าข้อความดังกล่าวข้างต้นถูกต้อง
เห็นจะต้องรีบไปหาซื้อ ทั้งไมค์และหูฟังมาใช้งานโดยเร็วเสียแล้ว

ว่าแต่ว่า ผมต้องซื้อยี่ห้อไหน อย่างไรดีครับ เพื่อให้ใช้งานได้กับ Ubuntu
ถ้าแนะนำสถานที่ซื้อ และ ราคาได้ด้วย จะดีมากๆ เลยครับ

ขอบคุณล่วงหน้าครับ
Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #9 on: October 10, 2007, 02:51:46 PM »

Quote
video 5018 RTP/AVP 31
คิดว่ายังไม่ได้กำหนดให้ SIP support เรื่อง Video หรือเปล่าครับ เรื่องนี้ผมก็ไม่ทราบเหมือนกัน
ผมเองก็ไม่ค่อยแม่น  เนื่องจาก config ผ่าน webbase ด้วย FreePBX ซะเยอะ

อันนี้เป็นตัวอย่างของผมครับ
Code:
[3000]
type=friend
secret=3000
record_out=Adhoc
record_in=Adhoc
qualify=yes
port=5060
nat=yes
mailbox=3000@device
host=dynamic
dtmfmode=rfc2833
dial=SIP/3000
context=from-internal
canreinvite=no
callerid=device <3000>
Logged

stp
Newbie
*
Posts: 32


View Profile
« Reply #10 on: October 11, 2007, 11:23:14 AM »

Status=Unmonitoed เนื่องจาก softphone ที่ใช้อาจจะไม่ support sip protocol ครบทุกฟังก์ชั่น ให้เพิ่ม qualify=yes เข้าไปในแต่ละเบอร์ (sip.conf)

ส่วนที่เรียกไม่ได้เข้าใจว่า dial plan ยังไม่ได้ load เข้าไป ที่แสดงบนหน้าจอ ไปติดที่เบอร์ 5063 แทน ไม่แน่ใจว่ามีการติดตั้ง gui หรือ dialplan อื่นหรือไม่ ให้ลองหาว่าใน extensions.conf มี context [from-internal] อยู่แล้วหรือไม่ ถ้ามีอยู่แล้วต้องเพิ่มเข้าไปในของเดิม ไม่เช่นนั้นจะ load ส่วนที่เพิ่มไมได้

ส่วน SDP error นั้นเนื่องจากยังไม่ได้ enable codec ของ video ใน asterisk ยังไม่ต้องสนใจก็ได้
Logged
mingky
Newbie
*
Posts: 7


View Profile
« Reply #11 on: October 11, 2007, 01:59:03 PM »

ผมขอขอบคุณครับ สรุปว่าที่ผมทำมายังใช้ไม่ได้นะสิครับ
ผมจึงแก้ไขตามคำแนะนำดังนี้ครับ

ก่อนแก้ไข ดูรายงานจาก Termial ที่ server ได้ผลดังนี้
Code:
*CLI> sip show peers
Name/username              Host            Dyn Nat ACL Port     Status   
103                        (Unspecified)    D          0        Unmonitored
102                        (Unspecified)    D          0        Unmonitored
101                        (Unspecified)    D          0        Unmonitored
3 sip peers [3 online , 0 offline]


หลังแก้ไขแฟ้ม sip.conf (ผมยกมาทั้งหมด โดยลบทุกบรรทัดที่มี ; comment ออก)
แฟ้ม sip.conf ที่แก้ไขแล้ว
Code:

[general]
context=default
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes

[101]
secret=101
type=friend
host=dynamic
qualify=yes
context=from-internal

[102]
secret=102
type=friend
host=dynamic
qualify=yes
context=from-internal

[103]
secret=103
type=friend
host=dynamic
qualify=yes
context=from-internal

โดยผลที่ได้ หลังจากดูจาก Terminal ที่ server อีกครั้ง

Code:
*CLI> sip show peers
Name/username              Host            Dyn Nat ACL Port     Status   
103                        (Unspecified)    D          0        UNKNOWN   
102                        (Unspecified)    D          0        UNKNOWN   
101                        (Unspecified)    D          0        UNKNOWN   
3 sip peers [0 online , 3 offline]

แปลกครับ ที่ผลออกมากลายเป็นว่า จาก Unmonitored เป็น UNKNOWN ไปหมด
พอผมแก้ไข แฟ้ม sip.conf กลับเป็นแบบเดิม โดยเอา qualify=yes ออกจากทุกเบอร์
ก็จะได้ผลเหมือนแบบเดิม คือ มี Status เป็น Unmonitored ครับ

สำหรับแฟ้ม extensions.conf นั้นไม่มี context [from-internal] เก่าอยู่ครับ
มีเฉพาะ ที่เพิ่มเข้าไปใหม่เท่านั้น (แฟ้มใหญ่ ผมไม่ได้แนบมาด้วย)

« Last Edit: October 11, 2007, 02:09:03 PM by mingky » Logged
stp
Newbie
*
Posts: 32


View Profile
« Reply #12 on: October 11, 2007, 03:30:20 PM »

- ลองเพิ่ม sip.conf

port=5060
nat=yes
dtmfmode=rfc2833
dial=SIP/101 (หรือ 102, 103 แล้วแต่เครื่อง)

- check config ของ softphone จะต้องใส่เบอร์ให้ตรงกับที่ config ใน sip.conf เพราะจาก log ที่ส่งมาให้แสดงว่าโทรจากเบอร์ 5063 และคิดว่า context ของเบอร์นี้ยังเป็น default อยู่

Executing Wait("SIP/5063-081a17c8", "1") in new stack --> โทรจาก device SIP/5063
Logged
mingky
Newbie
*
Posts: 7


View Profile
« Reply #13 on: October 12, 2007, 04:22:21 PM »

หายไปเพราะมึนครับ มึนตึบ
ไปพบว่ามีความเข้าใจผิด เรื่อง ip-address
จึงใช้เวลาแก้ไขพอประมาณ สรุปว่า

1. เครื่อง ทดสอบ 1 เป็น server ที่ลง asterisk คือ 192.168.200.105 ตั้งเป็นเบอร์โทร 100
2. เครื่อง ทดสอบ 2 ip-address = 192.168.200.31  ตั้งเป็นเบอร์โทร 200
3. เครื่อง ทดสอบ 3 ip-address = 192.168.200.16  ตั้งเป็นเบอร์โทร 300

แฟ้ม sap.conf เป็นดังนี้
Code:
[general]
context=default
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes

[100]
secret=100
type=friend
host=192.168.200.105
context=from-internal
qualify=yes
port=5060
nat=yes
dtmfmode=rfc2833

[200]
secret=200
type=friend
host=192.168.200.31
context=from-internal
qualify=yes
port=5060
nat=yes
dtmfmode=rfc2833

[300]
secret=300
type=friend
host=192.168.200.16
context=from-internal
qualify=yes
port=5060
nat=yes
dtmfmode=rfc2833

แฟ้ม extension.conf (เฉพาะส่วนที่เพิ่ม) เป็นดังนี้
Code:
[from-internal]
exten => 100,1,Dial(SIP/100)
exten => 200,1,Dial(SIP/200)
exten => 300,1,Dial(SIP/300)

ตรวจสอบ asterisk จาก Terminal
Code:
*CLI> sip show peers
Name/username              Host            Dyn Nat ACL Port     Status   
300                        192.168.200.16       N      5060     UNREACHABLE
200                        192.168.200.31       N      5060     OK (438 ms)
100                        192.168.200.105      N      5060     OK (1 ms)
3 sip peers [2 online , 1 offline]

แบบนี้จะถือว่า OK ได้แล้วหรือยังครับ
หรือควรต้องตรวจสอบอะไรเพิ่มเติมบ้างครับ

ผมทดลองโทรจาก softphone คือตัว Ekiga
จากเบอร์ 300 โทรหา 200 ดูเหมือนจะได้
จากเบอร์ 200 โทรหาใครก็ยังไม่ได้

จากเบอร์ 100 โทรหาใครก็ดูเหมือนจะไม่ได้
เหมือนกับจาก server ไม่สามารถใช้โทรได้หรือครับ (สงสัยจริงๆ)

ขอบคุณครับ หากมีคำตอบให้บ้าง มือใหม่ มึนสุดขีดเลยครับ แต่ก็สนุกดีนะครับ
Logged
Patrickz
Global Moderator
Sr. Member
*****
Posts: 274


View Profile WWW
« Reply #14 on: October 13, 2007, 10:15:00 AM »

Quote
ผมทดลองโทรจาก softphone คือตัว Ekiga
จากเบอร์ 300 โทรหา 200 ดูเหมือนจะได้
จากเบอร์ 200 โทรหาใครก็ยังไม่ได้
จากเบอร์ 100 โทรหาใครก็ดูเหมือนจะไม่ได้
เหมือนกับจาก server ไม่สามารถใช้โทรได้หรือครับ (สงสัยจริงๆ)
เหมือนจะได้ แปลว่าได้?
เหมือนจะไม่ได้  เป็นลักษณะอย่างไรครับ?  มี ringing แต่ไม่มีเสียงพูด? หรือเป็นอย่างไรครับ?

ติดเรื่อง NAT หรือเปล่าครับ  ลองเปลี่ยนไปใช้ IAX แทน  ได้ใช้ได้ แสดงว่าีมีัปัญหากับ NAT (ปกติ SIP มีปัญหากับ NAT อยู่แล้ว)
Logged

Pages: [1] 2
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.12 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!
SEM | Asterisk | สถานที่ท่องเที่ยว | สัมมนา SEM