ทำให้โอนสายแบบ Attended Transfer (*2) โชว์เบอร์ต้นทางด้วย

Elastix IP Pbx

Moderator: jubjang

ทำให้โอนสายแบบ Attended Transfer (*2) โชว์เบอร์ต้นทางด้วย

โพสต์โดย nuiz » 14 ก.พ. 2015 13:28

การโอนสายในโดยใช้ฟังก์ชั่น Transfer บน Elastix มี 2 แบบนะครับ แบบแรกคือ Bind Transfer (กด ## ถ้ายังไม่เปลี่ยน) และอีกแบบคือ Attended Transfer (กด *2 ถ้ายังไม่เปลี่ยน)

เมื่อ A (เบอร์ 101) คุยสายกับ B (เบอร์ 102) แล้วต้องการโอนสายไปให้ C (เบอร์ 103) เมื่อ A หรือ B กด ## รอฟังเสียง "Transfer" แล้วกดเบอร์ 103 บนหัวเครื่องของ C จะแสดงเบอร์ 101 (ถ้า B เป็นคนโอนสาย) หรือไม่ก็ 102 (ถ้า A เป็นคนวางสาย) ไม่งงนะครับ...

แต่ถ้าใช้วิธีโอนแบบ Attended Transfer กด *2 บนหัวเครื่องของ C จะแสดงเบอร์ 101 ถ้า A เป็นคนกด หรือแสดงเบอร์ 102 ถ้า B เป็นคนกด ไม่งงนะครับ...

การโอนสายโดยการกด *2 มันมีข้อดีคือ สามารถคุยกับปลายสายได้ก่อนจะโอนจริง สามารถดึงสายกลับมาได้ แต่มันมีข้อเสียคือ มันไม่แสดงเบอร์ต้นทาง มันแสดงเบอร์คนโอน

บทความนี้จะแก้ไขการแสดงเบอร์ให้ถูกต้องครับ

การแสดงเบอร์ต้นทางเมื่อมีการโอนสาย เขาใช้เทคนิค Remote-Party-ID และ P-Assert-Identity (PAI) ครับ มันเป็น Header อย่างหนึ่งใน SIP messages ครับ ซึ่งสองตัวนี้มี "ข้อมูลเบอร์ต้นทางอยู่" เราต้องเปิดใช้งานมันจึงจะมีผลครับ (ปกติใน SIP message ในอุปกรณ์ทั่วๆไปไม่มี Headers นี้อยู่นะครับ มันจะมีในอุปกรณ์ที่เป็น Gateway, IP Phone แล้วแต่ยี่ห้อครับ)

** Asterisk รองรับทั้ง Remote-Party-Id และ P-Assert-Identify ครับ ทำได้ทั้งสร้างและตรวจสอบ **
** Softphone บางโปรแกรมก็รองรับ เช่น Zoiper บางโปรแกรมก็ไม่รองรับ เช่น eyebeam, X-lite ฉะนั้นเวลาใช้ Softphone ทดสอบก็ต้องดูด้วยนะครับว่าเราใช้โปรแกรมอะไร คอนฟิกแทบตายแต่ใช้โปรแกรมผิด ก็ทำเอาปวดหัวได้ครับ **
** IP Phone ส่วนใหญ่จะรองรับครับ มีให้เลือกว่าจะใช้แบบ Remote-Party-ID หรือ P-Assert-Identify หรือเลือกแบบออโต้ **

คุณสมบัติการแสดงเบอร์ต้นทางเมื่อมีการโอนสาย เราเรียกว่า RPID ครับ ซึ่งย่อมาจาก Remote Party Identifier ครับ ซึ่งมีด้วยกัน 2 อย่างดังที่กล่าวมาแล้วข้างต้นครับ

มาดูวิธีการเปิดใช้งาน RPID บน Elastix กันครับ

1. สร้างเป็น Template เพื่อให้มีผลกับทุกๆ Extensions ที่สร้างใหม่
เข้าไปที่ FreePBX ครับ เมนู Settings -> Advanced Settings
แล้วแก้ไข SIP sendrpid ดังรูปครับ
ซึ่ง sendrpid = yes หมายถึงเลือกใช้แบบ Remote-Party-Id ส่วน sendrpid=pai หมายถึงเลือกใช้แบบ P-Assert-Identity เลือกเอาแบบใดแบบหนึ่ง แนะนำว่าให้เลือกแบบ Remote-Party-Id ครับ เพราะว่าอุปกรณ์ส่วนใหญ่รองรับ (โปรแกรม Zoiper ที่ผมเกริ่นไว้ตอนต้นมันรองรับเฉพาะ Remote-Party-Id แบบเดียวครับ)

ส่วน SIP trustrpid เอาไว้ตอนขารับคอลครับ ต้องเซ็ตเป็น yes ด้วยเหมือนกัน ไม่เช่นนั้นมันจะไม่สนใจ Remote-Party-ID หรือ P-Assert-Identify ที่อุปกรณ์อื่นส่งมาครับ

รูปภาพ

พอเราสร้าง Extensions ใหม่ จะมีพารามิเตอร์ 2 ตัวนี้เซ็ตให้เราเลยครับ ตามรูป

รูปภาพ

2. แก้ไขเบอร์ Extensions ให้รองรับ RPID
เบอร์ Extensions ที่สร้างหลังจากการทำข้อ 1 จะเซ็ตพารามิเตอร์ trustrpid และ sendrpid ให้เราอัตโนมัติครับ แต่สำหรับเบอร์ที่เราสร้างไว้ก่อนหน้านั้นเราต้องแก้ไขเองครับ เมนู PBX

แก้ให้เหมือนกับรูปด้านบนครับ

trustrpid=yes
sendrpid=Send Remote-Party-ID header

เมื่อเราเซ็ตค่าแบบนี้แล้ว จากนั้นเวลาเบอร์นี้โอนสาย Asterisk จะส่งคอลไปยังเบอร์ปลายทาง ข้างใน INVITE จะมีฟิลด์ (หรือ Header) Remote-Party-ID อยู่ครับ ไม่เชื่อลองใช้ Ngrep แค๊บเจอร์ดูครับแล้วจะเห็น

3. ทดสอบผลงาน
ให้โอนสายทดสอบครับ สมมติว่าเอาเบอร์ 101 โทรหา 102 คุยสายกันปกติ จากนั้นให้ 102 โอนสายโดยการกด *2 ไปเบอร์ 103 บนหัวเครื่อง 103 จะแสดงเบอร์ 102 ก่อน (ย้ำนะครับว่าเป็นเบอร์ 102) เพราะขั้นตอนนี้ยังไม่เกิดการโอนจริง ถูกมั๊ยครับ

ทีนี้พอเบอร์ 102 โอนจริง โดยการวางสาย ระบบจะเชื่อมเบอร์ 101 ให้คุยกับ 103 จังหวะนี้บนหัวเครื่อง 103 จะเปลี่ยนไปแสดงเบอร์ 101 แทนครับ เป็นอันถูกต้อง

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

ย้อนกลับไปยัง Elastix - Unified Communications Software

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

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