diff options
Diffstat (limited to 'res/res_fax.c')
-rw-r--r-- | res/res_fax.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/res/res_fax.c b/res/res_fax.c index 4f2bcb0f9..e746650e5 100644 --- a/res/res_fax.c +++ b/res/res_fax.c @@ -3548,19 +3548,22 @@ static int acf_faxopt_write(struct ast_channel *chan, const char *cmd, char *dat const char *val = ast_skip_blanks(value); char *timeout = strchr(val, ','); - details->gateway_timeout = 0; if (timeout) { - unsigned int gwtimeout; *timeout++ = '\0'; - if (sscanf(timeout, "%u", &gwtimeout) == 1) { - details->gateway_timeout = gwtimeout * 1000; - } else { - ast_log(LOG_WARNING, "Unsupported timeout '%s' passed to FAXOPT(%s).\n", timeout, data); - } } if (ast_true(val)) { if (details->gateway_id < 0) { + details->gateway_timeout = 0; + if (timeout) { + unsigned int gwtimeout; + if (sscanf(timeout, "%u", &gwtimeout) == 1) { + details->gateway_timeout = gwtimeout * 1000; + } else { + ast_log(LOG_WARNING, "Unsupported timeout '%s' passed to FAXOPT(%s).\n", timeout, data); + } + } + details->gateway_id = fax_gateway_attach(chan, details); if (details->gateway_id < 0) { ast_log(LOG_ERROR, "Error attaching T.38 gateway to channel %s.\n", chan->name); |