Windows Fax Service and Fax Service Provider (FSP) Frequently Asked Questions
Windows Fax Service, known as Windows XP Fax in Windows XP and Microsoft Fax in later versions of Windows, introduces a standard interface to send faxes programmatically, and it facilitates the manual sending of any printable document as a fax (this can be done in a few key-strokes). Behind the scenes, the fax service renders the document to be sent into a TIFF file, and the rendering is done with high quality. The actual fax processing is implemented by a Fax Service Provider (FSP).
The Windows Fax Service (often referred to as Microsoft Fax) comes with an FSP that works with any fax-capable modem.
A1. It is possible to register as many devices as you like, but only two devices can be configured to send and/or receive faxes simultaneously in Windows 2000, four in Windows 2000 SBS and only a single device in Windows XP and above. Windows 2012, 2008 and 2003 Enterprise Server do not limit the number of fax devices that can be configured to send and/or receive faxes simultaneously. Please note, Fax Service transmits faxes with the same destination address sequentially. Read MSDN article 555403 for more details
A2. Cisco fax-enabled router and T.37 compliant Internet Fax Service can be interfaced via T37FSP. Another option is HylaFAX that can be interfaced through the HylaFSP. For the high-capacity boards connected directly to a computer as a PCI card, the native Fax Service Provider (FSP) is available for Brooktrout boards and for IQ Express boards. MFC line of products from Brother is integrated with the Fax Service. Another product integrated with the Fax Service is AVM ISDN Controllers (with CAPI 2.0-based fax service provider)
A3. A virtual FSP, opposite to ordinary FSP, is not integrated with Telephony Service Provider (TSP), that interfaces telephony hardware. Some FSPs do not correspond to any telephony hardware at all, for example FSP that facilitates a connection to the Internet Fax Service. The FSP and TSP integration allows software developers to program complex fax / voice call scenarios, where the media state of the same call changes between voice and fax (for example, fax on demand applications).
A4. To use a shared Fax Printer from Windows 98, ME and NT, Shared Fax Client is available. It requires Windows 2003 Server (it hosts the shared fax printer). There is also some support for remote Fax Printer in SBS Server (Small Business Server) 2000. Windows 2000 and above can connect to a remote Fax Printer (hosted by a Windows 2003 Server) using Remote Fax Printer Connection. Although not explicit in the Microsoft documentation, it looks like to use Fax Service remotely via a script similar to the sample 'VB Script', the same conditions must be met as for remote printing.
A5. Outlook 2000 and up includes Fax Mail Transport that utilises Fax Service. This makes it possible to send faxes directly from Outlook. For details, read about "Faxing in Windows XP", on the Microsoft web site. The exception is Outlook 2010 64-bit edition only; it is not integrated with the Fax Mail Transport.
A6. There are third party products such as facsBridge™ 4Exchange that make this integration possible (implements an Exchange Foreign Connector (gateway) that interfaces Fax Service).
A7. There is a single Fax Console (Windows Fax and Scan) application that provides user interface to view fax queue statuses, start a fax job, change configuration etc.
In Windows Server navigate to Administrative Tools, Fax Service Manager, then Action, Fax and Scan.
In Windows XP, Vista, 7 and Windows Server 2003, navigate to Programs, Accessories, Communications, Fax, Fax and Scan. In Windows Server 2003 use the same navigation path to start Fax Service Manager.
In Windows 8, navigate to Start, All Apps, Windows Fax and Scan.
A8. In Windows Server 2012 or 2008, navigate to Initial Configuration Tasks, select Add Roles, and add the Fax Server Role, selecting Add related services. This will add Fax Service and Fax Printer.
To make Fax Service usable in Windows Vista and above, or Windows Server 2012 /2008, start Windows Fax and Scan (which used to be called Fax Console in XP), navigate to Tools, and fill in Fax Accounts as appropriate.Microsoft's article How to Enable and Configure the Fax Service in Windows XP describes how to install Fax Service. The Fax Service will be installed automatically if there is a fax capable modem on the system. The Microsoft-supplied FSP will be installed automatically with the Fax Service.
If you have Fax Service installed, but there is no Fax Printer, add a modem (e.g. 56000 modem) using the Control Panel. There is no need to have a physical modem, select Don't detect my modem in the Add New Hardware Wizard. This will implicitly install the Fax Printer.
A9. The Windows Fax Service introduces a standard, that:
- allows independent development of fax client applications and Fax Service Providers (FSP),
- allows programmatic access to the Windows Fax Service (see sample 'VB Script' ),
- eliminates the need for 3rd party fax applications, and in particular, for 3rd party TIFF printers
A10. There are several areas the FSP could be beneficial,
- OEM fax board manufactures,
- Internet Fax Service providers,
- Proprietary Fax Engine manufactures.
All the suppliers benefit from the fact the Fax Service provides the Fax Printer and eliminates the need for the 3rd party printer driver that would do rendering into TIFF format. Currently, most of the Internet Fax Service Providers (eFax, Faxaway etc.) and Fax Engine Manufactures (BlackIce etc.) use proprietary mechanism for TIFF rendering. Some Internet Fax Service Providers do rendering on the client computer, and some at the server site. The Windows Fax Printer would make the rendering process more reliable and simpler.
A11. The challenges include (but are not limited to)
- the memory allocation must follow certain restrictions, fax service provider must use a specific heap for all memory allocations. This is especially hard if using C++
- the FSP functions to send the fax and to report status are called by the fax service in asynchronous manner, so the developer must provide proper synchronization
- There is a sample FSP in the Windows SDK, but it hardly can be considered as a starting point for FSP development as the code is not structured very well. It is possible to reuse T37FSP engine for 3rd party virtual FSP.
A12. Windows XP does not support 3rd party Fax Service Routing Extensions. On attempt to register or load it, error code FAX_ERR_NOT_SUPPORTED_ON_THIS_SKU defined in winfax.h as 7011L is returned. They probably try to encourage to use Windows 2003 Server that supports 3rd party Routing Extensions.
In the scope of Windows XP, it's possible to write a Fax Service client application that would effectively play the Routing Extension role. This application would call FaxServer.ListenToServerEvents() to listen for IFaxServerNotify callbacks to manipulate incoming tiff files using construction like FaxServer.Folders.IncomingArchive.GetMessage().CopyTiff().
A13. There is an open source t38modem and Virtual COM port. This software can be used to integrate the Windows built-in FSP with the T.38 gateway. Exchange Server 2007 supports T.38 (Unified Messaging T.38 endpoint for inbound faxes), but not through Windows Fax Service (Q6 above). Microsoft Exchange Server 2010/2013 supports inbound T.38 fax calls only via routing to certified 3rd-party fax partner solutions (Exchange UM partner Fax Server).
A14. There is an FSP for Microsoft Fax
that implements a client side (not a gateway) of the T.37 protocol.
Alternatively to Microsoft Fax, Microsoft Office 2003/2007/2010 integrates with Internet Fax Providers (email-to-fax providers). Use facsBridge™ for Office to integrate MS Office with your Internet Fax Provider.
A15. For a good book on fax internals, see 'The Fax Modem Sourcebook' by Andrew Margolis. Another good book is 'Fax, Modem, and Text for IP Telephony' by David Hanes and Gonzalo Salgueiro from Cisco Press, with focus on Cisco products.
The primary source of information on Fax Service and Fax Service Provider is the Microsoft web site. We are not aware about any dedicated sites, but the following site is relevant,
www.slipstick.com/addins/services/winxpfax.htm - Slipstick Systems Outlook and Exchange Solutions Center - Windows XP Fax
Sites listed below contain general information on Fax over IP
ENUM - Electronic Telephone Numbers Mapping - using DNS for ENUM look up, it will be possible to forward fax directly to the email alias if alias is configured for that fax number.
A16. This is a bug in Windows 2000, see Microsoft article 248427 on how to solve this issue.
A17. It is common to use mail merge to automatically customize a single document for each email recipient, e.g. with individual greeting line.
The fax merge is not much different. Having Outlook and Windows Fax Service installed, the fax merge from Word works through mail merge, where the recipient address is specified in the once-off format [FAX:9999999].
See the section Faxing from Outlook on how to configure Outlook to interface Windows Fax Service and Q5 above. See Mail merge to the Windows Fax Service for the step by step description of the fax merge from Word process.
Mail Merge is also applicable if you have an Exchange Server with a Fax Connector.
A18. When printing from FireFox or Internet Explorer some users may experience problems. In case of Internet Explorer, upgrade to IE v.7.0 will help. For Mozilla FireFox upgrade to Version 3.6.8.
A19. Manually install the drivers onto the XP Client.
1) Stop the Spooler (net stop spooler)
2) Copy the following files from 32-bit Windows Server 2003 SP2 system setup as a Fax Server:FXSAPI.DLL, FXSDRV.DLL, FXSRES.DLL, FXSTIFF.DLL, FXSUI.DLL, FXSWZRD.DLL into the following directory on XP Client %SystemRoot%\System32\spool\drivers\w32x86\3. Allow any files that exist to be replaced.
3) Restart the Spooler.
A20. Least Cost Routing can be achieved with Windows Fax Service outbound fax routing rules in Windows Server 2012, 2008 or 2003.
To utilise Windows Fax Service outbound routing, fax address must be specified in canonical format (starting with plus + followed by a country code,
an area code in round brackets surrounded by spaces and a fax number). For example, +1 (555) 9988777.
In Windows 2003 select Use dialing rules and Use Outbound Routing Rules option in the Send Fax wizard.
In Windows 2008 and above, set Dialing Rule to None in the New Fax wizard.