[Freeswitch-svn] [commit] r4720 - in freeswitch/trunk/src: . mod/endpoints/mod_iax
Freeswitch SVN
anthm at freeswitch.org
Wed Mar 21 17:23:40 EDT 2007
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);
More information about the Freeswitch-svn
mailing list