finishing touch on nomedia with mutiple bridges
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4793 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
677ebfff2b
commit
6e2b76eb75
|
@ -61,7 +61,7 @@ static void audio_bridge_function(switch_core_session_t *session, char *data)
|
||||||
do_continue = switch_true(var);
|
do_continue = switch_true(var);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((var = switch_channel_get_variable(caller_channel, "no_media")) && switch_true(var)) {
|
if (switch_channel_test_flag(caller_channel, CF_NOMEDIA) || ((var = switch_channel_get_variable(caller_channel, "no_media")) && switch_true(var))) {
|
||||||
if (!switch_channel_test_flag(caller_channel, CF_ANSWERED) && !switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA)) {
|
if (!switch_channel_test_flag(caller_channel, CF_ANSWERED) && !switch_channel_test_flag(caller_channel, CF_EARLY_MEDIA)) {
|
||||||
switch_channel_set_flag(caller_channel, CF_NOMEDIA);
|
switch_channel_set_flag(caller_channel, CF_NOMEDIA);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -1268,7 +1268,7 @@ static void tech_absorb_sdp(private_object_t *tech_pvt)
|
||||||
|
|
||||||
channel = switch_core_session_get_channel(tech_pvt->session);
|
channel = switch_core_session_get_channel(tech_pvt->session);
|
||||||
assert(channel != NULL);
|
assert(channel != NULL);
|
||||||
|
|
||||||
if ((sdp_str = switch_channel_get_variable(channel, SWITCH_B_SDP_VARIABLE))) {
|
if ((sdp_str = switch_channel_get_variable(channel, SWITCH_B_SDP_VARIABLE))) {
|
||||||
sdp_parser_t *parser;
|
sdp_parser_t *parser;
|
||||||
sdp_session_t *sdp;
|
sdp_session_t *sdp;
|
||||||
|
@ -2921,9 +2921,7 @@ static void pass_sdp(private_object_t *tech_pvt, char *sdp)
|
||||||
if ((val = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE)) && (other_session = switch_core_session_locate(val))) {
|
if ((val = switch_channel_get_variable(channel, SWITCH_SIGNAL_BOND_VARIABLE)) && (other_session = switch_core_session_locate(val))) {
|
||||||
other_channel = switch_core_session_get_channel(other_session);
|
other_channel = switch_core_session_get_channel(other_session);
|
||||||
assert(other_channel != NULL);
|
assert(other_channel != NULL);
|
||||||
if (!switch_channel_get_variable(other_channel, SWITCH_B_SDP_VARIABLE)) {
|
switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, sdp);
|
||||||
switch_channel_set_variable(other_channel, SWITCH_B_SDP_VARIABLE, sdp);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!switch_test_flag(tech_pvt, TFLAG_CHANGE_MEDIA) && (
|
if (!switch_test_flag(tech_pvt, TFLAG_CHANGE_MEDIA) && (
|
||||||
switch_channel_test_flag(other_channel, CF_OUTBOUND) &&
|
switch_channel_test_flag(other_channel, CF_OUTBOUND) &&
|
||||||
|
|
Loading…
Reference in New Issue