[asterisk-users] New feature: calling all bug marshals

Philip Prindeville philipp_subx at redfish-solutions.com
Wed Dec 5 00:03:36 CST 2007


Hi.

I wanted to write a "popcorn" app for myself, both to learn how to 
script in extensions.conf, but also because it was something handy.

Along the way, I found myself doing something like:

[popcorn]
exten => s,1,Set(FUTURETIME=$[${EPOCH} + 10])
...
exten => s,n,While(${EPOCH} < ${FUTURETIME})
exten => s,n,Wait(0.01)
exten => s,n,EndWhile()
exten => s,n,Play(beep)
exten => s,n,Hangup()

and hating myself for it (my Asterisk runs on a 500MHz Geode LX).

So I decided it would be useful (in general, and educational for me in 
particular) to write a WaitUntil() application instead.

Well, I've done that.

I was going to file a bug and then post a "fix" to get their feature in, 
but the Bug guidelines seem to be pretty clear that this is not the way 
to go.

So, I'm posting here instead.

The example to paste into the documentation or extensions.conf is:

[popcorn]
exten => s,1,Answer()
; the amount of delay is set for English; you may need to adjust this time
; for other languages is there's no pause before the synchronizing beep.
exten => s,n,Set(FUTURETIME=$[${EPOCH} + 11])
exten => s,n,SayUnixTime(${FUTURETIME},Zulu,HNS)
exten => s,n,SayPhonetic(z)
exten => s,n,SayUnixTime(${FUTURETIME},,HNS)
exten => s,n,Playback(local)
exten => s,n,WaitUntil(${FUTURETIME})
exten => s,n,Playback(beep)
exten => s,n,Return()


I invoke it as:

exten => 712,1,Gosub(popcorn,s,1)
exten => 712,n,Hangup()

And lastly, attached is the source for app_waituntil.c.

It's fairly straightforward, and not very big.

But hopefully useful.

Oh, before I forget:  it does require the recording of one additional phrase,
either "local" or "localtime".  I've used "local" in my example above.  And
I read out the time first as GMT/UT (because I travel a lot), and then in the
timezone of my PBX...

-Philip


-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: app_waituntil.c
Url: http://lists.digium.com/pipermail/asterisk-users/attachments/20071204/e6583f67/attachment.txt 


More information about the asterisk-users mailing list