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 <[email protected]>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: [email protected]
> To: [email protected]
> 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 
> <[email protected]>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
> [email protected]
> 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:[email protected]
> GTALK/JABBER/PAYPAL:[email protected]
> IRC: irc.freenode.net #freeswitch
>
> FreeSWITCH Developer Conference
> sip:[email protected]
> iax:[email protected]/888<http://conference.freeswitch.org/888>
> googletalk:[email protected]<googletalk:conf%[email protected]>
> pstn:+19193869900
>
> ------------------------------
> Alles in einem Postfach – Ich will 
> Hotmail!<http://redirect.gimas.net/?n=M1003Hotmail>
>
> _______________________________________________
> FreeSWITCH-dev mailing list
> [email protected]
> 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:[email protected] <msn%[email protected]>
GTALK/JABBER/PAYPAL:[email protected]<paypal%[email protected]>
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:[email protected] <sip%[email protected]>
iax:[email protected]/888
googletalk:[email protected]<googletalk%3aconf%[email protected]>
pstn:+19193869900
_______________________________________________
FreeSWITCH-dev mailing list
[email protected]
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