[asterisk-users] Call file in the future

Steve Edwards asterisk.org at sedwards.com
Mon Jan 19 19:33:30 CST 2009


On Mon, 19 Jan 2009, didier.cuffaut wrote:

> 2) From my first post, are these lines OK or wrong? (syntax error?)
>
>  tmsp = the delay in future.. say 100 seconds
>  exten=> ra,n,System(NOW='date %S')
>  exten=> ra,n,System(let NOW=$NOW+$tmsp)
>  exten=> ra,n,System(TOUCH_TMSP='date -d "1970-01-01 $NOW sec GMT+1" +%Y%m%d%H%M. %S)  < NOTE THE 'M. %S'
>
>  *********
>
>  or this way ?
>
>  exten=> ra,n,Set(touchtime=$[${EPOCH} + ${tmsp}])
>  exten=> ra,n,Set(TOUCH_TMSP=${STRFM(${touchtime},GMT+1,%C%y%m%d%H%M%S)
>
>  *********

Each invocation of system() executes a separate process. The environment 
variables do not survive across processes. This method will not work.

Setting a channel variable and then passing it will work.

Your choices are to use system() or agi(). I'm leaning towards system() 
because the script/executable does not interact with Asterisk and may have 
value to you as a stand-alone command line utility.

You can write either in whatever language you are comfortable with. My 
sharpest tool is C but if execution speed is not important any scripting 
language (like shell) will do.

I'm a big fan of the getopt facility as it does all the nasty command line 
parsing for you so your utilities have a consistent, self-documenting look 
and feel. I even use it when I write AGIs. A year from now, which would 
you rather "re-discover" in your dialplan:

exten = s,n,agi(schedule-future-call,--archive,--max-retries=2,--offset=${TMSP},--retry-time=60,--wait-time=20)

or

exten = s,n,agi(schedule-future-call,${TMSP},60,,,20,a,,2)

I think I would pass the offset rather than the absolute. I don't like to 
clutter up my dialplans too much.

Thanks in advance,
------------------------------------------------------------------------
Steve Edwards      sedwards at sedwards.com      Voice: +1-760-468-3867 PST
Newline                                             Fax: +1-760-731-3000



More information about the asterisk-users mailing list