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 |
php memory and filesize increase upload wav
| admin | 2019.06.25 | 6057 |
97 |
changing SIP drivers to CHAN_PJSIP Please err 에러
| admin | 2019.06.21 | 7032 |
96 |
/dev/mapper/ubuntu--vg-root filling up
| admin | 2019.04.08 | 13382 |
95 |
VICIdial Scratch Installation CentOS 7 & MariaDB & Asterisk 11 & Latest VICIdial SVN
| admin | 2017.09.02 | 23568 |
94 |
Asterisk Answering Machine Detection (AMD) Configuration
| admin | 2017.09.01 | 23205 |
93 |
List of 5 Open Source Call Center Software Programs
| admin | 2017.08.31 | 24732 |
92 |
Smart Predictive Auto calling Software System: Automatic Phone Calling
| admin | 2017.08.31 | 22988 |
91 |
WombatDialer is highly scalable, multi-server, works with your existing Asterisk PBX.
| admin | 2017.08.31 | 22624 |
90 |
Asterisk based auto dialer test and verified by 300+ concurrent.
| admin | 2017.08.31 | 22250 |
89 |
Automatic Call Distribution (ACD) Asterisk as Call Center
| admin | 2017.08.31 | 23245 |
88 |
Introducing Asterisk Call Distribution ACD asterisk
| admin | 2017.08.31 | 22974 |
87 |
How to build an outbound Call Center with Newfies-Dialer and Asterisk/FreePBX
| admin | 2017.08.31 | 23161 |
86 |
IVR actions asterisk
| admin | 2017.08.31 | 21828 |
85 |
iptables for asterisk simple example configuration
| admin | 2017.08.31 | 22315 |
84 |
초보) Asterisk , AsteriskNow 무엇인가? 무슨차이인가? 시작 배우기 쉽게 이해 공부 사용
| admin | 2017.08.29 | 22665 |
83 |
Installing FreePBX 14 on Debian 8.8 These instructions work fine
| admin | 2017.08.29 | 22607 |
82 |
FreePBX 12 – Getting Started Guide
| admin | 2017.08.29 | 22000 |
81 |
Playing text to speech inside read function in asterisk
| admin | 2017.08.28 | 23147 |
80 |
Speech Recognition on Asterisk: Getting Started
| admin | 2017.08.28 | 24115 |
79 |
github A2Billing is commercially supported by Star2Billing
| admin | 2017.08.26 | 22104 |
78 |
Insert into dialplan Asterisk
| admin | 2017.08.26 | 22339 |
77 |
Google letter agi
| admin | 2017.08.26 | 21821 |
76 |
Top 10 greater worker
| admin | 2017.08.26 | 22280 |
75 |
Dialplan handler routines allow customization
| admin | 2017.08.26 | 23004 |
74 |
AGI asterisk gateway interface synopsis
| admin | 2017.08.26 | 23006 |
73 |
Make Your Own IVR with Asterisk
| admin | 2017.08.26 | 36415 |
72 |
Asterisk dialolan detail explan good easy clean
| admin | 2017.08.26 | 21686 |
71 |
download Installing+AsteriskNOW
| admin | 2017.08.25 | 21939 |
70 |
TwistedWave Online A browser-based audio editor
| admin | 2017.08.25 | 22334 |
69 |
Asterisk/IVR/PBX/VoIP/Contact center/Voicebroadcast engineer
| admin | 2017.08.25 | 21999 |
68 |
asterisk Chapter 6. Dialplan Basics
| admin | 2017.08.25 | 22213 |
67 |
RPi Text to Speech (Speech Synthesis)
| admin | 2017.08.24 | 21745 |
66 |
asterisk freepbx TTS Engine Custom - Amazon Polly - 24 languages
| admin | 2017.08.24 | 21996 |
65 |
asterisk CRM SUGARCRM SuiteCRM
| admin | 2017.08.24 | 21991 |
64 |
Hosting Cheap VPS Hosting that doesn’t feel cheap
| admin | 2017.08.24 | 23819 |
63 |
HOW TO INSTALL FREEPBX ON CENTOS 7
| admin | 2017.08.24 | 22420 |
62 |
Setup Asterisk 13 with FreePBX 13 in CentOS 7
| admin | 2017.08.24 | 22705 |
61 |
asterisk XactView V3-CRM Widget
| admin | 2017.08.24 | 21874 |
60 |
Text to Speech User Guide
| admin | 2017.08.24 | 22126 |
59 |
Text to speech for asterisk using Google Translate
| admin | 2017.08.24 | 23545 |
58 |
User Control Panel (UCP) 14+
| admin | 2017.08.23 | 21943 |
57 |
라즈베리파이, 아스타리스크(asterisk) PBX(사설교환기)
| admin | 2017.08.23 | 29679 |
56 |
How to Install Asterisk on CentOS 7 easy clean explain 깔금한 쉬운 설명
| admin | 2017.08.23 | 28748 |
55 |
Fusionpbx v4 Freeswitch v1.6 CentOS v7 Install Guide
| admin | 2017.08.23 | 27412 |
54 |
Asterisk Freepbx Install Guide (CentOS v7, Asterisk v13, Freepbx v13)
| admin | 2017.08.23 | 22356 |
53 |
A2Billing v2.2 Install Guide CentOS v7 Asterisk v11 v13 seems to work FreePBX v13
| admin | 2017.08.23 | 25588 |
52 |
How to install and setup Asterisk 14 (PBX) on CentOS 7
| admin | 2017.08.23 | 22768 |
51 |
How to Install Asterisk 13 on Ubuntu 16.04 from Source
| admin | 2017.08.23 | 22497 |
50 |
thirdlane PBX price
| admin | 2017.08.23 | 22039 |
49 |
SUGAR CRM
| admin | 2017.08.23 | 22104 |
48 |
NAT 와 VoIP 시그널과 RTP 전송 영향 NAT와 방화벽/STUN/TURN/ICE/SBC
| admin | 2017.08.19 | 21944 |
47 |
음성통화 서버 Asterisk + FreePBX / 통화 시연해보기
| admin | 2017.08.18 | 22425 |
46 |
우분투 Mumble VoIP 음성채팅서버 구축
| admin | 2017.08.18 | 22700 |
45 |
User Control Panel (UCP) asterisk freepbx
| admin | 2017.08.17 | 22491 |
44 |
Configuring Your PBX
| admin | 2017.08.17 | 21658 |
43 |
Installing SNG7 Official Distro
| admin | 2017.08.17 | 22657 |
42 |
OPUS and VP9 Bitrates
| admin | 2017.08.17 | 22247 |
41 |
Capturing SIP and RTP traffic using tcpdump
| admin | 2017.08.17 | 22185 |
40 |
Asterisk Answering Machine Detection (AMD) Configuration
| admin | 2017.08.17 | 22756 |
39 |
Price ,,Install Commercial Modules on CentOS and RHEL based
| admin | 2017.08.16 | 22577 |
38 |
asterisk IVR 쉽게 설정하기
| admin | 2017.08.16 | 22133 |
37 |
Asterisk 가장쉬운 설치 및 설정 사용 방법 이해 할수있게 배우는 순서 안내 설명
| admin | 2017.08.16 | 24239 |
36 |
/sbin/service httpd start stop web start stop
| admin | 2017.08.16 | 21912 |
35 |
asterisk FreePBX 14, Distro 14 & More!
| admin | 2017.08.16 | 22272 |
34 |
asterisk dialplan 설명
| admin | 2017.08.16 | 23214 |
33 |
how-to-freepbx-13-firewall-setup
| admin | 2017.08.14 | 21630 |
32 |
AsterSwitchboard CTI Operator Panel for Asterisk
| admin | 2017.08.08 | 21961 |
31 |
Brand New Sealed Sangoma FreePBX 60 - 75 Users or 30 Calls
| admin | 2017.08.05 | 22415 |
30 |
Asterisk 설치 준비
| admin | 2015.11.15 | 22370 |
29 |
Asterisk 13 Debian 8
| admin | 2015.11.13 | 21929 |
28 |
FOIP: T.38 Fax Relay vs. G.711 Fax Pass-Through (Fax Over IP)
| admin | 2015.09.24 | 22240 |
27 |
Considerations for Using T.38 versus G.711 for Fax over IP
| admin | 2015.09.24 | 22477 |
26 |
MP3 to WAV, WMA to WAV, OGG Convert audio to WAV online
| admin | 2015.05.09 | 23073 |
25 |
FAX over IP sofware
| admin | 2015.05.05 | 22702 |
24 |
Fax Configuration FREE PBX and asterisk FAX
| admin | 2015.05.05 | 22477 |
23 |
Asterisk AGI/AMI to ARI Asterisk&FreePbx - IVR setting
| admin | 2015.05.05 | 31904 |
22 |
A simple IVR and Queue example where customer listens to marketing materials ..
| admin | 2015.05.05 | 22563 |
21 |
Asterisk A simple IVR
| admin | 2015.05.05 | 22641 |
20 |
Asterisk tips ivr menu Interactive voice response menus
| admin | 2015.05.05 | 23611 |
19 |
Setup install Asterisk PBX telephony system | VOIP Tutorial
| admin | 2015.05.05 | 23402 |
18 |
Asterisk Downloads AsteriskNOW Software PBX
| admin | 2015.05.05 | 22295 |
17 |
Fax For Asterisk download add on 1 port free IVR prompt G.729
| admin | 2015.05.05 | 23032 |
16 |
T.38 Fax Gateway Asterisk
| admin | 2015.05.05 | 22763 |
15 |
Setup FAX on Asterisk with DIDForSale SIP DIDs
| admin | 2015.05.05 | 23084 |
14 |
FaxServer using Asterisk
| admin | 2015.05.05 | 22564 |
13 |
fax licenses Asterisk
| admin | 2015.05.05 | 22455 |
12 |
Configuring an Asterisk server
| admin | 2015.05.05 | 22306 |
11 |
FreePBX – Custom FAX to email
| admin | 2015.05.05 | 22538 |
» |
Incoming Fax Handling
| admin | 2015.05.05 | 22830 |
9 |
Using Asterisk to Detect and Redirect Fax Calls for Communications Server
| admin | 2015.05.05 | 22971 |
8 |
Asterisk fax Asterisk and fax calls Fax over IP
| admin | 2015.05.05 | 25132 |
7 |
Securing Your Asterisk VoIP Server with IPTables
| admin | 2015.05.05 | 26212 |
6 |
A2Billing v2 Install Guide
| admin | 2015.05.05 | 25990 |
5 |
Freepbx on Debian (Debian v7, Asterisk v11, Freepbx v2.11)
| admin | 2015.05.05 | 24718 |
4 |
Asterisk Freepbx Install Guide (CentOS v6, Asterisk v13, Freepbx v12)
| admin | 2015.05.05 | 26907 |
3 |
Asterisk Quick Start Guide
| admin | 2015.05.05 | 25346 |
2 |
Installing AsteriskNOW Official Distro
| admin | 2015.05.05 | 23966 |
1 |
Generic Asterisk SIP Configuration Guide
| admin | 2015.05.05 | 22636 |