[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