Executing a shell script without waiting on it

Is it possible to call a shell script and release it from the dial plan. Meaning I don’t want asterisk to wait on the script to finish before progressing to the next priority.

yes, use System() or TrySystem().

It’s my understanding that both of those will actually wait for the shell script to complete before going on to the next line.

exten => s,n,System(myshellscript_that_may_take_forever)
exten => s,n,Playback(heyimdone)

From what I have experienced so far, if I execute it in this manner, Asterisk will not execute Playback until after the shell execute has completed. Which is not what I want to happen. I want it “fire and forget” and not wait on a return value.

how about leaving a temp file somewhere, and having a cron job running every minute to check for the presence of this file and running the script if yes ? if it’s not too time-sensitive it should work ok.

That’s not a half bad idea. It’s not terribly important as far as time sensitive. Thank’s for the suggestion.

another option would be for the script you call with ‘system’ do nothing but start the real script and exit immediately.