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;
}
#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
} 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) {