DTMF Commands not working but status commands are working

Setup Information

********** AllStarLink [ASL] Version Info **********

OS : Debian GNU/Linux 12 (bookworm)

OS Kernel : 6.12.47+rpt-rpi-v8

Asterisk : 22.4.1+asl3-3.5.5-1.deb12

ASL [app_rpt] : 3.5.5

Installed ASL packages :

Package Version

============================== ==============================

allmon3 1.6.1-1.deb12

asl3 3.9-1.deb12

asl3-asterisk 2:22.4.1+asl3-3.5.5-1.deb12

asl3-asterisk-config 2:22.4.1+asl3-3.5.5-1.deb12

asl3-asterisk-modules 2:22.4.1+asl3-3.5.5-1.deb12

asl3-menu 1.14-1.deb12

asl3-pi-appliance 1.10.0-1.deb12

asl3-update-nodelist 1.5.1-1.deb12

cockpit 287.1-0+deb12u3

cockpit-bridge 287.1-0+deb12u3

cockpit-networkmanager 287.1-0+deb12u3

cockpit-packagekit 287.1-0+deb12u3

cockpit-sosreport 287.1-0+deb12u3

cockpit-storaged 287.1-0+deb12u3

cockpit-system 287.1-0+deb12u3

cockpit-wifimanager 1.1.1-1.deb12

cockpit-ws 287.1-0+deb12u3

dahdi 1:3.1.0-2

dahdi-dkms 1:3.4.0-10.asl.deb12

dahdi-linux 1:3.4.0-10.asl.deb12

dahdi-source 1:3.4.0-10.asl.deb12

Inquiry

I’m having a wierd problem with DTMF control. Commands like 921 and 70 work. I can use rpt fun node 3(nodeid) to connect to the EastCoastReflector and everything works fine, but *1-5 do nothing. I can’t control connection from my radio.
Asterisk shows dtmf tones when I press them so the sound levels seem ok.

Asterisk 22.4.1+asl3-3.5.5-1.deb12, Copyright (C) 1999 - 2025, Sangoma Technologies Corporation and others.

Created by Mark Spencer markster@digium.com

Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.

This is free software, with components licensed under the GNU General Public

License version 2 and other licenses; you are welcome to redistribute it under

certain conditions. Type 'core show license' for details.

=========================================================================

Connected to Asterisk 22.4.1+asl3-3.5.5-1.deb12 currently running on allstar1 (pid = 2576)

[2025-11-03 10:53:40.259] DTMF[2622]: channel.c:4015 __ast_read: DTMF begin '*' received on SimpleUSB/66460

[2025-11-03 10:53:40.259] DTMF[2622]: channel.c:4026 __ast_read: DTMF begin passthrough '*' on SimpleUSB/66460

[2025-11-03 10:53:40.345] DTMF[2622]: channel.c:3901 __ast_read: DTMF end '*' received on SimpleUSB/66460, duration 86 ms

[2025-11-03 10:53:40.345] DTMF[2622]: channel.c:3952 __ast_read: DTMF end accepted with begin '*' on SimpleUSB/66460

[2025-11-03 10:53:40.345] DTMF[2622]: channel.c:3990 __ast_read: DTMF end passthrough '*' on SimpleUSB/66460

[2025-11-03 10:53:40.446] DTMF[2622]: channel.c:4015 __ast_read: DTMF begin '5' received on SimpleUSB/66460

[2025-11-03 10:53:40.446] DTMF[2622]: channel.c:4026 __ast_read: DTMF begin passthrough '5' on SimpleUSB/66460

[2025-11-03 10:53:40.579] DTMF[2622]: channel.c:3901 __ast_read: DTMF end '5' received on SimpleUSB/66460, duration 133 ms

[2025-11-03 10:53:40.579] DTMF[2622]: channel.c:3952 __ast_read: DTMF end accepted with begin '5' on SimpleUSB/66460

[2025-11-03 10:53:40.579] DTMF[2622]: channel.c:3990 __ast_read: DTMF end passthrough '5' on SimpleUSB/66460

[2025-11-03 10:54:04.754] DTMF[2622]: channel.c:4015 __ast_read: DTMF begin '*' received on SimpleUSB/66460

[2025-11-03 10:54:04.754] DTMF[2622]: channel.c:4026 __ast_read: DTMF begin passthrough '*' on SimpleUSB/66460

[2025-11-03 10:54:04.861] DTMF[2622]: channel.c:3901 __ast_read: DTMF end '*' received on SimpleUSB/66460, duration 107 ms

[2025-11-03 10:54:04.861] DTMF[2622]: channel.c:3952 __ast_read: DTMF end accepted with begin '*' on SimpleUSB/66460

[2025-11-03 10:54:04.861] DTMF[2622]: channel.c:3990 __ast_read: DTMF end passthrough '*' on SimpleUSB/66460

[2025-11-03 10:54:04.941] DTMF[2622]: channel.c:4015 __ast_read: DTMF begin '1' received on SimpleUSB/66460

[2025-11-03 10:54:04.941] DTMF[2622]: channel.c:4026 __ast_read: DTMF begin passthrough '1' on SimpleUSB/66460

[2025-11-03 10:54:05.041] DTMF[2622]: channel.c:3901 __ast_read: DTMF end '1' received on SimpleUSB/66460, duration 99 ms

[2025-11-03 10:54:05.041] DTMF[2622]: channel.c:3952 __ast_read: DTMF end accepted with begin '1' on SimpleUSB/66460

[2025-11-03 10:54:05.041] DTMF[2622]: channel.c:3990 __ast_read: DTMF end passthrough '1' on SimpleUSB/66460

allstar1*CLI>

any thoughts as to why I can’t control my node with dtmf?

Just gonna help make this readable...

The DTMF functions are configured in the [functions-main] and [functions] sections of your /etc/asterisk/rpt.conf file.

Can you please ATTACH/UPLOAD your rpt.conf file for us to review ?

and, if you cannot attach/upload the file then PLEASE paste the config text between two lines consisting of 3 backtick (`) characters like :

``` <<< 3 backtick (`) characters
your text here
``` <<< 3 backtick (`) characters

I got it working after dinner. Spent 3 days on this but turns out that I had to add the commands to the node level section. It’s confusing because *70 worked but 1-4 would not until I put those lines at the node level in the rpt.conf file.
Hopefully someone else will learn from this.

I suspect that you made a change that modified the template inheritance. Would you mind sharing (attaching) your rpt.conf ?

I don’t have a functions-main. But here’s my functions section.
[functions]

;;;;;;;;;;;;;;;;;;; functions stanza ;;;;;;;;;;;;;;;;;;;

; Prefix Functions

; *1 Disconnect Link

; *2 Monitor Link

; *3 Connect Link

; *4 Command Mode

; *5 Macros

; *6 User Functions

; *7 Connection Status/Functions

; *8 User Functions

; *9 User Functions

; *0 User Functions

; *A User Functions

; *B User Functions

; *C User Functions

; *D User Functions

;;;;;; Mandatory Command Codes ;;;;;

1 = ilink,1 ; Disconnect specified link

2 = ilink,2 ; Connect specified link -- monitor only

3 = ilink,3 ; Connect specified link -- transceive

4 = ilink,4 ; Enter command mode on specified link

70 = ilink,5 ; System status

99 = cop,6 ; PTT (phone mode only)

;;;;; Macro Commands ;;;;;

5 = macro

;;;;; Autopatch Commands ;;;;;

; Note, This may be a good place for other 2 digit frequently used commands

;61 = autopatchup,noct = 1,farenddisconnect = 1,dialtime = 20000 ; Autopatch up

;62 = autopatchdn ; Autopatch down

; autopatchup can optionally take comma delimited setting=value pairs:

; context = string ; Override default context with "string"

; dialtime = ms ; Specify the max number of milliseconds between phone number digits (1000 milliseconds = 1 second)

; farenddisconnect = 1 ; Automatically disconnect when called party hangs up

; noct = 1 ; Don't send repeater courtesy tone during autopatch calls

; quiet = 1 ; Don't send dial tone, or connect messages. Do not send patch down message when called party hangs up

; Example: 123=autopatchup,dialtime=20000,noct=1,farenddisconnect=1

;;;;; Status Commands ;;;;;

; 1 - Force ID (global)

; 2 - Give Time of Day (global)

; 3 - Give software Version (global)

; 4 - Give GPS location info

; 5 - Last (DTMF) user

; 11 - Force ID (local only)

; 12 - Give Time of Day (local only)

721 = status,1 ; Force ID (global)

722 = status,2 ; Give Time of Day (global)

723 = status,3 ; Give software Version (global)

724 = status,4 ; Give GPS location info

725 = status,5 ; Last (DTMF) user

711 = status,11 ; Force ID (local only)

712 = status,12 ; Give Time of Day (local only)

;;;;; Link Commands ;;;;;

; 1 - Disconnect specified link

; 2 - Connect specified link -- monitor only

; 3 - Connect specified link -- transceive

; 4 - Enter command mode on specified link

; 5 - System status

; 6 - Disconnect all links

; 7 - Last Node to Key Up

; 8 - Connect specified link -- local monitor only

; 9 - Send Text Message (9,<destnodeno or 0 (for all)>,Message Text, etc.

; 10 - Disconnect all RANGER links (except permalinks)

; 11 - Disconnect a previously permanently connected link

; 12 - Permanently connect specified link -- monitor only

; 13 - Permanently connect specified link -- transceive

; 15 - Full system status (all nodes)

; 16 - Reconnect links disconnected with "disconnect all links"

; 17 - MDC test (for diag purposes)

; 18 - Permanently connect specified link -- local monitor only

;;;;; ilink commands ;;;;;

; commands 1 through 5 are defined in the Mandatory Command section

; 806 = ilink,6 ; Disconnect all links

; 807 = ilink,7 ; Last Node to Key Up

; 808 = ilink,8 ; Connect specified link -- local monitor only

; 809 = ilink,9,1999,"Testing" ; would send a text message to node 1999 replace 1999 with 0 for all connected nodes

; 810 = ilink,10 ; Disconnect all RANGER links (except permalinks)

; 811 = ilink,11 ; Disconnect a previously permanently connected link

; 812 = ilink,12 ; Permanently connect specified link -- monitor only

; 813 = ilink,13 ; Permanently connect specified link -- transceive

; 815 = ilink,15 ; Full system status (all nodes)

; 816 = ilink,16 ; Reconnect links disconnected with "disconnect all links"

; 817 = ilink,17 ; MDC test (for diag purposes)

; 818 = ilink,18 ; Permanently connect specified link -- local monitor only

;;;;; Control operator (cop) functions. ;;;;;

;Change these to something other than these codes listed below!

;901 = cop,1 ; System warm boot

;902 = cop,2 ; System enable

;903 = cop,3 ; System disable

;904 = cop,4 ; Test tone on/off (toggle)

;905 = cop,5 ; Dump system variables on console (debug use only)

;907 = cop,7 ; Time out timer enable

;908 = cop,8 ; Time out timer disable

;909 = cop,9 ; Autopatch enable

;910 = cop,10 ; Autopatch disable

911 = cop,11 ; User linking functions enable

912 = cop,12 ; User linking functions disable

;913 = cop,13 ; Query system control state

;914 = cop,14 ; Set system control state

;915 = cop,15 ; Scheduler enable

;916 = cop,16 ; Scheduler disable

;917 = cop,17 ; User functions enable (time, id, etc)

;918 = cop,18 ; User functions disable

;919 = cop,19 ; Select alternate hang time (althangtime)

;920 = cop,20 ; Select standard hangtime (hangtime)

921 = cop,21 ; Enable Parrot Mode

922 = cop,22 ; Disable Parrot Mode

;923 = cop,23 ; Birdbath (Current Parrot Cleanup/Flush)

;924 = cop,24 ; Flush all telemetry

;925 = cop,25 ; Query last node un-keyed

;926 = cop,26 ; Query all nodes keyed/unkeyed

;930 = cop,30 ; Recall Memory Setting in attached transceiver

;931 = cop,31 ; Channel Selector for parallel programmed transceiver

;932 = cop,32 ; Touchtone pad test: command + Digit string + # to playback all digits pressed

;933 = cop,33 ; Local Telemetry Output Enable

;934 = cop,34 ; Local Telemetry Output Disable

;935 = cop,35 ; Local Telemetry Output on Demand

;936 = cop,36 ; Foreign Link Local Output Path Enable

;937 = cop,37 ; Foreign Link Local Output Path Disable

;938 = cop,38 ; Foreign Link Local Output Path Follows Local Telemetry

;939 = cop,39 ; Foreign Link Local Output Path on Demand

;942 = cop,42 ; EchoLink announce node # only

;943 = cop,43 ; EchoLink announce node Callsign only

;944 = cop,44 ; EchoLink announce node # & Callsign

;945 = cop,45 ; Link Activity timer enable

;946 = cop,46 ; Link Activity timer disable

;947 = cop,47 ; Reset "Link Config Changed" Flag

;948 = cop,48 ; Send Page Tone (Tone specs separated by parenthesis)

; 949 = cop,49 ; Disable incoming connections (control state noice)

; 950 = cop,50 ; Enable incoming connections (control state noicd)

; 951 = cop,51 ; Enable sleep mode

; 952 = cop,52 ; Disable sleep mode

; 953 = cop,53 ; Wake up from sleep

; 954 = cop,54 ; Go to sleep

; 955 = cop,55 ; Parrot Once if parrot mode is disabled

; 956 = cop,56 ; RX CTCSS Enable

; 957 = cop,57 ; RX CTCSS Disable

; 958 = cop,58 ; TX CTCSS On Input only Enable

; 959 = cop,59 ; TX CTCSS On Input only Disable

; 960 = cop,60 ; Send MDC-1200 Burst (cop,60,type,UnitID[,DestID,SubCode])

; Type is 'I' for PttID, 'E' for Emergency, and 'C' for Call

; (SelCall or Alert), or 'SX' for STS (ststus), where X is 0-F.

; DestID and subcode are only specified for the 'C' type message.

; UnitID is the local systems UnitID. DestID is the MDC1200 ID of

; the radio being called, and the subcodes are as follows:

; Subcode '8205' is Voice Selective Call for Spectra ('Call')

; Subcode '8015' is Voice Selective Call for Maxtrac ('SC') or

; Astro-Saber('Call')

; Subcode '810D' is Call Alert (like Maxtrac 'CA')

; 961 = cop,61 ; Send Message to USB to control GPIO pins (cop,61,GPIO1=0[,GPIO4=1].....)

; 962 = cop,62 ; Send Message to USB to control GPIO pins, quietly (cop,62,GPIO1=0[,GPIO4=1].....)

; 963 = cop,63 ; Send pre-configured APRStt notification (cop,63,CALL[,OVERLAYCHR])

; 964 = cop,64 ; Send pre-configured APRStt notification, quietly (cop,64,CALL[,OVERLAYCHR])

; 965 = cop,65 ; Send POCSAG page (equipped channel types only)

The reason I asked you to share (preferably attach with the upload arrow in the message composition window) your rpt.conf file was to look at the full configuration including how the node is configured. I want to check that you have :

[<your node #>](node-main)

I want to check that your node (including any inherited template configuration) includes :

functions = functions

and, yes, it's often the little things that make a difference.

The forum won’t let me upload the file, says I’m too new.

Can you try uploading again?