Summary:ASTERISK-12186: DTMF detection issue in GSM gateway
Reporter:testing123 (jankrishnan)Labels:
Date Opened:2008-06-13 03:54:03Date Closed:2011-06-07 14:08:03
Versions:Frequency of
Environment:Attachments:( 0) debug
Description:I am using the GSM gateway(MV-370) for communication with mobile network from asterisk. In detail,
SIM card is placed in MV-370,
Configured one sip account for this gateway in asterisk, so whenever i making the from outside to this gateway, it will be landed on configured sip account. I designed the dialplan is such a way to get the dtmf(Read() application in asterisk) from the remote end. But, here when pressing the dtmf digits from remote end, it is not detected. Always saying that no digits has been pressed,

sip.conf configuration,
;GSM VOIP Gateway MV-370

in the above i tried with the dtmfmode as info and rfc2833, but i got the same result.

could you please direct or suggest me in a right direction?

Thanks in advance,
Comments:By: Tilghman Lesher (tilghman) 2008-06-14 09:33:55

You might try recording the audio with Monitor or MixMonitor and listen to the stream to see if you're hearing the DTMF at all.  You could also turn on DTMF logging in logger.conf to see if Asterisk is detecting any in the stream.

Several GSM gateways have a history of generating DTMF tones that are not to-spec.  It's also possible that when changing the DTMF type, the gateway needs a reboot before it will start delivering the different method of DTMF.

By: Marcelo M. Sosa Lugones (marsosa) 2008-06-14 22:19:08

update the firmware to newest version and enable rfc2833 in the gateway. I have some of those gateways and the only way to pass dtmf was updating fw.

By: Joshua C. Colp (jcolp) 2008-06-16 07:14:11

Please do as marsosa mentions and report back.

By: testing123 (jankrishnan) 2008-06-24 07:06:14

As per the suggestion I have upgraded to the firmware to the latest one ( 2008 release ). I have did all the setting and i have given the dtmf setting as rfc2833 in both mv370 modem as well as in asterisk. Still the dtmf is not detected.
Kindly give your opinion

By: Marcelo M. Sosa Lugones (marsosa) 2008-06-24 07:54:58

Can you post a 'sip debug' of a test call? also, did you make sure that the codec id of rfc2833 is set to 101? i'm not sure if it was the default value.
Another thing you may try is to send the call to a "SendDTMF(12345)" line in the dialplan, to see if you can hear those tones or not.

By: testing123 (jankrishnan) 2008-06-26 04:04:23

I have included the senddtmf(12345) in the dialplan. Then i am able to hear the dtmf tones in the mobile.

I verified that the codec id is 101 for rfc2833.

As per the suggestion, i enabled the 'sip debug' messages in the asterisk. I have attached the sip debug log(filename:debug).
Dialplan :
exten => 103,1,Answer()
exten => 103,2,Set(TIMEOUT(digit)=5)
exten => 103,3,Set(TIMEOUT(response)=7)
exten => 103,4,MixMonitor(/root/mv370.wav)
exten => 103,5,Read(digits|get_dtmf_digits|1||1|6)
exten => 103,6,StopMixMonitor()
exten => 103,7,Hangup()

sip.conf :
secret=103 ; Asterisk extension password
context=gateway ; Incoming calls context
dtmfmode=rfc2833 ; Very important for DISA to work
nat=no ; Gateway is not behind a NAT router
canreinvite=no ; Typically set to NO if behind NAT
allow=ulaw ; prefered codec for DTMF detection

asterisk IP address :
modem IP address :
SIM number(placed inside the modem): 9940042766

Please give me your suggestion to get working....

By: Marcelo M. Sosa Lugones (marsosa) 2008-06-26 06:58:50

Well, the config looks fine, also you can hear the tones from Asterisk so the problem is the other way. Did you hear the files generated with MixMonitor? do you hear any tone or silence? Also, are you aware that you can use 2-stage dialing by changing the # for * in the gateway's dialplan? you may want to try that, the interface generates dialtone and you can dial over it, you'll get the dialed number in the call setup in your Asterisk. Maybe you can try that to see if the problem is in the sip leg or the gsm gateway has any other problem. Besides that, you may try 'rtp debug' to see if there is any rfc2833 packet incoming, or as Corydon told you, enable dtmf logging.

By: testing123 (jankrishnan) 2008-06-27 03:24:58

I have heard the voice file, but no detection of dtmf tone. I have enabled the rtp debug in asterisk, checked any dtmf is coming, no dtmf in the rtp debug log.
Kindly tell me what is that 2 stage dialing. What is the purpose of it?

By: Tilghman Lesher (tilghman) 2008-06-27 07:29:47

If you have rfc2833 dtmf enabled on both sides, and you are getting no DTMF in the RTP log, then your gateway is simply not sending DTMF.  You need to open a ticket with your gateway vendor.

By: Marcelo M. Sosa Lugones (marsosa) 2008-06-27 08:18:23

2-stage dialing, in this case, allows you to get dialtone from the gsm gateway and not from asterisk itself. You can then dial over the dialtone and Asterisk will receive all the dialed digits in the setup of the call. But as Corydon told you, you should open a ticket with the vendor.

By: Francesco Romano (francesco_r) 2008-06-27 08:31:22

I have installed dozens of these devices and the problem is not asterisk. Try to upgrade the portech to the release 6.690l (may 9) and use RFC2833 or INFO.

By: Tilghman Lesher (tilghman) 2008-07-25 18:10:59

Closed.  Not a problem in Asterisk.