[Freeswitch-users] Problem with originated calls hanging in CS_SOFT_EXEC state

Michael Collins msc at freeswitch.org
Sat Sep 1 07:41:13 MSD 2012


Plz get that jira opened! :)
-MC

On Friday, August 31, 2012, Phillip Boles <freeswitch-users at 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 at 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 at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20120831/88fecfe7/attachment.html 


Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list