diff options
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/bridge_holding.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/bridges/bridge_holding.c b/bridges/bridge_holding.c index 2fd79d09a..0ef5601c1 100644 --- a/bridges/bridge_holding.c +++ b/bridges/bridge_holding.c @@ -205,7 +205,11 @@ static void participant_entertainment_start(struct ast_bridge_channel *bridge_ch switch(hc->idle_mode) { case IDLE_MODE_MOH: moh_class = ast_bridge_channel_get_role_option(bridge_channel, "holding_participant", "moh_class"); - ast_moh_start(bridge_channel->chan, moh_class, NULL); + if (ast_moh_start(bridge_channel->chan, moh_class, NULL)) { + ast_log(LOG_WARNING, "Failed to start moh, starting silence generator instead\n"); + hc->idle_mode = IDLE_MODE_SILENCE; + hc->silence_generator = ast_channel_start_silence_generator(bridge_channel->chan); + } break; case IDLE_MODE_RINGING: ast_indicate(bridge_channel->chan, AST_CONTROL_RINGING); |