aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-07-21 13:03:01 +0000
committermnicholson <mnicholson@f38db490-d61c-443f-a65b-d21fe96a405b>2010-07-21 13:03:01 +0000
commit583973b4335cf945a5996de8590dbe145c3f4e10 (patch)
tree63ff51ad0195494e49c77e2ba81f7daa0b9a7f3d
parented200ae888d270810e3bb8ce5698197049f3d02a (diff)
Don't print failure status when the remote end hangs up, it may not be an actual failure.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278426 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--res/res_fax.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/res/res_fax.c b/res/res_fax.c
index 5f2704110..ecabbd90e 100644
--- a/res/res_fax.c
+++ b/res/res_fax.c
@@ -811,9 +811,8 @@ static void set_channel_variables(struct ast_channel *chan, struct ast_fax_sessi
pbx_builtin_setvar_helper(chan, "FAXPAGES", buf);
}
-#define GENERIC_FAX_EXEC_ERROR(fax, chan, errorstr, reason) \
+#define GENERIC_FAX_EXEC_ERROR_QUIET(fax, chan, errorstr, reason) \
do { \
- ast_log(LOG_ERROR, "channel '%s' FAX session '%d' failure, reason: '%s' (%s)\n", chan->name, fax->id, reason, errorstr); \
ast_string_field_set(fax->details, result, S_OR(fax->details->result, "FAILED")); \
ast_string_field_set(fax->details, resultstr, S_OR(fax->details->resultstr, reason)); \
ast_string_field_set(fax->details, error, S_OR(fax->details->error, errorstr)); \
@@ -821,6 +820,12 @@ static void set_channel_variables(struct ast_channel *chan, struct ast_fax_sessi
res = ms = -1; \
} while (0)
+#define GENERIC_FAX_EXEC_ERROR(fax, chan, errorstr, reason) \
+ do { \
+ ast_log(LOG_ERROR, "channel '%s' FAX session '%d' failure, reason: '%s' (%s)\n", chan->name, fax->id, reason, errorstr); \
+ GENERIC_FAX_EXEC_ERROR_QUIET(fax, chan, errorstr, reason); \
+ } while (0)
+
static void t38_parameters_ast_to_fax(struct ast_fax_t38_parameters *dst, const struct ast_control_t38_parameters *src)
{
dst->version = src->version;
@@ -1048,7 +1053,7 @@ static int generic_fax_exec(struct ast_channel *chan, struct ast_fax_session_det
* send the FAX stack silence so the modems can finish their session without
* any problems */
ast_log(LOG_NOTICE, "Channel '%s' did not return a frame; probably hung up.\n", chan->name);
- GENERIC_FAX_EXEC_ERROR(fax, chan, "HANGUP", "remote end hungup");
+ GENERIC_FAX_EXEC_ERROR_QUIET(fax, chan, "HANGUP", "remote end hungup");
c = NULL;
chancount = 0;
timeout -= (1000 - ms);