Call transfer flash command


I am working on call transfer. Follwing is the code from extensions.conf file.

exten => s,1,Flash()
exten => s,2,SendDTMF(*72)
exten => s,3,wait(5)
exten => s,4,SendDTMF(4694327742#)
exten => s,5, wait(5)
exten => s,6,Hangup()

My service provider enables call forwarding if I press *72 followed by 4694327742# to the number 4694327742.
I am using digium card with Asterisk. When the above context is invoked from an FXO channel, things are working fine, my call forwarding gets enabled.
But I want to invoke the same context from my Asterisk CLI or from an internal extension(FXS channel). I am not able to get this done, I see the error: "DAHDI/4-1 not an FXO channel ".

Do I need to give any arguments to flash command to get this done. Is there any other way to achive the same?.

Any help will be highly appreciated.

PS: My line is a PSTN.

You need to run Flash on the channel that you want to flash.

It’s not clear what you mean by running it from the CLI or from an FXS channel, but one can reasonably assume that it tries to flash the FXS channel, in the second case, and flashing can only be done on an an FXO channel.

How do I run flash() on a specific channel? I have four channels DAHDI/1, DAHDI/2, DAHDI/3, DAHDI/4.
I want to run it on DAHDI/1 which is FXO. flash(DAHDI/1) doesnt work. Looks like flash is running on the channel from which the context is invoked.

I am trying to invoke the above context from an internal extension(by dialing a sequence of digits) and send DTMF signals on my PSTN line.
Hope this clarifies.

Send a DTMF digit F to it. Note: I’m not sure you can do this from an application, so it may not help you.