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 |
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.) | |
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.) | |
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.
7.2.1. Cause/Error Codes from the ISDN FirmwareThe 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. |
Cause/Error Codes from the ISDN Firmware for cc_SetBilling( )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. |
7.2.2. Cause/Error Codes from the ISDN NetworkThe 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 |
NO_ROUTE |
0x202 (514) |
Cause 02 |
CHANNEL_UNACCEPTABLE |
0x206 (518) |
Cause 06 |
NORMAL_CLEARING |
0x210 (528) |
Cause 16 |
USER_BUSY |
0x211 (529) |
Cause 17 |
NO_USER_RESPONDING |
0x212 (530) |
Cause 18 |
CALL_REJECTED |
0x215 (533) |
Cause 21 |
NUMBER_CHANGED |
0x216 (534) |
Cause 22 |
DEST_OUT_OF_ORDER |
0x21B (539) |
Cause 27 |
INVALID_NUMBER_FORMAT |
0x21C (540) |
Cause 28 |
FACILITY_REJECTED |
0x21D (541) |
Cause 29 |
RESP_TO_STAT_ENQ |
0x21E (542) |
Cause 30 |
UNSPECIFIED_CAUSE |
0x21F (543) |
Cause 31 |
NO_CIRCUIT_AVAILABLE |
0x222 (546) |
Cause 34 |
NETWORK_OUT_OF_ORDER |
0x226 (550) |
Cause 38 |
TEMPORARY_FAILURE |
0x229 (553) |
Cause 41 |
NETWORK_CONGESTION |
0x22A (554) |
Cause 42 |
REQ_CHANNEL_NOT_AVAIL |
0x22C (556) |
Cause 44 |
PRE_EMPTED |
0x22C (557) |
Cause 45 |
FACILITY_NOT_SUBSCRIBED |
0x232 (562) |
Cause 50 |
OUTGOING_CALL_BARRED |
0x234 (564) |
Cause 52 |
INCOMING_CALL_BARRED |
0x236 (566) |
Cause 54 |
BEAR_CAP_NOT_AVAIL |
0x23A (570) |
Cause 58 |
SERVICE_NOT_AVAIL |
0x23F (575) |
Cause 63 |
CAP_NOT_IMPLEMENTED |
0x241 (577) |
Cause 65 |
CHAN_NOT_IMPLEMENTED |
0x242 (578) |
Cause 66 |
FACILITY_NOT_IMPLEMENT |
0x245 (581) |
Cause 69 |
INVALID_CALL_REF |
0x251 (593) |
Cause 81 |
CHAN_DOES_NOT_EXIST |
0x252 (594) |
Cause 82 |
INCOMPATIBLE_DEST |
0x258 (600) |
Cause 88 |
INVALID_MSG_UNSPEC |
0x25F (607) |
Cause 95 |
MANDATORY_IE_MISSING |
0x260 (608) |
Cause 96 |
NONEXISTENT_MSG |
0x261 (609) |
Cause 97 |
WRONG_MESSAGE |
0x262 (610) |
Cause 98 |
BAD_INFO_ELEM |
0x263 (611) |
Cause 99 |
INVALID_ELEM_CONTENTS |
0x264 (612) |
Cause 100 |
WRONG_MSG_FOR_STATE |
0x265 (613) |
Cause 101 |
TIMER_EXPIRY |
0x266 (614) |
Cause 102 |
MANDATORY_IE_LEN_ERR |
0x267 (615) |
Cause 103 |
PROTOCOL_ERROR |
0x26F (623) |
Cause 111 |
INTERWORKING_UNSPEC |
0x27F (639) |
Cause 127 |
7.2.3. Cause/Error Codes from the ISDN LibraryThe 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( ). |
Click here to contact Dialogic Customer Engineering
Copyright 2001, Dialogic Corporation