phpagi โปรเจ็คที่ 2 - ให้ Asterisk เลือก Trunk โทรออกแบบ Round Robin
เมื่อก่อนผมเคยติดปัญหาตอนโทรออกผ่าน SIP Trunk ตอนนั้นจำได้ว่ามีอยู่ 5 Trunks เป็นของ TOT NetCall แบบเติมเงินทั้งหมด ตอนโทรออกมันก็จะใช้ Trunk #1 โทรออกตลอด ถ้าไม่ว่างถึงจะไป Trunk #2, Trunk #3, ... ครับ เจอปัญหาว่า Trunk #1 เงินหมดก่อน ในขณะที่ Trunk #2, Trunk #3 เงินแทบไม่พร่องเลย ตอนนั้นแก้ปัญหาโดยการแบ่งกลุ่มคนโทรออก กลุ่มหนึ่ง โทรออก Trunk #1 กลุ่มสอง โทรออก Trunk #2 แบบนี้ครับ ก็แก้ปัญหาได้ระดับหนึ่ง
ตอนนี้ผมรู้จัก phpagi แล้ว ก็เลยจะเอามันมาช่วยในการเลือก Trunk โทรออก โดยเลือกเป็นแบบ Round Robin หมายความว่า สมมติว่ามี 5 Trunks สายแรกโทรออก Trunk #1 สายต่อมาโทรออก Trunk #2 สายต่อมาโทรออก Trunk #3 สายต่อมาโทรออก Trunk #4 สายต่อมาโทรออก Trunk #5 สายต่อมาออกทาง Trunk #1 ใหม่ ถ้า Trunk ไม่ว่างก็ให้มันเลือก Trunk ต่อไป และบันทึกการใช้ Trunk สถานะของ Trunk รวมทั้งจำนวน Minute ที่ใช้ไป ลงดาต้าเบส MySQL
กรณี Trunk ที่จะใช้งานมัน Fail ไป ไม่ว่าจะด้วยเหตุผลอะไรก็แล้วแต่ ก็ให้มันเลือก Trunk ลำดับต่อไปที่ยังว่างอยู่
เดี๋ยวมาต่อครับ...