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

เทคนิคการคอนฟิก Elastix/FreePBX ให้เป็น Fax-On-Demand Server

โพสต์โพสต์แล้ว: 23 ก.พ. 2016 15:55
โดย nuiz
เกริ่นไว้เป็นเดือนแล้วครับว่าจะทำบทความนี้ วันนี้ได้ฤกษ์ทำซะที จะทำตามบทความนี้ได้ ท่านต้องเคย...
- คอนฟิก 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 ให้ลูกค้าโทรเข้ามาใช้บริการได้

ลองดูครับ เวอร์คจริง ผมทำให้ลูกค้าใช้งานแล้ว

Re: เทคนิคการคอนฟิก Elastix/FreePBX ให้เป็น Fax-On-Demand Server

โพสต์โพสต์แล้ว: 14 มี.ค. 2018 18:03
โดย sormonline
ขอบคุณสำหรับบทความครับ

ผมขอสอบถามข้อมูลดังนี้ครับ
- Protocol fax ที่ใช้ เป็น T.38 หรือเปล่าครับ
- ถ้าหากผมต้องการใช้แค่การ Send fax โดยเซ็ต Asterisk เป็น fax server อย่างเดียว ได้หรือไม่ครับ โดยไม่ต้องใช้ Elastix/FreePBX ครับ
- fax t.38 ของ asterisk จำเป็นต้องเสียตังค์ไหมครับ