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 <sca...@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.miness...@gmail.com
> To: freeswitch-dev@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 
> <sca...@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@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_miness...@hotmail.com
> GTALK/JABBER/PAYPAL:anthony.miness...@gmail.com
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:8...@conference.freeswitch.org
> iax:gu...@conference.freeswitch.org/888<http://conference.freeswitch.org/888>
> googletalk:conf+...@conference.freeswitch.org<googletalk:conf%2b...@conference.freeswitch.org>
> pstn:+19193869900
>
> ------------------------------
> Alles in einem Postfach – Ich will 
> Hotmail!<http://redirect.gimas.net/?n=M1003Hotmail>
>
> _______________________________________________
> FreeSWITCH-dev mailing list
> FreeSWITCH-dev@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_miness...@hotmail.com <msn%3aanthony_miness...@hotmail.com>
GTALK/JABBER/PAYPAL:anthony.miness...@gmail.com<paypal%3aanthony.miness...@gmail.com>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:8...@conference.freeswitch.org <sip%3a...@conference.freeswitch.org>
iax:gu...@conference.freeswitch.org/888
googletalk:conf+...@conference.freeswitch.org<googletalk%3aconf%2b...@conference.freeswitch.org>
pstn:+19193869900
_______________________________________________
FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org

Reply via email to