หน้า 1 จากทั้งหมด 1

สอบถามเกี่ยวกับ queues.conf หน่อยครับ

โพสต์โพสต์แล้ว: 03 ก.ย. 2012 10:52
โดย thekungz
;[markq]
;
; A sample call queue
;
musicclass เป็น Music On Hold (MOH) หรือเสียงรอสาย ที่เล่นให้ลูกค้าใน queue ฟังระหว่างที่เขารอเอเย่นต์รับสาย จะมีผลกับลูกค้าที่อยู่ใน queue นั้นๆเท่านั้นไม่เกี่ยวกับ queue อื่น แสดงว่าแต่ละ queue มีเสียง MOH ไม่เหมือนกันได้ แต่อย่างไรก็ตามเราสามารถเขียนทับออปชั่นนี้เราเซ็ตระบุ MOH class โดยตรงจาก Dialplan โดยใช้ Set(CHANNEL(musicclass)=whatever)
เราสร้าง MOH ได้ไม่ยากเลยครับ โดยอัพโหลดไฟล์เสียง .wav (รูปแบบ 8 KHz, 16 bit, Mono) หรือ .mp3 ไปไว้ในไดเร็คตอรี่ /var/lib/asterisk/moh เสียงที่อยู่ในไดเร็คตอรี่นี้จะเป็น MOH class=default ถ้าเราต้องการให้มีหลายๆ class ก็ให้สร้างไดเร็คตอรี่ย่อยๆไว้ภายใน แล้วอัพโหลดไฟล์เสียงเข้าไป เช่น สร้าง class=voi4share ก็ให้สร้างไดเร็คตอรี่ /var/lib/asterisk/moh/voip4share แล้วก็อัพโหลดไฟล์เสียงเข้าไป ไม่ยากครับ จะสร้างกี่ class ก็ได้
;musicclass = default
;
announcement เป็นเสียงที่จะเล่นให้เอเย่นต์ฟัง เขาจะได้ยินเสียงนี้ทันทีที่ยกหูรับสายลูกค้า ปกติเราจะใช้ออปชั่นนี้เพื่อบอกเอเย่นต์ว่าลูกค้าสายนี้เข้ามาทาง queue ไหน เอเย่นต์จะได้เตรียมพร้อมได้ทันเวลา ออปชั่นนี้มีประโยชน์มากโดยเฉพาะกับเอเย่นต์ 1 คนที่ต้องรับสายลูกค้ามากกว่า 1 queue ยกตัวอย่างบริษัทรับจ้างให้บริการ Call Center ซึ่งเอเย่นต์ 1 คนต้องรับสายลูกค้าหลายบริษัท เราก็เซ็ต queue หนึ่งเป็นของอีกบริษัทหนึ่ง และอีก queue หนึ่งเป็นของอีกบริษัทหนึ่ง แล้วใช้ออปชั่นนี้บอกเอเย่นต์ว่าลูกค้าโทรเข้าเบอร์ของบริษัทไหน
;announce = queue-markq

อยากทราบวิธีใช้ announce หน่อยครับ สมมติว่าผมต้องรับสายลูกค้า 3 บริษัท มีบริษัท A, B, และ C ผมต้องตั้งค่าอย่างไร ตั้งค่าตรงไหนบ้างให้เล่นเสียงตอนรับสายคนละเสียงกัน ขอตัวอย่างการใช้งานหน่อยครับ

ขอบคุณครับ :D

Re: สอบถามเกี่ยวกับ queues.conf หน่อยครับ

โพสต์โพสต์แล้ว: 03 ก.ย. 2012 11:14
โดย nuiz
ปกติใช้แต่ Elastix ครับ มันสามารถแปะชื่อบริษัท (ย่อๆ) ไว้ข้างหน้าเบอร์ลูกค้าที่โทรเข้ามาได้ Call Center ก็จะรู้ว่าลูกค้ารายนี้ต้องการคุยกับบริษัทไหน แต่ก็ต้องใช้เบอร์โทรเข้าแยกบริษัทละเบอร์ด้วยแหล่ะ

ถ้ายังไม่ได้ทำอะไรมากกับ Server ตัวนี้ผมแนะนำให้เปลี่ยนไปใช้ Elastix ดีกว่าครับ ใช้ Command มันก็ดีตรงที่ได้ความรู้ดี แต่มันจะติดนู่นติดนี่ตลอดเลย ในขณะที่ถ้าเปลี่ยนไปใช้ Elastix ถ้าติดปัญหาก็ยัง Search ได้

Re: สอบถามเกี่ยวกับ queues.conf หน่อยครับ

โพสต์โพสต์แล้ว: 03 ก.ย. 2012 11:30
โดย thekungz
ตอนนี้ระบบเสร็จแล้วครับ (แก้ไขระบบต่อจากคนอื่น) เค้า requirement มาว่าอยากทราบว่าลูกค้าติดต่อบริษัทไหนก่อนจะคุยกับลูกค้า ตอนนี้เค้าต้องคอยถามลูกค้าเอาเองว่าซึ่งมันดูไม่ค่อยดีเท่าไร
ในส่วนอื่นก็ใช้งานได้ดี ในที่นี้ต้องรับสายลูกค้าประมาณ 7 บริษัท และแต่ละบริษัทแยกเป็นเบอร์ใครเบอร์มันแล้วครับผม T^T

Re: สอบถามเกี่ยวกับ queues.conf หน่อยครับ

โพสต์โพสต์แล้ว: 03 ก.ย. 2012 14:23
โดย nuiz
การ Identify ทำได้ 2 แบบ
1.
ทางฝั่ง agent (คนรับสาย) ใช้อุปกรณ์อะไรรับสายครับ มันมีหน้าจอโชว์เบอร์ได้หรือเปล่า ถ้าได้ก็หาวิธีแปะตัวเลขหรือตัวอักษรข้างหน้าเบอร์ลูกค้า เราก็จะรู้ว่าลูกค้าโทรหาบริษัทไหน

คงต้องทำตั้งแต่ตอนรับสายเข้ามาทีแรกหน่ะครับ มันสามารถแปลง Caller ID ได้ หรือจะแปะอะไรเข้าไปข้างหน้า Caller ID ก็ได้ ลองหาคำสั่ง Set CallerID ดูครับ ว่าใช้ยังไง

ถ้า Asterisk ไม่สามารถหาเบอร์ลูกค้าได้ (เช่นสายโทรศัพท์ไม่โชว์เบอร์) ระบบจะตีว่าเป็น Unknown หรือไม่ก็ Anonymous

2.
ถ้าเครื่อง agent โชว์เบอร์ไม่ได้ ไม่มีหน้าจอ ยังมีอีกวิธีคือ ให้ระบบบอก agent ว่าใครโทรเข้ามา (announcement) อันนี้ยังไม่เคยลองครับ แต่ใน queue ทำได้ (ผมเทียบกับตอนคอนฟิก Elastix นะ ฟีเจอร์นี้มันอยู่ในคอนฟิก Queue) โดยการบันทึกเสียงไว้ให้ครบทุกบริษัท
สายลูกค้าบริษัท เอ
สายลูกค้าบริษัท บี
...
แล้วแปลงเสียงให้อยู่ในฟอร์แม็ตที่ Asterisk เล่นได้ .wav, 8000 Hz, 16 bit, mono
แล้วอัพโหลด (ใช้โปรแกรม FileZilla, WinSCP) เข้าไปเก็บไว้ในโฟลเดอร์ /var/lib/asterisk/sounds

คอนฟิก queue ให้ครบทุกบริษัท บรรทัด announce ของแต่ละ queue ก็ใส่ไฟล์เสียงของแต่ละบริษัท

สุดท้ายก็ไปคอนฟิกเบอร์โทรเข้าของแต่ละบริษัท ให้เรียก queue ของแต่ละบริษัท

น่าจะประมาณนี้ครับ

Re: สอบถามเกี่ยวกับ queues.conf หน่อยครับ

โพสต์โพสต์แล้ว: 03 ก.ย. 2012 17:56
โดย thekungz
ทำได้แล้วครับ โดยการ ตั้ง announce=sound (ชื่อไฟล์เสียงที่ต้องการให้เล่น) ในไฟล์ queues.conf ตามที่คุณหนุ่ยบอก
มันจะเล่นเสียงเมื่อเรากดรับสาย เล่นเสร็จจะให้คุยกับลูกค้าต่อ

ขออนุญาติ เอาตัวอย่างมาให้ดูกันครับ

[general]
autofill=yes
shared_lastcall=yes

[StandardQueue](!)
strategy=rrmemory
joinempty=no
leavewhenempty=yes
ringinuse=no
timeout=30
timeoutpriority=conf

[A](StandardQueue)
musicclass=default
announce=a-customer

[B](StandardQueue)
musicclass=default
announce=b-customer

...
...

ขอบคุณมากครับ :D