Difference between revisions of "Asterisk hangup code"

From 탱이의 잡동사니
Jump to: navigation, search
(Created page with "== Overview == Asterisk hangup code 내용 정리. == Basic == Hangup cause 코드 정리. Asterisk 는 Hangup code로 ITU-T Q.931 을 준수한다. Q.931과 SIP 코드와...")
 
(Basic)
 
Line 69: Line 69:
 
#define AST_CAUSE_NOTDEFINED    0
 
#define AST_CAUSE_NOTDEFINED    0
 
#define AST_CAUSE_NOSUCHDRIVER  AST_CAUSE_CHAN_NOT_IMPLEMENTED
 
#define AST_CAUSE_NOSUCHDRIVER  AST_CAUSE_CHAN_NOT_IMPLEMENTED
 +
</pre>
 +
 +
== Retry ==
 +
Dialing 시도가 실패할 경우, 리턴 코드에 맞춰 재시도를 해야 할 경우가 있다.
 +
 +
<pre>
 +
Name Asterisk code SIP code Retry Note
 +
AST_CAUSE_NOT_DEFINED 0 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_UNALLOCATED 1 404, 485, 604 O Provider error. Retry it with another provider.
 +
AST_CAUSE_NO_ROUTE_TRANSIT_NET 2 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_NO_ROUTE_DESTINATION 3 420 O Provider error. Retry it with another provider.
 +
AST_CAUSE_MISDIALLED_TRUNK_PREFIX 5 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_CHANNEL_UNACCEPTABLE 6 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_CALL_AWARDED_DELIVERED 7 O This is happen if the channel was transferred to the wrong channel.
 +
AST_CAUSE_PRE_EMPTED 8 O Provider error. Retry it with another provider.
 +
AST_CAUSE_NUMBER_PORTED_NOT_HERE 14 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_NORMAL_CLEARING 16 X
 +
AST_CAUSE_USER_BUSY 17 486, 600 X
 +
AST_CAUSE_NO_USER_RESPONSE 18 408 O Provider error. Retry it with another provider.
 +
AST_CAUSE_NO_ANSWER 19 480, 483 X
 +
AST_CAUSE_SUBSCRIBER_ABSENT 20 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_CALL_REJECTED 21 401, 403, 407, 603 X
 +
AST_CAUSE_NUMBER_CHANGED 22 410 O Provider error. Retry it with another provider.
 +
AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION 23 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_ANSWERED_ELSEWHERE 26 X
 +
AST_CAUSE_DESTINATION_OUT_OF_ORDER 27 502 O Provider error. Retry it with another provider.
 +
AST_CAUSE_INVALID_NUMBER_FORMAT 28 484 O Provider error. Retry it with another provider.
 +
AST_CAUSE_FACILITY_REJECTED 29 501 O Provider error. Retry it with another provider.
 +
AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY 30 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_NORMAL_UNSPECIFIED 31 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_NORMAL_CIRCUIT_CONGESTION 34 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_NETWORK_OUT_OF_ORDER 38 500 O Provider error. Retry it with another provider.
 +
AST_CAUSE_NORMAL_TEMPORARY_FAILURE 41 409 O Provider error. Retry it with another provider.
 +
AST_CAUSE_SWITCH_CONGESTION 42 5XX O Provider error. Retry it with another provider.
 +
AST_CAUSE_ACCESS_INFO_DISCARDED 43 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_REQUESTED_CHAN_UNAVAIL 44 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_FACILITY_NOT_SUBSCRIBED 50 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_OUTGOING_CALL_BARRED 52 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_INCOMING_CALL_BARRED 54 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_BEARERCAPABILITY_NOTAUTH 57 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_BEARERCAPABILITY_NOTAVAIL 58 488, 606 O Provider error. Retry it with another provider.
 +
AST_CAUSE_BEARERCAPABILITY_NOTIMPL 65 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_CHAN_NOT_IMPLEMENTED 66 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_FACILITY_NOT_IMPLEMENTED 69 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_INVALID_CALL_REFERENCE 81 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_INCOMPATIBLE_DESTINATION 88 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_INVALID_MSG_UNSPECIFIED 95 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_MANDATORY_IE_MISSING 96 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_MESSAGE_TYPE_NONEXIST 97 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_WRONG_MESSAGE 98 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_IE_NONEXIST 99 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_INVALID_IE_CONTENTS 100 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_WRONG_CALL_STATE 101 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE 102 504 O Provider error. Retry it with another provider.
 +
AST_CAUSE_PROTOCOL_ERROR 111 O Asterisk internal error. Retry it with another Asterisk.
 +
AST_CAUSE_INTERWORKING 127 4xx, 505, 6xx O Provider error. Retry it with another provider.
 
</pre>
 
</pre>
  

Latest revision as of 09:11, 11 March 2019

Overview

Asterisk hangup code 내용 정리.

Basic

Hangup cause 코드 정리. Asterisk 는 Hangup code로 ITU-T Q.931 을 준수한다. Q.931과 SIP 코드와 매핑을 하기위해서는 RFC 3398 을 참조하면 된다.

/*! \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

Retry

Dialing 시도가 실패할 경우, 리턴 코드에 맞춰 재시도를 해야 할 경우가 있다.

Name	Asterisk code	SIP code	Retry	Note
AST_CAUSE_NOT_DEFINED		0		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_UNALLOCATED	1	404, 485, 604	O	Provider error. Retry it with another provider.
AST_CAUSE_NO_ROUTE_TRANSIT_NET	2		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_NO_ROUTE_DESTINATION	3	420	O	Provider error. Retry it with another provider.
AST_CAUSE_MISDIALLED_TRUNK_PREFIX	5		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_CHANNEL_UNACCEPTABLE	6		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_CALL_AWARDED_DELIVERED	7		O	This is happen if the channel was transferred to the wrong channel.
AST_CAUSE_PRE_EMPTED	8		O	Provider error. Retry it with another provider.
AST_CAUSE_NUMBER_PORTED_NOT_HERE	14		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_NORMAL_CLEARING	16		X	
AST_CAUSE_USER_BUSY	17	486, 600	X	
AST_CAUSE_NO_USER_RESPONSE	18	408	O	Provider error. Retry it with another provider.
AST_CAUSE_NO_ANSWER	19	480, 483	X	
AST_CAUSE_SUBSCRIBER_ABSENT	20		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_CALL_REJECTED	21	401, 403, 407, 603	X	
AST_CAUSE_NUMBER_CHANGED	22	410	O	Provider error. Retry it with another provider.
AST_CAUSE_REDIRECTED_TO_NEW_DESTINATION	23		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_ANSWERED_ELSEWHERE	26		X	
AST_CAUSE_DESTINATION_OUT_OF_ORDER	27	502	O	Provider error. Retry it with another provider.
AST_CAUSE_INVALID_NUMBER_FORMAT	28	484	O	Provider error. Retry it with another provider.
AST_CAUSE_FACILITY_REJECTED	29	501	O	Provider error. Retry it with another provider.
AST_CAUSE_RESPONSE_TO_STATUS_ENQUIRY	30		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_NORMAL_UNSPECIFIED	31		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_NORMAL_CIRCUIT_CONGESTION	34		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_NETWORK_OUT_OF_ORDER	38	500	O	Provider error. Retry it with another provider.
AST_CAUSE_NORMAL_TEMPORARY_FAILURE	41	409	O	Provider error. Retry it with another provider.
AST_CAUSE_SWITCH_CONGESTION	42	5XX	O	Provider error. Retry it with another provider.
AST_CAUSE_ACCESS_INFO_DISCARDED	43		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_REQUESTED_CHAN_UNAVAIL	44		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_FACILITY_NOT_SUBSCRIBED	50		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_OUTGOING_CALL_BARRED	52		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_INCOMING_CALL_BARRED	54		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_BEARERCAPABILITY_NOTAUTH	57		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_BEARERCAPABILITY_NOTAVAIL	58	488, 606	O	Provider error. Retry it with another provider.
AST_CAUSE_BEARERCAPABILITY_NOTIMPL	65		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_CHAN_NOT_IMPLEMENTED	66		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_FACILITY_NOT_IMPLEMENTED	69		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_INVALID_CALL_REFERENCE	81		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_INCOMPATIBLE_DESTINATION	88		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_INVALID_MSG_UNSPECIFIED	95		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_MANDATORY_IE_MISSING	96		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_MESSAGE_TYPE_NONEXIST	97		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_WRONG_MESSAGE	98		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_IE_NONEXIST	99		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_INVALID_IE_CONTENTS	100		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_WRONG_CALL_STATE	101		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_RECOVERY_ON_TIMER_EXPIRE	102	504	O	Provider error. Retry it with another provider.
AST_CAUSE_PROTOCOL_ERROR	111		O	Asterisk internal error. Retry it with another Asterisk.
AST_CAUSE_INTERWORKING	127	4xx, 505, 6xx	O	Provider error. Retry it with another provider.

See also