EPOC   SDK Home Glossary Indexes Previous   Up

Fax client constants


Contents


Version constants

Fax client version information. If there are significant differences between version these will be listed in the SDK.

KEtelFaxMajorVersionNumber

Major version number.

KEtelFaxMinorVersionNumber

Minor version number.

KEtelFaxVersionNumber

Build version number.


Fax error codes

Defined in

faxstd.h

Definition

The following fax error codes may be returned in the TRequestStatus status variable passed to the fax thread in the CFaxTransfer::Start() call. In addition to these codes, any of the system error codes may also be returned: see System error codes.

The action to be taken in the event of receiving an error is dependent both on the error, and on the fax phase when the error was received. If an error occurs in the early phases of transmission then the appropriate action is usually to re-send the fax. If an error occurs when a partial fax has been transferred it may be possible to re-send only part of the fax. If an error is returned in the final phase, then the fax may have been completely sent — so the error can possibly be ignored.

The error descriptions below contain a suggested possible action, based on the error type and on the fax phase. The description and suggestions for action are not definitive because communications is not an exact science. For many of the codes, the phase and page number of the fax — see RFax::TProgress — should be inspected to determine the appropriate course of action.

KFaxErrModemNotWorking

Setup error. This is generated when the modem fails to produce an appropriate response. Most commonly returned after a time-out when waiting for an OK.

Possible action: Ask user to check that the modem is switched on and plugged in — on the assumption that there is a functioning modem which just isn't enabled. The error can also be caused by a faulty port, a faulty cable, or a low modem battery.

KFaxErrCannotConnect

Phase A error. This occurs when we answer a call to receive a fax but fail to connect to a fax at the other end of the line.

Possible action: Tell the user that the answered call wasn't from a fax. This assumes that the modem would otherwise have worked properly, that the caller didn't hang up, and that the phone lines didn’t give problems.

KFaxErrCSIorCIG

Class 1 messages only. Phase B error. Modem reports an error when sending CSI or CIG.

No user remedy apart from trying again.

KFaxErrDISorDTC

Class 1 messages only. Phase B error. Modem reports an error when sending DIS or DTC.

No user remedy apart from trying again.

KFaxErrFrameFail

Class 1 only. Phase B or D error. Modem fails to receive an expected frame. The most common result of a breakdown in the T30 protocol.

No user remedy apart from trying again. If this occurs repeatedly then there may be a timing problem with the hardware.

KFaxErrAtNegotiatedSpeed

Class 1 only. Phase B or start of phase C error. Usually means that the modem cannot reliably negotiate a transfer speed with the remote fax. Also occurs when a transfer speed is apparently negotiated but fails to work properly.

No user remedy apart from trying again. The establishment of modulations and detection of carriers is a low-level modem function — there is no software cure for bad phone lines.

KFaxErrCFR

Class 1 only. Phase B error. Modem reports an error when sending CFR. Fax reception cannot begin without a successfully confirmed training frame.

No user remedy apart from trying again.

KFaxErrMCF

Class 1 only. Phase D error. Modem reports an error when sending MCF. This frame is sent after receiving the last page of a fax as part of phase D of the T.30 protocol. In all likelihood, this is caused by the sender hanging up too early. The last page and the rest of the fax should still be good.

No user remedy needed, but the error should be noted.

KFaxErrCRP

Class 1 only. Phase B or phase D error. Modem reports an error when sending CRP. It sends this command when the last frame ID could not be interpreted.

No user remedy apart from trying again.

KFaxErrNoDial

Phase A error. This error occurs when the modem is asked to dial and the dial attempt times out without any modem response (100 seconds).

Possible action: Check phone number, check modem, check phone and try again.

KFaxErrNoDialTone

Phase A error. The modem responds with NO DIAL TONE when asked to send a fax.

Possible action: Either treat as NO CARRIER or, if the message occurs repeatedly with known good fax numbers, rewrite the modem initialisation string — after checking in the manual.

KFaxErrBusy

Phase A error. The modem responds with BUSY when asked to send a fax.

Possible action: Either treat as NO CARRIER or, if the message occurs repeatedly with known good fax numbers, rewrite the modem initialisation string — after checking in the manual.

KFaxErrNoAnswer

Phase A error. The modem responds with NO ANSWER when asked to send a fax.

Possible action: Either treat as NO CARRIER or, if the message occurs repeatedly with known good fax numbers, rewrite the modem initialisation string — after checking in the manual.

KFaxErrNoCarrier

Phase A error. NO CARRIER message received. This is the normal response from a modem when it cannot establish a connection while being asked to dial or answer.

Possible action: None on reception. Maybe try three times on dialling. The NO CARRIER message will also occur if there are problems linking the modem to the phone network. Problems might include, a faulty phone cable or socket, too many things connecting to the phone socket, pulse dialling when tone should be used, and (of course) the modem may be faulty.

KFaxErrRemoteCannotReceive

Class 1 only. Phase B error. Occurs when trying to send to a fax machine that cannot receive.

KFaxErrCompression

No longer used.

KFaxErrPageTooLong

No longer used.

KFaxErrDCN

Class 1 only. Phase E error. Modem reports an error when sending a DCN. In all likelihood, this is caused by the other fax hanging up too early. The last page and the rest of the fax should still be good.

No user remedy needed, but the error should be noted.

KFaxErrRemoteDCN

Class 1 only. Phase E error. Modem reports an error when receiving a DCN. In all likelihood, this is caused by the other fax hanging up too early. The last page and the rest of the fax should still be good.

No user remedy needed, but the error should be noted.

KFaxErrHDLC

Class 1 only. Phase B or phase D error. The modem reports an error when trying to send a negotiation frame.

No user remedy apart from trying again. Could indicate a faulty modem or hardware timing problems if it doesn't go away.

KFaxErrStopAndWait

No longer used.

KFaxErrTrainStop

Class 1 only. Phase B error. A modem fault in which the modem doesn't respond with an OK message after we have sent a training frame.

No user remedy apart from trying again.

KFaxErrReceiveTimeout

Phase C data reception time-out error. This should never occur in normal use, as the modem should detect fax reception underruns and end the data stream.

Action: tell user to check the modem. A good partial page may have been received, and any earlier pages should also be good.

KFaxErrCannotEndData

Phase C/D transition error. This is a modem error in which the modem doesn't recognise the end of the datastream, and hence doesn't allow a transition to phase D after receiving or sending fax data.

Action: Tell user to check the modem. The last page sent or received is quite possibly good  — though this cannot be determined. Any earlier pages should also be good.

KFaxErrEOP

Class 1 message. Phase D errors. Modem reports an error when sending EOP.

All faxes are sent blind; either end of document or end of page signals must be transmitted after a page to trigger a post-page response indicating whether the page was received at the other end. This is the normal phase D of the T30 protocol.

Action: The page may have been successfully sent but we can't tell — so there's no user remedy apart from trying again. This problem may be caused by an out of paper at the receiver, or a bad phone line, or some other type of extraneous fault.

KFaxErrMPS

Class 1 message. Phase D errors. Modem reports an error when sending MPS.

See KFaxErrEOP for explanation/action information.

KFaxErrNoReceiveMode

Class 2 message only. Setup error. The modem refuses to receive fax data when instructed to do so — using AT+FCR=1.

KFaxErrCannotAnswer

Phase A error. This error occurs when the modem is asked to answer the phone and times out without any modem response (35 seconds).

No user action possible.

KFaxErrPrematureHangup

Class 2 message only. Phase A or phase E. A +FHNG:#: report was received prematurely.

Action: look in SESSION.LOG and find out the FHNG code.

KFaxErrModemResponse

Class 2 message only. Phase D error. The modem has timed out on fax reception. This is the class 2 equivalent of KFaxErrCannotEndData, KFaxErrEOP, and KFaxErrMPS for class 1.

KFaxErrPrematureOK

Class 2 message only. Phase D error. The modem has given us an OK message where none was expected.

KFaxErrNoFinalOK

Class 2 message only. Phase E error. The modem has not given us an OK response when told to hang up.

KFaxErrUnknownPageCode

Class 2 message only. Phase D error. The modem has given us a phase D report we don't support.

KFaxErrNoHangup

Class 2 message only. Phase E error. The modem has timed out when told to hang up.

KFaxErrNoNegotiate

Class 2 message only. Phase B or phase D error. A +FHNG:# report was received.

Action: look in SESSION.LOG and find out the FHNG: code.

KFaxErrModemDisconnect

Class 2.0 message only. Phase C transmission error. The modem requested that we cancel the session.

KFaxErrWrongModemType

Setup error. The modem has been told to use an unsupported class. If this occurs on autodetecting, the modem is not a fax modem.

Action: Inform user and treat as KFaxErrModemNotWorking.

KFaxErrTrainFail

Class 1 only. Phase B error. If receiving, modem has reported an error when sending FTT. If sending, we have failed to find a compatible speed.

Action: No user remedy apart from trying again.

KFaxTransmitterStalled

System level error — we cannot transmit data. Possibly caused by line loss when sending phase C data as flow control is switched on at this point.

Action: Inform user and retry from last page.

KFaxReceiverOverflow

System level error — cannot receive data fast enough. Possibly caused by CPU being overloaded.

KFaxCannotOpenPort

System level error — cannot open the serial port.

KFaxCannotCloseStore

No longer used.

KFaxCannotOpenStore

System level error on opening receive fax store or list of files to send.

KFaxThreadError

System level error on spawning a fax thread.

KFaxFileSessionError

System level error on opening RFs.

KFaxLogCreateError

System level error on opening log file.

KFaxFileSeekError

System level error on moving to the end of the log file.

KFaxPDDError

System level error on opening physical device driver.

KFaxLDDError

System level error on opening logical device driver.

KFaxC32Error

System level error in the communication server.

KFaxCommsServerError

System level error on connecting to the comms server.

KFaxCommsPortError

System level error on loading the comms module.

KFaxCancelRequested

User requested termination of the fax session.

Action: do as requested

KFaxNoClass2Xon

Class 2 only. Phase B/C transition error. The modem has failed to ask us to begin sending data.

Action: inform user and maybe try again.

KFaxConfigError

System level error on configuring port.

KFaxCannotAutodetect

Setup error when autodetecting port.

Action: Treat as KFaxErrModemNotWorking.

KCannotFindFirstPage

The fax client been asked to send a non-existent fax.

Action: Complain to user

KFaxBadInitialization

Setup error — modem has failed to completely initialise.

Action: Treat as KFaxErrModemNotWorking.

KFaxOnlyJustAutoDetected

The fax modem class has been successfully autodetected and the session can be relaunched using the fax class correctly identified and returned in TFaxSettings.

KFaxBelowMinSpeed

Phase B negotiation error. The speed agreed was below the specified minimum speed for the session.

Action: Try again, possibly with a lower minimum speed setting.

KFaxPollingUnsupported

Class 2 only. An attempt has made to poll when polling is not supported by the modem. This is quite common in class 2 modems.

KFaxNothingToPoll

The modem has attempted to poll when the polled machine has nothing to send.

KFaxEtelServerError

System level failure of the ETel server. This might occur if ETel was not installed.

EPOC       SDK Home Glossary Indexes Previous   Up