----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/3362/ -----------------------------------------------------------
(Updated March 31, 2014, 1:14 p.m.) Review request for Asterisk Developers. Changes ------- updated testing extensions Repository: Asterisk Description ------- This commit introduces a new dialplan function, PERIODIC_HOOK(). It allows you run to a dialplan hook on a channel periodically. The original use case that inspired this was the ability to play a beep periodically into a call being recorded. The implementation is much more generic though and could be used for many other things. The implementation makes heavy use of existing Asterisk components. It uses a combination of Local channels and ChanSpy() to run some custom dialplan and inject any audio it generates into an active call. The other important bit of the implementation is how it figures out when to trigger the beep playback. This implementation uses the audiohook API, even though it's not actually touching the audio in any way. It's a convenient way to get a callback and check if it's time to kick off another beep. It would be nice if this was timer event based instead of polling based, but unfortunately I don't see a way to do it that won't interfere with other things. Diffs ----- /trunk/funcs/func_periodic_hook.c PRE-CREATION /trunk/CHANGES 411572 Diff: https://reviewboard.asterisk.org/r/3362/diff/ Testing (updated) ------- Called the following extension (100@test), both letting it run all the way through, as well as hanging up at various points in the middle. [macro-beep] exten => s,1,Answer() same => n,Verbose(1,Channel name: ${ARG1}) same => n,Verbose(1,Hook ID: ${ARG2}) same => n,Playback(beep) [test] exten => 100,1,Answer() same => n,Set(BEEP_ID=${PERIODIC_HOOK(beep,5)}) same => n,Wait(20) same => n,Set(PERIODIC_HOOK(${BEEP_ID})=off) same => n,Wait(20) same => n,Set(PERIODIC_HOOK(${BEEP_ID})=on) same => n,Wait(20) same => n,Hangup() Thanks, Russell Bryant
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev