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">On Thu, Nov 10, 2011 at 3:17 PM, Stephen Wilde <span dir="ltr">&lt;<a href="mailto:wstephen80@gmail.com">wstephen80@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;">
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>
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><br clear="all"><div><br></div>-- <br>Anthony Minessale II<br><br>FreeSWITCH <a href="http://www.freeswitch.org/">http://www.freeswitch.org/</a><br>ClueCon <a href="http://www.cluecon.com/">http://www.cluecon.com/</a><br>
Twitter: <a href="http://twitter.com/FreeSWITCH_wire">http://twitter.com/FreeSWITCH_wire</a><br><br>AIM: anthm<br><a href="mailto:MSN%3Aanthony_minessale@hotmail.com">MSN:anthony_minessale@hotmail.com</a><br>GTALK/JABBER/<a href="mailto:PAYPAL%3Aanthony.minessale@gmail.com">PAYPAL:anthony.minessale@gmail.com</a><br>
IRC: <a href="http://irc.freenode.net">irc.freenode.net</a> #freeswitch<br><br>FreeSWITCH Developer Conference<br><a href="mailto:sip%3A888@conference.freeswitch.org">sip:888@conference.freeswitch.org</a><br><a href="mailto:googletalk%3Aconf%2B888@conference.freeswitch.org">googletalk:conf+888@conference.freeswitch.org</a><br>
pstn:+19193869900<br>
</div>