diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index f22720c1d6..8b56fe6e10 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -965,7 +965,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_stop_inband_dtmf_generate_session(swi SWITCH_DECLARE(switch_status_t) switch_ivr_inband_dtmf_generate_session(switch_core_session_t *session, switch_bool_t read_stream) { switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *read_codec = switch_core_session_get_read_codec(session); + switch_codec_t *read_codec; switch_media_bug_t *bug; switch_status_t status; switch_inband_dtmf_generate_t *pvt; @@ -975,6 +975,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_inband_dtmf_generate_session(switch_c return status; } + read_codec = switch_core_session_get_read_codec(session); + if (!read_codec) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can not install inband dtmf generate. No read codec.!\n"); return SWITCH_STATUS_FALSE;