Ensure ReceiveFax provides a CED tone via T.38
authorKinsey Moore <kmoore@digium.com>
Mon, 10 Dec 2012 16:56:37 +0000 (16:56 +0000)
committerKinsey Moore <kmoore@digium.com>
Mon, 10 Dec 2012 16:56:37 +0000 (16:56 +0000)
When using res_fax_digium, the T.38 CED tone was not being provided
properly which would cause some incoming faxes to fail. This was not an
issue with res_fax_spandsp since it does not strictly honor the
send_ced flag and sends the CED tone whenever receiving a T.38 fax.

(closes issue FAX-343)
Reported-by: Benjamin Tietz
Patch-by: Kinsey Moore
........

Merged revisions 377655 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 377656 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 377657 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@377658 65c4cc65-6c06-0410-ace0-fbb531ad65f3

res/res_fax.c

index 5ed7107..9afad4a 100644 (file)
@@ -1871,6 +1871,7 @@ static int receivefax_exec(struct ast_channel *chan, const char *data)
        ast_verb(3, "Channel '%s' receiving FAX '%s'\n", ast_channel_name(chan), args.filename);
 
        details->caps = AST_FAX_TECH_RECEIVE;
+       details->option.send_ced = AST_FAX_OPTFLAG_TRUE;
 
        /* check for debug */
        if (ast_test_flag(&opts, OPT_DEBUG) || global_fax_debug) {
@@ -1935,8 +1936,6 @@ static int receivefax_exec(struct ast_channel *chan, const char *data)
                        ast_log(LOG_ERROR, "error initializing channel '%s' in T.38 mode\n", ast_channel_name(chan));
                        return -1;
                }
-       } else {
-               details->option.send_ced = 1;
        }
 
        if ((channel_alive = generic_fax_exec(chan, details, s, token)) < 0) {