New features for telephony currently in use at KCLS
I must ask the community's forgiveness for sitting on this for so long.
This code was developed in fits over time, and it had to be disentangled
from some site-specific configuration and workarounds before it could
be usefully published.
Enhancements over what's already committed to master include:
- a feature that allows an Evergreen system to query the PBX (where
PBX here refers to an Asterisk system plus the eg-pbx-* scripts from
Evergreen - particularly eg-pbx-mediator.pl) for the A/T event IDs
associated with failed notifcations, so that those A/T events can be
"rolled over" into new ones with a different event definition, and
thus a different notification method
- holiday awareness in eg-pbx-allocator (the piece run by cron whose
main responsibility is dripping files from a staging directory into
Asterisk's real spool for call files). There's a script (set_pbx_holidays)
that can be run by cron on an Evergreen system to periodically update the
PBX's table of holidays based on a given org unit's closed_date ranges.
- smart retry. In certain situations, if you put too many callfiles
into Asterisk's spool at once, Asterisk will try to make too many
calls at once, and all such calls just fail. That's what the
allocator is meant to prevent. Smart retry is about moving calls that
have been tried once, and will be retried again later due to resulting
in a busy signal or other problem, out of the spool to make room for
other calls that could be made in the mean time.
- miscellaneous helper scripts and tricks for spreading more
reportable/greppable information among A/T output and cleaning up
callfiles that result in no-op's for Asterisk. Lock file checking for
the allocator. Etc.
I also have tried to throw in some useful documentation. I admit things
look a bit jumbled, but I'll be as available as I can make myself to help
anyone who steps up to clarify documentation or improve code in order to
make general adoption of these features a little easier.
Signed-off-by: Lebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
13 files changed: