การใช้งาน SIP over TCP นั้น ผมทดสอบดูก็พบว่า เฉพาะ Signaling เท่านั้นที่ใช้บน TCP ส่วน Voice RTP ก็ยังคงวิ่งบน UDP อย่างเดิมครับ แต่มันจะช่วยให้ Zoiper ไม่หลับเวลาหน้าจอสมาร์ทโฟนดับไป
1. เปิดหน้า FreePBX -> Settings -> Asterisk SIP Settings
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-1.png)
2. เพิ่มบรรทัด tcpenable = yes
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-2.png)
จากนั้นกด Submit Chages และ Apply Config
3. ตรวจสอบ
รันคำสั่ง netstat -ln | grep 5060 บน Linux Prompt จะเห็นแบบนี้
- โค้ด: เลือกทั้งหมด
tcp 0 0 0.0.0.0:5060 0.0.0.0:* LISTEN
udp 0 0 0.0.0.0:5060 0.0.0.0:*
แสดงว่า Asterisk SIP รันทั้งบน TCP และ UDP
4. เข้าหน้าเว็บคอนฟิกเบอร์ Extensions (หน้า FreePBX หรือ Elastix ก็ได้)
บรรทัด Transport เปลี่ยนจาก UDP Only เป็น All - อะไรก็ได้ เช่น All - UDP Primary หรือ All - TCP Primary เป็นต้น ซึ่งจะรองรับหลายโปรโตคอล แต่ถ้าต้องการให้รองรับเฉพาะ TCP เท่านั้น ให้เลือกเป็น TCP Only
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-3.png)
แล้วกด Submit และ Apply Config
รูปนี้เป็นตัวอย่างการตั้งค่าให้เบอร์ Extension รองรับ TCP เท่านั้น
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-10.png)
5. คอนฟิก SIP Client ให้ใช้ TCP
5.1 ใช้ Zoiper Sofphone บน Android
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-4.png)
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-5.png)
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-6.png)
รีจิสเตอร์ได้
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-7.png)
5.2 โปรแกรม X-Lite for windows
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-8.png)
รีจิสเตอร์ได้
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-9.png)
5.3 โปรแกรม PortGo
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-11.png)
5.4 โปรแกรม Zoiper for Windows
![รูปภาพ](http://www.voip4share.com/images/shared2/elastix-25-sip-over-tcp-12.png)
6. ตรวจสอบ
- โค้ด: เลือกทั้งหมด
[root@elastix-a ~]# asterisk -rx "sip show peers"
Name/username Host Dyn Forcerport Comedia ACL Port Status Description
1001/1001 192.168.100.101 D Yes Yes A 54146 OK (231 ms)
- โค้ด: เลือกทั้งหมด
[root@elastix-a ~]# asterisk -rx "sip show peer 1001"
* Name : 1001
...
Prim.Transp. : TCP
Allowed.Trsp : TCP
...
Useragent : X-Lite release 4.9.7 stamp 83108
Reg. Contact : sip:1002@192.168.100.102:5161;rinstance=6de0ca4f76bcfbc8
...
จากนั้นทดสอบการใช้งาน
บทความที่เกี่ยวข้อง
เทคนิคการติดตั้ง Elastix 2.5
เทคนิคการติดตั้ง Elastix 4.0
เทคนิคการติดตั้ง Elastix 3.0
เทคนิคการดาวน์โหลดไฟล์เสียง mp3 จากเว็บ TTS (ใหม่)