Recieving DTMF in GUI's call

Is there any way to recieve a DTMF signal while monitoring a call through the handler?

Also has anyone successfully used to AMI to do anything useful through the GUI by doing AJAM maybe?

There is not any way to process the audio stream or receive DTMF events with the phone API. Perhaps you could decode DTMF on the server and use the SIP messaging to send notices to the phone about DTMF?

Do you have any suggestion on how to decode the DTMF?

My setup is that I have a SIP phone that connects to another channel that I wrote custom, so when I send the DTMF it is coming in from the SIP channel to mine and all I hear is the audio of it, so is there a way to decode that it was a DTMF signal from that audio?

All I am trying to do really is send some sort of signal to my channel through a button on the GUI. So it does not need to be DTMF if there is some other thoughts you have to send a signal from the sip channel (activated from the GUI) to my custom channel.


If I understand correctly, your phone is registering with a custom asterisk channel driver that you wrote that speaks the SIP protocol? In that case, I’m not really sure if you can use the normal SIP messaging.

See the “Interacting with Asterisk” section on then Custom Phone Applications with Asterisk wiki page for a description of how its “normally” done.

So what you’ll probably want to use is something like long-polling along with a NetRequest object in order to send messages from your channel driver to your custom app. This should eliminate the need to decode DTMF in your channel driver.

Will this work?

It ended up that because I based my custom channel off of chan_console, it had methods that I previously deleted and did not notice called console_digit_begin and digit_end which can recieve the DTMF tone and be my “interrupt” for changing one of the flags (Push-to-Talk). Thanks for your input though, I might need to do that for other options that I have.

-Ryan C.