There is such a configuration:

Internet ===> [WAN port] Grandstream HT812 with hosted PBX users [FXS ports] ===> analog ministation Panasonic ===> analog telephone sets

Situation: When a caller dials a number which belongs to a hosted PBX, the call lands on the HT812, then it is switched to the ministation. While an IVR of the ministation is playing, the caller presses some additional internal numbers. After that he is switched to a telephone set with the corresponding internal number.

Problem: When dialing internal numbers, callers are not always switched to the corresponding telephone set. In these cases they are switched to the default telephone set (which belongs to a secretary), as if a wrong number was dialed. When dialing from IP phones, pressing additional numbers almost always works fine, but when dialing from mobile phones, it almost always fails.

Prehistory: Earlier instead of Grandstream HT812 was Cisco SPA122. First the problem with dialing internal numbers was the same. A sysadmin who previously ran this system had changed some settings on SPA122 on the advice of other people, which solved the problem. But, alas, he doesn't remember what he had done exactly. He only remembers that he changed DTMF method: he turned off 'RFC2833' and switched to 'Inband' or 'SIP INFO'.

Question 1: According to theory, "DTMF (Dual Tone Multi-frequency), better known as touch-tone, is used for telecommunication signaling over analog telephone lines in the voice-frequency band. DTMF is the signal sent from the IP phone to the network, which is generated when pressing the IP phone's keypad during a call." If DTMF is sent from an IP phone (here Cisco ATA) to the network (here Internet), how could it affect dialing internal numbers by callers, which are sent in the opposite direction--from ATA to ministation?

Question 2: What should I change on the Grandstream HT812 to make internal numbers work fine? I've tried to simply changed preferred DTMF method to 'In-audio', but it didn't help. Here are some relevant settings on HT812 (square brackets mark current settings):

DTMF Payload Type: [101]

Preferred DTMF method: [RFC2833] / In-audio / SIP INFO

Inband DTMF Duration (in 40-2000 ms range): duration: [100], inter-duration: [50]

Disable DTMF Negotiation: [No] (negotiate with peer) / Yes (use above DTMF order without negotiation)

Generate Continuous RFC2833 Events: [No] / Yes (RFC2833 events are generated until key is released)

  • I guess you have SIP phones in the WAN side. You must change the SIP phones and the HT812 to the same value (RFC2833 or SIP INFO).
    – jcbermu
    Nov 5, 2019 at 8:02
  • The problem is that the DTMF pulse gets compressed in the VoIP phone side and decompressed in the FXS side. This process destroy the exact frequencies needed and then the DTMF pulse is damaged. Using "RFC2833" or "SIP INFO" the DTMF is sent as signaling in the data and then the HT812 simply translate that data to the corresponding DTMF pulse.
    – jcbermu
    Nov 5, 2019 at 9:46
  • 1
    The problem has been solved, see my answer. Thank you for response.
    – Snowjay
    Nov 6, 2019 at 19:18
  • Did any answer help you? If so, you should accept the answer so that the question doesn't keep popping up forever, looking for an answer. Alternatively, you can provide and accept your own answer.
    – Ron Maupin
    Dec 15, 2019 at 19:52

1 Answer 1


The problem has been solved by changing the following settings on Grandstream HT812:

1) Preferred DTMF method: In-audio

2) Disable DTMF Negotiation: Yes

With this setting set to 'No', the preferred DTMF method was taken from the result of negotiation with the hosted PBX, which was 'RFC 2833'.

3) Inband DTMF Duration (in 40-2000 ms range): duration: 50, inter-duration: 50

Changing the duration of DTMF signal from the default 100 ms to 50 ms finally solved the problem completely.

The codecs which were used in all cases are PCMA and PCMU.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.