ISC Fax
Technical Specifications

TECHNICAL SPECS

Our customers choose ISC Fax because of our network reliability, high fax delivery success rates and a dependable customer support team. We are proud to say some of the largest companies in the world have been our customers for over 30 years!

One of the keys to our customer satisfaction and retention is our ability to deliver messages reliably to nearly any destination in the world. Other fax messaging services use VOIP technology and/or low cost telecomm carriers to deliver faxes, resulting in higher call drops and undelivered fax messages. ISC Fax uses multiple types of technology and vendors to maximize reliability. Our smart routing system sends your fax message using technology we know to be reliable in the destination area code. If a delivery fails, our network automatically re-routes your message until it finds a good connection. This smart routing results in significantly higher successful fax message deliveries for our customers.

Requirements

You just need an internet connection, you do not need any phone lines or other telecom services.

If you have existing phone numbers you want to keep, we can work with you to port them over to our service without any interruption to your customers.

Security

Messages are encrypted for your protection. We always use the state of the art, strongest encryption possible. TLS 1.2, 1.3 and 256 bit AES are supported across all our standard interfaces. In addition, if you enable our optional message archiving, your messages are preserved using 4096 bit RSA encryption.

Can I use a VPN for added security? Yes! No matter what method you use to communicate with our servers, we can implement a site-to-site VPN to wrap all traffic to your computers with an additional layer of encryption, for the upmost security.

Interfaces

EMAIL

You can send and receive faxes from any standard email client, including Gmail and Outlook. Our software can also interface with your SMTP server to enforce transport encryption and sender identity, for stronger security.

Example

Sending a fax with our email interface can be as simple as the following:

  1. Compose an email, and address it to [recipient fax number]@iscgms.com. Example 3215551212@iscgms.com
  2. Type your message body like any normal email.
  3. Attach any documents you wish to send, again, just like a normal email. We support a wide variety of file formats: Adobe Acrobat (pdf), Adobe Postscript (ps, eps, ai), Autocad (dxf), HP Printer Command Language (pcl), HTML Document (htm, html, shtml, sht), Image (bmp, cgm, dcx, gif, jpeg, jpe, jpg, pcx, tif, tiff, xif), Lotus 123 (wk3), Microsoft Access (snp), Microsoft Document Imaging(mdi), Microsoft Excel (xls, xlt, xlsb, xlsx), Microsoft Graph (gra), Microsoft Powerpoint (ppt, pps, ppsx, pptx), Microsoft Project (mpp, mpt), Microsoft Publisher (pub), Microsoft Visio (vsd, vss, vst, vsw), Microsoft Word (doc, dot, docm, docx), Microsoft Wordpad (wri), Print File (prn), Text Document (txt, rtf, rtx), and Word Perfect (wp, wp51, wpd)
  4. Hit send, and your message will be converted into a fax document, along with all your attachments. It will then be delivered in minutes.
  5. If your recipient sends a reply to your inbound fax number, you will receive it as a PDF in your email inbox.

REST API

Secure and Encrypted API for transmitting faxes from your application. Integrate quickly and easily into your custom code using our OpenAPI (Swagger) specification. That is available here: https://rest.iscgms.com/iscmessageservicerest_v3/

Example

Using the REST API is very simple, and you can usually get an integration up and running in under 1 day.

Before you can use our API you need to contact ISC Fax support to request an API account key. In this example we’ll use apiSample as our account key. There is no cost to enable API access on your account.

To send a message you first construct a Message object. The message object contains:

  1. One or more address strings. Each address string can contain any valid fax number. In this example we’ll use: 3215551212
  2. One or more documents. These are comprised of a Base64 encoded byte array containing data in one of 52 supported file formats: Adobe Acrobat (pdf), Adobe Postscript (ps, eps, ai), Autocad (dxf), HP Printer Command Language (pcl), HTML Document (htm, html, shtml, sht), Image (bmp, cgm, dcx, gif, jpeg, jpe, jpg, pcx, tif, tiff, xif), Lotus 123 (wk3), Microsoft Access (snp), Microsoft Document Imaging(mdi), Microsoft Excel (xls, xlt, xlsb, xlsx), Microsoft Graph (gra), Microsoft Powerpoint (ppt, pps, ppsx, pptx), Microsoft Project (mpp, mpt), Microsoft Publisher (pub), Microsoft Visio (vsd, vss, vst, vsw), Microsoft Word (doc, dot, docm, docx), Microsoft Wordpad (wri), Print File (prn), Text Document (txt, rtf, rtx), and Word Perfect (wp, wp51, wpd) In this example we’ll use txt
  3. Your account key that will be used to authenticate the message: apiSample

A completed Send payload should resemble the following:

    
        {
  "documents": [
    {
      "document": "VGhpcyBpcyBhIHRlc3QgYm9keQ ==",
      "format": "txt"
                }
  ],
  "account": "apiSample",
  "addressList": ["3215551212"]
}
    
  

You must POST this payload to: https://rest.iscgms.com/iscmessageservicerest_v3/send

The Send action will return a single UUID string that you can use to track the message state.

“c6341b28-bd1d-4b7e-9fb2-1293fb06b13d”

To check on delivery status you GET the GetStatus action and pass in a list of one or more message UUIDs returned by the Send action

https://rest.iscgms.com/iscmessageservicerest_v3/getstatus?messageList=c6341b28-bd1d-4b7e-9fb2-1293fb06b13d&sender=apiSample

The GetStatus action will return a payload that contains a sent timestamp for each message, and a status for each address on a message.

    
        [
  {
    "id": "c6341b28-bd1d-4b7e-9fb2-1293fb06b13d",
    "sent": "2001-01-01T12:00:00Z",
    "addressStatusList": [
      {
        "address": "3215551212",
        "status": "Complete",
        "detailedStatus": "Complete - Delivered 2 Pages"
      }
    ]
  }
]

    
  

The sent field is formatted in ISO8601, UTC.

YYYY-MM-DDTHH:mm:SSZ

The status field is an enumeration of one of the following values:

  • Queued - Message has been accepted by the server, and is awaiting transmission.
  • Complete - Message has been transmitted successfully.
  • Canceled - Message was accepted by the server, but could not be transmitted to recipient.
  • Rejected - Message was not accepted by the server, due to bad input from client.
  • NotFound - Could not locate any messages matching this identifier and sender.
  • Graphics - Message is rendered for transmission.
  • Sending - Message is actively being transmitted.

The detailedStatus field is a human readable string, the following list is representative of possible values:

  • Rejected - Invalid Address
  • Rejected - No Message Text
  • Rejected - Graph Conversion Failure
  • Rejected - Blocked Number
  • Rejected - Invalid Address List
  • Rejected - Too Many Pages
  • Rejected - Public Host
  • Rejected - Virus Attachments
  • Graphics - Rendering
  • Queued - Queued
  • Queued - Retrying, No Answer
  • Queued - Retrying, Disconnected
  • Queued - Retrying, Busy Signal
  • Sending - Page 1 of 3
  • Sending - Page 2 of 3
  • Sending - Page 3 of 3
  • Canceled - No Answer
  • Canceled - Busy Signal
  • Canceled - Disconnected
  • Canceled - User Canceled
  • Complete - Delivered 3 Pages

SOAP API

Secure and Encrypted API for transmitting faxes from your application. Integrate quickly and easily into your custom code using WSDL definition for code generation. All the details you need are right here:

https://api.iscgms.com/v4/

https://api.iscgms.com/v4/Help/

EDI

We can interface to your existing business systems to integrate faxing directly into your workflow. We support many protocols, such as SFTP, FTP-TLS, FTP over VPN, HTTP, SOAP, WebDAV, and SMTP. We support many standard formats such as XML,CSV, and fixed tables. We can also customize our EDI interface to match your preexisting or legacy data format.

We support bidirectional communication over EDI, transmitting both inbound and outbound messages. We can setup either a push (your application connects to our server) or pull (We connect to your server) style connection.