title: Asterisk ignores DTMF during all calls - cannot use keypress features
body: <p>Asterisk 1.4.21.2 under uClinux on an ATCOM IP01. (EDIT: as an aside, I don't think it's possible to upgrade Asterisk to a newer version thatn 1.4 on uClinux, but if anyone knows a way, I'd be interested to know. But I don't think the issue is version-specific.)</p>
  
  <p>The featuremap in <code>features.conf</code> is as follows, but pressing keys during a call has no effect. </p>
  
  <pre><code>[featuremap]
  blindxfer =&gt; *#         ; Blind transfer  (default is #)
  disconnect =&gt; ***0              ; Disconnect  (default is *)
  ;automon =&gt; *1                  ; One Touch Record a.k.a. Touch Monitor
  atxfer =&gt; *0                    ; Attended transfer
  ;parkcall =&gt; #72                ; Park call (one step parking)
  </code></pre>
  
  <p>The CLI shows that the configured featuremap has taken effect:</p>
  
  <pre><code>IP0x*CLI&gt; feature show channels
  No feature channels in use
  
  IP0x*CLI&gt; feature show
  Builtin Feature           Default Current
  ---------------           ------- -------
  Pickup                    *8      *8
  Blind Transfer            #       *#
  Attended Transfer                 *0
  One Touch Monitor
  Disconnect Call           *       ***0
  Park Call
  
  Dynamic Feature           Default Current
  ---------------           ------- -------
  (none)
  
  Call parking
  ------------
  Parking extension   :   700
  Parking context     :   parkedcalls
  Parked call extensions: 701-750
  </code></pre>
  
  <p>Various different phones in use (Grandstream BT-200, Panasonic KX-TGP500, X-Lite 4), but always same problem. All phones configured to use rfc2833, which is Asterisk's default DTMF mode; also tried explicitly setting dtmfmode=rfc2833 in sip.conf.</p>
  
  <p>No keys pressed during a call ever get any response from Asterisk. The <code>*</code> and <code>#</code> keys are always recognized by Asterisk when not in a call (in the dialplan, or during voicemail). </p>
  
  <p>If DTMF logging is turned on using <code>full =&gt; verbose,debug,dtmf</code> or <code>full =&gt; verbose,error,warning,dtmf</code>, no DTMF entries appear in the log despite hitting numerous keys during a call.</p>
  
  <p>What could the problem be?
  <hr>
  EDIT: additional info now follows, showing the Dial command used in the dialplan.</p>
  
  <p>EDIT: I've found the issue still occurs without using that ael macro, simply by having <code>exten=261,1,Dial(SIP/261)</code> in extensions.conf. So I've removed the ael from the question to declutter it.</p>
  
  <p>I've now tried adding <code>canreinvite = no</code> and <code>relaxdtmf=yes</code> in sip.conf, but the issue remains.</p>
  
  <p>I've also now found that DTMF logging <strong>does</strong> happen during a call on a <strong>ZAP</strong> channel (as opposed to the SIP channels I tried before). But the DTMF still doesn't trigger the features. Example DTMF log follows.</p>
  
  <pre><code>[May 22 08:25:46] DTMF[474]: channel.c:2191 __ast_read: DTMF begin '*' received on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2201 __ast_read: DTMF begin passthrough '*' on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2116 __ast_read: DTMF end '*' received on SIP/251-01354004, duration 180 ms
  [May 22 08:25:46] DTMF[474]: channel.c:2163 __ast_read: DTMF end accepted with begin '*' on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2179 __ast_read: DTMF end passthrough '*' on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2191 __ast_read: DTMF begin '*' received on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2201 __ast_read: DTMF begin passthrough '*' on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2116 __ast_read: DTMF end '*' received on SIP/251-01354004, duration 160 ms
  [May 22 08:25:46] DTMF[474]: channel.c:2163 __ast_read: DTMF end accepted with begin '*' on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2179 __ast_read: DTMF end passthrough '*' on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2191 __ast_read: DTMF begin '*' received on SIP/251-01354004
  [May 22 08:25:46] DTMF[474]: channel.c:2201 __ast_read: DTMF begin passthrough '*' on SIP/251-01354004
  [May 22 08:25:47] DTMF[474]: channel.c:2116 __ast_read: DTMF end '*' received on SIP/251-01354004, duration 140 ms
  [May 22 08:25:47] DTMF[474]: channel.c:2163 __ast_read: DTMF end accepted with begin '*' on SIP/251-01354004
  [May 22 08:25:47] DTMF[474]: channel.c:2179 __ast_read: DTMF end passthrough '*' on SIP/251-01354004
  [May 22 08:25:47] DTMF[474]: channel.c:2191 __ast_read: DTMF begin '0' received on SIP/251-01354004
  [May 22 08:25:47] DTMF[474]: channel.c:2201 __ast_read: DTMF begin passthrough '0' on SIP/251-01354004
  [May 22 08:25:47] DTMF[474]: channel.c:2116 __ast_read: DTMF end '0' received on SIP/251-01354004, duration 280 ms
  [May 22 08:25:47] DTMF[474]: channel.c:2163 __ast_read: DTMF end accepted with begin '0' on SIP/251-01354004
  [May 22 08:25:47] DTMF[474]: channel.c:2179 __ast_read: DTMF end passthrough '0' on SIP/251-01354004
  IP0x*CLI&gt;
  </code></pre>