Asterisk status code: Difference between revisions
Jump to navigation
Jump to search
(Created page with "== Overview == Asterisk status code == Originate result == 원문은 이곳<ref>https://wiki.asterisk.org/wiki/display/AST/Hangup+Cause+Mappings</ref>에서 확인할 수 있...") |
No edit summary |
||
Line 8: | Line 8: | ||
성공, 혹은 실패. 그리고 실패에 대해서는 왜 실패했는지에 대한 사유가 있다. | 성공, 혹은 실패. 그리고 실패에 대해서는 왜 실패했는지에 대한 사유가 있다. | ||
< | <source lang=c> | ||
#define AST_CAUSE_UNALLOCATED 1 | #define AST_CAUSE_UNALLOCATED 1 | ||
#define AST_CAUSE_NO_ROUTE_TRANSIT_NET 2 | #define AST_CAUSE_NO_ROUTE_TRANSIT_NET 2 | ||
Line 68: | Line 68: | ||
#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 | ||
</source> | |||
== Channel status == | |||
Asterisk 에서 관리되는 모든 채널들은 다음 중 하나의 상태를 가진다. | |||
* '''상태 코드 정의''' | |||
0부터 시작한다. | |||
<source lang=c> | |||
/*! | |||
* \brief ast_channel states | |||
* | |||
* \note Bits 0-15 of state are reserved for the state (up/down) of the line | |||
* Bits 16-32 of state are reserved for flags | |||
*/ | |||
enum ast_channel_state { | |||
AST_STATE_DOWN, /*!< Channel is down and available */ | |||
AST_STATE_RESERVED, /*!< Channel is down, but reserved */ | |||
AST_STATE_OFFHOOK, /*!< Channel is off hook */ | |||
AST_STATE_DIALING, /*!< Digits (or equivalent) have been dialed */ | |||
AST_STATE_RING, /*!< Line is ringing */ | |||
AST_STATE_RINGING, /*!< Remote end is ringing */ | |||
AST_STATE_UP, /*!< Line is up */ | |||
AST_STATE_BUSY, /*!< Line is busy */ | |||
AST_STATE_DIALING_OFFHOOK, /*!< Digits (or equivalent) have been dialed while offhook */ | |||
AST_STATE_PRERING, /*!< Channel has detected an incoming call and is waiting for ring */ | |||
AST_STATE_MUTE = (1 << 16), /*!< Do not transmit voice data */ | |||
}; | |||
</source> | |||
* '''매뉴얼''' | |||
원문은 이곳<ref>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_Newstate</ref>에서 확인할 수 있다. | |||
Newstate 이벤트 메시지에 정의된 상태 코드를 가져왔다. 코드 번호와 내용은 위와 동일하다. 하지만 StateDesc로 표시되는 문자열 내용이 아래와 같이 설정된다. | |||
원문은 이곳<ref>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_Newstate</ref>에서 확인할 수 있다. | |||
<pre> | |||
Down | |||
Rsrvd | |||
OffHook | |||
Dialing | |||
Ring | |||
Ringing | |||
Up | |||
Busy | |||
Dialing Offhook | |||
Pre-ring | |||
Unknown | |||
</pre> | </pre> | ||
Revision as of 09:08, 26 March 2015
Overview
Asterisk status code
Originate result
원문은 이곳<ref>https://wiki.asterisk.org/wiki/display/AST/Hangup+Cause+Mappings</ref>에서 확인할 수 있다.
Originate 를 하게 되면(cli: Dial()) Originate 에 대한 결과를 받아오게 된다. 성공, 혹은 실패. 그리고 실패에 대해서는 왜 실패했는지에 대한 사유가 있다.
<source lang=c>
- 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
</source>
Channel status
Asterisk 에서 관리되는 모든 채널들은 다음 중 하나의 상태를 가진다.
- 상태 코드 정의
0부터 시작한다. <source lang=c> /*!
* \brief ast_channel states * * \note Bits 0-15 of state are reserved for the state (up/down) of the line * Bits 16-32 of state are reserved for flags */
enum ast_channel_state {
AST_STATE_DOWN, /*!< Channel is down and available */ AST_STATE_RESERVED, /*!< Channel is down, but reserved */ AST_STATE_OFFHOOK, /*!< Channel is off hook */ AST_STATE_DIALING, /*!< Digits (or equivalent) have been dialed */ AST_STATE_RING, /*!< Line is ringing */ AST_STATE_RINGING, /*!< Remote end is ringing */ AST_STATE_UP, /*!< Line is up */ AST_STATE_BUSY, /*!< Line is busy */ AST_STATE_DIALING_OFFHOOK, /*!< Digits (or equivalent) have been dialed while offhook */ AST_STATE_PRERING, /*!< Channel has detected an incoming call and is waiting for ring */
AST_STATE_MUTE = (1 << 16), /*!< Do not transmit voice data */
}; </source>
- 매뉴얼
원문은 이곳<ref>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_Newstate</ref>에서 확인할 수 있다.
Newstate 이벤트 메시지에 정의된 상태 코드를 가져왔다. 코드 번호와 내용은 위와 동일하다. 하지만 StateDesc로 표시되는 문자열 내용이 아래와 같이 설정된다. 원문은 이곳<ref>https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+ManagerEvent_Newstate</ref>에서 확인할 수 있다.
Down Rsrvd OffHook Dialing Ring Ringing Up Busy Dialing Offhook Pre-ring Unknown
References
<references/>