Call forwarding มีอยู่ 3 ชนิด คือ

- Blind call forwarding หรือ Forward all ทุก calls ที่ติดต่อเข้ามาจะถูก forward ไปปลายทางที่กำหนดไว้

- Forward on busy ในกรณีที่ใช้งานโทรศัพท์อยู่ ถ้ามีอีก call เข้ามา call ที่เข้ามาจะถูก forward ไปปลายทางที่กำหนดไว้

- Forward on no answer ในกรณีที่ไม่รับสายภายในเวลาที่กำหนด call ที่เข้ามาจะถูก forward ไปปลายทางที่กำหนดไว้

 

1. Load module เพิ่มเติมในไฟล์ /etc/opensips/opensips.cfg ดังนี้

=====================================

#### AVPOPS module

loadmodule "avpops.so"

modparam("avpops", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")

modparam ("avpops", "avp_table", "usr_preferences")

=====================================

 

2. ใส่ข้อมูลตัวอย่างใน table usr_preferences ในฐานข้อมูล opensips ในการใช้งานจริงจะต้องมี web interface หรือ phone interface ให้ users สามารถเปลี่ยนแปลงข้อมูลตามต้องการได้

 

 

3. สำหรับ Forward all แทรก code ในไฟล์ /etc/opensips/opensips.cfg หลังจาก alias_db_lookup ("dbaliases") ดังนี้

=====================================

if (avp_db_laod("$ru", "$avp(callfwd)")) {

   $ru = $avp(callfwd);

{

=====================================

แล้ว restart opensips

#systemctl restart opensips 

ลองทดสอบ forward all ได้เลยว่าทำงานหรือไม่

 

4. สำหรับ Forward on busy และ Forward on no answer จะนำเสนอในตอนถัดไป