Digital Receptionist - พนักงานต้อนรับดิจิตอล ทำงานตลอด 24 ชั่วโมงโดยไม่รู้สึกเหน็ดเหนื่อย
มาทำ IVR เล่นกันดีกว่าครับ IVR ย่อมาจาก Interactive Voice Response ก็คือมีเสียงพูดๆๆๆแล้วบอกให้เรากดเลือก 1, 2, 3, ... กดเลือกแล้วก็เข้าไปเมนูอื่น แล้วก็ให้เลือก 1, 2, 3,.. อีก จนกว่าเราจะได้ข้อมูลที่ต้องการ เมนูนี้ต้องใช้ไฟล์เสียงเยอะหน่อยนะครับตามขนาด ออปชั่น และความซับซ้อนของ IVR นอกจากนั้นนะครับ เสียงที่ IVR เล่นให้ฟังก็อาจจะเป็นเสียงภาษาไทย อังกฤษ ญี่ปุ่น จีน หรือภาษาอื่นๆ ขึ้นอยู่กับว่าคนทำ IVR นั้นทำออกมาให้คนชาติอะไรฟัง เสียงภาษาอังกฤษ ภาษาจีน เกาหลี มีโปรแกรมทำครับ แต่สำหรับภาษาไทยอัดเองจะดีกว่าครับได้เสียงที่เป็นธรรมชาติดี
ตัวอย่างของ IVR ที่เห็นได้ชัดเจนคือ คอลเซ็นเตอร์และการโทรผ่านตู้สาขาโทรศัพท์ ซึ่งปกติมักจะมีเสียงต้อนรับว่า "บริษัท ... ยินดีต้อนรับ กรุณากดหมายเลขที่ต้องการติดต่อ กด 1 ติดต่อฝ่ายขาย หรือกด 0 เพื่อติดต่อโอเปอเรเตอร์" แล้วเราก็กดเลือก ที่เราต้องกดเลือกนั่นคือ "ออปชั่น" ที่เขานำเสนอให้เรากด ถ้าเรากดนอกเหนือจากที่เขาให้กด ถือว่าเราเลือกผิด (invalid) เขาก็อาจจะให้เรากดใหม่อีก แต่ถ้าเราไม่กดเลือกอะไรเลยในเวลาที่กำหนดไว้ ถือว่าไทม์เอ๊าท์ (timeout) เมื่อกดตัวเลือกถูกต้อง เขาก็จะโอนสายของเราไปตามส่วนต่างๆที่ได้เลือกไว้ เรียกว่า "ปลายทาง"
ออปชั่นใน IVR คือตัวเลือกที่เราสามารถเลือกได้ โดยการกดปุ่มบนแป้นโทรศัพท์ ได้แก่
0-9,
*,
# นอกจากตัวเลือกที่ว่านี้แล้ว ยังมีตัวเลือกพิเศษอีก 2 ตัวเลือกคือ
i (invalid) และ
t (timeout) ซึ่ง i ใช้เมื่อผู้โทรเข้ามาเลือกรายการไม่ถูกต้อง เช่นให้กด 1, 2, 3 เท่านั้นแต่เขาไปกดปุ่มแทน ส่วน t ใช้เมื่อผู้โทรเข้ามาไม่ได้กดเลือกในเวลาที่กำหนด โดยดีฟอลท์แล้ว 't' ถ้าปล่อยให้เกิด t 3 ครั้งติดกันจะตัดสาย ส่วน 'i' จะมีเสียงว่า 'invalid option, please try again' ถ้าเลือกผิด 3 ครั้งติดต่อกันก็จะตัดสาย
มาดูหน้าตาคอนฟิก IVR กันครับ
- Default IVR
- ivr-default-small.png (172.33 KiB) เปิดดู 20932 ครั้ง
Delete Digital Receptionlist Unnamed ลบ IVR ที่ชื่อ Unnamed
Change Name เปลี่ยนชื่อ IVR ชื่อดีฟอลท์คือ Unnamed
Timeout ระยะเวลา (วินาที) ที่จะรอก่อนที่จะส่งคอลไปยัง t destination
Enable Directory ถ้าเลือก ผู้โทรเข้ามาสามารถกด
Feature Code สำหรับ Directory ได้ ซึ่งปกติกด # จาก IVR เพื่อเข้าสู่ Directory Service
Directory Context เป็น Context ของ Directory ซึ่งเราสามารถใช้พารามิเตอร์ตัวนี้สร้างหลายๆ IVR ให้แก่ Multi-Tenant ได้ เช่น Elastix เครื่องเดียวแต่มีเบอร์โทรเข้าหลายเบอร์ แต่ละเบอร์ก็เป็นของแต่ละบริษัท (หรือแต่ละแผนก) สร้าง IVR มารับ แต่ละ IVR ก็เซ็ตให้มี Directory Context ต่างกัน (ไว้ผมจะทำให้ดูก็แล้วกันครับ)
Enable Direct Dial ยอมให้ผู้โทรเข้ากดเบอร์ Extension ได้โดยตรง
Loop Before t-dest ถ้าเราเลือกออปชั่นนี้จะทำให้ IVR ลูปกลับไปยังจุดเริ่มต้นของมันเมื่อหมดเวลาไทม์เอ๊าท์แล้ว โดยจำนวนครั้งที่ IVR จะลูปกลับขึ้นอยู่กับค่า Repeat Loops ที่เราตั้งไว้ แต่ถ้าเราไม่เลือกออปชั่นนี้ แล้วปรากฏว่าหมดเวลาไทม์เอ๊าท์ ยูสเซอร์ก็จะถูกส่งไปยัง "t" destination (ถ้ามีทำไว้ใน IVR ด้วย) ซึ่งอาจจะตัดสายยูสเซอร์ไปเลย
Loop Before i-dest ทำงานในลักษณะเดียวกันกับ "Loop Before t-dest" ยกเว้นสิ่งที่จะใช้ตรวจสอบคือยูสเซอร์กดตัวเลือกไม่ถูกต้อง (invalid input) ถ้าเราเลือกออปชั่นนี้แล้วยูสเซอร์กดเลือไม่ถูกต้อง IVR ก็จะลูป แต่ถ้าเราไม่เลือกออปชั่นนี้แล้วปรากฏว่ายูสเซอร์กดเลือกผิด ยูสเซอร์ก็จะถูกส่งไปยัง "i" destination หรือถ้าเราไม่ได้สร้าง "i" ไว้ ยูสเซอร์ก็จะถูกตัดสาย
Repeat Loops จำนวนครั้งที่ควรจะลูปเมื่อกดตัวเลือกไม่ถูกต้องหรือไม่เลือกตัวเลือกอะไรเลย ก่อนที่จะเข้าสู่ i หรือ t ถ้าออปชั่นมีการใส่ i หรือ t ไว้ จะต้องเช็คเลือกที่ Loop Before t-dest และ Loop Before i-dest ด้วยเพื่อให้มีการลูป
Announcement เป็นเสียงที่จะเล่นให้ผู้โทรเข้ามาได้ยิน ก่อนรอให้เขากดเลือก ตามที่กำหนดไว้ในออปชั่นด้านล่าง
Increase Options เพิ่มออปชั่น ทำให้มีตัวเลือกมากขึ้น หมายถึงคนโทรเข้ามามีตัวเลือกมากขึ้น
Save บันทึก
Decrease Options ลดออปชั่นลง ถ้าออปชั่นมีมากเกินความจำเป็น
Return to IVR เลือกเพื่อให้ออปชั่นนี้สามารถย้อนกลับสู่ IVR ที่เรียกมาได้ (IVR สามารถเรียก IVR ได้ เรียก IVR ที่เป็นผู้เรียกมาว่า Parent IVR) ถ้าไม่เลือกมันจะไปยังปลายทางที่เลือกไว้
เส้นทางการย้อนกลับจะไปที่ IVR ใดๆที่อยู่ในเส้นทางการคอลก่อนมาถึง IVR นี้สามารถนำมาซึ่งผลลัพธ์ที่น่าแปลกใจถ้ามี IVR ที่ถูกคอลในเส้นทางแต่ไม่ได้อยู่ก่อน IVR นี้ทันทีทันใด
ด้านซ้ายมือของออปชั่น เป็นตัวเลือกที่กดเลือกได้ ค่าที่ใส่ได้คือ 0-9 หรือ t หรือ i ถ้าเป็นตัวเลขอาจเป็น 1 หลัก หรือ 2 หลัก หรือ 3 หลัก หรือมากกว่า
i เป็นการสร้าง "i" destination ไว้รองรับกรณีที่ยูสเซอร์กดตัวเลือกไม่ถูกต้อง (กดตัวเลือกที่เราไม่ได้มีให้เลือก) ดีฟอลท์ของกรณีที่ยูสเซอร์กดตัวเลือกผิดก็คือ "ถูกตัดสาย" แต่ถ้าเราไม่ต้องการแบบนี้เราก็สร้าง "i" ขึ้นมารองรับ เช่นถ้ายูสเซอร์กดผิดให้มีเสียงบอกว่า "ขออภัยค่ะคุณกดเลือกไม่ถูกต้อง" แล้วจากนั้นกลับไปเรียกเมนูใหม่อีก มีเสียงเมนูหลักให้ยูสเซอร์เลือกอีก
t เป็นการสร้าง "t" destination ไว้รองรับกรณีที่ยูสเซอร์ไม่กดตัวเลือกภายในเวลาที่กำหนด ดีฟอลท์ของกรณีที่ยูสเซอร์ไม่ทำรายการภายในเวลาที่กำหนดก็คือ "ถูกตัดสาย" แต่ถ้าเราไม่ต้องการแบบนี้ก็ต้องสร้าง "t" ขึ้นมา โดยอาจจะเล่นไฟล์เสียงบอกว่า "ขออภัยค่ะคุณไม่ได้ทำรายการภายในเวลาที่กำหนด" จากนั้นส่งไปยังโอเปอเรเตอร์หรือไม่ก็กลับไปเรียกเมนูใหม่อีกรอบ
ออกแบบ IVRจะสร้าง IVR ก็ต้องออกแบบก่อนครับ เช่น ให้มีข้อความต้อนรับว่าอะไร มีออปชั่นอะไรให้กดบ้าง ถ้ากดแล้วจะส่งไปที่ไหน ถ้ากดผิดจะรองรับยังไง ให้มีเสียงบอกมั๊ย ถ้าไทม์เอ๊าท์จะรองรับยังไง ให้มีเสียงบอกมั๊ย ให้ลองใหม่ได้กี่ครั้ง อย่างนี้เป็นต้นครับ
เมื่อออกแบบคร่าวๆแล้ว ก็มาเขียนขั้นตอนการทำ IVR ครับ
1. อัดเสียงตอบรับเสียงแรก (Announcement) แล้วอัพโหลดเข้าไปด้วยเมนู
System Recording2. อัดเสียงพร้อมท์ที่จะให้เล่นเมื่อกดเลือกตัวเลือกใน IVR แล้วอัพโหลดเข้าไปด้วยเมนู
System Recording3. สร้าง Desination ที่ต้องการแต่ยังไม่มี เช่น
Queues,
Ring Groups,
Time Conditions เป็นต้น เผื่อจำเป็นเอาไว้เลือกใช้งานตอนที่เราสร้างเมนูใน IVR
4. เทส Destination ที่สร้างขึ้นมาเพื่อแน่ใจว่ามันเวอร์ค เทสโดยสร้าง
Misc Destination มาเทส
5. สร้าง ivr
6. เทส ivr โดยสร้าง
Misc Application