[Home]

Summary:ASTERISK-22942: [patch] - Asterisk crashed after Set(FAXOPT(faxdetect)=t38)
Reporter:adomjan (adomjan)Labels:
Date Opened:2013-12-05 14:10:39.000-0600Date Closed:2013-12-19 11:02:01.000-0600
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_fax
Versions:11.6.0 Frequency of
Occurrence
Constant
Related
Issues:
Environment:Centos 6.5 x86_64Attachments:( 0) bt-full
( 1) res_fax.c-_fix_crash_on_t38detect_mode.patch
Description:Asterisk crash after set Set(FAXOPT(faxdetect)=t38) Set(FAXOPT(gateway)=yes) and receiving voice frames.
Comments:By: Matt Jordan (mjordan) 2013-12-07 17:56:18.020-0600

Patch looks correct, particularly since just prior to this point we break out of {{AST_FRAME_VOICE}} processing if {{faxdetect->dsp}} is NULL:

{noformat}
switch (f->frametype) {
case AST_FRAME_VOICE:
/* we have no DSP this means we not detecting CNG */
if (!faxdetect->dsp) {
break;
}
{noformat}

Thanks for contributing back the patch!

By: adomjan (adomjan) 2013-12-16 15:00:42.403-0600

switch (f->frametype) {


}


--- the break just jump out to here from the switch()

if (f->frametype == AST_FRAME_VOICE) {
f = ast_dsp_process(chan, faxdetect->dsp, f);

and crash