[Freeswitch-users] Correct way to hangup a channel
Anthony Minessale
anthony.minessale at gmail.com
Fri Nov 11 02:34:06 MSK 2011
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.
On Thu, Nov 10, 2011 at 3:17 PM, Stephen Wilde <wstephen80 at gmail.com> wrote:
> I have the necessity to hangup a channel inside a media bug callback in a
> my custom module.
>
> Currently, what I do is:
>
> static switch_bool_t my_media_callback(switch_media_bug_t *bug, void
> *user_data, switch_abc_type_t type)
> {
> struct my_custom_helper * my_helper = (struct my_custom_helper *)
> user_data;
>
> switch (type) {
> case SWITCH_ABC_TYPE_READ_REPLACE:
> case SWITCH_ABC_TYPE_WRITE_REPLACE:
> {
> switch_frame_t *frame;
>
> if (sth->read) {
> frame = switch_core_media_bug_get_read_replace_frame(bug);
> } else {
> frame = switch_core_media_bug_get_write_replace_frame(bug);
> }
>
> /*
> ....
> media analysis
> ....
> */
>
> if (to_hangup) {
> switch_channel_t *channel =
> switch_core_session_get_channel(my_helper->session);
>
> if (channel) {
> switch_channel_hangup(channel,
> SWITCH_CAUSE_NORMAL_CLEARING);
> }
> }
> }
>
> return SWITCH_TRUE;
> }
>
>
> The dropped channel is a b-leg, previously bridged with an a-leg (incoming
> call).
>
> Probably in my code there is an error because the code works fine and the
> channel is correctly dropped but inside Freeswitch remain some "zombies"
> calls.
> If I issue a fs_cli "show channels" I see that there are some calls
> dropped by my module showed in "ACTIVE" state.
> What is wrong with my channel hangup?
>
> Thanks in advance
> Stephen
>
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org
>
>
--
Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm
MSN:anthony_minessale at hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com
IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20111110/c80ca192/attachment.html
Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users
mailing list