[Freeswitch-dev] hooked functions are not called while using one single session

Anthony Minessale anthony.minessale at gmail.com
Tue Mar 16 11:59:28 PDT 2010


you probably want to use the application interface and a while loop while
reading a frame.

see most of the functions in switch_ivr_play_say


On Tue, Mar 16, 2010 at 8:51 AM, Francisco Scaramanga <scaram at hotmail.de>wrote:

>  The module I am writing should be an endpoint VOIP-interface for another
> program. The module should answer a call and transport incoming audio into a
> 3rd party application. Furthermore the 3rd party application sends audio
> data back to the caller. This is why I hooked channel_read_frame and
> channel_write_frame.
>
> How can I trigger the channel to do something that requires reading or
> writing audio? Does it make a difference to use the endpoint interface
> instead of the hooks?
>
>
> ------------------------------
> Date: Tue, 16 Mar 2010 08:34:18 -0500
> From: anthony.minessale at gmail.com
> To: freeswitch-dev at lists.freeswitch.org
> Subject: Re: [Freeswitch-dev] hooked functions are not called while using
> one single session
>
>
> What exactly is your goal?
>
> those hooks will probably only be called if you send the channel to do
> something that
> requires reading and writing audio.
>
>
> On Tue, Mar 16, 2010 at 6:47 AM, Francisco Scaramanga <scaram at hotmail.de>wrote:
>
>  Hello,
> I am writing my own freeswitch module and have implemented 2 hooks for
> reading and writing audio (I did not implement the endpoint interface).
> My problem is that the channel_write_frame and channel_read_frame
> callback-functions are only called if I make an intercept with another
> session (switch_ivr_intercept_session), but my usecase has only one single
> Session for getting and putting audio data in my module.
>
> How can I achieve this?
> scaram
>
> /* on channel init I answer the session and set hooks */
> static switch_status_t channel_on_init(switch_core_session_t *session)
> {
>     switch_channel_t *channel = switch_core_session_get_channel(session);
>     switch_channel_answer(channel);
>
>     switch_channel_set_state(channel, CS_EXCHANGE_MEDIA);
>     switch_set_flag(tech_pvt, TFLAG_IO);
>
>     switch_core_event_hook_add_write_frame(session, &channel_write_frame);
>     switch_core_event_hook_add_read_frame(session, &channel_read_frame);
> }
>
> static switch_status_t channel_write_frame(switch_core_session_t *session,
> switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
> {
>     /* is only called when I intercept 2 Sessions */
> }
> static switch_status_t channel_read_frame(switch_core_session_t *session,
> switch_frame_t *frame, switch_io_flag_t flags, int stream_id)
> {
>     /* is only called when I intercept 2 Sessions */
> }
>
>
>
> ------------------------------
> Ein Postfach für Alles –   bei Hotmail 5 E-Mail-Adressen online verwalten!<http://redirect.gimas.net/?n=M1003HM5Adressen>
>
> _______________________________________________
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> 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
> iax:guest at conference.freeswitch.org/888<http://conference.freeswitch.org/888>
> googletalk:conf+888 at conference.freeswitch.org<googletalk:conf%2B888 at conference.freeswitch.org>
> pstn:+19193869900
>
> ------------------------------
> Alles in einem Postfach – Ich will Hotmail!<http://redirect.gimas.net/?n=M1003Hotmail>
>
> _______________________________________________
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
> 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 <MSN%3Aanthony_minessale at hotmail.com>
GTALK/JABBER/PAYPAL:anthony.minessale at gmail.com<PAYPAL%3Aanthony.minessale at gmail.com>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888 at conference.freeswitch.org <sip%3A888 at conference.freeswitch.org>
iax:guest at conference.freeswitch.org/888
googletalk:conf+888 at conference.freeswitch.org<googletalk%3Aconf%2B888 at conference.freeswitch.org>
pstn:+19193869900
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100316/e370bd10/attachment-0001.html 


More information about the FreeSWITCH-dev mailing list