mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-02 02:18:31 +00:00
Merge "res_fax: allow 2400 transmission rate according to v.27ter standard" into 13
This commit is contained in:
@@ -53,8 +53,8 @@ enum ast_fax_capabilities {
|
||||
enum ast_fax_modems {
|
||||
/*! V.17 */
|
||||
AST_FAX_MODEM_V17 = (1 << 0),
|
||||
/*! V.27 */
|
||||
AST_FAX_MODEM_V27 = (1 << 1),
|
||||
/*! V.27ter */
|
||||
AST_FAX_MODEM_V27TER = (1 << 1),
|
||||
/*! V.29 */
|
||||
AST_FAX_MODEM_V29 = (1 << 2),
|
||||
/*! V.34 */
|
||||
|
@@ -523,7 +523,7 @@ static AST_RWLIST_HEAD_STATIC(faxmodules, fax_module);
|
||||
#define RES_FAX_MINRATE 4800
|
||||
#define RES_FAX_MAXRATE 14400
|
||||
#define RES_FAX_STATUSEVENTS 0
|
||||
#define RES_FAX_MODEM (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V27 | AST_FAX_MODEM_V29)
|
||||
#define RES_FAX_MODEM (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V27TER | AST_FAX_MODEM_V29)
|
||||
#define RES_FAX_T38TIMEOUT 5000
|
||||
|
||||
struct fax_options {
|
||||
@@ -828,7 +828,7 @@ static int update_modem_bits(enum ast_fax_modems *bits, const char *value)
|
||||
if (!strcasecmp(m[j], "v17")) {
|
||||
*bits |= AST_FAX_MODEM_V17;
|
||||
} else if (!strcasecmp(m[j], "v27")) {
|
||||
*bits |= AST_FAX_MODEM_V27;
|
||||
*bits |= AST_FAX_MODEM_V27TER;
|
||||
} else if (!strcasecmp(m[j], "v29")) {
|
||||
*bits |= AST_FAX_MODEM_V29;
|
||||
} else if (!strcasecmp(m[j], "v34")) {
|
||||
@@ -907,7 +907,7 @@ static int ast_fax_modem_to_str(enum ast_fax_modems bits, char *tbuf, size_t buf
|
||||
strcat(tbuf, "V17");
|
||||
count++;
|
||||
}
|
||||
if (bits & AST_FAX_MODEM_V27) {
|
||||
if (bits & AST_FAX_MODEM_V27TER) {
|
||||
if (count) {
|
||||
strcat(tbuf, ",");
|
||||
}
|
||||
@@ -936,22 +936,14 @@ static int check_modem_rate(enum ast_fax_modems modems, unsigned int rate)
|
||||
{
|
||||
switch (rate) {
|
||||
case 2400:
|
||||
if (!(modems & (AST_FAX_MODEM_V34))) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 4800:
|
||||
if (!(modems & (AST_FAX_MODEM_V27 | AST_FAX_MODEM_V34))) {
|
||||
if (!(modems & (AST_FAX_MODEM_V27TER | AST_FAX_MODEM_V34))) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 7200:
|
||||
if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V29 | AST_FAX_MODEM_V34))) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
case 9600:
|
||||
if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V27 | AST_FAX_MODEM_V29 | AST_FAX_MODEM_V34))) {
|
||||
if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V29 | AST_FAX_MODEM_V34))) {
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
|
@@ -502,7 +502,7 @@ static int spandsp_modems(struct ast_fax_session_details *details)
|
||||
if (AST_FAX_MODEM_V17 & details->modems) {
|
||||
modems |= T30_SUPPORT_V17;
|
||||
}
|
||||
if (AST_FAX_MODEM_V27 & details->modems) {
|
||||
if (AST_FAX_MODEM_V27TER & details->modems) {
|
||||
modems |= T30_SUPPORT_V27TER;
|
||||
}
|
||||
if (AST_FAX_MODEM_V29 & details->modems) {
|
||||
|
Reference in New Issue
Block a user