In-Band vs Out-Of-Band DTMF
HMP Elements by default uses Out-of-Band packets (RFC 2833) to send and receive digits. It’s rare, but some carriers are not able to handle RFC 2833, in these instances, you will need to change the following setting from False to True:
<setting name="InbandDtmf" serializeAs="String"> <value>True</value> </setting>;
When given the option to use In-Band or Out-of-Band DTMF, Out-of-Band DTMF is much more reliable and is recommended.
Missing Digits with Out-of-Band DTMF
Due to the nature of VoIP, it’s possible for packets to get lost or arrive late in transit from your carrier to HMP Elements. This is particularly common when you run on a virtual machine (VM) using a shared NIC — often other VM’s will take priority and you may drop UDP packets.
These dropped packets can impact your ability to receive digits.
Some Things To Try
There are a few things that you can do to improve this situation.
Improve Network Performance
If you are experiencing lost packets, look at your network configuration and see if there is anything that you can do on your end to improve performance (perhaps your router can’t handle SIP traffic, or you need to dedicate a NIC to the virtual machine).
Troubleshoot It With Your SIP Carrier
If you believe that the error is caused by the SIP carrier, you can send them a wireshark trace that shows the issue. Alternatively, you can switch SIP carriers to see if that improves the situation.
Modify the HMP Elements Config Setting
You can modify the RFC2833StartBitRequired setting in your HmpElementsServer.exe.config and set it to “False”
<setting name="RFC2833StartBitRequired" serializeAs="String"> <value>False</value> </setting>
It’s possible to confirm this by performing a wireshark trace and looking at the jitter and lost packets for a particular call. You can do this by accessing “Telephony” > “VoIP Calls” and selecting a particular call.
For more information on this setting please see HMP Elements – Configuration settings