[Freeswitch-svn] [commit] r9461 - freeswitch/trunk/src/mod/applications/mod_fax
Freeswitch SVN
ctrix at freeswitch.org
Fri Sep 5 08:22:20 EDT 2008
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" );
More information about the Freeswitch-svn
mailing list