struct ast_channel *who = NULL;
int res=0;
int nativefailed=0;
+ int firstpass;
struct timeval start_time,precise_now;
long elapsed_ms=0, time_left_ms=0;
int playit=0, playitagain=1, first_time=1;
flags = (config->allowdisconnect_out||config->allowredirect_out ? AST_BRIDGE_DTMF_CHANNEL_0 : 0) + (config->allowdisconnect_in||config->allowredirect_in ? AST_BRIDGE_DTMF_CHANNEL_1 : 0);
+ firstpass = config->firstpass;
+ config->firstpass = 0;
+
/* timestamp */
gettimeofday(&start_time,NULL);
time_left_ms = config->timelimit;
- if (config->play_to_caller && config->start_sound)
+ if (config->play_to_caller && config->start_sound && firstpass)
bridge_playfile(c0,c1,config->start_sound,time_left_ms / 1000);
- if (config->play_to_callee && config->start_sound)
+ if (config->play_to_callee && config->start_sound && firstpass)
bridge_playfile(c1,c0,config->start_sound,time_left_ms / 1000);
/* Stop if we're a zombie or need a soft hangup */
allowdisconnect_out = config->allowdisconnect_out;
allowredirect_in = config->allowredirect_in;
allowredirect_out = config->allowredirect_out;
+ config->firstpass = 1;
/* Answer if need be */
if (ast_answer(chan))