diff --git a/src/channels/chan_voicemngr.c b/src/channels/chan_voicemngr.c index 24162ff433fd97267c33b54c921033929a74261e..9336c727a012cf51208d8a42df6bc8f73d2f2cb1 100644 --- a/src/channels/chan_voicemngr.c +++ b/src/channels/chan_voicemngr.c @@ -795,35 +795,11 @@ static void chan_voicemngr_modify_codec(struct chan_voicemngr_subchannel *sub) { ast_channel_lock(sub->owner); ast_channel_ptime_set(sub->owner, ast_channel_ptime_get(bridged_chan) ? ast_channel_ptime_get(bridged_chan) : default_ptime); ast_channel_unlock(sub->owner); - if (strncmp(ast_channel_name(bridged_chan), "TELCHAN", 5) == 0 ) { - // local chan, internal call, using alaw. - ast_log(LOG_NOTICE, "INTERNAL CALL, %s\n", ast_channel_name(bridged_chan)); - ast_channel_lock(sub->owner); - ast_channel_codec_set(sub->owner, "alaw"); - ast_channel_unlock(sub->owner); - ast_channel_lock(bridged_chan); - ast_channel_codec_set(bridged_chan, "alaw"); - ast_channel_unlock(bridged_chan); - // set sip client to 0 for internal call - sub->sip_client_id = 0; - struct ast_format_cap *caps; - caps = ast_format_cap_alloc(AST_FORMAT_CAP_FLAG_DEFAULT); - if (caps) { - ast_format_cap_append(caps, map_rtpname_to_format("alaw"), 0); - ast_channel_lock(bridged_chan); - ast_channel_nativeformats_set(bridged_chan, caps); - ast_channel_unlock(bridged_chan); - ao2_ref(caps, -1); - } else { - ao2_cleanup(caps); - } - } else { // get codec from bridged_chan's writeformat if not set - ast_channel_lock(sub->owner); - ast_channel_codec_set(sub->owner, !ast_strlen_zero(ast_channel_codec_get(bridged_chan)) ? - ast_channel_codec_get(bridged_chan) : ast_format_get_name(ast_channel_writeformat(bridged_chan))); - ast_channel_unlock(sub->owner); - } + ast_channel_lock(sub->owner); + ast_channel_codec_set(sub->owner, !ast_strlen_zero(ast_channel_codec_get(bridged_chan)) ? + ast_channel_codec_get(bridged_chan) : ast_format_get_name(ast_channel_writeformat(bridged_chan))); + ast_channel_unlock(sub->owner); ast_channel_unref(bridged_chan); } else if (ast_strlen_zero(ast_channel_codec_get(sub->owner))) { //return if has no codec set @@ -860,7 +836,7 @@ static void chan_voicemngr_modify_codec(struct chan_voicemngr_subchannel *sub) { data.mask = data.mask|UBUS_DATA_PTIME_BIT; /* push parm_update to voicemngr */ endpt_connection_data(sub->parent->line_id, sub->call_id, "parm_update", &data); - ast_log(LOG_NOTICE, "connection parm_update, codec: %d, ptime: %d",data.codec, data.ptime); + ast_log(LOG_NOTICE, "connection parm_update, codec: %d, ptime: %d\n",data.codec, data.ptime); if (data.mask & UBUS_DATA_CODEC_BIT) { sub->updated_codec = 1;