[asterisk-users] ${HANGUPCAUSE} is always 0 in the h extension
Zhang Shukun
bitzsk at gmail.com
Tue May 11 02:35:51 CDT 2010
thank you for reply.
but hangupcause cant different whether caller hangup or callee hangup?
above two situation both return 16.
2010/5/11 Vardan <hvardan71 at gmail.com>:
> Asterisk variable hangupcause
> Page Contents
>
> * Asterisk variable Hangupcause
> o Recommended SIP <-> ISDN Cause codes (from RFC3398):
> o PRI Hangup Codes
> o Version notes
> o Tip
> o Examples
> + Example 1
> + Example 2
> + Example 3: Macro for handling hangupcause
> + Example 4: Set the hangup cause text to a variable
> o See also
>
>
> Asterisk variable Hangupcause
> Hangupcause is the latest PRI hangup return code on a zap channel
> connected to a PRI interface. Note that this also works on SIP channels,
> maybe other channels as well.
> Tip: The packet isdnutils contains a utility called isdncause that
> provides a textual explanation of the error number that you feed it with
> (watch the entry format).
>
> Previous to CVS 2004-08-12:
>
> From causes.h:
> #define AST_CAUSE_NOTDEFINED 0
> #define AST_CAUSE_NORMAL 1
> #define AST_CAUSE_BUSY 2
> #define AST_CAUSE_FAILURE 3
> #define AST_CAUSE_CONGESTION 4
> #define AST_CAUSE_UNALLOCATED 5
>
>
> For CVS head releases after 2004-08-12:
>
> /* Causes for disconnection (from Q.931) */
> #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_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_NOTDEFINED 0
>
>
>
> Note: This does not work in 0.7.1 (maybe other versions) See:
> http://bugs.digium.com/bug_view_page.php?bug_id=0000890
>
> Recommended SIP <-> ISDN Cause codes (from RFC3398):
>
> ISUP Cause value SIP response
> ---------------- ------------
> 1 unallocated number 404 Not Found
> 2 no route to network 404 Not found
> 3 no route to destination 404 Not found
> 16 normal call clearing --- (*)
> 17 user busy 486 Busy here
> 18 no user responding 408 Request Timeout
> 19 no answer from the user 480 Temporarily unavailable
> 20 subscriber absent 480 Temporarily unavailable
> 21 call rejected 403 Forbidden (+)
> 22 number changed (w/o diagnostic) 410 Gone
> 22 number changed (w/ diagnostic) 301 Moved Permanently
> 23 redirection to new destination 410 Gone
> 26 non-selected user clearing 404 Not Found (=)
> 27 destination out of order 502 Bad Gateway
> 28 address incomplete 484 Address incomplete
>
>
> Zhang Shukun wrote:
>> hi , all
>>
>> i want to wtite hangupcause to cdr, but both caller hangup and
>> callee hangup result in hangupcause code 16.
>>
>> how would i know whether caller or callee or system error hangup the phone?
>>
>> please help.
>>
>> thanks!
>>
>> 2010/4/22 Alejandro Recarey<alexrecarey at gmail.com>:
>>>> However, as I can see by the verbose command, ${HANGUPCAUSE} is always
>>>> 0. I thought it was a channel variable that contained the hangupcause?
>>>
>>> Just an update, if the call is established, then there is a
>>> hangupcause received.
>>>
>>> The above problem only happens if the caller hangs up before pickup.
>>>
>>> This is usualy a cause 16, not 0.
>>>
>>> Alex
>>>
>>> --
>>> _____________________________________________________________________
>>> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>>> New to Asterisk? Join us for a live introductory webinar every Thurs:
>>> http://www.asterisk.org/hello
>>>
>>> asterisk-users mailing list
>>> To UNSUBSCRIBE or update options visit:
>>> http://lists.digium.com/mailman/listinfo/asterisk-users
>>>
>>
>>
>>
>
>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
> http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
--
Thanks for your supporting,
have a nice day.
Sucan
More information about the asterisk-users
mailing list