res_fax: add FAXMODE variable

The app_fax set FAXMODE variable, but res_fax missing this feature.
This patch add FAXMODE variable which is set to either "audio" or "T38".

ASTERISK-25980

Change-Id: Ie3dcbfb72cc681e9e267a60202f7fb8723a51b6b
This commit is contained in:
Alexei Gradinari
2016-05-02 17:08:06 -04:00
parent 122895f864
commit 380ac201ac
2 changed files with 13 additions and 0 deletions

View File

@@ -275,6 +275,11 @@ Queue
--- Functionality changes from Asterisk 13.9.0 to Asterisk 13.10.0 -----------
------------------------------------------------------------------------------
res_fax
------------------
* Added FAXMODE variable to let dialplan know what fax transport was used.
FAXMODE variable is set to either "audio" or "T38".
res_pjsip
------------------
* Added new status Updated to AMI event ContactStatus on update registration

View File

@@ -1447,6 +1447,12 @@ static void set_channel_variables(struct ast_channel *chan, struct ast_fax_sessi
pbx_builtin_setvar_helper(chan, "FAXBITRATE", S_OR(details->transfer_rate, NULL));
pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", S_OR(details->resolution, NULL));
if (ast_channel_get_t38_state(chan) == T38_STATE_NEGOTIATED) {
pbx_builtin_setvar_helper(chan, "FAXMODE", "T38");
} else {
pbx_builtin_setvar_helper(chan, "FAXMODE", "audio");
}
snprintf(buf, sizeof(buf), "%u", details->pages_transferred);
pbx_builtin_setvar_helper(chan, "FAXPAGES", buf);
}
@@ -2071,6 +2077,7 @@ static int receivefax_exec(struct ast_channel *chan, const char *data)
pbx_builtin_setvar_helper(chan, "FAXPAGES", "0");
pbx_builtin_setvar_helper(chan, "FAXBITRATE", NULL);
pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", NULL);
pbx_builtin_setvar_helper(chan, "FAXMODE", NULL);
/* Get a FAX session details structure from the channel's FAX datastore and create one if
* it does not already exist. */
@@ -2578,6 +2585,7 @@ static int sendfax_exec(struct ast_channel *chan, const char *data)
pbx_builtin_setvar_helper(chan, "FAXPAGES", "0");
pbx_builtin_setvar_helper(chan, "FAXBITRATE", NULL);
pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", NULL);
pbx_builtin_setvar_helper(chan, "FAXMODE", NULL);
/* Get a requirement structure and set it. This structure is used
* to tell the FAX technology module about the higher level FAX session */