[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