Faxing

Faxing using T.38

To be able to receive a Fax in the 3CX server one needs to add a Fax Forward destination to an extension with a valid email address and assign a DID to it.

This can be done by navigating to: Advanced → Fax → Add → Add Fax Forward

The Fax server will receive the Fax and will send it as a .pdf document to the email of the selected extension.

FAX server

The 3CX Fax server uses T.38 as the default Fax method. When an INVITE is routed to the Fax server it will initially answer with a 200 OK containing Audio codecs. Moments after this however, it will send a re-INVITE to the caller with only the T.38 codec in the SDP. If the caller responds correctly and the call is established, the communication will proceed between the two endpoints using the T.38 protocol.

In the re-INVITE sent by 3CX with the T.38 codecs, the  port in the SDP will be different than the one initially negotiated.3CX increments the ports during the T38 renegotiation. The provider must be able to switch to the new port and send all media to that. Failure to do so will result in the Fax communication failing.

Sample 200 OK message from 3CX to provider

SIP 200

 Sample re-INVITE for T.38

SIP Invite

G711 to T.38 Fallback

In the event that T.38 is not supported, 3CX has the option to enable audio faxing over G711.

This can be enabled by navigating to  Advanced → Fax  → FAX Server. Once enabled the IVR service of 3CX needs to be restarted.

This option will allow 3CX Fax Server to listen for Fax Tones for a predetermined amount of time after the call is established. If a Fax Tone is detected, the Fax server will attempt to receive the Fax over audio using the G711 codec. The default time the 3CX Fax Server will wait for is 10 seconds.

If within the timeout the 3CX Fax Server does not detect an in-band Fax Tone, then it will send a re-INVITE with T.38 in the SDP and act as explained in section “Faxing using T.38”.

FAX ATA

A Fax can be received by a Fax capable device using a supported FXS/ATA gateway. The first thing needed is to create a Fax extension. This can be done from the “Add Fax Extension” under Advanced → Fax → Add → Add Fax Extension. The FXS/ATA gateway must register as a Fax Extension to 3CX in order to be able to receive faxes and a DID must be assigned to forward incoming fax calls to the specific Fax Extension.

In this scenario, negotiation between the SIP Trunk Provider and the FXS/ATA Gateway, although proxy’d by 3CX, goes unmodified (3CX acts as a stateless proxy).

The same device can be used for Outbound faxing given that there is a matching Outbound Rule that enables this. Again, 3CX will not process or modify any packets.

Last Updated

This document was last updated on 25 July 2024

https://www.3cx.com/docs/sip-trunk-faxing/