[commit] r4720 - in freeswitch/trunk/src: . mod/endpoints/mod_iax
Author: anthm Date: Wed Mar 21 17:23:40 2007 New Revision: 4720 Modified: freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c freeswitch/trunk/src/switch_channel.c freeswitch/trunk/src/switch_ivr.c Log: cleanup Modified: freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_iax/mod_iax.c Wed Mar 21 17:23:40 2007 @@ -587,9 +587,7 @@ default: break; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s CHANNEL KILL\n", switch_channel_get_name(channel)); - - + return SWITCH_STATUS_SUCCESS; } @@ -649,7 +647,8 @@ private_t *tech_pvt = NULL; switch_time_t started = switch_time_now(); unsigned int elapsed; - + switch_byte_t *data; + channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -703,12 +702,14 @@ return SWITCH_STATUS_FALSE; cng: - tech_pvt->read_frame.datalen = 13; - memset(tech_pvt->read_frame.data, 0, 13); + data = (switch_byte_t *) tech_pvt->read_frame.data; + data[0] = 65; + data[1] = 0; + tech_pvt->read_frame.datalen = 2; tech_pvt->read_frame.flags = SFF_CNG; *frame = &tech_pvt->read_frame; return SWITCH_STATUS_SUCCESS; - + } static switch_status_t channel_write_frame(switch_core_session_t *session, switch_frame_t *frame, int timeout, Modified: freeswitch/trunk/src/switch_channel.c ============================================================================== --- freeswitch/trunk/src/switch_channel.c (original) +++ freeswitch/trunk/src/switch_channel.c Wed Mar 21 17:23:40 2007 @@ -1036,10 +1036,10 @@ switch_event_fire(&event); } - /* if we're in a bridge and the other channel is in a blocking read they will never realize we have answered so send + /* if we're the child of another channel and the other channel is in a blocking read they will never realize we have answered so send a SWITCH_SIG_BREAK to interrupt any blocking reads on that channel */ - if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + if ((uuid = switch_channel_get_variable(channel, SWITCH_ORIGINATOR_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { switch_core_session_kill_channel(other_session, SWITCH_SIG_BREAK); switch_core_session_rwunlock(other_session); } @@ -1075,7 +1075,7 @@ msg.message_id = SWITCH_MESSAGE_INDICATE_PROGRESS; msg.from = channel->name; status = switch_core_session_message_send(uuid, &msg); - + if (status == SWITCH_STATUS_SUCCESS) { status = switch_channel_perform_mark_pre_answered(channel, file, func, line); } @@ -1148,11 +1148,11 @@ switch_channel_event_set_data(channel, event); switch_event_fire(&event); } - - /* if we're in a bridge and the other channel is in a blocking read they will never realize we have answered so send + + /* if we're the child of another channel and the other channel is in a blocking read they will never realize we have answered so send a SWITCH_SIG_BREAK to interrupt any blocking reads on that channel */ - if ((uuid = switch_channel_get_variable(channel, SWITCH_BRIDGE_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { + if ((uuid = switch_channel_get_variable(channel, SWITCH_ORIGINATOR_VARIABLE)) && (other_session = switch_core_session_locate(uuid))) { switch_core_session_kill_channel(other_session, SWITCH_SIG_BREAK); switch_core_session_rwunlock(other_session); } Modified: freeswitch/trunk/src/switch_ivr.c ============================================================================== --- freeswitch/trunk/src/switch_ivr.c (original) +++ freeswitch/trunk/src/switch_ivr.c Wed Mar 21 17:23:40 2007 @@ -2048,9 +2048,8 @@ switch_channel_answer(chan_a); ans_a++; } else if (!pre_b && switch_channel_test_flag(chan_b, CF_EARLY_MEDIA)) { - if (switch_channel_pre_answer(chan_a) == SWITCH_STATUS_SUCCESS) { - pre_b++; - } + switch_channel_pre_answer(chan_a); + pre_b++; } if (!pre_b) { switch_yield(10000);
participants (1)
-
Freeswitch SVN