[Freeswitch-dev] Getting DTMF from channel.

Anthony Minessale anthony.minessale at gmail.com
Fri Oct 22 13:38:32 PDT 2010


maybe if you post the module for contribution we can add it to FS and
figure it out by looking in the code to make it do what you want.


2010/10/22 Paulo Rogério Panhoto <paulo at voicetechnology.com.br>:
>    Hi,
>
>    I'm writing a module that allows playback of MP4 video files (with
> libmp4v2). The playback itself is made by two functions ready to run on
> separate threads (though, audio runs on current thread and video runs on
> a separate one). At this point, I'm trying to implement dtmf cut-through.
>
>    After some research (I checked out mod_dptools.c and
> switch_ivr_play_say.c) and this code was my best guess -- it runs on the
> audio stream:
>
>        if(switch_channel_test_flag(pt->channel, CF_BREAK))
>        {
>            switch_channel_clear_flag(pt->channel, CF_BREAK);
>            break;
>        }
>
>        switch_ivr_parse_all_events(pt->session);
>
>        if(switch_channel_has_dtmf(pt->channel))
>        {
>            switch_channel_dequeue_dtmf(pt->channel, &dtmf);
>            const char * terminators =
> switch_channel_get_variable(pt->channel,
> SWITCH_PLAYBACK_TERMINATORS_VARIABLE);
>            if(terminators && !strcasecmp(terminators, "none"))
> terminators = NULL;
>            switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(pt->session),
> SWITCH_LOG_DEBUG, "Digit %c\n", dtmf.digit);
>            if(terminators && strchr(terminators, dtmf.digit))
>            {
>                std::string digit(&dtmf.digit, 0, 1);
>                switch_channel_set_variable(pt->channel,
> SWITCH_PLAYBACK_TERMINATOR_USED, digit.c_str());
>                break;
>            }
>        }
>
>    Which didn't work. I'm asking if anyone has any idea.
>
>    Any help is appreciated
>
>    Regards,
>
>    Paulo R. Panhoto
>
>
> _______________________________________________
> 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
googletalk:conf+888 at conference.freeswitch.org
pstn:+19193869900



More information about the FreeSWITCH-dev mailing list