Receiving a Fax using a VoIP Provider with 3CX
Please note that this information does NOT apply to V8. For V8, please go to this link: http://www.3cx.com/blog/releases/3cx-fax-update11344/
For those of you who have been dreaming about the possibility of receiving a Fax over a VoIP Provider account, with certain VoIP Providers it may be possible.
3CX has provided a patch for V7.1 which, while NOT being a guaranteed works-for-all solution, does improve interaction with VoIP Providers which support Fax over T38.
To download the patch, go to this link: http://www.3cx.com/downloads/v7/Fax_Patch_Voipproviders.zip
After downloading this file please proceed as follows:
- Stop the 3CXPhonesystem service and the 3CXMediaserver service.
- Go to the folder “C:\Program Files\3CX PhoneSystem\bin”
- Rename the file “3CXPhoneSystem.exe” to “3CXPhoneSystem.old”
- Rename the file “3CXMediaServer.exe” to “3CXMediaServer.old”
- From the downloaded patch file, extract the new versions of “3CXPhoneSystem.exe” and “3CXMediaServer.exe” and put them in the folder “C:\Program Files\3CX PhoneSystem\bin”
- Go to “Settings -> Advanced” and select the “Custom Parameters” tab
- Ensure that the parameter called “FAXDIRECTSDP” has a value of “1″. If this parameter is not listed, you can add it at the bottom of the list – in the description field, you can insert something like “Modifies behaviour of SDP negotiation when the destination is a fax extension”. Please keep in mind that Parameter Names are Case-Sensitive. When done, click the “Apply” button at the bottom of the page.
- Start the 3CXPhonesystem service and the 3CXMediaserver service.
- Go to your VoIP Provider settings and ensure that settings in the “Advanced” tab are as follows:
- “Supports Re-Invite” disabled
- “Supports Replaces” disabled
- “PBX Delivers Audio” enabled
- All that needs to be done now is to configure your DID Number or Line to “Send fax to email of extension” and specify your intended destination.
Please feel free to mention success stories in comments to this post!

Comment 16
July 8th, 2009
Hi,
This is a welcome addition. However I’ve been looking for a VOIP provider in the UK that supports T38 and seem to be having problems finding one. If any one can help in this regard that you be greatly appreciated.
Jonathan Hamon
July 9th, 2009
You also need to restart the fax service, otherwise is not registered. I tried this and it does not work. Logfile is:
12:13:10.937 [MS105000] C:15.2: No RTP packets were received:remoteAddr=xx.xxx.160.61:10020,extAddr=0.0.0.0:0,localAddr=127.0.0.1:7016
12:13:10.937 [CM503008]: Call(15): Call is terminated
12:13:10.937 [CM503008]: Call(15): Call is terminated
12:13:09.687 [CM503007]: Call(15): Device joined: sip:888@xx.xxx.160.61:5100;user=phone
12:13:09.687 [CM503007]: Call(15): Device joined: sip:83.98.222.4:5061
12:13:09.546 [CM503024]: Call(15): Calling @[Dev:sip:888@xx.xxx.160.61:5100;user=phone]
12:13:09.546 [CM503004]: Call(15): Route 1: @[Dev:sip:888@xx.xxx.160.61:5100;user=phone]
12:13:09.531 [CM505003]: Provider:[xxx820009] Device info: Device Not Identified: User Agent not matched; Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [Sippy] Transport: [sip:xx.xxx.160.61:5060]
12:13:09.515 [CM503001]: Call(15): Incoming call from 020xxxxxx@(Ln.10010@xxx820009) to
12:13:09.375 [CM503012]: Inbound out-of-office hours rule (unnamed) for 10010 forwards to Fax:888
Jeroen
July 9th, 2009
Same problem for receiving a fax:
14:54:15.671 [CM503008]: Call(14): Call is terminated
14:54:15.671 [CM503008]: Call(14): Call is terminated
14:54:15.531 Remote SDP is set for legC:14.2
14:54:14.671 Session 453 of leg C:14.1 is confirmed
14:54:14.546 [CM503007]: Call(14): Device joined: sip:888@92.51.139.99:5100;user=phone
14:54:14.546 [MS210007] C:14.1:Answer provided. Connection(by pass mode): 92.51.139.99:10000(10001)
14:54:14.546 [MS210001] C:14.2:Answer received. RTP connection: 92.51.139.99:10000(10001)
14:54:14.546 [CM503007]: Call(14): Device joined: sip:004940806006505@194.29.236.145
14:54:14.531 Remote SDP is set for legC:14.2
14:54:14.531 [CM503002]: Call(14): Alerting sip:888@92.51.139.99:5100;user=phone
14:54:14.468 [CM503024]: Call(14): Calling @[Dev:sip:888@92.51.139.99:5100;user=phone]
14:54:14.468 [MS210006] C:14.2:Offer provided. Connection(by pass mode): 194.29.236.145:19522(19523)
14:54:14.468 [CM503004]: Call(14): Route 1: @[Dev:sip:888@92.51.139.99:5100;user=phone]
14:54:14.453 [MS210000] C:14.1:Offer received. RTP connection: 194.29.236.145:19522(19523)
14:54:14.453 [CM503010]: Making route(s) to
14:54:14.453 Remote SDP is set for legC:14.1
14:54:14.453 [CM505003]: Provider:[sipbase] Device info: Device Not Identified: User Agent not matched; Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [reventix Inbound Gateway #1] Transport: [sip:92.51.139.99:5060]
14:54:14.453 [CM503001]: Call(14): Incoming call from 004940806006505@(Ln.10001@sipbase) to
14:54:14.437 [CM503012]: Inbound office hours rule (FAX) for 10001 forwards to Fax:888
14:54:14.437 Looking for inbound target: called=004940999987959; caller=004940806006505
14:54:14.406 [CM500002]: Info on incoming INVITE:
INVITE sip:004940999987959@92.51.139.99:5060 SIP/2.0
Via: SIP/2.0/UDP 194.29.236.160;branch=z9hG4bK59e6.93318d356cc80b22af45239976a39268.0
Via: SIP/2.0/UDP 194.29.236.145:5060;branch=z9hG4bK0148f586;rport=5060
Max-Forwards: 69
Record-Route:
Contact:
To:
From: “004940806006505″;tag=as558e2e2a
Call-ID: 3ada13d7252fcdad69ef805f06a14ac1@sipbase.de
CSeq: 102 INVITE
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Date: Thu, 09 Jul 2009 12:54:13 GMT
Supported: replaces
sending a fax the following problem appears:
15:04:25.859 Remote SDP is set for legC:16.1
15:04:25.031 [CM503007]: Call(16): Device joined: sip:00014979585@direct1.sipbase.de:5060
15:04:24.859 Session 535 of leg C:16.1 is confirmed
15:04:24.750 [CM503007]: Call(16): Device joined: sip:888@92.51.139.99:5100;user=phone
15:04:24.750 [MS210001] C:16.2:Answer received. RTP connection: 194.29.236.150:15200(15201)
15:04:24.750 Remote SDP is set for legC:16.2
15:04:18.140 [MS210007] C:16.1:Answer provided. Connection(by pass mode): 194.29.236.150:15200(15201)
15:04:18.140 [MS210001] C:16.2:Answer received. RTP connection: 194.29.236.150:15200(15201)
15:04:18.140 Remote SDP is set for legC:16.2
15:04:18.140 [CM505003]: Provider:[sipbase] Device info: Device Not Identified: User Agent not matched; Capabilities:[reinvite, replaces, able-no-sdp, recvonly] UserAgent: [] Transport: [sip:192.168.10.10:5060]
15:04:18.140 [CM503002]: Call(16): Alerting sip:00014979585@direct1.sipbase.de:5060
15:04:10.078 [CM503024]: Call(16): Calling VoIPline:0404143104459@(Ln.10001@sipbase)@[Dev:sip:00014979585@direct1.sipbase.de:5060]
15:04:10.078 [MS210006] C:16.2:Offer provided. Connection(by pass mode): 92.51.139.99:10002(10003)
15:04:10.046 [CM503004]: Call(16): Route 1: VoIPline:0404143104459@(Ln.10001@sipbase)@[Dev:sip:00014979585@direct1.sipbase.de:5060]
15:04:09.984 [MS210000] C:16.1:Offer received. RTP connection: 92.51.139.99:10002(10003)
15:04:09.984 [CM503010]: Making route(s) to
15:04:09.968 Remote SDP is set for legC:16.1
15:04:08.968 [CM503001]: Call(16): Incoming call from Fax.888 to
15:04:08.078 [CM500002]: Info on incoming INVITE:
INVITE sip:0404143104459@92.51.139.99:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 92.51.139.99:5100;branch=z9hG4bK-2CCB-E
Max-Forwards: 70
Route:
Contact:
To:
From: ;tag=1654
Call-ID: Lc4qz9BbNnvgMH-P@92.51.139.99
CSeq: 11 INVITE
Allow: INVITE, BYE, ACK, OPTIONS, CANCEL
Proxy-Authorization: Digest username=”888″,realm=”3CXPhoneSystem”,nonce=”414d535c00667bc792:a6a310e428b0895969f36d2a01f3516c”,uri=”sip:0404143104459@92.51.139.99″,response=”ab964e41fb9e1af0b3d481acec6de010″,algorithm=MD5,cnonce=”66D0″,opaque=”",nc=00000001
User-Agent: Netbricks-Sip-T.38IAF/2.01 (PRODUCT ID:5, 05 Jul 2007)
Content-Length: 0
15:01:15.234 [CM504008]: Fax Service: registered as sip:888@92.51.139.99:5060 with contact sip:888@92.51.139.99:5100;user=phone
14:56:14.984 [CM504008]: Fax Service: registered as sip:888@92.51.139.99:5060 with contact sip:888@92.51.139.99:5100;user=phone
14:55:33.265 [CM503008]: Call(15): Call is terminated
14:55:33.250 [CM503015]: Call(15): Attempt to reach failed. Reason: Not Implemented
14:55:33.250 [CM503003]: Call(15): Call to sip:0404143104459@direct1.sipbase.de:5060 has failed; Cause: 488 Not acceptable here; from IP:194.29.236.160:5060
14:55:33.093 [CM503024]: Call(15): Calling VoIPline:0404143104459@(Ln.10001@sipbase)@[Dev:sip:00014979585@direct1.sipbase.de:5060]
14:55:33.093 [MS210006] C:15.2:Offer provided. Connection(by pass mode): 92.51.139.99:10002(10003)
14:55:33.093 [MS210006] C:15.2:Offer provided. Connection(by pass mode): 92.51.139.99:10002(10003)
14:55:33.046 [CM503004]: Call(15): Route 1: VoIPline:0404143104459@(Ln.10001@sipbase)@[Dev:sip:00014979585@direct1.sipbase.de:5060]
14:55:33.000 [MS210000] C:15.1:Offer received. RTP connection: 92.51.139.99:10002(10003)
14:55:32.984 [CM503010]: Making route(s) to
14:55:32.984 Remote SDP is set for legC:15.1
14:55:32.984 [CM503001]: Call(15): Incoming call from Fax.888 to
14:55:32.984 [CM500002]: Info on incoming INVITE:
INVITE sip:0404143104459@92.51.139.99:5060;user=phone SIP/2.0
Via: SIP/2.0/UDP 92.51.139.99:5100;branch=z9hG4bK-516A-6
Max-Forwards: 70
Route:
Contact:
To:
From: ;tag=5632
Call-ID: yTFP-UK2xChMMYgY@92.51.139.99
CSeq: 5 INVITE
Allow: INVITE, BYE, ACK, OPTIONS, CANCEL
Proxy-Authorization: Digest username=”888″,realm=”3CXPhoneSystem”,nonce=”414d535c006679c497:ddaf4cb4c63826adcf111690d92e5641″,uri=”sip:0404143104459@92.51.139.99″,response=”f7cd6127ccf0fb7548dd4087832d9645″,algorithm=MD5,cnonce=”2044″,opaque=”",nc=00000001
User-Agent: Netbricks-Sip-T.38IAF/2.01 (PRODUCT ID:5, 05 Jul 2007)
Content-Length: 0
sometimes it sends after the first error and sometimes not
July 9th, 2009
It depends very much what voip provider you are using. Not all of them have a correct T38 implementation and some of them are just not interoperable. However we have tested with quite a few and it works. Please file a support request and specify what voip provider you are using….
July 9th, 2009
We do not have a support contract at the moment. So I don’t know how to make a support request.
July 9th, 2009
Can you please provide details of any that you tested and found it works. I’ve spoken to Voip-unlimited this morning whilst their network support T38 currently this will only work for SIP to SIP calls.
BT are their breakout carrier to PSTN but they do not yet support T38 albeit it was meant to have been implemented by now.
This could change in the next 4 weeks but only time will tell.
July 18th, 2009
I’ve used this update and settings to support faxing over our Patton Smartnode and this seemed to solve some inbound issues that we have. We need to try it with outbound faxing from an analog fax over the patton, but I hope that works better as well.
August 4th, 2009
Tried this fix. The 3CX fax server receives the fax, I know that because I get a transmit OK on the sending FAX machine. But I do not receive an email containing the attached PDF. I know that the out going mail server setting is working because I receive my voice mails.
Any clues.
/Hakan
August 5th, 2009
Please contact technical support. Note that we can not guarantuee it with any VoIP provider or support it as per the blog post.
August 5th, 2009
I’m using Broadvox
August 5th, 2009
Got the incoming fax working.
But when i try to send a fax via microsoft fax service i get this error in 3cx log file.
I’m using broadvox
04:34:35.778 [CM503015]: Call(17): Attempt to reach failed. Reason: Not Implemented
04:34:35.778 [CM503003]: Call(17): Call to sip:01146470706999@209.249.3.59:5060 has failed; Cause: 488 Not Acceptable Here; from IP:209.249.3.59:5060
04:34:35.668 [CM503024]: Call(17): Calling VoIPline:01146470706999@(Ln.10000@Broadvox)@[Dev:sip:9494611604@209.249.3.59:5060]
04:34:35.653 [CM503004]: Call(17): Route 1: VoIPline:01146470706999@(Ln.10000@Broadvox)@[Dev:sip:9494611604@209.249.3.59:5060]
04:34:35.637 [CM503010]: Making route(s) to
04:34:35.621 [CM503001]: Call(17): Incoming call from Fax.888 to
August 23rd, 2009
How did you get inbound faxing working with Broadvox? I am using them as well, but still cannot receive faxes. TIA.
August 24th, 2009
Please open up a support ticket from the support portal for more help on this (requires valid support package or partner level)
October 28th, 2009
Do I still need this patch if I upgraded to Version 8?
October 29th, 2009
No you should not.. If you have issues please open a support ticket in the support portal.
January 26th, 2010
We use Node4 a UK provider which supports T38 very well – I’d give them a go!