asterisk/configs
Richard Mudgett ae2926b5d0 Add Device State Information CCSS for Generic Devices.
Add Asterisk Device State information and callbacks to the Call Completion
Supplemental Services for generic agents.

There are currently not many devices that have native support for CCSS.
Even as the devices become available there may be other reasons why one
may choose to not take advantage of the native abilities and stick with
the generic implementation.  The generic implementation is quite capable
and could be greatly enhanced by adding device state capabilities.  A
phone could then subscribe to the device state with a BLF key in
conjunction with Asterisk hints.

The advantages of the device state information would allow a single button
to: request CCSS, cancel a CCSS request, and display the current state of
a CCSS request.

For example, you may have a single button that when not lit, there is no
active CCSS request.  When you press that button, the dialplan can query
the DEVICE_STATE() associated with that caller to determine whether they
should be calling CallCompletionRequest() or CallCompletionCancel().  If
there is currently a pending request, then the dialplan would cancel it.
This also has the advantage of showing the true state of a request, which
is an asynchronous call, even when CallCompletionRequest() thinks it was
successful.  The actual request could ultimately fail.  Once lit, further
feedback can be provided to the caller about the current state of their
request since it will be updated by the CCSS State Machine as appropriate.

The DEVICE_STATE mapping is configurable since the BLF being used on a
given phone type may vary.  The idea is to allow some level of
customization as to the phone's behavior.

As an example, you may want the BLF key to go solid once you have
requested a callback.  You may then want the LED to blink (typically
ringing) when either the callback is in process, which is a visual
indication that the incoming call is the desired callback.  You may want
it to blink when the callee is ready but you are busy, giving you a visual
indication that the target is available as you may want to get off the
line so that the callback can be successful.

Device state information is sent back via the ast_devstate_prov_add()
callback for any generic CCSS device as it traverses through the state
machine.  You simply provide a map between CC_STATE values and the
corresponding AST_DEVICE state values.

You could then generate hints against these states similar to what is
possible today with Custom Devstates or MeetMe states.  For example, you
may have an extension 3000 that is currently associated with device
SIP/3000.  You could then create a feature code for that extension that
may look something like:

exten => *823000,hint,ccss:sip/3000

You would then subscribe a BLF button to *823000 which would point to the
dialplan that handled CCSS requests/cancels using the available
DEVICE_STATE() information about ccss:sip/3000 to make the decision about
what to do.

(closes issue #18788)
Reported by: p_lindheimer
Patches:
      ccss.trunk.18788.patch uploaded by p lindheimer (license 558)
      Modified with final reviewboard comments.
Tested by: p_lindheimer, loloski

Review: https://reviewboard.asterisk.org/r/1105/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313744 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-14 18:22:35 +00:00
..
adsi.conf.sample remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
agents.conf.sample Remove not used code in the Agent channel. 2009-05-30 01:04:57 +00:00
ais.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
alarmreceiver.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
alsa.conf.sample fixes adaptive jitterbuffer configuration 2010-03-02 19:08:38 +00:00
amd.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
app_mysql.conf.sample Rename mysql.conf to app_mysql.conf, make module support both names 2009-06-30 17:10:45 +00:00
asterisk.adsi Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
asterisk.conf.sample Documentation Updates 2011-02-08 20:31:13 +00:00
calendar.conf.sample Add setvar option to calendaring 2011-03-04 23:22:39 +00:00
ccss.conf.sample Add Device State Information CCSS for Generic Devices. 2011-04-14 18:22:35 +00:00
cdr.conf.sample Merged revisions 281325 via svnmerge from 2010-08-09 12:52:04 +00:00
cdr_adaptive_odbc.conf.sample Support negative filters. 2010-12-31 09:29:10 +00:00
cdr_custom.conf.sample Add High Resolution Times to CDRs for Asterisk 2010-06-08 23:48:17 +00:00
cdr_manager.conf.sample This enhancement provided via bug 9993, a patch to upgrade cdr_manager to have cdr_custom capabilities. Many thanks to eserra for this contribution 2007-06-19 20:38:21 +00:00
cdr_mysql.conf.sample Merged revisions 311930 via svnmerge from 2011-03-31 06:44:08 +00:00
cdr_odbc.conf.sample Add High Resolution Times to CDRs for Asterisk 2010-06-08 23:48:17 +00:00
cdr_pgsql.conf.sample Merged revisions 291038 via svnmerge from 2010-10-11 03:20:17 +00:00
cdr_sqlite3_custom.conf.sample Add High Resolution Times to CDRs for Asterisk 2010-06-08 23:48:17 +00:00
cdr_syslog.conf.sample Add High Resolution Times to CDRs for Asterisk 2010-06-08 23:48:17 +00:00
cdr_tds.conf.sample Add High Resolution Times to CDRs for Asterisk 2010-06-08 23:48:17 +00:00
cel.conf.sample Merged revisions 299312 via svnmerge from 2010-12-21 00:45:40 +00:00
cel_custom.conf.sample Merged revisions 283207 via svnmerge from 2010-08-23 12:33:24 +00:00
cel_odbc.conf.sample Merged revisions 284096 via svnmerge from 2010-08-29 02:52:25 +00:00
cel_pgsql.conf.sample Add common headers to CEL related configs. 2009-06-29 18:05:27 +00:00
cel_sqlite3_custom.conf.sample Add common headers to CEL related configs. 2009-06-29 18:05:27 +00:00
cel_tds.conf.sample Merge the new Channel Event Logging (CEL) subsystem. 2009-06-26 15:28:53 +00:00
chan_dahdi.conf.sample Add 'description' field for CLI and Manager output 2011-04-13 15:49:33 +00:00
chan_mobile.conf.sample Add an 'sms' option to mobile.conf to manually enable or disable SMS support. 2009-08-03 14:01:39 +00:00
chan_ooh323.conf.sample generate roundtrip delay requests and responses 2010-03-14 14:42:59 +00:00
cli.conf.sample Clarify configuration file that can be misunderstood 2008-01-30 20:08:58 +00:00
cli_aliases.conf.sample Add 'soft hangup' alias per Steve Johnson on asterisk-users. 2010-04-20 19:02:49 +00:00
cli_permissions.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
codecs.conf.sample Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff 2011-02-22 23:04:49 +00:00
console.conf.sample fixes adaptive jitterbuffer configuration 2010-03-02 19:08:38 +00:00
dbsep.conf.sample Accomodate equal signs in DSNs and add documentation, based upon mmichelson's feedback. 2010-03-22 16:59:35 +00:00
dnsmgr.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
dsp.conf.sample Create a centralized configuration option for silencethreshold 2008-03-05 16:23:44 +00:00
dundi.conf.sample Replacing doc/* and asterisk.pdf with wiki links 2011-02-02 19:30:49 +00:00
enum.conf.sample Merged revisions 81379 via svnmerge from 2007-08-30 15:34:18 +00:00
extconfig.conf.sample Replacing doc/* with wiki links 2011-02-02 18:59:29 +00:00
extensions.ael.sample Merged revisions 252761 via svnmerge from 2010-03-16 18:48:22 +00:00
extensions.conf.sample Merged revisions 302417 via svnmerge from 2011-01-19 15:54:22 +00:00
extensions.lua.sample Add support for defining hints from pbx_lua 2011-03-04 17:44:44 +00:00
extensions_minivm.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
features.conf.sample Merged revisions 286931 via svnmerge from 2010-09-15 19:23:56 +00:00
festival.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
followme.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
func_odbc.conf.sample Allow multiple rows to be fetched within the normal mode of operation. 2009-09-07 17:15:37 +00:00
gtalk.conf.sample New CLI command 'gtalk show settings'. 2010-11-02 15:14:12 +00:00
h323.conf.sample Replacing doc/* and asterisk.pdf with wiki links 2011-02-02 19:30:49 +00:00
http.conf.sample Enable IPv6 for the built-in HTTP server. 2010-10-29 20:46:06 +00:00
iax.conf.sample Add 'description' field for CLI and Manager output 2011-04-13 15:49:33 +00:00
iaxprov.conf.sample Replacing doc/* and asterisk.pdf with wiki links 2011-02-02 19:30:49 +00:00
indications.conf.sample Merged revisions 311050 via svnmerge from 2011-03-17 10:51:57 +00:00
jabber.conf.sample Merged revisions 289718 via svnmerge from 2010-10-01 17:22:30 +00:00
jingle.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
logger.conf.sample Merged revisions 279566 via svnmerge from 2010-07-26 19:58:12 +00:00
manager.conf.sample Merged revisions 312766 via svnmerge from 2011-04-05 14:16:21 +00:00
meetme.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
mgcp.conf.sample Replacing doc/* and asterisk.pdf with wiki links 2011-02-02 19:30:49 +00:00
minivm.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
misdn.conf.sample Enhancements to connected line and redirecting work. 2010-05-17 15:36:31 +00:00
modules.conf.sample Add the capability to require a module to be loaded, or else Asterisk exits. 2009-11-13 08:52:28 +00:00
musiconhold.conf.sample Merged revisions 292050 via svnmerge from 2010-10-16 11:51:54 +00:00
muted.conf.sample Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow. 2008-06-12 17:27:55 +00:00
osp.conf.sample Added support for indirect work mode. 2010-07-12 04:16:18 +00:00
oss.conf.sample fixes adaptive jitterbuffer configuration 2010-03-02 19:08:38 +00:00
phone.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
phoneprov.conf.sample res_phoneprov add snom 300, 320, 360, 370, 820, 821, 870 support 2011-02-03 16:13:40 +00:00
queuerules.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
queues.conf.sample Merged revisions 304186 via svnmerge from 2011-01-26 20:25:24 +00:00
res_config_mysql.conf.sample Add option to res_config_mysql and app_mysql to specify a character set that 2010-10-08 16:27:31 +00:00
res_config_sqlite.conf.sample Rename res_config_sqlite.conf to res_config_sqlite.conf.sample (missing .sample). 2009-06-30 17:22:16 +00:00
res_curl.conf.sample Merged revisions 295361 via svnmerge from 2010-11-17 14:22:42 +00:00
res_fax.conf.sample Merged revisions 289300 via svnmerge from 2010-09-29 17:54:49 +00:00
res_ldap.conf.sample Merged revisions 292787 via svnmerge from 2010-10-22 21:29:20 +00:00
res_odbc.conf.sample Merge the realtime failover branch 2010-07-23 16:19:21 +00:00
res_pgsql.conf.sample Construct socket name, according to the Postgres docs, and document as such. 2010-05-26 16:14:48 +00:00
res_pktccops.conf.sample Add PacketCable NCS 1.0 support for Docsis/Eurodocsis networks 2009-11-02 22:29:19 +00:00
res_snmp.conf.sample Replacing doc/* with wiki links 2011-02-02 18:59:29 +00:00
res_stun_monitor.conf.sample Merged revisions 282269 via svnmerge from 2010-08-13 20:05:44 +00:00
rpt.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
rtp.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
say.conf.sample Merged revisions 284318 via svnmerge from 2010-08-31 19:01:12 +00:00
sip.conf.sample Add 'description' field for CLI and Manager output 2011-04-13 15:49:33 +00:00
sip_notify.conf.sample Merged revisions 295477 via svnmerge from 2010-11-18 20:31:23 +00:00
skinny.conf.sample Replacing doc/* and asterisk.pdf with wiki links 2011-02-02 19:30:49 +00:00
sla.conf.sample Replacing doc/* and asterisk.pdf with wiki links 2011-02-02 19:30:49 +00:00
smdi.conf.sample Fix references to /etc/dahdi/system.conf and /etc/asterisk/chan_dahdi.conf in 2009-05-27 16:07:57 +00:00
telcordia-1.adsi Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
udptl.conf.sample Allow non-compliant T.38 endpoints to be supportable via configuration option. 2009-10-05 19:45:00 +00:00
unistim.conf.sample Replacing doc/* and asterisk.pdf with wiki links 2011-02-02 19:30:49 +00:00
usbradio.conf.sample fixes adaptive jitterbuffer configuration 2010-03-02 19:08:38 +00:00
users.conf.sample Add 'description' field for CLI and Manager output 2011-04-13 15:49:33 +00:00
voicemail.conf.sample Documentation Updates 2011-02-08 20:31:13 +00:00
vpb.conf.sample Fix references to /etc/dahdi/system.conf and /etc/asterisk/chan_dahdi.conf in 2009-05-27 16:07:57 +00:00