Summary:ASTERISK-06375: ast_softhangup_nolock does not set hangupcause correctly
Reporter:Kai Militzer (kmilitzer)Labels:
Date Opened:2006-02-20 05:34:30.000-0600Date Closed:2011-06-07 14:03:15
Versions:Frequency of
Description:The ast_softhangup_nolock function does not return the hangupcause to the channel structure. Resulting for example in problems of converting ISUP hangupcodes to SIP. As the function gets called with the hangupcode as argument, adding the line
chan->hangupcause = cause;
after chan->_softhangup |= cause;
fixes the problem. I am not sure if this is the right/best way to fix it.
Comments:By: Tilghman Lesher (tilghman) 2006-02-22 14:51:32.000-0600

That parameter is actually not a causecode.  Instead, it is a flag which tells Asterisk what type of event caused the requested hangup.  I'm going to move this to Feature Requests.

By: Tilghman Lesher (tilghman) 2006-02-23 15:42:54.000-0600

Suspending feature request.  We recommend that you put feature requests on the Wiki.  If you're really interested in getting this done, you might post a bounty with the request.

In any case, the proper place for this to be set would be in the channel driver or whatever other code initiated the hangup.