Hi, I'm wondering if someone can share their thoughts on how to implement a system that periodically checks active channels which have been up for more than X minutes and plays/injects a sound file. The idea is to simply warn users that they've been on the phone for quite a while and maybe they should consider hanging up. If the call stays up for more than Y minutes, it is dropped automatically (softhangup). What's the simplest approach to playing a sound file within an active channel? I thought of writing a cron agi script that scans active channels, retrieves their duration and if it's > X minutes then "RedirectChannel" to a context which executes a Playback(file); if it's > Y minutes then "RedirectChannel" to a context which executes both a Playback("forcing hang up now...") and HangUp. Any thoughts?
Matthew Edmondson
2009-Sep-29 08:44 UTC
[asterisk-users] play audio file within an active call
If you redirect the channel, the person they're talking to is likely to be dropped. The only way I know of doing this is with a conference bridge like meetme. You would have to have both parties in the conference and then call the 3rd party (your msg) into it. On Tue, Sep 29, 2009 at 6:05 PM, Vieri <rentorbuy at yahoo.com> wrote:> Hi, > > I'm wondering if someone can share their thoughts on how to implement a system that periodically checks active channels which have been up for more than X minutes and plays/injects a sound file. The idea is to simply warn users that they've been on the phone for quite a while and maybe they should consider hanging up. If the call stays up for more than Y minutes, it is dropped automatically (softhangup). > > What's the simplest approach to playing a sound file within an active channel? > > I thought of writing a cron agi script that scans active channels, retrieves their duration and if it's > X minutes then "RedirectChannel" to a context which executes a Playback(file); if it's > Y minutes then "RedirectChannel" to a context which executes both a Playback("forcing hang up now...") and HangUp. > > Any thoughts? > > > > > > _______________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > > AstriCon 2009 - October 13 - 15 Phoenix, Arizona > Register Now: http://www.astricon.net > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > ? http://lists.digium.com/mailman/listinfo/asterisk-users >
Benny Amorsen
2009-Sep-29 09:07 UTC
[asterisk-users] play audio file within an active call
Vieri <rentorbuy at yahoo.com> writes:> Hi, > > I'm wondering if someone can share their thoughts on how to implement a system that periodically checks active channels which have been up for more than X minutes and plays/injects a sound file. The idea is to simply warn users that they've been on the phone for quite a while and maybe they should consider hanging up. If the call stays up for more than Y minutes, it is dropped automatically (softhangup). > > What's the simplest approach to playing a sound file within an active channel?I think you should be able to do this with ChanSpy and the whisper option. However, Asterisk already has a facility for this. This is from core show application Dial L(x[:y][:z]) - Limit the call to 'x' ms. Play a warning when 'y' ms are left. Repeat the warning every 'z' ms. The following special variables can be used with this option: * LIMIT_PLAYAUDIO_CALLER yes|no (default yes) Play sounds to the caller. * LIMIT_PLAYAUDIO_CALLEE yes|no Play sounds to the callee. * LIMIT_TIMEOUT_FILE File to play when time is up. * LIMIT_CONNECT_FILE File to play when call begins. * LIMIT_WARNING_FILE File to play as warning if 'y' is defined. The default is to say the time remaining. /Benny