1.12. Error Handling - ISDN Cause Values
In addition to GlobalCall cause values that may be retrieved when an error occurs in an ISDN environment, ISDN cause values may also apply. (See Table6, Error Location Values to identify the source of the cause and for a cross-reference to tabular listings of various ISDN causes.) These ISDN cause values are retrieved using either the gc_ErrorInfo( ) function when <0 is returned or the gc_ResultInfo( ) function when any event, such as GCEV_TASKFAIL or GCEV_RESTARTFAIL, is returned. For more information see the "Error Handling" section in the GlobalCall Application Developers Guide.
ISDN causes comprise two parts: error location and reason. The error location is the upper byte and the reason is the lower byte. For example, the error code ERR_ISDN_FW | ISDN_CHRST_ERR indicates that the error is located in the firmware and the reason for the failure is a channel restart error. The ISDN error location values are listed in Table6.
Table 6. Error Location Values
| Error Location |
Description |
Firmware ERR_ISDN_FW |
Indicates a firmware-related cause/error. Firmware errors are listed in the isdncmd.h file and in Table7. |
Network ERR_ISDN_CAUSE |
Returned with a GCEV_DISCONNECTED event. Network cause values are listed in the isdncmd.h file and in Table8. The values listed in this table refer to International Telecommunications Union (ITU) Q.931 standards. Not all cause values are universally supported across switch types. |
ISDN Library ERR_ISDN_LIB |
Indicates an ISDN call control library-related cause/error. ISDN library errors are listed in the isdnerr.h file and in Table9. |
Table 7. ISDN Firmware-Related Cause Values
| ISDN_BADARGU |
Invalid internal firmware command argument(s) possibly caused by an invalid function parameter. |
| ISDN_BADCALLID |
Invalid call ID. No call record exists for specified call ID. |
| ISDN_BADDSL |
Wrong DSL (Digital Subscriber Line) number. Will not occur in non-NFAS environment. |
| ISDN_BADIF |
Invalid ISDN interface ID. Will not occur in non-NFAS environment. |
| ISDN_BADMSG |
Unsupported messages for DASS2: ALERTING, CONGESTION, FACILITY, FACILITY_ACKNOWLEDGEMENT, FACILITY_REJECT, UUI, NOTIFY, and RELEASE. |
| ISDN_BADSERVICE |
The requested network service, such as gc_ReqANI( ) or gc_SndMsg( ), is not supported by the network and was rejected. |
| ISDN_BADSS |
Unspecified service state was requested. |
| ISDN_BADSTATE |
Cannot accept the event in the current state. |
| ISDN_BADSTR |
Invalid phone number string. Phone digits string contains an invalid phone digit number. |
| ISDN_BADTS |
Wrong time slot. Will occur when a second call is placed on an already active channel. |
| ISDN_CFGERR |
Configuration error |
| ISDN_CHRST_ERR |
Channel restart error |
| ISDN_INVALID_EVENT |
Invalid event for the switch. |
| ISDN_INVALID_SWITCH_TYPE |
Switch type not supported. |
| ISDN_LINKFAIL |
Layer 2 data link failed. Firmware cannot send a message due to Layer 2 data link failure. |
| ISDN_MISSIE |
Missing mandatory IE. |
| ISDN_NOAVAIL |
Out-of-memory, cannot accept a new call request. |
| ISDN_OK |
Normal return code. |
| ISDN_TSBUSY |
Time slot already in use. |
Table 8. ISDN Network Cause Values
| Cause |
Q.931 Cause No.: Name |
| BAD_INFO_ELEM |
Cause 99: Information element non-existent or not implemented |
| BEAR_CAP_NOT_AVAIL |
Cause 58: Bearer capability not presently available |
| CALL_REJECTED |
Cause 21: Call rejected |
| CAP_NOT_IMPLEMENTED |
Cause 65: Bearer capability not implemented |
| CHAN_DOES_NOT_EXIST |
Cause 82: Identified channel does not exist |
| CHAN_NOT_IMPLEMENTED |
Cause 66: Channel type not implemented |
| CHANNEL_UNACCEPTABLE |
Cause 06: Channel unacceptable |
| DEST_OUT_OF_ORDER |
Cause 27: Destination out of order |
| FACILITY_NOT_IMPLEMENT |
Cause 69: Requested facility not implemented |
| FACILITY_NOT_SUBSCRIBED |
Cause 50: Requested facility not subscribed (see Q.850) |
| FACILITY_REJECTED |
Cause 29: Facility rejected |
| INCOMING_CALL_BARRED |
Cause 54: Incoming call barred |
| INCOMPATIBLE_DEST |
Cause 88: Incompatible destination |
| INTERWORKING_UNSPEC |
Cause 127: Interworking, unspecified |
| INVALID_CALL_REF |
Cause 81: Invalid call reference value |
| INVALID_ELEM_CONTENTS |
Cause 100: Invalid information element contents |
| INVALID_MSG_UNSPEC |
Cause 95: Invalid message, unspecified |
| INVALID_NUMBER_FORMAT |
Cause 28: Invalid number format (incomplete number) |
| MANDATORY_IE_LEN_ERR |
Cause 103: Invalid length for information element |
| MANDATORY_IE_MISSING |
Cause 96: Mandatory information element is missing |
| NETWORK_CONGESTION |
Cause 42: Switching equipment congestion |
| NETWORK_OUT_OF_ORDER |
Cause 38: Network out of order |
| NO_CIRCUIT_AVAILABLE |
Cause 34: No circuit/channel available |
| NO_ROUTE |
Cause 02: No route to specified transit network |
| NO_USER_RESPONDING |
Cause 18: No user responding |
| NONEXISTENT_MSG |
Cause 97: Message type non-existent or not implemented |
| NORMAL_CLEARING |
Cause 16: Normal call clearing |
| NUMBER_CHANGED |
Cause 22: Number changed |
| OUTGOING_CALL_BARRED |
Cause 52: Outgoing call barred |
| PRE_EMPTED |
Cause 45: Call preempted |
| PROTOCOL_ERROR |
Cause 111: Protocol error, unspecified |
| REQ_CHANNEL_NOT_AVAIL |
Cause 44: Requested circuit/channel not available |
| RESP_TO_STAT_ENQ |
Cause 30: Response to STATUS ENQUIRY |
| SERVICE_NOT_AVAIL |
Cause 63: Service or option not available, unspecified |
| TEMPORARY_FAILURE |
Cause 41: Temporary failure |
| TIMER_EXPIRY |
Cause 102: Recovery on time expiry |
| UNASSIGNED_NUMBER |
Cause 01: Unassigned (unallocated) number |
| UNSPECIFIED_CAUSE |
Cause 31: Normal, unspecified |
| USER_BUSY |
Cause 17: User busy |
| WRONG_MESSAGE |
Cause 98: Message not compatible with call state or message type non-existent or not implemented |
| WRONG_MSG_FOR_STATE |
Cause 101: Message not compatible with call state |
Table 9. ISDN Call Control Library Cause Values
| E_ISSUCC |
Message acknowledged |
| E_ISREADY |
Board not ready |
| E_ISCONFIG |
Configuration error |
| E_ISNOINFO |
Information not available |
| E_ISNOFACILITYBUF |
Network facility buffer not ready |
| E_ISBADBUFADDR |
Invalid buffer address |
| E_ISBADTS |
Invalid time slot |
| E_ISMAXLEN |
Exceeds maximum length |
| E_ISNULLPTR |
Null pointer error |
| E_ISNOMEM |
Out of memory |
| E_ISFILEOPENFAIL |
Failed to open a file |
| E_ISTNACT |
Trace is not activated; application either tried to stop a non-existent trace function or to start the trace function twice on the same D channel. |
| E_ISBADPAR |
Invalid input parameter(s) |
| E_ISBADCALLID |
Invalid call identifier |
| E_ISBADCRN |
Invalid call reference number |
| E_ISNOINFOBUF |
Information requested by the gc_GetCallInfo( ) function call is not available. |
| E_ISINVNETWORK |
Invalid network type (applies only to the gc_ReqANI( ) function). |
| E_FB_UNAVAIL |
Flexible billing unavailable (applies only to the gc_SetBilling( ) function). |
| E_ISBADIF |
Invalid interface number |
| E_TRACEFAIL |
Failed to get trace information |
| E_UNKNOWNRESULT |
Unknown result code |
| E_BADSTATE |
Invalid state |
| E_ABORTED |
Previous task aborted by gc_ResetLineDev( ) function. |