Symbian
 Developer Library

DEVELOPER LIBRARY

[Index] [Glossary] [Previous] [Next]



Location: faxstd.h

Fax client constants


Version constants

Description

Fax client version information. If there are significant differences between versions these will be described in the Developer Library. They are defined in faxstd.h.


KEtelFaxMajorVersionNumber

const TUint KEtelFaxMajorVersionNumber

Description

Major version number.


KEtelFaxMinorVersionNumber

const TUint KEtelFaxMinorVersionNumber

Description

Minor version number.


KEtelFaxVersionNumber

const TUint KEtelFaxVersionNumber

Description

Build version number.

[Top]


Fax error codes

Description

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, KErrNone or any of the other system-wide error codes may also be returned.

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

const TInt KFaxErrModemNotWorking

Description

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

const TInt KFaxErrCannotConnect

Description

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

const TInt KFaxErrCSIorCIG

Description

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

No user remedy apart from trying again.


KFaxErrDISorDTC

const TInt KFaxErrDISorDTC

Description

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

No user remedy apart from trying again.


KFaxErrFrameFail

const TInt KFaxErrFrameFail

Description

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

const TInt KFaxErrAtNegotiatedSpeed

Description

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

const TInt KFaxErrCFR

Description

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

const TInt KFaxErrMCF

Description

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

const TInt KFaxErrCRP

Description

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

const TInt KFaxErrNoDial

Description

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

const TInt KFaxErrNoDialTone

Description

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

const TInt KFaxErrBusy

Description

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

const TInt KFaxErrNoAnswer

Description

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

const TInt KFaxErrNoCarrier

Description

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

const TInt KFaxErrRemoteCannotReceive

Description

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


KFaxErrCompression

const TInt KFaxErrCompression

Description

No longer used.


KFaxErrPageTooLong

const TInt KFaxErrPageTooLong

Description

No longer used.


KFaxErrDCN

const TInt KFaxErrDCN

Description

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

const TInt KFaxErrRemoteDCN

Description

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

const TInt KFaxErrHDLC

Description

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

const TInt KFaxErrStopAndWait

Description

No longer used.


KFaxErrTrainStop

const TInt KFaxErrTrainStop

Description

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

const TInt KFaxErrReceiveTimeout

Description

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

const TInt KFaxErrCannotEndData

Description

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

const TInt KFaxErrEOP

Description

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

const TInt KFaxErrMPS

Description

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

See KFaxErrEOP for explanation/action information.


KFaxErrNoReceiveMode

const TInt KFaxErrNoReceiveMode

Description

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


KFaxErrCannotAnswer

const TInt KFaxErrCannotAnswer

Description

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

const TInt KFaxErrPrematureHangup

Description

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

const TInt KFaxErrModemResponse

Description

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

const TInt KFaxErrPrematureOK

Description

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


KFaxErrNoFinalOK

const TInt KFaxErrNoFinalOK

Description

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


KFaxErrUnknownPageCode

const TInt KFaxErrUnknownPageCode

Description

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


KFaxErrNoHangup

const TInt KFaxErrNoHangup

Description

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


KFaxErrNoNegotiate

const TInt KFaxErrNoNegotiate

Description

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

const TInt KFaxErrModemDisconnect

Description

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


KFaxErrWrongModemType

const TInt KFaxErrWrongModemType

Description

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

const TInt KFaxErrTrainFail

Description

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

const TInt KFaxTransmitterStalled

Description

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

const TInt KFaxReceiverOverflow

Description

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


KFaxCannotOpenPort

const TInt KFaxCannotOpenPort

Description

System level error — cannot open the serial port.


KFaxCannotCloseStore

const TInt KFaxCannotCloseStore

Description

No longer used.


KFaxCannotOpenStore

const TInt KFaxCannotOpenStore

Description

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


KFaxThreadError

const TInt KFaxThreadError

Description

System level error on spawning a fax thread.


KFaxFileSessionError

const TInt KFaxFileSessionError

Description

System level error on opening RFs.


KFaxLogCreateError

const TInt KFaxLogCreateError

Description

System level error on opening log file.


KFaxFileSeekError

const TInt KFaxFileSeekError

Description

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


KFaxPDDError

const TInt KFaxPDDError

Description

System level error on opening physical device driver.


KFaxLDDError

const TInt KFaxLDDError

Description

System level error on opening logical device driver.


KFaxC32Error

const TInt KFaxC32Error

Description

System level error in the communication server.


KFaxCommsServerError

const TInt KFaxCommsServerError

Description

System level error on connecting to the comms server.


KFaxCommsPortError

const TInt KFaxCommsPortError

Description

System level error on loading the comms module.


KFaxCancelRequested

const TInt KFaxCancelRequested

Description

User requested termination of the fax session.

Action: do as requested


KFaxNoClass2Xon

const TInt KFaxNoClass2Xon

Description

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

const TInt KFaxConfigError

Description

System level error on configuring port.


KFaxCannotAutodetect

const TInt KFaxCannotAutodetect

Description

Setup error when autodetecting port.

Action: Treat as KFaxErrModemNotWorking.


KCannotFindFirstPage

const TInt KCannotFindFirstPage

Description

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

Action: Complain to user


KFaxBadInitialization

const TInt KFaxBadInitialization

Description

Setup error — modem has failed to completely initialise.

Action: Treat as KFaxErrModemNotWorking.


KFaxOnlyJustAutoDetected

const TInt KFaxOnlyJustAutoDetected

Description

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

const TInt KFaxBelowMinSpeed

Description

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

const TInt KFaxPollingUnsupported

Description

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

const TInt KFaxNothingToPoll

Description

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


KFaxEtelServerError

const TInt KFaxEtelServerError

Description

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