[commit] r9461 - freeswitch/trunk/src/mod/applications/mod_fax
Author: ctrix Date: Fri Sep 5 08:22:19 2008 New Revision: 9461 Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Log: adding a couple of notes and eventually disable jitterbuffer Modified: freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c ============================================================================== --- freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c (original) +++ freeswitch/trunk/src/mod/applications/mod_fax/mod_fax.c Fri Sep 5 08:22:19 2008 @@ -297,7 +297,6 @@ T30_SUPPORT_STANDARD_RESOLUTION | T30_SUPPORT_FINE_RESOLUTION | T30_SUPPORT_SUPERFINE_RESOLUTION | T30_SUPPORT_R8_RESOLUTION | T30_SUPPORT_R16_RESOLUTION); - //TODO Disable V17 if ( pvt->disable_v17 ) { @@ -545,9 +544,9 @@ } /* - Initialize the SpanDSP elements + *** Initialize the SpanDSP elements *** - NOTE, we could analyze if a fax was already detected in previous stages + Note: we could analyze if a fax was already detected in previous stages and if so, when T.38 will be supported, send a reinvite in T38_MODE, bypassing AUDIO_MODE. */ @@ -558,11 +557,17 @@ return; } - /* Answer the call */ - switch_channel_answer(channel); - /* Note: Disable echocan on the channel, it there is an API call to do that */ + /* + Note: We should eventually disable JB before answering. JB is bad for faxing + + switch_channel_set_variable(channel, "jitterbuffer_msec", "0" ); + */ + + + /* Finally answer the call */ + switch_channel_answer(channel); /* We store the original channel codec before switching both * legs of the calls to a linear 16 bit codec that is the one @@ -644,6 +649,13 @@ goto done; } + /* Note: more analysys on this. RTP timing maybe inaccurate and, if so, + shoule be improved. + agx proposes to add a channel variable to disable this check and don't skip CNG frames + to improve the compatibility with the problems that another (??)famous pbx that + has always had serious problems with timers (or lack of). + */ + /* Skip CNG frames (autogenerated by FreeSWITCH, usually) */ if (switch_test_flag(read_frame, SFF_CNG)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Skipping CNG frame\n" );
participants (1)
-
Freeswitch SVN