DYNAMIC_FEATURES with SLA

I’ve got SLA up and running just fine but I wanted to try to add 3 way calling by using an in-call feature since it will not work on the phone side. As a test I created a macro that plays tt-weasels and created a feature that uses *0 to activate the macro. This works fine when I add Set(DYNAMIC_FEATURES=weasels) to a dial plan that dials an extension or goes out directly to a trunk, without SLA. I have even gotten it to work with a local channel and DISA if I set DYNAMIC_FEATURES before calling Dial(Local\disa@test).

What doesn’t work is if an extension dials phone1_line1 to grab the SLA line 1. I set DYNAMIC_FEATURES=weasels everywhere imaginable. I put it before SLAStation(phone1_line1), for example:

[lines]
exten => phone1_line1,1,Set(DYNAMIC_FEATURES=weasels)
same => n,SLAStation(phone1_line1)

I also went to the local channel that the trunk calls where DISA is and put it in just before it, for example:

[test]
exten => disa,1,Set(DYNAMIC_FEATURES=weasels)
same => n,DISA(no-password,outbound)

I also set it right where it goes outbound:

[outbound]
exten => _NXXNXXXXXX,1,Set(DYNAMIC_FEATURES=weasels)
same => n,Dial(SIP/${EXTEN}@outbound-trunk)

None of these work at all and all I can imagine is either the application flat out ignores DTMF or because SLA is effectively a conference and I am trying to run a feature on a channel that I am not peer or self. I know meetme has a user and admin menu so there’s logic there for DTMF tones in the app but not sure about the SLA part, do features even work in MeetMe Conference let alone SLA?

I figured it out, when defining the trunk as a local channel in SLA.conf I needed to add /n to the end of the local channel and add the Set(__DYNAMIC_FEATURES=weasels) within the local channel before calling DISA.

sla.conf:

[line1]
type=trunk
device=Local/disa@trunkchannel/n

extensions.conf:

[trunkchannel]
exten => disa,1,Set(__DYNAMIC_FEATURES=weasels)
same => n,DISA(no-password,outbound)
same => n,Hangup()

[outbound]
exten => _NXXNXXXXXX,Dial(SIP/${EXTEN}@outbound-trunk)
same => n,Hangup()