mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-29 23:39:35 +00:00
res_fax: check_modem_rate() returned incorrect rate for V.27
According to the new standard for V.27 and V.32 they are able to transmit
at a bit rate of 4,800 or 9,600. The check_mode_rate function needed to be
updated to reflect this. Also, because of this change the default 'minrate'
value was updated to be 4800.
(closes issue ASTERISK-22790)
Reported by: Paolo Compagnini
Patches:
res_fax.txt uploaded by looserouting (license 6548)
........
Merged revisions 405656 from http://svn.asterisk.org/svn/asterisk/branches/1.8
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@405693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -19,6 +19,11 @@
|
|||||||
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
=== UPGRADE-10.txt -- Upgrade info for 1.8 to 10
|
||||||
===
|
===
|
||||||
===========================================================
|
===========================================================
|
||||||
|
from 11.8 to 11.9
|
||||||
|
* res_fax now returns the correct rates for V.27ter (4800 or 9600 bit/s).
|
||||||
|
Because of this the default settings would not load, so the minrate (minimum
|
||||||
|
transmission rate) option was changed to default to 4800 since that is the
|
||||||
|
minimum rate for v.27 which is included in the default modem options.
|
||||||
|
|
||||||
From 11.7 to 11.8:
|
From 11.7 to 11.8:
|
||||||
* The per console verbose level feature as previously implemented caused a
|
* The per console verbose level feature as previously implemented caused a
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ maxrate=14400
|
|||||||
|
|
||||||
; Minimum Transmission Rate
|
; Minimum Transmission Rate
|
||||||
; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
|
; Possible values are { 2400 | 4800 | 7200 | 9600 | 12000 | 14400 }
|
||||||
; Set this value to the minimum desired transfer rate. Default: 2400
|
; Set this value to the minimum desired transfer rate. Default: 4800
|
||||||
minrate=2400
|
minrate=4800
|
||||||
|
|
||||||
; Send Progress/Status events to manager session
|
; Send Progress/Status events to manager session
|
||||||
; Manager events with 'call' class permissions will receive events indicating the
|
; Manager events with 'call' class permissions will receive events indicating the
|
||||||
|
|||||||
@@ -323,7 +323,7 @@ struct fax_module {
|
|||||||
};
|
};
|
||||||
static AST_RWLIST_HEAD_STATIC(faxmodules, fax_module);
|
static AST_RWLIST_HEAD_STATIC(faxmodules, fax_module);
|
||||||
|
|
||||||
#define RES_FAX_MINRATE 2400
|
#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_V27 | AST_FAX_MODEM_V29)
|
||||||
@@ -704,7 +704,7 @@ 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_V27 | AST_FAX_MODEM_V34))) {
|
if (!(modems & (AST_FAX_MODEM_V34))) {
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -714,11 +714,15 @@ static int check_modem_rate(enum ast_fax_modems modems, unsigned int rate)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 7200:
|
case 7200:
|
||||||
case 9600:
|
|
||||||
if (!(modems & (AST_FAX_MODEM_V17 | 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;
|
||||||
|
case 9600:
|
||||||
|
if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V27 | AST_FAX_MODEM_V29 | AST_FAX_MODEM_V34))) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 12000:
|
case 12000:
|
||||||
case 14400:
|
case 14400:
|
||||||
if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V34))) {
|
if (!(modems & (AST_FAX_MODEM_V17 | AST_FAX_MODEM_V34))) {
|
||||||
|
|||||||
Reference in New Issue
Block a user