เทคนิคการใช้งาน Fax บน Elastix ตอนที่ 2

Elastix IP Pbx

Moderator: jubjang

เทคนิคการใช้งาน Fax บน Elastix ตอนที่ 2

โพสต์โดย nuiz » 22 ก.พ. 2012 00:00

ตอนที่ 2 การส่ง Fax ทางหน้าเว็บ

เคยส่ง Fax ด้วยเว็บเพจมั๊ยครับ ถ้าไม่เคยตอนนี้เราก็จะได้มาลองทำกันแล้ว เป็นการส่ง Fax อีกรูปแบบหนึ่งซึ่งเหมาะสำหรับตอนที่เราไม่มีเครื่อง Fax โดยเราสามารถอัพโหลดเอกสารที่ต้องการส่ง Fax (แน่นอนว่าต้องอัพโหลดจากหน้าเว็บของ Elastix แต่จริงๆเราก็ทำหน้าเว็บของเราขึ้นมาต่างหากก็ได้ถ้าต้องการ) เข้าไปในเว็บเพจ แล้วให้ Elastix จัดส่งเอกสารนั้นไปยังเครื่อง Fax ปลายทาง

** คนส่ง Fax ไม่ต้องมีเครื่อง Fax เพียงแค่มีเอกสารที่ต้องการส่ง, Web Browser และเน็ตที่เชื่อมมาที่ Elastix เท่านั้น **

** เครื่อง Fax ปลายทาง อาจจะอยู่ภายในออฟฟิศหรือภายนอกก็ได้ แล้วแต่ว่าเราเชื่อมต่อสายโทรศัพท์กับการ์ด TDM410P ที่เราจะใช้อย่างไร หากสายโทรศัพท์เส้นนั้นเป็นเบอร์ Extension ภายในออฟฟิศ (ต่อกับตู้สาขาโทรศัพท์ และโทรออกไปภายนอกได้) ก็สามารถ Fax ไปเบอร์ Fax ภายในและภายนอกได้สบายๆ **

** มีช่องทางการส่ง Fax อีกวิธีหนึ่งที่ไม่ต้องใช้การ์ด Analog ก็คือส่งผ่าน IP Network ส่งไปเบอร์ Extension ที่เป็นอุปกรณ์ FXS Gateway เช่น Linksys หรืออาจจะส่งผ่าน SIP Trunk ของผู้ให้บริการ VoIP ก็ได้ วิธีนี้ค่าใช้จ่ายจะถูกกว่าแบบโทรผ่านการ์ด แต่ก็ไม่ค่อยชัวร์ครับ **

บทความนี้ผมจะสาธิตการส่ง Fax ออกทางการ์ด Analog โดยใช้การ์ด TDM410P นะครับ

มาดูวิธีทำกันเลยครับ

1. สร้าง Virtual Fax
ในตอนที่ 1 ของ การส่ง Fax ด้วย Elastix ผมได้แนะนำวิธีการสร้าง Virtual Fax ไว้แล้วนะครับ ยังไงก็คลิ๊กเข้าไปดูวิธีการสร้างได้

2. คอนฟิกการ์ด TDM410P ให้โทรออกไปภายนอกได้
ซึ่งก็ดูได้จากบทความในเว็บนี้นะครับ มีอยู่หลายบทความด้วยกัน

3. เข้าหน้าเว็บ Elastix
คลิ๊ก "Fax" -> "Virtual Fax" -> "Send Fax"

เลือก Virtual Fax ที่ต้องการจะใช้งาน (เปรียบเสมือนเราเลือก Channel ในการโทรออกหน่ะครับ) แล้วใส่เบอร์ Fax ปลายทาง ซึ่งต้องชัวร์ว่าเราเซ็ต Outbound Routes และ Trunks ให้ออกทางการ์ด TDM410P เรียบร้อยแล้ว เวลาใส่เบอร์ปลายทางก็ใส่ให้อยู่ในฟอร์แม็ตที่จะโทรออกไปได้ อย่างเช่นเครื่องผมเซ็ตไว้ว่าต้องกด 9 ตามด้วยเบอร์ปลายทาง ผมก็ใส่อย่างในรูป

รูปภาพ

ไฟล์ที่จะส่ง Fax ได้ต้องเป็น PDF หรือ TIFF หรือ TXT เท่านั้นนะครับ

4. กด Send
รอสักพักประมาณ 10 วินาทีก็จะเริ่มส่ง Fax ออก

** ถ้า Fax ครั้งแรกไม่สำเร็จ เช่นเบอร์ Fax ปลายทางไม่ว่าง Elastix ก็จะส่งใหม่ให้อีก 1 ครั้ง ห่างกันประมาณ 5 นาที **
** ถ้าส่งครั้งที่สองแล้วยังไม่ได้ Elastix จะส่ง Fax ไปเข้า Email ที่เราคอนฟิกไว้ใน Virtual Fax ซึ่งเราเลือกไว้ใน Fax Device to Use **

5. ข้อความขณะ Send Fax
ในระหว่างที่ Elastix กำลังส่ง Fax ออกไป จะมีข้อความลักษณะนี้เกิดขึ้นใน Asterisk Console (รันคำสั่ง asterisk -r หรือ asterisk -rvvvv)

โค้ด: เลือกทั้งหมด
[Feb 22 09:24:08]     -- Accepting AUTHENTICATED call from 127.0.0.1:
       > requested format = slin,
       > requested prefs = (),
       > actual format = ulaw,
       > host prefs = (ulaw|alaw|gsm),
       > priority = mine
[Feb 22 09:24:08]     -- Executing [9029009000@from-internal:1] Macro("IAX2/8000-6193", "user-callerid,SKIPTTL,") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:1] ExecIf("IAX2/8000-6193", "0]?Set(CALLERID(number)=08000)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:2] ExecIf("IAX2/8000-6193", "0]?Set(CALLERID(number)=08000)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:3] ExecIf("IAX2/8000-6193", "0?Set(CALLERID(number)=0)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:4] Set("IAX2/8000-6193", "AMPUSER=8000") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:5] GotoIf("IAX2/8000-6193", "0?report") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:6] ExecIf("IAX2/8000-6193", "0?Set(REALCALLERIDNUM=8000)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:7] Set("IAX2/8000-6193", "AMPUSER=8000") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:8] Set("IAX2/8000-6193", "AMPUSERCIDNAME=Fax Marketing") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:9] GotoIf("IAX2/8000-6193", "0?report") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:10] Set("IAX2/8000-6193", "AMPUSERCID=8000") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:11] Set("IAX2/8000-6193", "CALLERID(all)="Fax Marketing" <8000>") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:12] ExecIf("IAX2/8000-6193", "0?Set(CHANNEL(language)=)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:13] GotoIf("IAX2/8000-6193", "1?continue") in new stack
[Feb 22 09:24:08]     -- Goto (macro-user-callerid,s,22)
[Feb 22 09:24:08]     -- Executing [s@macro-user-callerid:22] NoOp("IAX2/8000-6193", "Using CallerID "Fax Marketing" <8000>") in new stack
[Feb 22 09:24:08]     -- Executing [9029009000@from-internal:2] Set("IAX2/8000-6193", "_NODEST=") in new stack
[Feb 22 09:24:08]     -- Executing [9029009000@from-internal:3] Macro("IAX2/8000-6193", "record-enable,8000,OUT,") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-record-enable:1] GotoIf("IAX2/8000-6193", "1?check") in new stack
[Feb 22 09:24:08]     -- Goto (macro-record-enable,s,4)
[Feb 22 09:24:08]     -- Executing [s@macro-record-enable:4] ExecIf("IAX2/8000-6193", "0?MacroExit()") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-record-enable:5] GotoIf("IAX2/8000-6193", "0?Group:OUT") in new stack
[Feb 22 09:24:08]     -- Goto (macro-record-enable,s,15)
[Feb 22 09:24:08]     -- Executing [s@macro-record-enable:15] GotoIf("IAX2/8000-6193", "0?IN") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-record-enable:16] ExecIf("IAX2/8000-6193", "1?MacroExit()") in new stack
[Feb 22 09:24:08]     -- Executing [9029009000@from-internal:4] Macro("IAX2/8000-6193", "dialout-trunk,3,029009000,,") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:1] Set("IAX2/8000-6193", "DIAL_TRUNK=3") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:2] GosubIf("IAX2/8000-6193", "0?sub-pincheck,s,1") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:3] GotoIf("IAX2/8000-6193", "0?disabletrunk,1") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:4] Set("IAX2/8000-6193", "DIAL_NUMBER=029009000") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:5] Set("IAX2/8000-6193", "DIAL_TRUNK_OPTIONS=tr") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:6] Set("IAX2/8000-6193", "OUTBOUND_GROUP=OUT_3") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:7] GotoIf("IAX2/8000-6193", "0?nomax") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:8] GotoIf("IAX2/8000-6193", "0?chanfull") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:9] GotoIf("IAX2/8000-6193", "0?skipoutcid") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:10] Set("IAX2/8000-6193", "DIAL_TRUNK_OPTIONS=") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:11] Macro("IAX2/8000-6193", "outbound-callerid,3") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:1] ExecIf("IAX2/8000-6193", "0?Set(CALLERPRES()=)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:2] ExecIf("IAX2/8000-6193", "0?Set(REALCALLERIDNUM=8000)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:3] GotoIf("IAX2/8000-6193", "1?normcid") in new stack
[Feb 22 09:24:08]     -- Goto (macro-outbound-callerid,s,6)
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:6] Set("IAX2/8000-6193", "USEROUTCID="Marketing Dept" <8000>") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:7] Set("IAX2/8000-6193", "EMERGENCYCID=") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:8] Set("IAX2/8000-6193", "TRUNKOUTCID=") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:9] GotoIf("IAX2/8000-6193", "1?trunkcid") in new stack
[Feb 22 09:24:08]     -- Goto (macro-outbound-callerid,s,12)
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:12] ExecIf("IAX2/8000-6193", "0?Set(CALLERID(all)=)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:13] ExecIf("IAX2/8000-6193", "1?Set(CALLERID(all)=Marketing Dept <8000>)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:14] ExecIf("IAX2/8000-6193", "0?Set(CALLERID(all)=)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-outbound-callerid:15] ExecIf("IAX2/8000-6193", "0?Set(CALLERPRES()=prohib_passed_screen)") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:12] ExecIf("IAX2/8000-6193", "1?AGI(fixlocalprefix)") in new stack
[Feb 22 09:24:08]     -- Launched AGI Script /var/lib/asterisk/agi-bin/fixlocalprefix
[Feb 22 09:24:08]   == fixlocalprefix: Dialpattern X. matched. 029009000 -> 029009000
[Feb 22 09:24:08]     -- <IAX2/8000-6193>AGI Script fixlocalprefix completed, returning 0
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:13] Set("IAX2/8000-6193", "OUTNUM=029009000") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:14] Set("IAX2/8000-6193", "custom=DAHDI/g0") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:15] ExecIf("IAX2/8000-6193", "0?Set(DIAL_TRUNK_OPTIONS=M(setmusic^))") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:16] Macro("IAX2/8000-6193", "dialout-trunk-predial-hook,") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk-predial-hook:1] MacroExit("IAX2/8000-6193", "") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:17] GotoIf("IAX2/8000-6193", "0?bypass,1") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:18] GotoIf("IAX2/8000-6193", "0?customtrunk") in new stack
[Feb 22 09:24:08]     -- Executing [s@macro-dialout-trunk:19] Dial("IAX2/8000-6193", "DAHDI/g0/029009000,300,") in new stack
[Feb 22 09:24:08]     -- Called g0/029009000
[Feb 22 09:24:15]     -- DAHDI/4-1 answered IAX2/8000-6193
[Feb 22 09:25:01]     -- Remote UNIX connection
[Feb 22 09:25:01]     -- Remote UNIX connection disconnected
[Feb 22 09:26:56]     -- Executing [h@macro-dialout-trunk:1] Macro("IAX2/8000-6193", "hangupcall,") in new stack
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:1] GotoIf("IAX2/8000-6193", "1?noautomon") in new stack
[Feb 22 09:26:56]     -- Goto (macro-hangupcall,s,3)
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:3] NoOp("IAX2/8000-6193", "TOUCH_MONITOR_OUTPUT=") in new stack
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:4] GotoIf("IAX2/8000-6193", "1?noautomon2") in new stack
[Feb 22 09:26:56]     -- Goto (macro-hangupcall,s,6)
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:6] NoOp("IAX2/8000-6193", "MONITOR_FILENAME=") in new stack
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:7] GotoIf("IAX2/8000-6193", "1?skiprg") in new stack
[Feb 22 09:26:56]     -- Goto (macro-hangupcall,s,10)
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:10] GotoIf("IAX2/8000-6193", "1?skipblkvm") in new stack
[Feb 22 09:26:56]     -- Goto (macro-hangupcall,s,13)
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:13] GotoIf("IAX2/8000-6193", "1?theend") in new stack
[Feb 22 09:26:56]     -- Goto (macro-hangupcall,s,15)
[Feb 22 09:26:56]     -- Executing [s@macro-hangupcall:15] Hangup("IAX2/8000-6193", "") in new stack
[Feb 22 09:26:56]   == Spawn extension (macro-hangupcall, s, 15) exited non-zero on 'IAX2/8000-6193' in macro 'hangupcall'
[Feb 22 09:26:56]     -- Hungup 'DAHDI/4-1'
[Feb 22 09:26:56]   == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'IAX2/8000-6193' in macro 'dialout-trunk'
[Feb 22 09:26:56]   == Spawn extension (from-internal, 9029009000, 4) exited non-zero on 'IAX2/8000-6193'
[Feb 22 09:26:56]     -- Hungup 'IAX2/8000-6193'


6. ผลลัพธ์ที่เครื่อง Fax ปลายทาง
ผมลองส่งเอกสารไฟล์ pdf จำนวน 3 แผ่น คุณภาพก็ประมาณนี้ครับ แสกนมาให้ดู

img-222092648.pdf
Page 1
(36.42 KiB) ดาวน์โหลด 325 ครั้ง

img-222092710.pdf
Page 2
(53.54 KiB) ดาวน์โหลด 149 ครั้ง

img-222092725.pdf
Page 3
(32.22 KiB) ดาวน์โหลด 144 ครั้ง


บทความที่เกี่ยวข้อง
เทคนิคการรับส่ง Fax ด้วย Elastix ตอนที่ 1 - ส่ง Fax จาก PSTN -> Elastix -> Email
เทคนิคการรับส่ง Fax ด้วย Elastix ตอนที่ 3 - โปรแกรม Winprint HylaFAX
เทคนิคการติดตั้งการ์ด X100P
เทคนิคการติดตั้งการ์ด TDM410P บน Elastix
เทคนิคการติดตั้งการ์ด TDM400P
เทคนิคการคอนฟิกพอร์ต FXO ของการ์ด TDM410P
** หากมีปัญหากับอุปกรณ์ที่ซื้อมาเองหรือบริการที่ทำขึ้นมาเอง ให้โพสต์ถามในเว็บบอร์ดนี้นะครับ **
** งานเร่งด่วนติดต่อว่าจ้างที่เบอร์ 08-5161-9439 อีเมล์ iamaladin@gmail.com ไลน์ NuizVoip ครับ **
nuiz
Diamond Member
 
โพสต์: 6995
ลงทะเบียนเมื่อ: 24 มี.ค. 2010 09:33

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

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

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

cron