Polycom Phones support DTMF inbound as a standard.
If you are unable to send DTMF Signals to a IVR or Voice Mail System you may need to change the method or the payload type.
Please liaise with your SIP Platform Support in order to gather this Information.
Changing from SIP Inbound (RFC2833) to SIP INFO (RFC2976) must be done with a Configuration File loaded from a Provisioning Server.
You archive this by adding:
<dtmf> <voIpProt voIpProt.SIP.dtmfViaSignaling.rfc2976="1" tone.dtmf.viaRtp="0"/> </dtmf>
Above will enable RFC2976 DTMF Support and disable inbound DTMF.
NOTE: A SIP_INFO_DTMF.zip example file is attached
When using OutBound DTMF the Star * and Hash # character is usually encoded as 10 or 11.
If this should be send as * and # instead please add the following parameter:
Another Solution is to change the Payload Type via:
Usually Payload Type 101 or 127 is supported by the SIP Switch.
Above will change the SIP Inbound Payload from 127 ( pre SIP 3.2.2 / UCS 3.3.x / UCS 4.0.x) into 101.
NOTE: A dtmf_payload_101.zip dtmf_payload_127.zip and example file is attached
NOTE: Please check your Admin Guide and the Release Notes if your SIP / UC Software Version supports this functionality.
Changing Inbound DTMF signalling:
Using the parameter tone.dtmf.rfc2833Control="0" we can allow INBOUND sending of DTMF.
Changing of the tone duration:
In some circumstances it may be required to change the tone duration from the standard 50 Milliseconds to something longer.
<test tone.dtmf.onTime="100" />
Download and unzip the attached DTMF_Tone_Duration.zip and modify it for your needs and then import via the Web Interface.
Wireshark troubleshooting Payload Type:
Above shows the phone using Payload type 127 in the SIP INVITE.
Wireshark troubleshooting SIP Info method:
Above shows the phone advertising in the Message Header that it supports the SIP INFO method within the SIP INVITE.
Above shows the phone sending the DTMF digit 1 via the SIP INFO method.
Using Polycom Logs to check for the DTMF Digits being send:
Changing the pps logging module to Event 2 via the Web Interface Settings > Logging > Module Log Level Limits >
or via a configuration file:
035555.330|pps |2|00|[PpsHybridC]: mediaSess2PpsCallInBandData NetCall(0x110f448) UsrCall(0x1580778) Type(0) Size(1) Data(3) 035556.293|pps |2|00|[PpsHybridC]: mediaSess2PpsCallInBandData NetCall(0x110f448) UsrCall(0x1580778) Type(0) Size(1) Data(6) 035557.783|pps |2|00|[PpsHybridC]: mediaSess2PpsCallInBandData NetCall(0x110f448) UsrCall(0x1580778) Type(0) Size(1) Data(9)
Above shows the digits 3, 6 and 9 have been send via DTMF.
Due G.729 being an extremely compressed Codec DTMF will more likely fail. Source => here <=