เราสามารถเปลี่ยน SIP Listening Port ได้ด้วยนะครับ เปลี่ยนเป็นพอร์ตอะไรก็ได้ ตั้งแต่ 1 ถึง 65535 เลย แต่มีข้อแม้อยู่ 2 ข้อนะครับ คืออย่าให้ซ้ำกับพอร์ตที่ใช้งานแล้ว และไม่ควรจะให้อยู่ในช่วง RTP Port ของ Asterisk ด้วย (พอร์ต RTP มีกำหนดไว้ในไฟล์ /etc/asterisk/rtp.conf ครับ) ผมแนะนำว่าเอาให้เป็นพอร์ต 4 หลักหล่ะกัน เช่น 5252
มาดูวิธีการเปลี่ยน SIP Listening Port จาก 5060 เป็น 5252 กันครับ ไม่ยากอย่างที่คิดหรอกครับ
1. เช็ค SIP Listening Port ปัจจุบัน
รีโมทเข้าไปที่ CentOS บน Elastix แล้วรันคำสั่งนี้ครับ
- โค้ด: เลือกทั้งหมด
asterisk -rx "sip show settings"
จะมีโชว์ออกมาหลายบรรทัดครับ ดูบรรทัดบนสุด
- โค้ด: เลือกทั้งหมด
Global Settings:
----------------
UDP Bindaddress: 0.0.0.0:5060
แสดงว่าตอนนี้มี Listening Port คือ 5060 เป็น UDP ครับ
2. เข้าเว็บ FreePBX ใน Elastix
- โค้ด: เลือกทั้งหมด
http://x.x.x.x/admin
คลิ๊กแท๊ป Tools
คลิ๊ก Asterisk SIP Settings
มองหาบรรทัด Bind Port ครับ ซึ่งอยู่ด้านล่างๆของหน้า ใส่ตัวเลข 5252 ในช่อง Bind Port ตามตัวอย่างครับ
จากนั้นคลิ๊ก Submit Changes ตามด้วย Apply Configuration Changes ตามด้วย Continue with reload ถ้าไม่มี Error อะไรโชว์ขึ้นมาก็เป็นอันว่าเปลี่ยนเรียบร้อยครับ
3. เช็ค SIP Listening Port อีกครั้ง
- โค้ด: เลือกทั้งหมด
asterisk -rx "sip show settings"
ผลลัพธ์
- โค้ด: เลือกทั้งหมด
Global Settings:
----------------
UDP Bindaddress: 0.0.0.0:5252
ตอนนี้ Asterisk เปลี่ยนมา Listening ที่พอร์ต 5252 แล้ว
เพิ่มเติมครับ
1. เวลา Asterisk ติดต่อกับ SIP devices อื่น มันจะใช้พอร์ตนี้เป็น Source Port ด้วยนะครับ โปรดระวังจุดนี้ด้วยหาก SIP devices ที่ต้องติดต่อมีการเช็ค Source Port ด้วย
2. หากต้องการให้ Asterisk กลับไปรันที่พอร์ต 5060 ตามเดิม ให้ทำตามขั้นตอนที่ 2 อีกรอบครับ ลบตัวเลขออกจากช่อง Bind Port
บทความที่เกี่ยวข้อง
เทคนิคการป้องกัน Elastix เมื่อต่อกับ Internet โดยการเปลี่ยน SIP Listening Port