res_pjsip: Use correct pool for storing the contact_user value.
[asterisk/asterisk.git] / include / asterisk / causes.h
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 */