Faxing
There are two principal options for sending faxes over an IP network: T.38 fax relay and G.711 fax pass-through. VoIPsvcNet supports faxing by using G711U (ulaw) codec. T.38 faxing is currently not supported. This white paper from Dialogic compares the performance of both methods.
The following devices support faxing over VoIP:
Cisco SPA112 & Cisco SPA122
Configuration settings:
1. Ensure that you have enough bandwidth for the uplink and the downlink.
- For G.711 fallback, it is recommended to have approximately 100 kbps.
- For T.38, allocate at least 50 kbps.
2. Click Voice in the menu bar, and then click Line 1 or Line 2 in the navigation tree.
3. In the Network Settings section, enter the following settings:
- Network Jitter Level: very high
- Jitter Buffer Adjustment: no
4. In the Supplementary Service Subscription section, enter the following settings:
- Call Waiting Server - No
- Three Way Cont Server - No
- Three Way Call Server - No
- Service Announcement Server - No
5. In the Audio Configuration section, enter the following settings to support T.38 fax:
- Preferred Codec G711u with second and third preferred codec G711u
- Use pref. codec only: yes
- Silence Supp Enable: no
- Echo Canc Enable: no
- FAX Passthru Method: ReINVITE
- Fax Passthrough - Reinvite
- Fax Enable t.38 - Yes
- Silence Threshhold - High
6. Click Submit to save your settings or click Cancel to abandon the unsaved settings.
Note: You should not have to change your fax baud rate or your fax resolution for this to work.
Fax Testing
1. You can try 1-888-hpfaxme (1-888-473-2963). Send a fax and then they will send a confirmation within 5 min.
2. Also FaxZero.com to send a fax over the internet to your fax machine.
Fax Troubleshooting
If you have problems sending or receiving faxes, complete the following steps:
1. Verify that your fax machine is set to a speed between 7200 and 14400.
2. Send a test fax in a controlled environment between two ATAs.
3. Determine the success rate.
4. Monitor the network and record the statistics for jitter, loss, and delay.
Asterisk
Sending a Fax
Fax documents must be in the "TIF" format. To convert a PDF into TIF format, you can use ghostscript (converts fax.pdf into fax.tif):
- gs -q -dNOPAUSE -dBATCH -dSAFER -sDEVICE=tiffg3 -sOutputFile=fax.tif -f fax.pdf
You can send that tif by:
- ReceiveFAX("/tmp/infax.tif",f);
That will send the fax over the CURRENT audio channel. You can use "Originate" to send the fax over a new audio channel:
- // Send up here somehow, probably via an IVR
context foo {
s => {
Originate(Local/<NUMBER>@dial-out,exten,ael-send-fax,s,1);
}
}
context dial-out {
_1NXXNXXXXXX => {
Dial(SIP/voipms/${EXTEN},,);
Hangup();
}
}
context send-fax {
s =>{
SendFax("/tmp/fax.tif");
}
}
Note: This is an example in ael, it works the same as for .conf. Sending works over IAX and SIP, make sure to use ulaw.
Receiving Over SIP
It's possible to get Fax working on SIP connections. You must enable "faxdetect" in sip.conf; where you Answer() your call, create a "fax" extension. You must to use the G711U (ulaw) codec for this to work.
- context ael-incoming-call {
<DID> => {
Answer();
Wait(2); // May not be needed
Log(NOTICE,"Incoming callfrom ${CALLERID(num)}");
jump ${CALLERID(num)}@ael-filter-call;
}
fax => {
ReceiveFAX("/tmp/infax.tif",f)
Hangup();
}
}
T.38 Faxing
T.38 faxing is currently not supported by VoIPsvcNet. Asterisk will complain about this when you get a fax, but it will fall back to the audio only version if you have the "f" flag on ReceiveFAX.