ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

Asterisk Opensource IP Pbx

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nottycrazy2 » 07 มี.ค. 2011 14:07

เรียนคุณ nuiz ใน extension.conf ผมไม่ทราบจะเขียน dial plan ยังไงดี รบกวนคุณ nuiz ช่วยแนะนำการเชียน dial plan ให้สอดคล้องกับ sip.conf ที่ได้แนะนำมาข้างต้นด้วยได้ไหมครับผม ขอบคุณครับ :)
nottycrazy2
Silver Member
 
โพสต์: 43
ลงทะเบียนเมื่อ: 01 มี.ค. 2011 00:18

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nuiz » 07 มี.ค. 2011 14:43

ทำเหมือนเดิมครับ แค่แก้ไขคำว่า IAX2 ให้เป็นคำว่า SIP


@ServerA

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

[osaka]
host=192.168.1.70
port=5060
insecure=port,invite
context=osaka_incoming
...

[2000]
host=dynamic
context=phones
...

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

[phones]
include => internal
include => external

[internal]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(SIP/${EXTEN},30,tT)
exten => _2XXX,n,Hangup()

[remote]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(SIP/192.168.1.70/${EXTEN},30,tT)
exten => _1XXX,n,Hangup()

[osaka_incoming]
include => internal


@ServerB

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

[toronto]
host=192.168.1.69
port=5060
insecure=port,invite
context=toronto_incoming
...

[1000]
host=dynamic
context=phones
...

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

[phones]
include => internal
include => remote

[internal]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(SIP/${EXTEN},30,tT)
exten => _1XXX,n,Hangup()

[remote]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(SIP/192.168.1.69/${EXTEN},30,tT)
exten => _2XXX,n,Hangup()

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

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nottycrazy2 » 07 มี.ค. 2011 15:25

ขอบคุณมากครับผม สำหรับคำแนะนำ รวดเร็วทันใจจริงๆเลยครับพี่ nuiz เดี๋ยวขอลองเลยนะครับได้ผลยังไงจะเรียนให้ทราบครับผม ขอบคุณครับ
nottycrazy2
Silver Member
 
โพสต์: 43
ลงทะเบียนเมื่อ: 01 มี.ค. 2011 00:18

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nottycrazy2 » 08 มี.ค. 2011 01:22

nuiz เขียน:ทำเหมือนเดิมครับ แค่แก้ไขคำว่า IAX2 ให้เป็นคำว่า SIP


@ServerA

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

[osaka]
host=192.168.1.70
port=5060
insecure=port,invite
context=osaka_incoming
...

[2000]
host=dynamic
context=phones
...

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

[phones]
include => internal
include => external

[internal]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(SIP/${EXTEN},30,tT)
exten => _2XXX,n,Hangup()

[remote]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(SIP/192.168.1.70/${EXTEN},30,tT)
exten => _1XXX,n,Hangup()

[osaka_incoming]
include => internal


@ServerB

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

[toronto]
host=192.168.1.69
port=5060
insecure=port,invite
context=toronto_incoming
...

[1000]
host=dynamic
context=phones
...

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

[phones]
include => internal
include => remote

[internal]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(SIP/${EXTEN},30,tT)
exten => _1XXX,n,Hangup()

[remote]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(SIP/192.168.1.69/${EXTEN},30,tT)
exten => _2XXX,n,Hangup()

[toronto_incoming]
include => internal


สวัสดีครับพี่ nuiz ผมลองตามที่พี่แนะนำแล้วครับ ปรากฎว่าไม่สำเร็จครับ ผมเลยทำการแก้ โค้ดอีกนิดหน่อยทั้งใน sip.conf และใน extension.conf จึงทำให้สามารถโทรหากันได้สำเร็จครับ (ผมลองใส่ secret ของ แต่ละ extension ก็ยังสามารถโทรได้ครับ ดีใจมาก :D ) โค้ดตามนี้ครับพี่

Server A
sip.conf

[toronto]
host=192.168.1.69
port=5060
insecure=port,invite
disallow=all
allow=gsm,ulaw,alaw
context=toronto_incoming
...

[2000]
username=2000
secret=1234
host=dynamic
type=friend ** ตอนแรกไม่ใส่ type ทำให้ soft phone ไม่สามารถ register กับ sip ได้ครับ
context=defualt ** ตอนแรกไม่ใส่ context = phones ตอนโทร sip ฟ้อง call from 1000 to extension '1000'
rejected because extension not found in context 'default' เลยลองงมๆเปลี่ยนดูครับ :shock: ...


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

[default] <----------- เปลี่ยน context นี้ครับ
include => internal
include => remote

[internal]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(SIP/${EXTEN},30,tT)
exten => _2XXX,n,Hangup()

[remote]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(SIP/192.168.1.70/${EXTEN},30,tT)
exten => _1XXX,n,Hangup()

[toronto_incoming]
include => internal

Server B
sip.conf

[osaka]
host=192.168.1.70
port=5060
insecure=port,invite
disallow=all
allow=gsm,ulaw,alaw
context=osaka_incoming
...

[1000]
username=1000
secret=1234
host=dynamic
type=friend ** ตอนแรกไม่ใส่ type ทำให้ soft phone ไม่สามารถ register กับ sip ได้ครับ
context=defualt ** ตอนแรกไม่ใส่ context = phones ตอนโทร sip ฟ้อง call from 2000 to extension '2000'
rejected because extension not found in context 'default' เลยลองงมๆเปลี่ยนดูครับ :shock: ...


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

[default] <----------- เปลี่ยน context นี้ครับ
include => internal
include => remote

[internal]
exten => _1XXX,1,NoOp()
exten => _1XXX,n,Dial(SIP/${EXTEN},30,tT)
exten => _1XXX,n,Hangup()

[remote]
exten => _2XXX,1,NoOp()
exten => _2XXX,n,Dial(SIP/192.168.1.69/${EXTEN},30,tT)
exten => _2XXX,n,Hangup()

[osaka_incoming]
include => internal

ยังไงๆ ก็ต้องขอขอบคุณพี่ nuiz มากๆครับ ที่แนะนำ และ เริ่มให้ผมจนสำเร็จครับผม ขั้นต่อไปผมจะลองนำไปประยุกต์เข้ากับ iax protocol ครับผม หวังว่าคงได้ครับ ขอบคุณพี่ nuiz มากๆครับ :D
nottycrazy2
Silver Member
 
โพสต์: 43
ลงทะเบียนเมื่อ: 01 มี.ค. 2011 00:18

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nuiz » 08 มี.ค. 2011 09:08

ยินดีด้วยครับ

ตัวอย่างล่าสุด ไฟล์ sip.conf ผมไม่ได้เขียนบรรทัด type ลงไปด้วยครับ ซึ่ง trunk จะใช้ type=peer และ extensions จะใช้ type=friend

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

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nottycrazy2 » 08 มี.ค. 2011 11:54

พี่ครับ ตรง sip trunk นี้ตรงไหนอ่ะครับผม
nottycrazy2
Silver Member
 
โพสต์: 43
ลงทะเบียนเมื่อ: 01 มี.ค. 2011 00:18

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nuiz » 08 มี.ค. 2011 23:04

ลองดูครับ ไม่รู้ว่าจะทำให้งงมากกว่าเดิมอีกหรือเปล่า

SIP Trunk เป็นการส่ง SIP Messages ระหว่าง SIP Server ไปยัง SIP Server หรือไปยัง SIP Gateways ครับ การทำ Authentication จะมีอยู่ 2 แบบ ได้แก่ IP Based (ไม่ต้อง register แต่ขอให้ส่งมาจาก IP Address ที่คอนฟิกไว้) และ Register Based Authentication (ต้องรีจิสเตอร์ด้วย username/password ก่อนถึงจะส่ง call ไปได้)

ใน Asterisk เราตั้งว่า Trunk ไหนจะเป็นแบบ IP Based หรือ Regiser Based ในไฟล์ sip.conf ครับ หลักๆแล้วจะดูที่บรรทัด type ครับ โดยถ้า type=peer จะเป็น IP Based Authentication ต้องใส่ไอพีแอดเดรสหรือชื่อ dns ไว้ในบรรทัด host ส่วนบรรทัด insecure ก็ใส่ port,invite ครับ

ถ้าเป็น type=friend จะเป็นแบบ Register Based Authentication ครับ หมายความว่า ถ้าเราต้องการให้อีกฝั่งรีจิสเตอร์เข้ามาก่อน เราก็ใส่ type=friend แล้วก็ตั้ง username, secret ครับ ส่วน host ต้องเป็น dynamic

*** มีบางกระแสก็บอกว่า จริงๆแล้วตอนที่ Asterisk มัน Authentication คอลที่โทรเข้ามาหามัน ไม่ได้สนใจบรรทัด type เลย มันสนใจบรรทัด host มากกว่า ซึ่งถ้า host=dynamic หล่ะก็ เป็น Register Based แต่ถ้า host=ไอพี จะเป็นแบบ IP Based ***

ตัวอย่างไฟล์ sip.conf บน server เครื่องหนึ่ง ที่มีไอพีเป็น 192.168.100.1

[inbound_from_a]
type=peer
host=192.168.1.1
port=5060
insecure=port,invite
context=inbound


[inbound_from_c]
type=friend
host=dynamic
username=1234
secret=5678
context=inbound

อธิบายได้ว่า ถ้าส่งมาจาก 192.168.1.1 หล่ะก็ ไม่สนใจว่า port จะเป็น 5060 หรือเปล่า ก็รับเลย
ส่วนชุดล่างคอนฟิกไว้ให้ server อีกตัวนึงต้องรีจิสเตอร์เข้ามาก่อน ด้วย username=1234 และ password=5678 ถึงจะยอมรับ

ตามไปดูที่ฝั่ง server a ซึ่งมีไอพี 192.168.1.1

[outbound_trunk]
type=peer
host=192.168.100.1
port=5060
insecure=port,invite
context=inbound
disallow=all
allow=g729
dtmfmode=rfc2833


ตามไปดูฝั่ง server c ซึ่งมีไอพี 192.168.200.1

register => 1234:5678@192.168.100.1:5060/1234

[outbound_to_bkk]
type=peer
host=192.168.100.1
port=5060
insecure=port,invite
context=inbound
username=1234
secret=5678
disallow=all
allow=g729
dtmfmode=rfc2833

ถ้าส่งคอลออกทาง trunk ที่ต้องรีจิสเตอร์ จะต้องใส่บรรทัด username, secret เสมอ ไม่งั้นทางปลายทางจะ reject (ไม่ผ่านการ authorized) บรรทัด username, secret ไม่ได้มีไว้ให้ server a รีจิสเตอร์เข้ามานะครับ ระวังจะงง


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

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nottycrazy2 » 09 มี.ค. 2011 01:33

ขอบคุณครับพี่ nuiz วันนี้ผมนั้งแก้ iax ทั้งวัน ผลก็คือ ติด authen เหมือนเดิม เครียดไปเลยครับ ผมก็เลยพักแล้วมานั่งทำความเข้าใจในบทความที่พี่พึ่งแนะนำมา
ผมก็เลยกะจะลองเขียน inbound และ outbound trunk ขึ้นมาใช้งาน แต่ก็ยัง งงๆ อยุ่เหมือนกันครับ ไม่ทราบว่าพี่ nuiz พอจะมีตัวอย่างการคอนฟิก inbound และ outbound trunk ของทั้งไฟล์ sip.conf , extension.conf ไหมครับ ผมอยากดูเป็นตัวอย่างและจะได้นำมาลองประยุกต์ใช้น่ะครับผม
ปล. IAX Protocol เล่นเอาตาลายมึนงงเลยครับ 555+
nottycrazy2
Silver Member
 
โพสต์: 43
ลงทะเบียนเมื่อ: 01 มี.ค. 2011 00:18

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nuiz » 09 มี.ค. 2011 08:55

เดี๋ยวเทสให้ก่อนนะครับ เพราะไม่เคยใช้ IAX2 เลย

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

Re: ขอคำแนะนำในการ เชื่่อม 2 Asterisk sever ครับ

โพสต์โดย nottycrazy2 » 09 มี.ค. 2011 14:33

nuiz เขียน:เดี๋ยวเทสให้ก่อนนะครับ เพราะไม่เคยใช้ IAX2 เลย

รอท่านอื่นมาอัพเดทด้วยครับ


ครับ ขอบคุณครับผม ตอนแรกกะว่าจะขอดูการ :D config Sip Trunk ของพี่ nuiz น่ะครับ ผมว่ามันอาจจะคล้ายๆกันเลยกะเอามาแปลงน่ะครับ
แต่พี่จะลอง IAX เลยก็แจ๋วเลยครับ อิอิ
nottycrazy2
Silver Member
 
โพสต์: 43
ลงทะเบียนเมื่อ: 01 มี.ค. 2011 00:18

ย้อนกลับต่อไป

ย้อนกลับไปยัง Asterisk SIP Server

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

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

cron