Thank you Anthony, solved!<div>I have in my code a call to a &quot;switch_core_session_locate&quot; so, as you say, after adding a &quot;switch_core_session_rwunlock&quot; the problem disappear and there are no more &quot;zombie&quot; sessions in my Freeswitch.</div>
<div><br></div><div>Stephen</div><br><div class="gmail_quote">On Fri, Nov 11, 2011 at 12:34 AM, Anthony Minessale <span dir="ltr">&lt;<a href="mailto:anthony.minessale@gmail.com">anthony.minessale@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">look for something that calls either switch_core_session_locate switch_core_session_get_partner or something that calls switch_core_session_read_lock(session);  in all of these cases its necessary to call switch_core_session_rwunlock(session); before letting the session pointer go out of scope.<div>

<br><br><div class="gmail_quote"><div><div class="h5">On Thu, Nov 10, 2011 at 3:17 PM, Stephen Wilde <span dir="ltr">&lt;<a href="mailto:wstephen80@gmail.com" target="_blank">wstephen80@gmail.com</a>&gt;</span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5">
I have the necessity to hangup a channel inside a media bug callback in a my custom module.<div><br><div>Currently, what I do is:</div><div><br></div><div><div>static switch_bool_t my_media_callback(switch_media_bug_t *bug, void *user_data, switch_abc_type_t type)</div>



<div>{</div><div>    struct my_custom_helper * my_helper = (struct my_custom_helper *) user_data;</div><div><br></div><div>    switch (type) {</div></div><div>    case SWITCH_ABC_TYPE_READ_REPLACE:</div><div>    case SWITCH_ABC_TYPE_WRITE_REPLACE:</div>


<div>        {</div><div>            switch_frame_t *frame;</div><div><br></div><div>            if (sth-&gt;read) {</div><div>                frame = switch_core_media_bug_get_read_replace_frame(bug);</div><div>            } else {</div>


<div>                frame = switch_core_media_bug_get_write_replace_frame(bug);</div><div>            }</div><div><br></div><div>            /*</div><div>            ....</div><div>            media analysis</div><div>            ....</div>


<div>            */</div><div><br></div><div>            if (to_hangup) {</div><div>                switch_channel_t *channel = switch_core_session_get_channel(my_helper-&gt;session);</div><div><br></div><div>                if (channel) {</div>


<div>                    switch_channel_hangup(channel, SWITCH_CAUSE_NORMAL_CLEARING);</div><div>                }</div><div>            }</div><div>        }</div><div><br></div><div>    return SWITCH_TRUE;</div><div>}</div>


<div><br></div><div><br></div><div>The dropped channel is a b-leg, previously bridged with an a-leg (incoming call).</div><div><br></div><div>Probably in my code there is an error because the code works fine and the channel is correctly dropped but inside Freeswitch remain some &quot;zombies&quot; calls.</div>


<div>If I issue a fs_cli  &quot;show channels&quot; I see that there are some calls dropped by my module showed in &quot;ACTIVE&quot; state.</div><div>What is wrong with my channel hangup?</div><div><br></div><div>Thanks in advance</div>


<div>Stephen </div>
</div>
<br><br></div></div>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/" target="_blank">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/" target="_blank">http://www.cluecon.com/</a><br>

Twitter: <a href="http://twitter.com/FreeSWITCH_wire" target="_blank">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com" target="_blank">MSN:anthony_minessale@hotmail.com</a><br>
GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com" target="_blank">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net" target="_blank">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org" target="_blank">sip:888@conference.freeswitch.org</a><br>
<a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org" target="_blank">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:<a href="tel:%2B19193869900" value="+19193869900" target="_blank">+19193869900</a><br>
</div>
<br>_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
FreeSWITCH-powered IP PBX: The CudaTel Communication Server<br>
<a href="http://www.cudatel.com" target="_blank">http://www.cudatel.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://wiki.freeswitch.org" target="_blank">http://wiki.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br>