[Freeswitch-dev] Getting DTMF from channel.
Paulo Rogério Panhoto
paulo at voicetechnology.com.br
Fri Oct 22 14:09:37 PDT 2010
I really want to post it as contribution but I don't know how the
process works. So, in the meantine, it is already published on github
git://github.com/ppanhoto/Freeswitch-mod_mp4.git
Regards,
Paulo.
On 22/10/10 18:38, Anthony Minessale wrote:
> 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
>>
>>
>
>
>
More information about the FreeSWITCH-dev
mailing list