Showing results for 
Search instead for 
Did you mean: 

Welcome to the Cisco Small Business Community

Have a question? Click on a topic board below to get started in the community.


SPA3102 - Cannot see _some_ DTMF tones (7, 8, 9, 0)

I have my SPA3102 hooked up to the front door ringer in my apartment complex.

The use case that I would like to support is to bridge to an IVR after a certain number of rings and then allow PIN code entry to buzz the door open.

Here's the good news -- It works!   except when it doesn't .

Everything works as expected if the PIN code does not contain any of the digits (7, 8, 9, 0)

I cannot get DTMF for 7, 8, 9 and sometimes 0.

The common thread between them seems to be the 852Hz frequency but I have no idea what settings might help on the SPA3102. I remember stumbling across something about impedence and short loops a while ago but didn't understand it.

Any ideas about how I can troubleshoot further would be greatly appreciated.


Daniele Giordano
Rising star

What is the firmware version of your SPA?

What is the codec used and the DTMF relay method setted?


Software Version: 5.2.13(GW002)

Hardware Version: 1.4.5(a)

Preferred Codec: G711u for both Line 1 and PSTN line.

DTMF Tx Method: AVT+Info

Here's some output from my freeswitch log when the leg from the front panel to the SPA3102 starts up. 1010 is the extension for the PSTN line. is the ip of the SPA3102.

2012-05-05 13:32:54.625572 [DEBUG] sofia.c:5602 Channel sofia/internal/1010@ entering state [received][100]

2012-05-05 13:32:54.625572 [DEBUG] sofia.c:5613 Remote SDP:


o=- 5356470 5356470 IN IP4^M


c=IN IP4^M

t=0 0^M

m=audio 16408 RTP/AVP 0 2 4 8 18 96 97 98 100 101^M

a=rtpmap:0 PCMU/8000^M

a=rtpmap:2 G726-32/8000^M

a=rtpmap:4 G723/8000^M

a=rtpmap:8 PCMA/8000^M

a=rtpmap:18 G729a/8000^M

a=rtpmap:96 G726-40/8000^M

a=rtpmap:97 G726-24/8000^M

a=rtpmap:98 G726-16/8000^M

a=rtpmap:100 NSE/8000^M

a=fmtp:100 192-193^M

a=rtpmap:101 telephone-event/8000^M

a=fmtp:101 0-15^M


2012-05-05 13:32:54.625572 [DEBUG] sofia_glue.c:4902 Audio Codec Compare [PCMU:0:8000:20:64000]/[G7221:115:32000:20:48000]

2012-05-05 13:32:54.625572 [DEBUG] sofia_glue.c:4902 Audio Codec Compare [PCMU:0:8000:20:64000]/[G7221:107:16000:20:32000]

2012-05-05 13:32:54.625572 [DEBUG] sofia_glue.c:4902 Audio Codec Compare [PCMU:0:8000:20:64000]/[G722:9:8000:20:64000]

2012-05-05 13:32:54.625572 [DEBUG] sofia_glue.c:4902 Audio Codec Compare [PCMU:0:8000:20:64000]/[PCMU:0:8000:20:64000]

2012-05-05 13:32:54.625572 [DEBUG] sofia_glue.c:2986 Set Codec sofia/internal/1010@ PCMU/8000 20 ms 160 samples 64000 bits

2012-05-05 13:32:54.625572 [DEBUG] switch_core_codec.c:111 sofia/internal/1010@ Original read codec set to PCMU:0

2012-05-05 13:32:54.625572 [DEBUG] sofia_glue.c:5023 Set 2833 dtmf send/recv payload to 101

From your log we can see that SPA and Freeswitch negotiate RTP-NTE DTMF relay.

Now try to check DTMF TX mode in the SPA according to this description:

DTMF Tx Mode

DTMF Detection Tx Mode is available for SIP information and AVT . Options are: Strict or Normal. The default is Strict for which the following are true:

•A DTMF digit requires an extra hold time after detection.

•The DTMF level threshold is raised to -20 dBm.

•The minimum and maximum duration thresholds are:

• strict mode for AVT: 70 ms

• normal mode for AVT: 40 ms

• strict mode for SIP info: 90 ms

• normal mode for SIP info: 50 ms

DTMF Tx Strict Hold Off Time:

This parameter is in effect only when "DTMF Tx Mode" is set to "strict," and when"DTMF Tx Method" is set to out-of-band; i.e. either AVT or SIP-INFO. If a user inadvertently sets the value to less than the default value, the system checks and reverts to the default value. There is no max limit on what the user can set of this parameter. A larger value will reduce the chance of talk-off (beeping) during conversation, at the expense of reduced performance of dtmf detection, which is needed for interactive voice response systems (IVR).

Default is 90ms.

You can try using Normal mode or Strict with a smaller Hold Off Time.