NAME
          IrERRORS - error definitions

     SYNOPSIS
          #include <irapi.h>

     DESCRIPTION
          When IRAPI functions return a failure indication (typically
          with a return value of IRR_FAIL), they also set the global
          variable irError to indicate the cause of the error.  The
          irError variable is set to one of the values in the list
          below.

          In addition to failures detected when an activity is first
          started, the IRAPI library may detect errors that occur
          while attempting to complete a requested activity that was
          successfully initiated by a function that returned IRR_OK
          (or some other success value).  In these cases, a DONE event
          (IRE_ANSWER_DONE, IRE_PLAY_DONE, etc.)  is generated with an
          event_mod1 value of IREM_ERROR and the event_mod2 is set to
          one of the values in the list below.

          If the following explanation of errors is not sufficient for
          resolving the problem, it may be useful to try reproducing
          the problem with tracing enabled.

          The following errors are possible:

          IRER_APIERROR     Indicates a library call to a third party
                            API resulted in an error that has an asso-
                            ciated API specific error value.  Applica-
                            tions receiving this error as the result
                            of a function failure should check
                            irSysError for the API specific error
                            value that was reported by the third party
                            API call.  Applications receiving this
                            error as the result of a DONE event with
                            event_mod1 set to IREM_ERROR and
                            event_mod2 set to IRER_APIERROR, should
                            check event_mod3 for the API specific
                            error that was reported by the API call.

          IRER_BADRANGE     Indicates an invalid range of numbers was
                            provided (starting value was greater than
                            ending value)

          IRER_BADSTATE     Indicates a function was called for a
                            channel with an inappropriate library
                            state

          IRER_CONNECTFAIL  Indicates that an attempt to print or
                            record a FAX failed due to a failure to
                            connect with the far end FAX device.

          IRER_DIERROR      Indicates that the FAX Device Interface
                            process reported an error.

          IRER_DRIVER_ERROR Indicates a network interface driver call
                            or SP driver call resulted in an error.
                            The error may have been detected by the
                            network, pack file, driver, input process,
                            or library helper functions for the
                            driver.  Applications receiving this error
                            as the result of a function failure should
                            check irSysError for the error number that
                            was reported by the driver call.  Applica-
                            tions receiving this error as the result
                            of a DONE event with event_mod1 set to
                            IREM_ERROR and event_mod2 set to
                            IRER_DRIVER_ERROR, should check event_mod3
                            for the error number that was reported by
                            the driver call.  Unlike IRER_SYSERROR
                            described below, the error numbers are
                            specific to the type of driver that is
                            being used.  The irSysError value should
                            not be interpreted as being a UNIX errno
                            value.  Tracing or associated log messages
                            may be helpful to establish the context in
                            which the error is being reported.

          IRER_ENDOFTABLE   Indicates a function call resulted in a
                            query beyond the end of a table

          IRER_FTT          Indicates FAX failure to train with the
                            far end FAX device.

          IRER_IDLE         Indicates that FAX transmission terminated
                            due to unexpected line idling.

          IRER_INCOMINGFAILED
                            Indicates that FAX record failed.

          IRER_INTERNAL     Indicates a function call resulted in an
                            internal library error

          IRER_INVALID      Indicates that a IRAPI function was passed
                            invalid or bad arguments

          IRER_LINEDISABLE  Indicates that the FAX line was disabled
                            during FAX transmission.

          IRER_LINEHALT     Indicates that the FAX line was halted
                            during FAX transmission.

          IRER_LINEMALFUNCTION
                            Indicates that FAX transmission terminated
                            due to a line malfunction.

          IRER_LOADERROR    Indicates the irRegister function could
                            not load the required extension library
                            routines or encountered an error in trying
                            to execute them.  The most common cause
                            for this error is when -lirEXT appears
                            after -lirAPI in a compile statement.  The
                            -lirEXT must appear before the -lirAPI.
                            Extension library routines are contained
                            in either /usr/lib/libirEXT.so or in a
                            shared object library listed in
                            /vs/data/irSPI.libs.

          IRER_MAXCHAN_TIMESLOTS
                            Indicates a function failed since it would
                            have required talking on more than the
                            maximum number of timeslots for that chan-
                            nel

          IRER_MAXLEN       Indicates that FAX record terminated due
                            to receipt of the maximum number of bytes
                            specified via irFAXRecord(3IRAPI).

          IRER_NO_TIMESLOT  Indicates that a play, say, code, or other
                            request failed since there was no allo-
                            cated "talk" and/or "listen" timeslot for
                            the channel.  The "talk" timeslot may have
                            been released while a bridge was active,
                            or the timeslot may have been released
                            prematurely.

          IRER_NODATA       Indicates that a play or say request con-
                            tained no data

          IRER_NOPROTOCOL   Indicates that FAX transmission failed due
                            to no line protocol.

          IRER_NORESOURCES  Indicates that the Resources for the
                            requested service are non-existent or out
                            of service

          IRER_NOREGISTER   Indicates an IRAPI function call was made
                            prior to IRAPI process registration via
                            irRegister(3IRAPI)

          IRER_NOTCOLLOCATED
                            Indicates functions could not be allocated
                            on a common resource.

          IRER_NOTFOUND     Indicates an object required to complete a
                            function call could not be found

          IRER_OPERATORINT  Indicates that FAX transmission failed due
                            to operator intervention.

          IRER_OVERFLOW     Indicates a function call resulted in some
                            overflow condition for an IRAPI data ele-
                            ment

          IRER_OVERLAP      Indicates an invalid overlap has been
                            detected in two ranges of numbers that
                            should have included one range of numbers
                            as a proper subset of the other

          IRER_PERMISSION   Indicates a function was called by a pro-
                            cess that has no permission to execute the
                            function

          IRER_PREVIOUS_INIT
                            Indicates the forcible initialization of a
                            channel has failed because this process
                            already has a cid for this channel.  This
                            error type is only expected to apply to
                            MTC and related programs since irInit nor-
                            mally creates a pending request for a
                            channel that is already owned by the same
                            process.

          IRER_PROTOCOLERR  Indicates that FAX transmission failed due
                            to a line protocol error.

          IRER_PROTOCOLTIMEOUT
                            Indicates that FAX transmission failed due
                            to a line protocol timeout.

          IRER_REDUNDANT    Indicates a function was called for which
                            the service was already enabled.  For
                            example, calling irStartEcho(3IRAPI) when
                            echo cancellation has already been
                            started.  When this error is returned, the
                            service remains active.

          IRER_REMOTEDCN    Indicates that FAX transmission failed due
                            to a remote disconnect.

          IRER_RESOURCEBUSY Indicates a function was called but
                            resources were not immediately available
                            to serve the needs of the function.  When
                            provided as a modifier to an IRE_CALL_DONE
                            event with an IREM_ERROR modifier, this
                            indicates that a pending request for in-
                            use CCA resources has timed-out.

          IRER_RESOURCE_REMOVED
                            Indicates a service or activity was inter-
                            rupted by a maintenance process that for-
                            cibly removed the resources required to
                            perform the service or activity.  This
                            error code is provided as a modifier to a
                            IRE_<activity>_DONE event following the
                            IREM_ERROR modifier.

          IRER_RESTRICTED   Indicates resources required for the
                            called function have been explicitly res-
                            tricted from the cid.

          IRER_RTN          Indicates that FAX transmission terminated
                            due to a failure to retransmit a page of
                            unacceptable quality.

          IRER_SERVICESTATE Indicates a function was called for a
                            channel with an inappropriate service
                            state

          IRER_SHM_CORRUPTED
                            Indicates the DEVTBL shared memory is cor-
                            rupted.  Stop and start the voice system.

          IRER_SHUTDOWN     Indicates that FAX transmission failed due
                            server process shutdown.

          IRER_SYSERROR     Indicates a UNIX system call, driver call,
                            or library call resulted in an error that
                            has an associated UNIX errno.  Applica-
                            tions receiving this error as the result
                            of a function failure should check
                            irSysError for the errno that was reported
                            by the UNIX system call.  Applications
                            receiving this error as the result of a
                            DONE event with event_mod1 set to
                            IREM_ERROR and event_mod2 set to
                            IRER_SYSERROR, should check event_mod3 for
                            the errno that was reported by the UNIX
                            system call.  IRER_SYSERROR differs from
                            IRER_DRIVER_ERROR in that irSysError
                            should be a valid UNIX errno when
                            IRER_SYSERROR is reported. 

          IRER_TIMESLOTS_BUSY
                            Indicates a function failed since all
                            dynamically allocated timeslots were in
                            use and the necessary timeslot could not
                            be allocated.  The problem will go away
                            when timeslots are freed, but may indicate
                            that the system is configured for too many
                            channels for the activity requested.

          IRER_TSBUS        Indicates a function failed since one or
                            more channels were not on a TDM bus, or
                            the time-slots could not be connected for
                            the type of communication requested

          IRER_UNSUPPORTED  Indicates a function call requested an
                            operation that could not be supported on
                            the channel telephony

          IRER_OBSOLETE     Indicates an obsolete function call or
                            parameter.

     SEE ALSO
          IrEVENTS(4IRAPI), IrRETURNS(4IRAPI)

     VERSION
          This is version 8/31/00 of this man page.