Why am I missing Digits?
Inband 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:
<setting name="InbandDtmf" serializeAs="String"> <value>False</value> </setting>
<setting name="InbandDtmf" serializeAs="String"> <value>True</value> </setting>
When given the option to use Inband 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, 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, but there are a few things that you can do to improve this situation:
1) 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).
2) 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.
3) You can modify the following 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 use this link: HMP Elements - Configuration Settings#[RFC2833StartBitRequired] - Modify how HMP Elements detects RFC 2833 digits