]> git.evergreen-ils.org Git - working/Evergreen.git/commit
New features for telephony currently in use at KCLS
authorLebbeous Fogle-Weekley <lebbeous@esilibrary.com>
Fri, 17 Feb 2012 17:37:15 +0000 (12:37 -0500)
committerMike Rylander <mrylander@gmail.com>
Tue, 20 Mar 2012 17:20:17 +0000 (13:20 -0400)
commit0c9929ed83510f8180144c3935fdcd77f4d609eb
tree44da847792161756a9b9c0b68f3904fedeb3b36d
parentf4602609ff15772b4e18a23d4cf7b42e8a1689d8
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:
Open-ILS/src/asterisk/asterisk-1.6.2.18-accountcode.patch [new file with mode: 0644]
Open-ILS/src/asterisk/pbx-daemon/eg-pbx-allocator.pl
Open-ILS/src/asterisk/pbx-daemon/eg-pbx-daemon.conf
Open-ILS/src/asterisk/pbx-daemon/eg-pbx-mediator.pl
Open-ILS/src/asterisk/pbx-daemon/eg-pbx-preclean.sh [new file with mode: 0755]
Open-ILS/src/asterisk/pbx-daemon/eg-pbx-smart-retry.pl [new file with mode: 0755]
Open-ILS/src/asterisk/pbx-daemon/nagios_plugins/check_asterisk_spool.pl [new file with mode: 0755]
Open-ILS/src/asterisk/pbx-daemon/test_client.pl
Open-ILS/src/perlmods/lib/OpenILS/Application/Trigger/Reactor/AstCall.pm
Open-ILS/src/support-scripts/rollover_phone_to_print.pl [new file with mode: 0755]
Open-ILS/src/support-scripts/set_pbx_holidays.pl [new file with mode: 0755]
docs/TechRef/Telephony/telephony-overview.svg [new file with mode: 0644]
docs/TechRef/Telephony/telephony-setup-guide.txt [new file with mode: 0644]