aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/causes.h
blob: b792b0a00b2ace039c76c20270f22e6aac14d3b0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
/*
 * Asterisk -- An open source telephony toolkit.
 *
 * Copyright (C) 1999 - 2005, Digium, Inc.
 *
 * Martin Pycko <martinp@digium.com>
 *
 * See http://www.asterisk.org for more information about
 * the Asterisk project. Please do not directly contact
 * any of the maintainers of this project for assistance;
 * the project provides a web site, mailing lists and IRC
 * channels for your use.
 *
 * This program is free software, distributed under the terms of
 * the GNU General Public License Version 2. See the LICENSE file
 * at the top of the source tree.
 */

/*! \file
 * \brief Internal Asterisk hangup causes
 */

#ifndef _ASTERISK_CAUSES_H
#define _ASTERISK_CAUSES_H

/*! \page AstCauses Hangup Causes for Asterisk

The Asterisk hangup causes are delivered to the dialplan in the
${HANGUPCAUSE} channel variable after a call (after execution
of "dial").

In SIP, we have a conversion table to convert between SIP
return codes and Q.931 both ways. This is to improve SIP/ISDN
compatibility.

These are the current codes, based on the Q.850/Q.931
specification:

	- AST_CAUSE_UNALLOCATED                      1
	- AST_CAUSE_NO_ROUTE_TRANSIT_NET             2
	- AST_CAUSE_NO_ROUTE_DESTINATION             3
	- AST_CAUSE_MISDIALLED_TRUNK_PREFIX          5
	- AST_CAUSE_CHANNEL_UNACCEPTABLE             6
	- AST_CAUSE_CALL_AWARDED_DELIVERED           7
	- AST_CAUSE_PRE_EMPTED                       8
	- AST_CAUSE_NUMBER_PORTED_NOT_HERE          14
	- AST_CAUSE_NORMAL_CLEARING                 16
	- AST_CAUSE_USER_BUSY                       17
	- AST_CAUSE_NO_USER_RESPONSE                18
	- AST_CAUSE_NO_ANSWER                       19
	- AST_CAUSE_CALL_REJECTED                   21
	- AST_CAUSE_NUMBER_CHANGED                  22
	- AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION   23
	- AST_CAUSE_ANSWERED_ELSEWHERE              26
	- AST_CAUSE_DESTINATION_OUT_OF_ORDER        27
	- AST_CAUSE_INVALID_NUMBER_FORMAT           28
	- AST_CAUSE_FACILITY_REJECTED               29
	- AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY      30
	- AST_CAUSE_NORMAL_UNSPECIFIED              31
	- AST_CAUSE_NORMAL_CIRCUIT_CONGESTION       34
	- AST_CAUSE_NETWORK_OUT_OF_ORDER            38
	- AST_CAUSE_NORMAL_TEMPORARY_FAILURE        41
	- AST_CAUSE_SWITCH_CONGESTION               42
	- AST_CAUSE_ACCESS_INFO_DISCARDED           43
	- AST_CAUSE_REQUESTED_CHAN_UNAVAIL          44
	- AST_CAUSE_FACILITY_NOT_SUBSCRIBED         50
	- AST_CAUSE_OUTGOING_CALL_BARRED            52
	- AST_CAUSE_INCOMING_CALL_BARRED            54
	- AST_CAUSE_BEARERCAPABILITY_NOTAUTH        57
	- AST_CAUSE_BEARERCAPABILITY_NOTAVAIL       58
	- AST_CAUSE_BEARERCAPABILITY_NOTIMPL        65
	- AST_CAUSE_CHAN_NOT_IMPLEMENTED            66
	- AST_CAUSE_FACILITY_NOT_IMPLEMENTED        69
	- AST_CAUSE_INVALID_CALL_REFERENCE          81
	- AST_CAUSE_INCOMPATIBLE_DESTINATION		88
	- AST_CAUSE_INVALID_MSG_UNSPECIFIED         95
	- AST_CAUSE_MANDATORY_IE_MISSING            96
	- AST_CAUSE_MESSAGE_TYPE_NONEXIST           97
	- AST_CAUSE_WRONG_MESSAGE                   98
	- AST_CAUSE_IE_NONEXIST                     99
	- AST_CAUSE_INVALID_IE_CONTENTS            100
	- AST_CAUSE_WRONG_CALL_STATE               101
	- AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE       102
	- AST_CAUSE_MANDATORY_IE_LENGTH_ERROR      103
	- AST_CAUSE_PROTOCOL_ERROR                 111
	- AST_CAUSE_INTERWORKING                   127

For more information:
- \ref app_dial.c
*/

/*! \name Causes for disconnection (from Q.850/Q.931)
 *  These are the internal cause codes used in Asterisk.
 *  \ref AstCauses
 */
/*@{ */
#define AST_CAUSE_UNALLOCATED                    1
#define AST_CAUSE_NO_ROUTE_TRANSIT_NET           2
#define AST_CAUSE_NO_ROUTE_DESTINATION           3
#define AST_CAUSE_MISDIALLED_TRUNK_PREFIX        5
#define AST_CAUSE_CHANNEL_UNACCEPTABLE           6
#define AST_CAUSE_CALL_AWARDED_DELIVERED         7
#define AST_CAUSE_PRE_EMPTED                     8
#define AST_CAUSE_NUMBER_PORTED_NOT_HERE        14
#define AST_CAUSE_NORMAL_CLEARING               16
#define AST_CAUSE_USER_BUSY                     17
#define AST_CAUSE_NO_USER_RESPONSE              18
#define AST_CAUSE_NO_ANSWER                     19
#define AST_CAUSE_SUBSCRIBER_ABSENT             20
#define AST_CAUSE_CALL_REJECTED                 21
#define AST_CAUSE_NUMBER_CHANGED                22
#define AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION 23
#define AST_CAUSE_ANSWERED_ELSEWHERE            26
#define AST_CAUSE_DESTINATION_OUT_OF_ORDER		27
#define AST_CAUSE_INVALID_NUMBER_FORMAT			28
#define AST_CAUSE_FACILITY_REJECTED             29
#define AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY    30
#define AST_CAUSE_NORMAL_UNSPECIFIED            31
#define AST_CAUSE_NORMAL_CIRCUIT_CONGESTION     34
#define AST_CAUSE_NETWORK_OUT_OF_ORDER          38
#define AST_CAUSE_NORMAL_TEMPORARY_FAILURE      41
#define AST_CAUSE_SWITCH_CONGESTION             42
#define AST_CAUSE_ACCESS_INFO_DISCARDED         43
#define AST_CAUSE_REQUESTED_CHAN_UNAVAIL        44
#define AST_CAUSE_FACILITY_NOT_SUBSCRIBED       50
#define AST_CAUSE_OUTGOING_CALL_BARRED          52
#define AST_CAUSE_INCOMING_CALL_BARRED          54
#define AST_CAUSE_BEARERCAPABILITY_NOTAUTH      57
#define AST_CAUSE_BEARERCAPABILITY_NOTAVAIL     58
#define AST_CAUSE_BEARERCAPABILITY_NOTIMPL      65
#define AST_CAUSE_CHAN_NOT_IMPLEMENTED          66
#define AST_CAUSE_FACILITY_NOT_IMPLEMENTED      69
#define AST_CAUSE_INVALID_CALL_REFERENCE        81
#define AST_CAUSE_INCOMPATIBLE_DESTINATION      88
#define AST_CAUSE_INVALID_MSG_UNSPECIFIED       95
#define AST_CAUSE_MANDATORY_IE_MISSING			96
#define AST_CAUSE_MESSAGE_TYPE_NONEXIST			97
#define AST_CAUSE_WRONG_MESSAGE                 98
#define AST_CAUSE_IE_NONEXIST                   99
#define AST_CAUSE_INVALID_IE_CONTENTS          100
#define AST_CAUSE_WRONG_CALL_STATE             101
#define AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE     102
#define AST_CAUSE_MANDATORY_IE_LENGTH_ERROR    103
#define AST_CAUSE_PROTOCOL_ERROR               111
#define AST_CAUSE_INTERWORKING                 127

/* Special Asterisk aliases */
#define AST_CAUSE_BUSY          AST_CAUSE_USER_BUSY
#define AST_CAUSE_FAILURE       AST_CAUSE_NETWORK_OUT_OF_ORDER
#define AST_CAUSE_NORMAL        AST_CAUSE_NORMAL_CLEARING
#define AST_CAUSE_NOANSWER      AST_CAUSE_NO_ANSWER
#define AST_CAUSE_CONGESTION    AST_CAUSE_NORMAL_CIRCUIT_CONGESTION
#define AST_CAUSE_UNREGISTERED  AST_CAUSE_SUBSCRIBER_ABSENT
#define AST_CAUSE_NOTDEFINED    0
#define AST_CAUSE_NOSUCHDRIVER  AST_CAUSE_CHAN_NOT_IMPLEMENTED
/*@} */

#endif /* _ASTERISK_CAUSES_H */