mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-22 21:36:28 +00:00
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:
5
CHANGES
5
CHANGES
@@ -275,6 +275,11 @@ Queue
|
|||||||
--- Functionality changes from Asterisk 13.9.0 to Asterisk 13.10.0 -----------
|
--- 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
|
res_pjsip
|
||||||
------------------
|
------------------
|
||||||
* Added new status Updated to AMI event ContactStatus on update registration
|
* Added new status Updated to AMI event ContactStatus on update registration
|
||||||
|
@@ -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, "FAXBITRATE", S_OR(details->transfer_rate, NULL));
|
||||||
pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", S_OR(details->resolution, 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);
|
snprintf(buf, sizeof(buf), "%u", details->pages_transferred);
|
||||||
pbx_builtin_setvar_helper(chan, "FAXPAGES", buf);
|
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, "FAXPAGES", "0");
|
||||||
pbx_builtin_setvar_helper(chan, "FAXBITRATE", NULL);
|
pbx_builtin_setvar_helper(chan, "FAXBITRATE", NULL);
|
||||||
pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", 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
|
/* Get a FAX session details structure from the channel's FAX datastore and create one if
|
||||||
* it does not already exist. */
|
* 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, "FAXPAGES", "0");
|
||||||
pbx_builtin_setvar_helper(chan, "FAXBITRATE", NULL);
|
pbx_builtin_setvar_helper(chan, "FAXBITRATE", NULL);
|
||||||
pbx_builtin_setvar_helper(chan, "FAXRESOLUTION", 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
|
/* Get a requirement structure and set it. This structure is used
|
||||||
* to tell the FAX technology module about the higher level FAX session */
|
* to tell the FAX technology module about the higher level FAX session */
|
||||||
|
Reference in New Issue
Block a user