adding a couple of notes and eventually disable jitterbuffer
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9461 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
39f9f22f82
commit
223ff87545
|
@ -297,7 +297,6 @@ static switch_status_t spanfax_init( pvt_t *pvt, transport_mode_t trans_mode )
|
||||||
T30_SUPPORT_STANDARD_RESOLUTION | T30_SUPPORT_FINE_RESOLUTION | T30_SUPPORT_SUPERFINE_RESOLUTION
|
T30_SUPPORT_STANDARD_RESOLUTION | T30_SUPPORT_FINE_RESOLUTION | T30_SUPPORT_SUPERFINE_RESOLUTION
|
||||||
| T30_SUPPORT_R8_RESOLUTION | T30_SUPPORT_R16_RESOLUTION);
|
| T30_SUPPORT_R8_RESOLUTION | T30_SUPPORT_R16_RESOLUTION);
|
||||||
|
|
||||||
//TODO Disable V17
|
|
||||||
|
|
||||||
if ( pvt->disable_v17 )
|
if ( pvt->disable_v17 )
|
||||||
{
|
{
|
||||||
|
@ -545,9 +544,9 @@ void process_fax(switch_core_session_t *session, const char *data, application_m
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
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,
|
and if so, when T.38 will be supported, send a reinvite in T38_MODE,
|
||||||
bypassing AUDIO_MODE.
|
bypassing AUDIO_MODE.
|
||||||
*/
|
*/
|
||||||
|
@ -558,11 +557,17 @@ void process_fax(switch_core_session_t *session, const char *data, application_m
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Answer the call */
|
|
||||||
switch_channel_answer(channel);
|
|
||||||
|
|
||||||
/* Note: Disable echocan on the channel, it there is an API call to do that */
|
/* 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
|
/* We store the original channel codec before switching both
|
||||||
* legs of the calls to a linear 16 bit codec that is the one
|
* legs of the calls to a linear 16 bit codec that is the one
|
||||||
|
@ -644,6 +649,13 @@ void process_fax(switch_core_session_t *session, const char *data, application_m
|
||||||
goto done;
|
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) */
|
/* Skip CNG frames (autogenerated by FreeSWITCH, usually) */
|
||||||
if (switch_test_flag(read_frame, SFF_CNG)) {
|
if (switch_test_flag(read_frame, SFF_CNG)) {
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Skipping CNG frame\n" );
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Skipping CNG frame\n" );
|
||||||
|
|
Loading…
Reference in New Issue