Plz get that jira opened! :) -MC On Friday, August 31, 2012, Phillip Boles <freeswitch-users@vocalspace.com> wrote:
Anthony, adding switch_core_session_soft_unlock(session); below switch_core_session_rwunlock(session);
moves the call state from CS_SOFT_EXEC to CS_HANGUP but the channel still persists waiting on external entities. I am calling mod_shout to play an audio on the channel earlier in the session. I dont know if that helps. Thanks! Phillip On Aug 31, 2012, at 4:16 PM, Phillip Boles wrote:
Sorry Yes using the latest.
Using commit a8ce9ac29f3ba000bf42ab2286be04cc7bf9f509 Author: Anthony Minessale <anthm@freeswitch.org> Date: Thu Aug 30 17:17:15 2012 -0500
Changes made switch_cpp.cpp starting at Line 1000 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Calling CoreSession::destroy\n"); if (session) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "We still have valid session\n");
if (!channel) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Channel is undefined! Trying to get it!\n");
channel = switch_core_session_get_channel(session); }
if (channel) {
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG,
"%s
destroy/unlink session from object\n", switch_channel_get_name(channel));
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG,
"%s
destroy/unlink uuid\n", switch_channel_get_uuid(channel));
switch_channel_set_private(channel, "CoreSession",
NULL);
if (switch_channel_up(channel) &&
switch_test_flag(this, S_HUP) && !switch_channel_test_flag(channel, CF_TRANSFER)) {
switch_channel_hangup(channel,
SWITCH_CAUSE_NORMAL_CLEARING);
} } else { switch_log_printf(SWITCH_CHANNEL_LOG,
SWITCH_LOG_CRIT, "Channel is undefined! We Failed to get it!\n");
}
[CRIT] switch_cpp.cpp:1000 Calling CoreSession::destroy [CRIT] switch_cpp.cpp:1002 We still have valid session [DEBUG] switch_cpp.cpp:1011 sofia/external/12146635351 destroy/unlink
session from object
[DEBUG] switch_cpp.cpp:1013 83451093-e04f-49c1-9f55-5dd966bc4ba9 destroy/unlink uuid [DEBUG] switch_core_state_machine.c:92 sofia/external/XXXXXXXXXX Standard REPORTING, cause: NORMAL_CLEARING [DEBUG] switch_core_state_machine.c:703 (sofia/external/XXXXXXXXXX ) State REPORTING going to sleep [DEBUG] switch_core_state_machine.c:423 (sofia/external/XXXXXXXXXX ) State Change CS_REPORTING -> CS_DESTROY [DEBUG] switch_core_session.c:1210 Send signal sofia/external/XXXXXXXXXX [BREAK] [DEBUG] switch_core_session.c:1415 Session 2 (sofia/external/XXXXXXXXXX ) Locked, Waiting on external entities
channel remains hung
P
On Aug 31, 2012, at 12:26 PM, Anthony Minessale wrote:
1) You did not answer the question if you are on latest GIT HEAD. If
you are on anything else update...
2) Add some debugging to switch_cpp.cpp about line 1000
use lines like this to follow the code paths when you call destroy
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "BLAH\n");
The part I am concerned with is when you call destroy you dont see the
log line you should:
switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG,
"%s destroy/unlink session from
object\n", switch_channel_get_name(channel));
This makes me wonder if you are some older version...
On Fri, Aug 31, 2012 at 11:57 AM, Phillip Boles
<freeswitch-users@vocalspace.com> wrote:
var session = ManagedSession.OriginateHandleHangup(s, dialString, ts, (y)
=
-- Michael S Collins Twitter: @mercutioviz http://www.FreeSWITCH.org http://www.ClueCon.com http://www.OSTAG.org