aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/causes.h
blob: 7e83ec5300160116beacf90d24584cf858e61996 (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
/*
 * 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.931
specification:

	- AST_CAUSE_UNALLOCATED				1
	- AST_CAUSE_NO_ROUTE_TRANSIT_NET			2
	- AST_CAUSE_NO_ROUTE_DESTINATION			3
	- AST_CAUSE_CHANNEL_UNACCEPTABLE			6
	- AST_CAUSE_CALL_AWARDED_DELIVERED		7
	- 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_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_PRE_EMPTED				45
	- 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.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_CHANNEL_UNACCEPTABLE			6
#define AST_CAUSE_CALL_AWARDED_DELIVERED		7
#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_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_PRE_EMPTED				45
#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 */