Previous Page Table Of Contents../index.html IndexNext Page


7.2. Error Handling

The ISDN library functions return a value indicating success (0) or failure (<0) of the function call. cc_CauseValue( ) is used to retrieve the reason for the failure. The application may use the cc_ResultMsg( ) function to interpret the returned value.

ISDN error/cause codes consist of 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.

There are three cause/error locations, as described in Table 49 below.


Table 49. Cause/Error Locations

Cause/Error Location

Return Conditions

Firmware (ERR_ISDN_FW)

Returned when there is a firmware-related cause/error. Firmware errors are listed in the isdncmd.h file. (See Section 7.2.1. Cause/Error Codes from the ISDN Firmware.)

Network (ERR_ISDN_CAUSE)

Returned with a CCEV_DISCONNECTED event. The application uses cc_ResultValue( ) to retrieve the cause value. Network cause values are listed in the isdncmd.h file. (See Section 7.2.2. Cause/Error Codes from the ISDN Network.)

ISDN Library (ERR_ISDN_LIB)

Returned when there is a library-related cause/error. Library errors are listed in the isdnerr.h file. (See Section 7.2.3. Cause/Error Codes from the ISDN Library.)

The following sections provide the cause values and return codes from each of the error/cause locations. Refer to the files ccerr.h and isdncmd.h for a comprehensive list of error values.

The following table provides the error/cause codes located in the ISDN firmware. Error values include the hex followed by the decimal equivalent in parentheses.


Table 50. ISDN Firmware Error Codes

Error Name

Value

Description

ISDN_OK

0x00 (0)

Normal returned code.

ISDN_BADDSL

0x101 (257)

Wrong DSL (Digital Subscriber Line) number. Will not occur in non-NFAS environment.

ISDN_BADTS

0x102 (258)

Bad time slot. Will occur when a second call is placed on an already active channel.

ISDN_BADARGU

0x103 (259)

Bad internal firmware command argument(s), possibly caused by a bad function parameter.

ISDN_BADSTR

0x105 (261)

Bad phone number string. Phone digits string contains invalid phone digit number.

ISDN_BADIF

0x106 (262)

Bad ISDN interface ID. Will not occur in non-NFAS environment.

ISDN_MISSIE

0x107 (263)

Missing mandatory IE.

ISDN_CFGERR

0x108 (264)

Configuration error .

ISDN_CHRST_ERR

0x10A (266)

Channel restart error.

ISDN_BADSERVICE

0x10D (269)

The requested network service, such as cc_ReqANI( ) or cc_SndMsg( ), is not supported by the network and has been rejected.

ISDN_BADCALLID

0x10E (270)

Bad call ID. No call record exists for specified call ID.

ISDN_BADSTATE

0x10F (271)

Cannot accept the event in the current state.

ISDN_BADSS

0x110 (272)

Unspecified service state was requested.

ISDN_TSBUSY

0x111 (273)

Time slot already in use.

ISDN_NOAVAIL

0x112 (274)

No more memory available to accept a new call request.

ISDN_LINKFAIL

0x113 (275)

Layer 2 data link failed. This code is returned when the firmware cannot send a message due to L2 data link failure.

ISDN_BADMSG

0x11D (285)

Unsupported messages for DASS2: ALERTING, CONGESTION, FACILITY, FACILITY_ACK, FACILITY_REJECT, UUI, NOTIFY, and RELEASE.

ISDN_INVALID_EVENT

0x11E (286)

Invalid event for the switch.

ISDN_INVALID_SWITCH_TYPE

0x124 (292)

Switch type not supported.

ISDN_MISSING_FIXED_TEI

0x126 (294)

Fixed Terminal Equipment Identifier (TEI) value not provided for non-initializing terminal.

ISDN_MISSING_DN

0x127 (295)

Directory number not specified for terminal.

ISDN_MISSING_SPID

0x128 (296)

Service Profile Interface ID (SPID) not provided for North American terminal.

The following table provides error codes from the firmware that apply only to the cc_SetBilling( ) function. The error values include the hex followed by the decimal in parentheses.


Table 51. ISDN Firmware Error Codes for cc_SetBilling( )

Error Name

Value

Description

ISDN_FB_UNAVAIL

0x115 (277)

Flexible billing feature is not available.

ISDN_FB_BAD_OPER

0x117 (279)

Bad operation.

ISDN_FB_BAD_ARG

0x118 (280)

Bad argument.

ISDN_FB_RET_ERR

0x119 (281)

Return error component value.

ISDN_FB_IE_ERR

0x11A (282)

Bad information element.

ISDN_NO_FB_INFO

0x11B (283)

No flexible billing information.

NOTE:
The cc_SetBilling( ) function and the associated firmware return codes apply only to users who have access to AT&T's Vari-A-Bill service.

The following table provides the cause/error codes located in the ISDN Network. Error names are listed in alphabetical order. The values listed in the table include the hex followed by the decimal in parentheses. The Q.931 codes and their descriptions refer to International Telecommunications Union (ITU) Q.931 standards. Not all cause codes are universally supported across switch types. Before using a particular cause code, compare its validity with the appropriate switch vendor specifications.


Table 52. ISDN Network Error Codes

Error Name

Hex Value (Decimal)

Q.931 Code and Description

UNASSIGNED _NUMBER

0x201 (513)

Cause 01
Unassigned (unallocated) number

NO_ROUTE

0x202 (514)

Cause 02
No route to specified transit network

CHANNEL_UNACCEPTABLE

0x206 (518)

Cause 06
Channel unacceptable

NORMAL_CLEARING

0x210 (528)

Cause 16
Normal call clearing

USER_BUSY

0x211 (529)

Cause 17
User busy

NO_USER_RESPONDING

0x212 (530)

Cause 18
No user responding

CALL_REJECTED

0x215 (533)

Cause 21
Call rejected

NUMBER_CHANGED

0x216 (534)

Cause 22
Number changed

DEST_OUT_OF_ORDER

0x21B (539)

Cause 27
Destination out of order

INVALID_NUMBER_FORMAT

0x21C (540)

Cause 28
Invalid number format (incomplete number)

FACILITY_REJECTED

0x21D (541)

Cause 29
Facility rejected

RESP_TO_STAT_ENQ

0x21E (542)

Cause 30
Response to STATUS ENQUIRY

UNSPECIFIED_CAUSE

0x21F (543)

Cause 31
Normal, unspecified cause

NO_CIRCUIT_AVAILABLE

0x222 (546)

Cause 34
No circuit/channel available

NETWORK_OUT_OF_ORDER

0x226 (550)

Cause 38
Network out of order

TEMPORARY_FAILURE

0x229 (553)

Cause 41
Temporary failure

NETWORK_CONGESTION

0x22A (554)

Cause 42
Switching equipment congestion

REQ_CHANNEL_NOT_AVAIL

0x22C (556)

Cause 44
Requested channel/circuit not available

PRE_EMPTED

0x22C (557)

Cause 45
Call preempted

FACILITY_NOT_SUBSCRIBED

0x232 (562)

Cause 50
Requested facility not subscribed

OUTGOING_CALL_BARRED

0x234 (564)

Cause 52
Outbound call barred

INCOMING_CALL_BARRED

0x236 (566)

Cause 54
Incoming call barred

BEAR_CAP_NOT_AVAIL

0x23A (570)

Cause 58
Bearer capability not presently available

SERVICE_NOT_AVAIL

0x23F (575)

Cause 63
Service or option not available, unspecified

CAP_NOT_IMPLEMENTED

0x241 (577)

Cause 65
Bearer capability not implemented

CHAN_NOT_IMPLEMENTED

0x242 (578)

Cause 66
Channel type not implemented

FACILITY_NOT_IMPLEMENT

0x245 (581)

Cause 69
Requested facility not implemented

INVALID_CALL_REF

0x251 (593)

Cause 81
Invalid call reference value

CHAN_DOES_NOT_EXIST

0x252 (594)

Cause 82
Identified channel does not exist

INCOMPATIBLE_DEST

0x258 (600)

Cause 88
Incompatible destination

INVALID_MSG_UNSPEC

0x25F (607)

Cause 95
Invalid message, unspecified

MANDATORY_IE_MISSING

0x260 (608)

Cause 96
Mandatory IE missing

NONEXISTENT_MSG

0x261 (609)

Cause 97
Message type non-existent or not implemented

WRONG_MESSAGE

0x262 (610)

Cause 98
Message not compatible with call state or message type non-existent or not implemented

BAD_INFO_ELEM

0x263 (611)

Cause 99
Information element non-existent or not implemented

INVALID_ELEM_CONTENTS

0x264 (612)

Cause 100
Invalid information element contents

WRONG_MSG_FOR_STATE

0x265 (613)

Cause 101
Message not compatible with call state

TIMER_EXPIRY

0x266 (614)

Cause 102
Recovery on timer expiry

MANDATORY_IE_LEN_ERR

0x267 (615)

Cause 103
Mandatory IE length error

PROTOCOL_ERROR

0x26F (623)

Cause 111
Protocol error, unspecified

INTERWORKING_UNSPEC

0x27F (639)

Cause 127
Interworking, unspecified

The following table provides the error/cause codes located in the ISDN library. Error values include the hex followed by the decimal in parentheses.


Table 53. ISDN Library Error Codes

Error Name

Value

Description

E_ISSUCC

0x00 (0)

Message acknowledged.

E_ISREADY

0x301 (769)

Board not ready.

E_ISCONFIG

0x302 (770)

Configuration error.

E_ISNOINFO

0x303 (771)

Information not available.

E_ISNOFACILITYBUF

0x305 (773)

Network facility buffer not ready.

E_ISBADBUFADDR

0x306 (774)

Bad buffer address.

E_ISBADTS

0x307 (775)

Bad time slot.

E_ISMAXLEN

0x385 (901)

Exceeds maximum length allowed.

E_ISNULLPTR

0x386 (902)

Null pointer error.

E_ISNOMEM

0x387 (903)

Out of memory.

E_ISFILEOPENFAIL

0x388 (904)

Failed to open a file.

E_ISTNACT

0x389 (905)

Trace is not activated. This error returns when the application either tries to stop a non-existent trace function or to start the trace function twice on the same D channel.

E_ISBADPAR

0x38A (906)

Bad input parameter(s).

E_ISBADCALLID

0x3C1 (961)

Bad call identifier.

E_ISBADCRN

0x3C2 (962)

Bad call reference number.

E_ISNOINFOBUF

0x3C3 (963)

The information requested in the cc_GetCallInfo( ) function call is not available.

E_ISINVNETWORK

0x3C4 (964)

Invalid network type. Applies only to the cc_ReqANI( ) function.

E_FB_UNAVAIL

0x3C8 (968)

Flexible billing unavailable. Applies only to the cc_SetBilling( ) function.

E_ISBADIF

0x3C9 (969)

Bad interface number.

E_TRACEFAIL

0x3CA (970)

Failed to get trace information.

E_UNKNOWNRESULT

0x3CB (971)

Unknown result code.

E_BADSTATE

0x3CD (973)

Bad state.

E_ABORTED

0x3CE (974)

Previous task was aborted by cc_Restart( ).


Previous PageTable Of ContentsTop Of PageIndexNext Page

Click here to contact Dialogic Customer Engineering

Copyright 2001, Dialogic Corporation
All rights reserved
This page generated December, 2001