Make Asterisk cause codes match those of Q.931 (bug #1999)
[asterisk/asterisk.git] / include / asterisk / causes.h
1 /*
2  * Asterisk -- A telephony toolkit for Linux.
3  *
4  * Internal Asterisk's hangup causes
5  *
6  * Copyright (C) 2003, Digium
7  *
8  * Martin Pycko <martinp@digium.com>
9  *
10  * This program is free software, distributed under the terms of
11  * the GNU General Public License
12  */
13
14 #ifndef _ASTERISK_CAUSES_H
15 #define _ASTERISK_CAUSES_H
16
17 /* Causes for disconnection (from Q.931) */
18 #define AST_CAUSE_UNALLOCATED                                   1
19 #define AST_CAUSE_NO_ROUTE_TRANSIT_NET                  2
20 #define AST_CAUSE_NO_ROUTE_DESTINATION                  3
21 #define AST_CAUSE_CHANNEL_UNACCEPTABLE                  6
22 #define AST_CAUSE_CALL_AWARDED_DELIVERED                7
23 #define AST_CAUSE_NORMAL_CLEARING                               16
24 #define AST_CAUSE_USER_BUSY                                             17
25 #define AST_CAUSE_NO_USER_RESPONSE                              18
26 #define AST_CAUSE_NO_ANSWER                                             19
27 #define AST_CAUSE_CALL_REJECTED                                 21
28 #define AST_CAUSE_NUMBER_CHANGED                                22
29 #define AST_CAUSE_DESTINATION_OUT_OF_ORDER              27
30 #define AST_CAUSE_INVALID_NUMBER_FORMAT                 28
31 #define AST_CAUSE_FACILITY_REJECTED                             29
32 #define AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY    30
33 #define AST_CAUSE_NORMAL_UNSPECIFIED                    31
34 #define AST_CAUSE_NORMAL_CIRCUIT_CONGESTION             34
35 #define AST_CAUSE_NETWORK_OUT_OF_ORDER                  38
36 #define AST_CAUSE_NORMAL_TEMPORARY_FAILURE              41
37 #define AST_CAUSE_SWITCH_CONGESTION                             42
38 #define AST_CAUSE_ACCESS_INFO_DISCARDED                 43
39 #define AST_CAUSE_REQUESTED_CHAN_UNAVAIL                44
40 #define AST_CAUSE_PRE_EMPTED                                    45
41 #define AST_CAUSE_FACILITY_NOT_SUBSCRIBED               50
42 #define AST_CAUSE_OUTGOING_CALL_BARRED                  52
43 #define AST_CAUSE_INCOMING_CALL_BARRED                  54
44 #define AST_CAUSE_BEARERCAPABILITY_NOTAUTH              57
45 #define AST_CAUSE_BEARERCAPABILITY_NOTAVAIL     58
46 #define AST_CAUSE_BEARERCAPABILITY_NOTIMPL              65
47 #define AST_CAUSE_CHAN_NOT_IMPLEMENTED                  66
48 #define AST_CAUSE_FACILITY_NOT_IMPLEMENTED      69
49 #define AST_CAUSE_INVALID_CALL_REFERENCE                81
50 #define AST_CAUSE_INCOMPATIBLE_DESTINATION              88
51 #define AST_CAUSE_INVALID_MSG_UNSPECIFIED               95
52 #define AST_CAUSE_MANDATORY_IE_MISSING                  96
53 #define AST_CAUSE_MESSAGE_TYPE_NONEXIST                 97
54 #define AST_CAUSE_WRONG_MESSAGE                                 98
55 #define AST_CAUSE_IE_NONEXIST                                   99
56 #define AST_CAUSE_INVALID_IE_CONTENTS                   100
57 #define AST_CAUSE_WRONG_CALL_STATE                              101
58 #define AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE              102
59 #define AST_CAUSE_MANDATORY_IE_LENGTH_ERROR             103
60 #define AST_CAUSE_PROTOCOL_ERROR                                111
61 #define AST_CAUSE_INTERWORKING                                  127
62
63 /* Special Asterisk aliases */
64 #define AST_CAUSE_BUSY                                                  AST_CAUSE_USER_BUSY
65 #define AST_CAUSE_FAILURE                                               AST_CAUSE_NETWORK_OUT_OF_ORDER
66 #define AST_CAUSE_NORMAL                                                AST_CAUSE_NORMAL_CLEARING
67 #define AST_CAUSE_NOANSWER                                              AST_CAUSE_NO_ANSWER
68 #define AST_CAUSE_CONGESTION                                    AST_CAUSE_NORMAL_CIRCUIT_CONGESTION
69 #define AST_CAUSE_NOTDEFINED                                    0
70
71 #endif