Passing dtmf in dial application

I am trying to send dtmf sequence in Dial application, below is the dial plan code:

exten => s,1,MixMonitor({CALLERID(num)}-{CDR(uniqueid)}.wav,ab)
same => n,Set(recording={CALLERID(num)}-{CDR(uniqueid)}.wav)
same => n,Set(rec_file_name=${MIXMONITOR_FILENAME})

same => n,Dial(SIP/twilio0/+${num},D(wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww1854wwwwwwwwwwwwwwwwwwwwwwwwwwwwww110463wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww*wwwwwwww3wwww3ww1))

But in this case recording file not making properly, not able to listen it. I am not sure we can pass this way DTMF or not, and is there any limit.

When i send only wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww1854 it works, recording file recorded fine and can listen also, call works fine

SO, my question is that can we send this kind of large sequence in Dial application ? here w=0.5 wait time as per Asterisk document.

I think there is a limit on the total length of a diaplan line. You need to use a subroutine, I think.

can you give example, i had tried with macro inside Dial application M(send), but same result

same => n,Dial(SIP/twilio0/+${num},M(send))

exten => s,1,Wait(17)
same => n,SendDTMF(1854)
same => n,Wait(15)
same => n,SendDTMF(110463)
same => n,Wait(45)
same => n,SendDTMF(*)
same => n,Wait(4)
same => n,SendDTMF(3)
same => n,Wait(2)
same => n,SendDTMF(3)
same => n,Wait(1)
same => n,SendDTMF(1)

The only limits that would affect that would limits on duration, and these should be obvious in the logs.