DTMFKey and/or MDC for PTT-ID (bug?)

Sounds good - appreciate the comeback; essentially what we're trying to get working is some sort of PTTID authentication scheme.

So DTMFKey and the MDC mapping are not well documented, even in the old version of asterisk, but essentially you could add "dtmfkey=yes" as a string to the node configuration, and it would require a DTMF code be dialed before the repeater would accept a keyup. The codes were managed in a stanza under [dtmfkeys] which would list the number and corresponding callsign, each permitted user is assigned a code which they would program into their radio to dial out at the start of every keyup, thus automating the authorized keyup process. The stanza would be set up as follows:

[dtmfkeys]

1234=K6DSA
2341=N7WSS
3412=K7VLL

For users with commercial radios; MDC was the preferred method to authenticate - it's much quicker and more robust than DTMF in terms of decode and makes the use of this system pretty much transparent to the end user. MDC is a brief data burst that's sent out and supported by many commercial radios; it's the "squawk" you hear at the beginning of many public safety type of radios. On ASL1 and ASL2 - MDC traffic would automatically be decoded, if someone had it configured on a radio you'd see the status or identity code come across on the terminal if you're logged into the console.

While PTTID is not directly managed by the MDC side of ASL, with it decoding you could tell ASL to map DTMF codes to MDC identiy or status codes as follows, thus achiving the same result by referring to the DTMF codes above in another stanza as follows:

[mdcmacro]

I1234=K1234
I2341=K2341
I3421=K3421

The I prefix is the identity code from MDC, and the K prefix tells allstarlink to refer to a "Key" in the DTMFKeys stanza. This worked really well as we had a script set up to automatically generate a pttid.conf file that gets referenced by rpt.conf, it automatically took care of the user table with ID numbers on our website, which the Allstar server would pull in nightly and reload into the app_rpt module; a new member on the website would automatically be added to the system which saves administration headaches.

The closest to documentation available is available here; this was enough to let us get things up and running pretty easily last last time: Using MDC1200 as Telemetry?

The behavior I'm seeing with ASL3 is as follows, which is making any sort of PTTID scheme ineffective:

  • MDC no longer decodes or is enabled.
  • DTMFKey is still active, however it will take random number combinations and permit the repeater to be keyed up, more or less ignoring the DTMFKeys stanza (IE I can dial some zeros or other numbers and it'll key up, even though that code is not on the list)
1 Like