diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-10-25 18:00:00 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-10-25 18:00:00 +0000 |
commit | d865a07416fad718dd310fcbe61392ddf86517ea (patch) | |
tree | 215ae70beac6d3c3b3572feefc60a3d049ddcdea | |
parent | 0c3da4f716d146e1d8409c0d8807dbbb8571293c (diff) |
Make HANGUPCAUSE accessible
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1669 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-x | channels/chan_zap.c | 6 | ||||
-rwxr-xr-x | include/asterisk/causes.h | 3 | ||||
-rwxr-xr-x | pbx.c | 3 |
3 files changed, 11 insertions, 1 deletions
diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 2391734eb..77f1fc06d 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -514,6 +514,12 @@ static int hangup_pri2cause(int cause) return AST_CAUSE_BUSY; case PRI_CAUSE_NORMAL_CLEARING: return AST_CAUSE_NORMAL; + case PRI_CAUSE_NORMAL_CIRCUIT_CONGESTION: + case PRI_CAUSE_REQUESTED_CHAN_UNAVAIL: + return AST_CAUSE_CONGESTION; + case PRI_CAUSE_UNALLOCATED: + case PRI_CAUSE_NUMBER_CHANGED: + return AST_CAUSE_UNALLOCATED; default: return AST_CAUSE_FAILURE; } diff --git a/include/asterisk/causes.h b/include/asterisk/causes.h index 851362882..e70069069 100755 --- a/include/asterisk/causes.h +++ b/include/asterisk/causes.h @@ -16,5 +16,6 @@ #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 @@ -862,6 +862,9 @@ static void pbx_substitute_variables_temp(struct ast_channel *c,const char *var, } else if (c && !strcmp(var, "UNIQUEID")) { snprintf(workspace, workspacelen -1, "%s", c->uniqueid); *ret = workspace; + } else if (c && !strcmp(var, "HANGUPCAUSE")) { + snprintf(workspace, workspacelen -1, "%i", c->hangupcause); + *ret = workspace; } else { if (c) { AST_LIST_TRAVERSE(headp,variables,entries) { |