http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/Fax_id263810.html
http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/asterisk-Fax.html
Chapter 19. Fax
The concept of facsimile transmission has been around for over 100 years, but it was not until the 1980s that the use of fax machines became essential in business. This lasted for perhaps two decades. Then the Internet came along, and very shortly after that, the fax quickly became almost irrelevant.
Incoming Fax Handling
Received faxes are commonly encoded in Tagged Image File Format (TIFF). This graphics file format, while not as well known as JPEG or GIF, is not as obscure as one might think. In fact, we suspect your computer (whether you’re running Windows, Linux, or MacOS) will already have the ability to interpret TIFF files built in. While it has become popular to offer PDF as a delivery format for received faxes, we’re not sure this is strictly required, since TIFF is so ubiquitous.
Received faxes will be stored by Asterisk as files. Where those files are stored will depend on several factors, including:
What software you are using to simulate a fax modem (e.g., IAXmodem, Digium ReceiveFAX, etc.)
The location in your filesystem that you have configured for storage of received faxes
Any post-receipt processing you have decided to perform on the files
In the dialplan, you will need to build in enough intelligence to name faxes in such a way that they will be distinct from each other. There are many channel variables and functions that can be used for this purpose, such as the STRFTIME()
function. Asterisk can easily handle capturing the fax to a file, but you will need to make sense out of what happens to that file once it is stored on the system.
The Tagged Image File Format is not very well known, but it is actually more common than you might realize, and since it is natively supported on Windows, MacOS, and Linux, TIFF files can be viewed on pretty much any computer with the most basic graphics viewer. A subset of the TIFF file format has for a long time been the de facto file format used for faxes.
Since Asterisk will receive and store faxes in TIFF format, there is no post-processing required. Once the incoming fax call has been completed, the resulting TIFF file can be opened directly from the folder where it was stored (or perhaps emailed to the intended user).
Once Asterisk has received a fax, the resulting TIFF file needs a way to get to its final destination: a person.
The key consideration is that unless the information that Asterisk knows about the fax is sufficiently detailed, it may not be possible to deduce the intended recipient without having someone actually read the fax (it is common for a fax to have a cover page with the recipient’s information written on it, which even the most capable text recognition software would have a difficult time making sense of). In other words, unless you dedicate a DID to each user who might receive a fax, Asterisk isn’t going to be able to do much more than send all faxes to a single email address. You could code something in the dialplan to handle this, though, or have an external cron
job or other daemon handle distributing the received faxes.
A simple dialplan to handle fax to email might look something like this (you will need the mail program mutt installed on your system):
exten => fax,1,Verbose(3,Incoming fax)
; folder where your incoming faxes will initially be stored
same => n,Set(FAXDEST=/tmp)
; put a timestamp on this call so the resulting file is unique
same => n,Set(tempfax=${STRFTIME(,,%C%y%m%d%H%M)})
same => n,ReceiveFax(${FAXDEST}/${tempfax}.tif)
same => n,Verbose(3,- Fax receipt completed with status: ${FAXSTATUS})
; *** This line should not have any line breaks
same => n,System(echo | mutt -a ${FAXDEST}/${tempfax}
-s "received fax" somebody@shifteight.org)
Obviously, this sample would not be suitable for production (for example, it does not handle fax failure); however, it would be enough to start prototyping a more fully featured incoming fax handler.
You may have a dedicated phone number for receiving faxes. However, with Asterisk, that is not a requirement. Asterisk has the ability to detect that an incoming call is a fax and can handle it differently in the dialplan. Fax detection is available for both DAHDI and SIP channels. To enable it for DAHDI, set the faxdetect
option in /etc/asterisk/chan_dahdi.conf
. In most cases, you should set this option to incoming
. Table 19.1, “Possible values for the faxdetect option in chan_dahdi.conf” lists the possible values for the faxdetect
option in chan_dahdi.conf
.
Table 19.1. Possible values for the faxdetect option in chan_dahdi.conf
To enable fax detection for SIP calls, you must set the faxdetect
option in /etc/asterisk/sip.conf
. This option may be set in the [general]
section, or for a specific peer. Table 19.2, “Possible values for the faxdetect option in sip.conf” covers the possible values for the faxdetect
option in sip.conf
.
Table 19.2. Possible values for the faxdetect option in sip.conf
Value | Description |
---|
incoming | Enables fax detection on inbound calls. When a fax is detected, applies the faxbuffers option if it has been set and redirects the call to the fax extension in the dialplan. For more information on the faxbuffers option, see the section called “Using Fax Buffers in chan_dahdi.conf”. |
outgoing | Enables fax detection on outbound calls. The dialplan is not executing on an outbound channel. If a fax is detected, the faxbuffers option will be applied and the channel will be redirected and start executing the dialplan at the fax extension. |
both | Enables fax detection for both incoming and outgoing calls. |
no | Disables fax detection. This is the default. |
Value | Description |
---|
cng | Enables fax detection by watching the audio for a CNG tone. If a CNG tone is detected, redirects the call to the fax extension in the dialplan. |
t38 | Redirects the call to the fax extension in the dialplan if a T.38 reinvite is received. |
yes | Enables both cng and t38 fax detection. |
no | Disables fax detection. This is the default.
|
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
98 |
Generic Asterisk SIP Configuration Guide
| admin | 2015.05.05 | 22623 |
97 |
Installing AsteriskNOW Official Distro
| admin | 2015.05.05 | 23956 |
96 |
Asterisk Quick Start Guide
| admin | 2015.05.05 | 25334 |
95 |
Asterisk Freepbx Install Guide (CentOS v6, Asterisk v13, Freepbx v12)
| admin | 2015.05.05 | 26895 |
94 |
Freepbx on Debian (Debian v7, Asterisk v11, Freepbx v2.11)
| admin | 2015.05.05 | 24705 |
93 |
A2Billing v2 Install Guide
| admin | 2015.05.05 | 25976 |
92 |
Securing Your Asterisk VoIP Server with IPTables
| admin | 2015.05.05 | 26187 |
91 |
Asterisk fax Asterisk and fax calls Fax over IP
| admin | 2015.05.05 | 25113 |
90 |
Using Asterisk to Detect and Redirect Fax Calls for Communications Server
| admin | 2015.05.05 | 22959 |
» |
Incoming Fax Handling
| admin | 2015.05.05 | 22815 |
88 |
FreePBX – Custom FAX to email
| admin | 2015.05.05 | 22526 |
87 |
Configuring an Asterisk server
| admin | 2015.05.05 | 22292 |
86 |
fax licenses Asterisk
| admin | 2015.05.05 | 22440 |
85 |
FaxServer using Asterisk
| admin | 2015.05.05 | 22551 |
84 |
Setup FAX on Asterisk with DIDForSale SIP DIDs
| admin | 2015.05.05 | 23071 |
83 |
T.38 Fax Gateway Asterisk
| admin | 2015.05.05 | 22748 |
82 |
Fax For Asterisk download add on 1 port free IVR prompt G.729
| admin | 2015.05.05 | 23017 |
81 |
Asterisk Downloads AsteriskNOW Software PBX
| admin | 2015.05.05 | 22282 |
80 |
Setup install Asterisk PBX telephony system | VOIP Tutorial
| admin | 2015.05.05 | 23389 |
79 |
Asterisk tips ivr menu Interactive voice response menus
| admin | 2015.05.05 | 23600 |
78 |
Asterisk A simple IVR
| admin | 2015.05.05 | 22629 |
77 |
A simple IVR and Queue example where customer listens to marketing materials ..
| admin | 2015.05.05 | 22550 |
76 |
Asterisk AGI/AMI to ARI Asterisk&FreePbx - IVR setting
| admin | 2015.05.05 | 31888 |
75 |
Fax Configuration FREE PBX and asterisk FAX
| admin | 2015.05.05 | 22466 |
74 |
FAX over IP sofware
| admin | 2015.05.05 | 22690 |
73 |
MP3 to WAV, WMA to WAV, OGG Convert audio to WAV online
| admin | 2015.05.09 | 23057 |
72 |
Considerations for Using T.38 versus G.711 for Fax over IP
| admin | 2015.09.24 | 22461 |
71 |
FOIP: T.38 Fax Relay vs. G.711 Fax Pass-Through (Fax Over IP)
| admin | 2015.09.24 | 22227 |
70 |
Asterisk 13 Debian 8
| admin | 2015.11.13 | 21913 |
69 |
Asterisk 설치 준비
| admin | 2015.11.15 | 22357 |
68 |
Brand New Sealed Sangoma FreePBX 60 - 75 Users or 30 Calls
| admin | 2017.08.05 | 22395 |
67 |
AsterSwitchboard CTI Operator Panel for Asterisk
| admin | 2017.08.08 | 21945 |
66 |
how-to-freepbx-13-firewall-setup
| admin | 2017.08.14 | 21618 |
65 |
asterisk dialplan 설명
| admin | 2017.08.16 | 23198 |
64 |
asterisk FreePBX 14, Distro 14 & More!
| admin | 2017.08.16 | 22259 |
63 |
/sbin/service httpd start stop web start stop
| admin | 2017.08.16 | 21899 |
62 |
Asterisk 가장쉬운 설치 및 설정 사용 방법 이해 할수있게 배우는 순서 안내 설명
| admin | 2017.08.16 | 24225 |
61 |
asterisk IVR 쉽게 설정하기
| admin | 2017.08.16 | 22120 |
60 |
Price ,,Install Commercial Modules on CentOS and RHEL based
| admin | 2017.08.16 | 22563 |
59 |
Asterisk Answering Machine Detection (AMD) Configuration
| admin | 2017.08.17 | 22735 |
58 |
Capturing SIP and RTP traffic using tcpdump
| admin | 2017.08.17 | 22173 |
57 |
OPUS and VP9 Bitrates
| admin | 2017.08.17 | 22235 |
56 |
Installing SNG7 Official Distro
| admin | 2017.08.17 | 22641 |
55 |
Configuring Your PBX
| admin | 2017.08.17 | 21645 |
54 |
User Control Panel (UCP) asterisk freepbx
| admin | 2017.08.17 | 22478 |
53 |
우분투 Mumble VoIP 음성채팅서버 구축
| admin | 2017.08.18 | 22680 |
52 |
음성통화 서버 Asterisk + FreePBX / 통화 시연해보기
| admin | 2017.08.18 | 22413 |
51 |
NAT 와 VoIP 시그널과 RTP 전송 영향 NAT와 방화벽/STUN/TURN/ICE/SBC
| admin | 2017.08.19 | 21927 |
50 |
SUGAR CRM
| admin | 2017.08.23 | 22089 |
49 |
thirdlane PBX price
| admin | 2017.08.23 | 22022 |
48 |
How to Install Asterisk 13 on Ubuntu 16.04 from Source
| admin | 2017.08.23 | 22482 |
47 |
How to install and setup Asterisk 14 (PBX) on CentOS 7
| admin | 2017.08.23 | 22754 |
46 |
A2Billing v2.2 Install Guide CentOS v7 Asterisk v11 v13 seems to work FreePBX v13
| admin | 2017.08.23 | 25574 |
45 |
Asterisk Freepbx Install Guide (CentOS v7, Asterisk v13, Freepbx v13)
| admin | 2017.08.23 | 22339 |
44 |
Fusionpbx v4 Freeswitch v1.6 CentOS v7 Install Guide
| admin | 2017.08.23 | 27397 |
43 |
How to Install Asterisk on CentOS 7 easy clean explain 깔금한 쉬운 설명
| admin | 2017.08.23 | 28732 |
42 |
라즈베리파이, 아스타리스크(asterisk) PBX(사설교환기)
| admin | 2017.08.23 | 29666 |
41 |
User Control Panel (UCP) 14+
| admin | 2017.08.23 | 21929 |
40 |
Text to speech for asterisk using Google Translate
| admin | 2017.08.24 | 23527 |
39 |
Text to Speech User Guide
| admin | 2017.08.24 | 22112 |
38 |
asterisk XactView V3-CRM Widget
| admin | 2017.08.24 | 21861 |
37 |
Setup Asterisk 13 with FreePBX 13 in CentOS 7
| admin | 2017.08.24 | 22689 |
36 |
HOW TO INSTALL FREEPBX ON CENTOS 7
| admin | 2017.08.24 | 22407 |
35 |
Hosting Cheap VPS Hosting that doesn’t feel cheap
| admin | 2017.08.24 | 23800 |
34 |
asterisk CRM SUGARCRM SuiteCRM
| admin | 2017.08.24 | 21979 |
33 |
asterisk freepbx TTS Engine Custom - Amazon Polly - 24 languages
| admin | 2017.08.24 | 21972 |
32 |
RPi Text to Speech (Speech Synthesis)
| admin | 2017.08.24 | 21733 |
31 |
asterisk Chapter 6. Dialplan Basics
| admin | 2017.08.25 | 22200 |
30 |
Asterisk/IVR/PBX/VoIP/Contact center/Voicebroadcast engineer
| admin | 2017.08.25 | 21981 |
29 |
TwistedWave Online A browser-based audio editor
| admin | 2017.08.25 | 22320 |
28 |
download Installing+AsteriskNOW
| admin | 2017.08.25 | 21922 |
27 |
Asterisk dialolan detail explan good easy clean
| admin | 2017.08.26 | 21667 |
26 |
AGI asterisk gateway interface synopsis
| admin | 2017.08.26 | 22988 |
25 |
Top 10 greater worker
| admin | 2017.08.26 | 22261 |
24 |
Google letter agi
| admin | 2017.08.26 | 21808 |
23 |
Dialplan handler routines allow customization
| admin | 2017.08.26 | 22989 |
22 |
Make Your Own IVR with Asterisk
| admin | 2017.08.26 | 36397 |
21 |
Insert into dialplan Asterisk
| admin | 2017.08.26 | 22325 |
20 |
github A2Billing is commercially supported by Star2Billing
| admin | 2017.08.26 | 22089 |
19 |
Speech Recognition on Asterisk: Getting Started
| admin | 2017.08.28 | 24083 |
18 |
Playing text to speech inside read function in asterisk
| admin | 2017.08.28 | 23136 |
17 |
FreePBX 12 – Getting Started Guide
| admin | 2017.08.29 | 21983 |
16 |
Installing FreePBX 14 on Debian 8.8 These instructions work fine
| admin | 2017.08.29 | 22594 |
15 |
초보) Asterisk , AsteriskNow 무엇인가? 무슨차이인가? 시작 배우기 쉽게 이해 공부 사용
| admin | 2017.08.29 | 22649 |
14 |
iptables for asterisk simple example configuration
| admin | 2017.08.31 | 22301 |
13 |
IVR actions asterisk
| admin | 2017.08.31 | 21816 |
12 |
How to build an outbound Call Center with Newfies-Dialer and Asterisk/FreePBX
| admin | 2017.08.31 | 23147 |
11 |
Introducing Asterisk Call Distribution ACD asterisk
| admin | 2017.08.31 | 22960 |
10 |
Automatic Call Distribution (ACD) Asterisk as Call Center
| admin | 2017.08.31 | 23231 |
9 |
Asterisk based auto dialer test and verified by 300+ concurrent.
| admin | 2017.08.31 | 22231 |
8 |
WombatDialer is highly scalable, multi-server, works with your existing Asterisk PBX.
| admin | 2017.08.31 | 22605 |
7 |
Smart Predictive Auto calling Software System: Automatic Phone Calling
| admin | 2017.08.31 | 22977 |
6 |
List of 5 Open Source Call Center Software Programs
| admin | 2017.08.31 | 24719 |
5 |
Asterisk Answering Machine Detection (AMD) Configuration
| admin | 2017.09.01 | 23193 |
4 |
VICIdial Scratch Installation CentOS 7 & MariaDB & Asterisk 11 & Latest VICIdial SVN
| admin | 2017.09.02 | 23556 |
3 |
/dev/mapper/ubuntu--vg-root filling up
| admin | 2019.04.08 | 13365 |
2 |
changing SIP drivers to CHAN_PJSIP Please err 에러
| admin | 2019.06.21 | 7021 |
1 |
php memory and filesize increase upload wav
| admin | 2019.06.25 | 6040 |