Asterisk - The Open Source Telephony Project  GIT-master-1f78ee9
causes.h
Go to the documentation of this file.
1 /*
2  * Asterisk -- An open source telephony toolkit.
3  *
4  * Copyright (C) 1999 - 2005, Digium, Inc.
5  *
6  * Martin Pycko <martinp@digium.com>
7  *
8  * See http://www.asterisk.org for more information about
9  * the Asterisk project. Please do not directly contact
10  * any of the maintainers of this project for assistance;
11  * the project provides a web site, mailing lists and IRC
12  * channels for your use.
13  *
14  * This program is free software, distributed under the terms of
15  * the GNU General Public License Version 2. See the LICENSE file
16  * at the top of the source tree.
17  */
18 
19 /*! \file
20  * \brief Internal Asterisk hangup causes
21  */
22 
23 #ifndef _ASTERISK_CAUSES_H
24 #define _ASTERISK_CAUSES_H
25 
26 /*! \page AstCauses Hangup Causes for Asterisk
27 
28 The Asterisk hangup causes are delivered to the dialplan in the
29 ${HANGUPCAUSE} channel variable after a call (after execution
30 of "dial").
31 
32 In SIP, we have a conversion table to convert between SIP
33 return codes and Q.931 both ways. This is to improve SIP/ISDN
34 compatibility.
35 
36 These are the current codes, based on the Q.850/Q.931
37 specification:
38 
39  - AST_CAUSE_UNALLOCATED 1
40  - AST_CAUSE_NO_ROUTE_TRANSIT_NET 2
41  - AST_CAUSE_NO_ROUTE_DESTINATION 3
42  - AST_CAUSE_MISDIALLED_TRUNK_PREFIX 5
43  - AST_CAUSE_CHANNEL_UNACCEPTABLE 6
44  - AST_CAUSE_CALL_AWARDED_DELIVERED 7
45  - AST_CAUSE_PRE_EMPTED 8
46  - AST_CAUSE_NUMBER_PORTED_NOT_HERE 14
47  - AST_CAUSE_NORMAL_CLEARING 16
48  - AST_CAUSE_USER_BUSY 17
49  - AST_CAUSE_NO_USER_RESPONSE 18
50  - AST_CAUSE_NO_ANSWER 19
51  - AST_CAUSE_CALL_REJECTED 21
52  - AST_CAUSE_NUMBER_CHANGED 22
53  - AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION 23
54  - AST_CAUSE_ANSWERED_ELSEWHERE 26
55  - AST_CAUSE_DESTINATION_OUT_OF_ORDER 27
56  - AST_CAUSE_INVALID_NUMBER_FORMAT 28
57  - AST_CAUSE_FACILITY_REJECTED 29
58  - AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY 30
59  - AST_CAUSE_NORMAL_UNSPECIFIED 31
60  - AST_CAUSE_NORMAL_CIRCUIT_CONGESTION 34
61  - AST_CAUSE_NETWORK_OUT_OF_ORDER 38
62  - AST_CAUSE_NORMAL_TEMPORARY_FAILURE 41
63  - AST_CAUSE_SWITCH_CONGESTION 42
64  - AST_CAUSE_ACCESS_INFO_DISCARDED 43
65  - AST_CAUSE_REQUESTED_CHAN_UNAVAIL 44
66  - AST_CAUSE_FACILITY_NOT_SUBSCRIBED 50
67  - AST_CAUSE_OUTGOING_CALL_BARRED 52
68  - AST_CAUSE_INCOMING_CALL_BARRED 54
69  - AST_CAUSE_BEARERCAPABILITY_NOTAUTH 57
70  - AST_CAUSE_BEARERCAPABILITY_NOTAVAIL 58
71  - AST_CAUSE_BEARERCAPABILITY_NOTIMPL 65
72  - AST_CAUSE_CHAN_NOT_IMPLEMENTED 66
73  - AST_CAUSE_FACILITY_NOT_IMPLEMENTED 69
74  - AST_CAUSE_INVALID_CALL_REFERENCE 81
75  - AST_CAUSE_INCOMPATIBLE_DESTINATION 88
76  - AST_CAUSE_INVALID_MSG_UNSPECIFIED 95
77  - AST_CAUSE_MANDATORY_IE_MISSING 96
78  - AST_CAUSE_MESSAGE_TYPE_NONEXIST 97
79  - AST_CAUSE_WRONG_MESSAGE 98
80  - AST_CAUSE_IE_NONEXIST 99
81  - AST_CAUSE_INVALID_IE_CONTENTS 100
82  - AST_CAUSE_WRONG_CALL_STATE 101
83  - AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE 102
84  - AST_CAUSE_MANDATORY_IE_LENGTH_ERROR 103
85  - AST_CAUSE_PROTOCOL_ERROR 111
86  - AST_CAUSE_INTERWORKING 127
87 
88 For more information:
89 - \ref app_dial.c
90 */
91 
92 /*! \name Causes for disconnection (from Q.850/Q.931)
93  * These are the internal cause codes used in Asterisk.
94  * \ref AstCauses
95  */
96 /*@{ */
97 #define AST_CAUSE_UNALLOCATED 1
98 #define AST_CAUSE_NO_ROUTE_TRANSIT_NET 2
99 #define AST_CAUSE_NO_ROUTE_DESTINATION 3
100 #define AST_CAUSE_MISDIALLED_TRUNK_PREFIX 5
101 #define AST_CAUSE_CHANNEL_UNACCEPTABLE 6
102 #define AST_CAUSE_CALL_AWARDED_DELIVERED 7
103 #define AST_CAUSE_PRE_EMPTED 8
104 #define AST_CAUSE_NUMBER_PORTED_NOT_HERE 14
105 #define AST_CAUSE_NORMAL_CLEARING 16
106 #define AST_CAUSE_USER_BUSY 17
107 #define AST_CAUSE_NO_USER_RESPONSE 18
108 #define AST_CAUSE_NO_ANSWER 19
109 #define AST_CAUSE_SUBSCRIBER_ABSENT 20
110 #define AST_CAUSE_CALL_REJECTED 21
111 #define AST_CAUSE_NUMBER_CHANGED 22
112 #define AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION 23
113 #define AST_CAUSE_ANSWERED_ELSEWHERE 26
114 #define AST_CAUSE_DESTINATION_OUT_OF_ORDER 27
115 #define AST_CAUSE_INVALID_NUMBER_FORMAT 28
116 #define AST_CAUSE_FACILITY_REJECTED 29
117 #define AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY 30
118 #define AST_CAUSE_NORMAL_UNSPECIFIED 31
119 #define AST_CAUSE_NORMAL_CIRCUIT_CONGESTION 34
120 #define AST_CAUSE_NETWORK_OUT_OF_ORDER 38
121 #define AST_CAUSE_NORMAL_TEMPORARY_FAILURE 41
122 #define AST_CAUSE_SWITCH_CONGESTION 42
123 #define AST_CAUSE_ACCESS_INFO_DISCARDED 43
124 #define AST_CAUSE_REQUESTED_CHAN_UNAVAIL 44
125 #define AST_CAUSE_FACILITY_NOT_SUBSCRIBED 50
126 #define AST_CAUSE_OUTGOING_CALL_BARRED 52
127 #define AST_CAUSE_INCOMING_CALL_BARRED 54
128 #define AST_CAUSE_BEARERCAPABILITY_NOTAUTH 57
129 #define AST_CAUSE_BEARERCAPABILITY_NOTAVAIL 58
130 #define AST_CAUSE_BEARERCAPABILITY_NOTIMPL 65
131 #define AST_CAUSE_CHAN_NOT_IMPLEMENTED 66
132 #define AST_CAUSE_FACILITY_NOT_IMPLEMENTED 69
133 #define AST_CAUSE_INVALID_CALL_REFERENCE 81
134 #define AST_CAUSE_INCOMPATIBLE_DESTINATION 88
135 #define AST_CAUSE_INVALID_MSG_UNSPECIFIED 95
136 #define AST_CAUSE_MANDATORY_IE_MISSING 96
137 #define AST_CAUSE_MESSAGE_TYPE_NONEXIST 97
138 #define AST_CAUSE_WRONG_MESSAGE 98
139 #define AST_CAUSE_IE_NONEXIST 99
140 #define AST_CAUSE_INVALID_IE_CONTENTS 100
141 #define AST_CAUSE_WRONG_CALL_STATE 101
142 #define AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE 102
143 #define AST_CAUSE_MANDATORY_IE_LENGTH_ERROR 103
144 #define AST_CAUSE_PROTOCOL_ERROR 111
145 #define AST_CAUSE_INTERWORKING 127
146 
147 /* Special Asterisk aliases */
148 #define AST_CAUSE_BUSY AST_CAUSE_USER_BUSY
149 #define AST_CAUSE_FAILURE AST_CAUSE_NETWORK_OUT_OF_ORDER
150 #define AST_CAUSE_NORMAL AST_CAUSE_NORMAL_CLEARING
151 #define AST_CAUSE_NOANSWER AST_CAUSE_NO_ANSWER
152 #define AST_CAUSE_CONGESTION AST_CAUSE_NORMAL_CIRCUIT_CONGESTION
153 #define AST_CAUSE_UNREGISTERED AST_CAUSE_SUBSCRIBER_ABSENT
154 #define AST_CAUSE_NOTDEFINED 0
155 #define AST_CAUSE_NOSUCHDRIVER AST_CAUSE_CHAN_NOT_IMPLEMENTED
156 /*@} */
157 
158 #endif /* _ASTERISK_CAUSES_H */