- คอนฟิก IVR บน Elastix/FreePBX
- ทำเสียงไว้ใช้กับ Asterisk
- รีโมทเข้า Elastix/FreePBX ด้วย Secure Shell
ลักษณะการใช้งาน
ลูกค้าโทรเข้าหมายเลขที่กำหนดไว้ ได้ยินเสียง IVR เลือกเอกสารที่ต้องการ แล้วกดปุ่ม Start บนเครื่องแฟ็กซ์เพื่อรับเอกสาร เอกสารจะถูกปริ้นท์ออกที่เครื่องแฟ็กซ์ของลูกค้า
มาเริ่มแปลง Elatix/FreePBX ให้กลายเป็น Fax-On-Demand Server ได้เลยครับ มีขั้นตอนดังนี้
1. สร้างโฟลเดอร์เก็บเอกสารแฟ็กซ์
- โค้ด: เลือกทั้งหมด
mkdir /var/lib/asterisk/fod
ผมจะเก็บเอกสารแฟ็กซ์ไว้ในโฟลเดอร์นี้ เปลี่ยนได้ตามความต้องการครับ
2. อัพโหลดไฟล์ PDF หรือ TIFF ไปไว้ในโฟลเดอร์ /var/lib/asterisk/fod
อัพโหลดด้วยโปรแกรม WinSCP หรือโปรแกรมอื่นที่ถนัดๆก็ได้
3. แปลงไฟล์ PDF เป็น TIFF
หากอัพโหลดไฟล์ PDF ต้องแปลงเป็นไฟล์ TIFF ก่อน โดยรันคำสั่งนี้บนลินุกซ์พร้อมท์
- โค้ด: เลือกทั้งหมด
cd /var/lib/asterisk/fod
gs -q -dNOPAUSE -dBATCH -sDEVICE=tiffg4 -sPAPERSIZE=letter -sOutputFile=Form7.tif Form7.pdf
ไฟล์อินพุตคือ Form7.pdf ส่วนไฟล์เอ๊าท์พุตคือ Form7.tif
แปลงทุกไฟล์ที่ต้องการ ข้อดีของการแปลงไฟล์ด้วยคำสั่ง gs คือหากไฟล์ PDF มีหลายหน้า จะได้ไฟล์ TIFF ไฟล์เดียวเท่านั้น
4. สร้าง Dialplan ไว้ในไฟล์ /etc/asterisk/extensions_custom.conf
เป็น Dialplan เพื่อโทรไปเรียกเอกสารแฟ็กซ์ครับ ตั้งเบอร์อะไรก็ได้ที่ไม่ซ้ำกับเบอร์ที่มีอยู่แล้ว สร้างไว้ใต้คอนเท็ก [from-internal-custom] เลยครับ ง่ายดี
- โค้ด: เลือกทั้งหมด
[from-internal-custom]
…
; Fax On Demand
exten => *201,1,Playback(custom/fax-please-press-start)
exten => *201,n,SendFAX(/var/lib/asterisk/fod/CL_120.tif,d)
exten => *201,n,Hangup
exten => *202,1,Playback(custom/fax-please-press-start)
exten => *202,n,SendFAX(/var/lib/asterisk/fod/fod/Form7.tif,d)
exten => *202,n,Hangup
ตัวอย่างเป็นการสร้างเบอร์ Extension 2 เบอร์คือ *201 และ *202 เพื่อเรียกใช้ฟังก์ชั่น SendFax ส่งแฟ็กซ์ไฟล์ CL_120.tif และ Form7.tif ไปยังเครื่องแฟ็กซ์ที่กดเรียกเข้ามา โดยจะได้ยินเสียงแจ้งว่า “กรุณากดปุ่มสตาร์ทบนเครื่องแฟ็กซ์ของท่าน”
เราสามารถสร้างเบอร์ Extensions ได้ไม่จำกัดแต่ต้องไม่ซ้ำกับเบอร์ที่มีอยู่แล้ว
5. แก้ไขไฟล์ /etc/asterisk/res_fax.conf
- โค้ด: เลือกทั้งหมด
#include res_fax_custom.conf
minrate=4800
maxrate=14400
rxtxappnames = yes
statusevents = yes
ecm = yes
รีโหลดโมดูลแฟ็กซ์
- โค้ด: เลือกทั้งหมด
asterisk -rx "module reload res_fax.so"
6. สร้าง Misc Destination บนเมนู Elastix/FreePBX
เพื่อให้เรียกใช้เบอร์ Extensions แฟ็กซ์จากเมนู IVR ได้ สร้างให้ครบตามจำนวนเบอร์ Extensions
ใช้เมนู PBX -> Misc Destination -> Add Misc Destination
7. ออกแบบโฟลว์ของ IVR เพื่อนำลูกค้าเข้ามาสู่ Fax On Demand
ออกแบบตามความต้องการใช้งาน
8. สร้างและอัพโหลดไฟล์เสียงโต้ตอบลูกค้า
ไฟล์เสียงจะต้องอยู่ในรูปแบบ PCM, 8000 Hz, 16 Bit, Mono
อัพโหลดเข้า Elastix/FreePBX ใช้เมนู PBX -> System Recording
9. ทดสอบ
ลองโทรเข้าเบอร์ *201 หรือ *202 ดูครับ จะไม่ได้ยินเสียงปี๊ดของแฟ็กซ์นะครับ เพราะโมดูลที่ผมเลือกใช้คือ sendfax ไม่ใช่ iaxmodem อย่างที่ Elastix Fax ใช้ครับ แต่ถ้าจะให้ดีก็หาเครื่อง Fax มาต่อกับ VoIP ATA/Gateway เทสดูครับ โดยคอนฟิกแบบ SIP Trunk
10. คอนฟิกให้มีช่องทางให้ลูกค้าโทรเข้ามา
คอนฟิก Inbound Routes และ/หรือ Trunk ให้ลูกค้าโทรเข้ามาใช้บริการได้
ลองดูครับ เวอร์คจริง ผมทำให้ลูกค้าใช้งานแล้ว