if (time_left_ms < to)
to = time_left_ms;
- if (time_left_ms <= 0) {
- if (caller_warning && config->end_sound)
+ if (time_left_ms <= 0 && config->end_sound) {
+ if (caller_warning)
bridge_playfile(c0, c1, config->end_sound, 0);
- if (callee_warning && config->end_sound)
+ if (callee_warning)
bridge_playfile(c1, c0, config->end_sound, 0);
*fo = NULL;
if (who)
}
if (!to) {
- if (time_left_ms >= 5000) {
- /* force the time left to round up if appropriate */
- if (caller_warning && config->warning_sound && config->play_warning)
- bridge_playfile(c0, c1, config->warning_sound,
- (time_left_ms + 500) / 1000);
- if (callee_warning && config->warning_sound && config->play_warning)
- bridge_playfile(c1, c0, config->warning_sound,
- (time_left_ms + 500) / 1000);
+ if (time_left_ms >= 5000 && config->warning_sound && config->play_warning) {
+ int t = (time_left_ms + 500) / 1000; /* round to nearest second */
+ if (caller_warning)
+ bridge_playfile(c0, c1, config->warning_sound, t);
+ if (callee_warning)
+ bridge_playfile(c1, c0, config->warning_sound, t);
}
if (config->warning_freq) {
nexteventts = ast_tvadd(nexteventts, ast_samp2tv(config->warning_freq, 1000));