Overview of sub-addressing

The optional sub-addressing signal allows you to transmit or receive fax routing information during a fax session. The server can use the additional information to determine which extension should receive the fax. The SUB signal indicates that the following facsimile information field (FIF) information is sub-addressed in the called subscriber's domain. It can not be used to provide additional routing information in the facsimile procedure. SUB is only sent if bit 49 in the digital identification signal/digital transmit command (DIS/DTC) is sent.

The T.30 protocol recommends that the SUB signal contain 20 numeric digits. The least significant bit of the least significant digit is the first bit transmitted. Fill the unused octets in the information field with space characters, and right justify the information.

Sub-address information is available in the remoteSUB field of the NFX_FAX_STATUS structure. The sub-sent flag indicates whether or not the sub-address string was sent. This flag is set only when sub-address information is sent.

typedef struct 
{
  DWORD size;
  DWORD rate; 
  DWORD ecm;    /* Error correction mode: NFX_YES or NFX_NO     */
  DWORD resolution;
  DWORD encoding;
  DWORD pagewidth;
  DWORD mode;    /* NFX_MODE_IDLE, NFX_MODE_NEGOTIATING,        */
                 /* NFX_MODE_TRANSMITING, NFX_MODE_RECEIVING,   */
                 /* NFX_MODE_DISCONNECTING, NFX_MODE_FINISHED   */
  DWORD error;     /* Last error code generated                 */
  DWORD docnumber; /* Current document in progress              */
  DWORD pagenumber;/* Current page of the document              */
  DWORD badlines;  /* Number of bad lines (or bad frames in     */
                   /* ECM mode) during current session          */
  char filename[NFX_FILENAME_MAX]; 
                   /* Name of current file processed            */
  char remoteSID[NFX_MAX_SID];
                   /* Received SID from remote station          */
  BYTE remoteNSF[NFX_MAX_NSF];
                   /* Received NSF from remote station          */
  DWORD snr;       /* signal to noise ratio in dB               */
  DWORD rx_training_zeros;
                   /* Training zeros in the TCF                 */
                   /* in tens of milliseconds                   */
  char remoteSUB[NFX_MAX_SUB];
                   /* Received Sub-Address string from          */
                   /* remote station                            */

  DWORD sub_sent;
                   /* Set if Sub-Address frame is sent to       */
                   /* remote station                            */
  DWORD modemtype; /* Modem used to transfer document           */
} NFX_FAX_STATUS;