Merge "res_fax: allow 2400 transmission rate according to v.27ter standard" into 13

This commit is contained in:
Matt Jordan
2015-04-29 16:42:25 -05:00
committed by Gerrit Code Review
3 changed files with 8 additions and 16 deletions

View File

@@ -53,8 +53,8 @@ enum ast_fax_capabilities {
enum ast_fax_modems { enum ast_fax_modems {
/*! V.17 */ /*! V.17 */
AST_FAX_MODEM_V17 = (1 << 0), AST_FAX_MODEM_V17 = (1 << 0),
/*! V.27 */ /*! V.27ter */
AST_FAX_MODEM_V27 = (1 << 1), AST_FAX_MODEM_V27TER = (1 << 1),
/*! V.29 */ /*! V.29 */
AST_FAX_MODEM_V29 = (1 << 2), AST_FAX_MODEM_V29 = (1 << 2),
/*! V.34 */ /*! V.34 */

View File

@@ -523,7 +523,7 @@ static AST_RWLIST_HEAD_STATIC(faxmodules, fax_module);
#define RES_FAX_MINRATE 4800 #define RES_FAX_MINRATE 4800
#define RES_FAX_MAXRATE 14400 #define RES_FAX_MAXRATE 14400
#define RES_FAX_STATUSEVENTS 0 #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 #define RES_FAX_T38TIMEOUT 5000
struct fax_options { 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")) { if (!strcasecmp(m[j], "v17")) {
*bits |= AST_FAX_MODEM_V17; *bits |= AST_FAX_MODEM_V17;
} else if (!strcasecmp(m[j], "v27")) { } else if (!strcasecmp(m[j], "v27")) {
*bits |= AST_FAX_MODEM_V27; *bits |= AST_FAX_MODEM_V27TER;
} else if (!strcasecmp(m[j], "v29")) { } else if (!strcasecmp(m[j], "v29")) {
*bits |= AST_FAX_MODEM_V29; *bits |= AST_FAX_MODEM_V29;
} else if (!strcasecmp(m[j], "v34")) { } 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"); strcat(tbuf, "V17");
count++; count++;
} }
if (bits & AST_FAX_MODEM_V27) { if (bits & AST_FAX_MODEM_V27TER) {
if (count) { if (count) {
strcat(tbuf, ","); strcat(tbuf, ",");
} }
@@ -936,22 +936,14 @@ static int check_modem_rate(enum ast_fax_modems modems, unsigned int rate)
{ {
switch (rate) { switch (rate) {
case 2400: case 2400:
if (!(modems & (AST_FAX_MODEM_V34))) {
return 1;
}
break;
case 4800: case 4800:
if (!(modems & (AST_FAX_MODEM_V27 | AST_FAX_MODEM_V34))) { if (!(modems & (AST_FAX_MODEM_V27TER | AST_FAX_MODEM_V34))) {
return 1; return 1;
} }
break; break;
case 7200: case 7200:
if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V29 | AST_FAX_MODEM_V34))) {
return 1;
}
break;
case 9600: 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; return 1;
} }
break; break;

View File

@@ -502,7 +502,7 @@ static int spandsp_modems(struct ast_fax_session_details *details)
if (AST_FAX_MODEM_V17 & details->modems) { if (AST_FAX_MODEM_V17 & details->modems) {
modems |= T30_SUPPORT_V17; modems |= T30_SUPPORT_V17;
} }
if (AST_FAX_MODEM_V27 & details->modems) { if (AST_FAX_MODEM_V27TER & details->modems) {
modems |= T30_SUPPORT_V27TER; modems |= T30_SUPPORT_V27TER;
} }
if (AST_FAX_MODEM_V29 & details->modems) { if (AST_FAX_MODEM_V29 & details->modems) {