From b5a6de76fc71e3f604761885dd844975a11893ee Mon Sep 17 00:00:00 2001 From: Kinsey Moore Date: Mon, 14 May 2012 19:44:27 +0000 Subject: Commit framework for HANGUPCAUSE (replacement for SIP_CAUSE) This is the starting point for the Asterisk 11: Who Hung Up work and provides a framework which will allow channel drivers to report the types of hangup cause information available in SIP_CAUSE without incurring the overhead of the MASTER_CHANNEL dialplan function. The initial implementation only includes cause generation for chan_sip and does not include cause code translation utilities. This change deprecates SIP_CAUSE and replaces its method of reporting cause codes with the new framework. This change also deprecates the 'storesipcause' option in sip.conf. Review: https://reviewboard.asterisk.org/r/1822/ (Closes issue SWP-4221) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366408 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/features.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'main/features.c') diff --git a/main/features.c b/main/features.c index cbf7c1f42..433c1a647 100644 --- a/main/features.c +++ b/main/features.c @@ -3943,6 +3943,10 @@ static struct ast_channel *feature_request_and_dial(struct ast_channel *caller, ast_frfree(f); ready=1; break; + } else if (f->subclass.integer == AST_CONTROL_PVT_CAUSE_CODE) { + ast_indicate_data(caller, AST_CONTROL_PVT_CAUSE_CODE, f->data.ptr, f->datalen); + ast_frfree(f); + break; } else if (f->subclass.integer == AST_CONTROL_CONNECTED_LINE) { if (caller_hungup) { struct ast_party_connected_line connected; @@ -4463,6 +4467,7 @@ int ast_bridge_call(struct ast_channel *chan, struct ast_channel *peer, struct a ast_indicate_data(other, f->subclass.integer, f->data.ptr, f->datalen); } break; + case AST_CONTROL_PVT_CAUSE_CODE: case AST_CONTROL_AOC: case AST_CONTROL_HOLD: case AST_CONTROL_UNHOLD: -- cgit v1.2.3