libisdn
Q850.h
Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003   FileName:             Q850.h
00004 
00005   Contents:             ITU-T Q.850 cause codes
00006 
00007   License/Copyright:
00008 
00009   Copyright (c) 2008, Stefan Knoblich, axsentis GmbH. All rights reserved.
00010   email: s.knoblich@axsentis.de
00011 
00012   Redistribution and use in source and binary forms, with or without
00013   modification, are permitted provided that the following conditions are
00014   met:
00015 
00016     * Redistributions of source code must retain the above copyright notice,
00017       this list of conditions and the following disclaimer.
00018     * Redistributions in binary form must reproduce the above copyright notice,
00019       this list of conditions and the following disclaimer in the documentation
00020       and/or other materials provided with the distribution.
00021     * Neither the name of the axsentis GmbH nor the names of its contributors
00022       may be used to endorse or promote products derived from this software
00023       without specific prior written permission.
00024 
00025   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
00026   AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00027   IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00028   ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
00029   LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
00030   CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
00031   SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
00032   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
00033   CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
00034   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
00035   POSSIBILITY OF SUCH DAMAGE.
00036 *****************************************************************************/
00037 
00038 #ifndef _Q850_H_
00039 #define _Q850_H_
00040 
00046 enum {
00047         Q850_CAUSE_NONE = 0,
00048         Q850_CAUSE_UNALLOCATED = 1,
00049         Q850_CAUSE_NO_ROUTE_TRANSIT_NET = 2,
00050         Q850_CAUSE_NO_ROUTE_DESTINATION = 3,
00051         Q850_CAUSE_CHANNEL_UNACCEPTABLE = 6,
00052         Q850_CAUSE_CALL_AWARDED_DELIVERED = 7,
00053         Q850_CAUSE_NORMAL_CLEARING = 16,
00054         Q850_CAUSE_USER_BUSY = 17,
00055         Q850_CAUSE_NO_USER_RESPONSE = 18,
00056         Q850_CAUSE_NO_ANSWER = 19,
00057         Q850_CAUSE_SUBSCRIBER_ABSENT = 20,
00058         Q850_CAUSE_CALL_REJECTED = 21,
00059         Q850_CAUSE_NUMBER_CHANGED = 22,
00060         Q850_CAUSE_REDIRECTION_TO_NEW_DESTINATION = 23,
00061         Q850_CAUSE_EXCHANGE_ROUTING_ERROR = 25,
00062         Q850_CAUSE_DESTINATION_OUT_OF_ORDER = 27,
00063         Q850_CAUSE_INVALID_NUMBER_FORMAT = 28,
00064         Q850_CAUSE_FACILITY_REJECTED = 29,
00065         Q850_CAUSE_RESPONSE_TO_STATUS_ENQUIRY = 30,
00066         Q850_CAUSE_NORMAL_UNSPECIFIED = 31,
00067         Q850_CAUSE_NORMAL_CIRCUIT_CONGESTION = 34,
00068         Q850_CAUSE_NETWORK_OUT_OF_ORDER = 38,
00069         Q850_CAUSE_NORMAL_TEMPORARY_FAILURE = 41,
00070         Q850_CAUSE_SWITCH_CONGESTION = 42,
00071         Q850_CAUSE_ACCESS_INFO_DISCARDED = 43,
00072         Q850_CAUSE_REQUESTED_CHAN_UNAVAIL = 44,
00073         Q850_CAUSE_PRE_EMPTED = 45,
00074         Q850_CAUSE_FACILITY_NOT_SUBSCRIBED = 50,
00075         Q850_CAUSE_OUTGOING_CALL_BARRED = 52,
00076         Q850_CAUSE_INCOMING_CALL_BARRED = 54,
00077         Q850_CAUSE_BEARERCAPABILITY_NOTAUTH = 57,
00078         Q850_CAUSE_BEARERCAPABILITY_NOTAVAIL = 58,
00079         Q850_CAUSE_SERVICE_UNAVAILABLE = 63,
00080         Q850_CAUSE_BEARERCAPABILITY_NOTIMPL = 65,
00081         Q850_CAUSE_CHAN_NOT_IMPLEMENTED = 66,
00082         Q850_CAUSE_FACILITY_NOT_IMPLEMENTED = 69,
00083         Q850_CAUSE_SERVICE_NOT_IMPLEMENTED = 79,
00084         Q850_CAUSE_INVALID_CALL_REFERENCE = 81,
00085         Q850_CAUSE_INCOMPATIBLE_DESTINATION = 88,
00086         Q850_CAUSE_INVALID_MSG_UNSPECIFIED = 95,
00087         Q850_CAUSE_MANDATORY_IE_MISSING = 96,
00088         Q850_CAUSE_MESSAGE_TYPE_NONEXIST = 97,
00089         Q850_CAUSE_WRONG_MESSAGE = 98,
00090         Q850_CAUSE_IE_NONEXIST = 99,
00091         Q850_CAUSE_INVALID_IE_CONTENTS = 100,
00092         Q850_CAUSE_WRONG_CALL_STATE = 101,
00093         Q850_CAUSE_RECOVERY_ON_TIMER_EXPIRE = 102,
00094         Q850_CAUSE_MANDATORY_IE_LENGTH_ERROR = 103,
00095         Q850_CAUSE_PROTOCOL_ERROR = 111,
00096         Q850_CAUSE_INTERWORKING = 127
00097 };
00098 
00105 const char *Q850CauseGetName(const int cause);
00106 
00107 #endif