diff options
author | Kinsey Moore <kmoore@digium.com> | 2012-07-20 15:48:55 +0000 |
---|---|---|
committer | Kinsey Moore <kmoore@digium.com> | 2012-07-20 15:48:55 +0000 |
commit | cb9756daa2042d6e5b91290def004b0f0c9eb168 (patch) | |
tree | 9ea585c25213ade435c83c95a055082f1e291f2a /channels/sig_analog.c | |
parent | 499a445af213b1cbce99db9219f041ef053fbc18 (diff) |
Add hangupcause translation support
The HANGUPCAUSE hash (trunk only) meant to replace SIP_CAUSE has now
been replaced with the HANGUPCAUSE and HANGUPCAUSE_KEYS dialplan
functions to better facilitate access to the AST_CAUSE translations
for technology-specific cause codes. The HangupCauseClear application
has also been added to remove this data from the channel.
(closes issue SWP-4738)
Review: https://reviewboard.asterisk.org/r/2025/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/sig_analog.c')
-rw-r--r-- | channels/sig_analog.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/sig_analog.c b/channels/sig_analog.c index f40932f27..608f82b27 100644 --- a/channels/sig_analog.c +++ b/channels/sig_analog.c @@ -2735,6 +2735,7 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_ subclass = analog_event2str(res); data_size += strlen(subclass); cause_code = alloca(data_size); + cause_code->ast_cause = AST_CAUSE_NORMAL_CLEARING; ast_copy_string(cause_code->chan_name, ast_channel_name(ast), AST_CHANNEL_NAME); snprintf(cause_code->code, data_size - sizeof(*cause_code) + 1, "ANALOG %s", subclass); break; @@ -2826,6 +2827,7 @@ static struct ast_frame *__analog_handle_event(struct analog_pvt *p, struct ast_ case ANALOG_EVENT_ALARM: analog_set_alarm(p, 1); analog_get_and_handle_alarms(p); + cause_code->ast_cause = AST_CAUSE_NETWORK_OUT_OF_ORDER; case ANALOG_EVENT_ONHOOK: ast_queue_control_data(ast, AST_CONTROL_PVT_CAUSE_CODE, cause_code, data_size); switch (p->sig) { |