aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authormartinp <martinp@f38db490-d61c-443f-a65b-d21fe96a405b>2003-09-12 16:51:35 +0000
committermartinp <martinp@f38db490-d61c-443f-a65b-d21fe96a405b>2003-09-12 16:51:35 +0000
commitda1033cad245fbad3570aab1b49ddba9eb010d6e (patch)
tree0cfa74e63cdce0bf09e2e845357eac5addf73e15 /include
parent72f06d4e1646591ef482d0bbf8dddfbcaac51c63 (diff)
Add distinguishing between BUSY and FAILURE for outgoing spool calls. Always save CDR record (even if the call fails). If the call fails try to see if there is
"failed" extension in the specified context (only if you use context,extension,priority syntax) and execute it. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1499 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rwxr-xr-xinclude/asterisk/cdr.h16
-rwxr-xr-xinclude/asterisk/channel.h3
2 files changed, 19 insertions, 0 deletions
diff --git a/include/asterisk/cdr.h b/include/asterisk/cdr.h
index 0b9681035..3988832df 100755
--- a/include/asterisk/cdr.h
+++ b/include/asterisk/cdr.h
@@ -23,6 +23,7 @@
#define AST_CDR_NOANSWER (1 << 0)
#define AST_CDR_BUSY (1 << 1)
#define AST_CDR_ANSWERED (1 << 2)
+#define AST_CDR_FAILED (1 << 3)
//! AMA Flags
#define AST_CDR_OMIT (1)
@@ -142,6 +143,21 @@ extern void ast_cdr_answer(struct ast_cdr *cdr);
*/
extern void ast_cdr_busy(struct ast_cdr *cdr);
+//! Fail a call
+/*!
+ * \param cdr the cdr you wish to associate with the call
+ * Returns nothing important
+ */
+extern void ast_cdr_failed(struct ast_cdr *cdr);
+
+//! Save the result of the call based on the AST_CAUSE_*
+/*!
+ * \param cdr the cdr you wish to associate with the call
+ * Returns nothing important
+ * \param cause the AST_CAUSE_*
+ */
+extern int ast_cdr_disposition(struct ast_cdr *cdr, int cause);
+
//! End a call
/*!
* \param cdr the cdr you have associated the call with
diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h
index 815f882f4..f33bb62d3 100755
--- a/include/asterisk/channel.h
+++ b/include/asterisk/channel.h
@@ -213,6 +213,9 @@ struct ast_channel {
/* Unique Channel Identifier */
char uniqueid[32];
+ /* Why is the channel hanged up */
+ int hangupcause;
+
/* A linked list for variables */
struct ast_var_t *vars;
AST_LIST_HEAD(varshead,ast_var_t) varshead;