asterisk/configs
Kevin P. Fleming 42577406fd Improve handling of T.38 re-INVITEs that arrive before a T.38-capable
application is executing on a channel.

This patch addresses an issue found during working with end-users
using res_fax. If an incoming call is answered in the dialplan, or
jumps to the 'fax' extension due to reception of a CNG tone (with
faxdetect enabled), and then the remote endpoint sends a T.38
re-INVITE, it is possible for the channel's T.38 state to be
'T38_STATE_NEGOTIATING' when the application starts up. Unfortunately,
even if the application wants to use T.38, it can't respond to the
peer's negotiation request, because the AST_CONTROL_T38_PARAMETERS
control frame that chan_sip sent originally has been lost, and the
application needs the content of that frame to be able to formulate a
reply.

This patch adds a new 'request' type to AST_CONTROL_T38_PARAMETERS,
AST_T38_REQUEST_PARMS. If the application sends this request, chan_sip
will re-send the original control frame (with
AST_T38_REQUEST_NEGOTIATE as the request type), and the application
can respond as normal. If this occurs within the five second timeout
in chan_sip, the automatic cancellation of the peer reinvite will be
stopped, and the application will 'own' the negotiation process from
that point onwards.

This also improves the code path in chan_sip to allow sip_indicate(),
when called for AST_CONTROL_T38_PARAMETERS, to be able to return a
non-zero response, which should have been in place before since the
control frame *can* fail to be processed properly. It also modifies
ast_indicate() to return whatever result the channel driver returned
for this control frame, rather than converting all non-zero results
into '-1'. Finally, the new request type intentionally returns a
positive value, so that an application that sends
AST_T38_REQUEST_PARMS can know for certain whether the channel driver
accepted it and will be replying with a control frame of its own, or
whether it was ignored (if the sip_indicate()/ast_indicate() path had
properly supported failure responses before, this would not be
necessary).

This patch also modifies res_fax to take advantage of the new request.

In addition, this patch makes sip_t38_abort() actually lock the
private structure before doing its work... bad programmer, no donut.

This patch also enhances chan_sip's 'faxdetect' support to allow
triggering on T.38 re-INVITEs received as well as CNG tone detection.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@254450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25 15:27:31 +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
calendar.conf.sample Make note of Exchange calendar support limitations 2009-05-28 20:43:00 +00:00
cdr.conf.sample Merged revisions 250043 via svnmerge from 2010-03-02 20:52:19 +00:00
cdr_adaptive_odbc.conf.sample Comment out config line that is in a commented out context 2008-11-19 05:37:10 +00:00
cdr_custom.conf.sample This patch adds a sequence field to CDRs that can be combined with the linkedid or uniqueid field to uniquely identify a CDR. 2009-11-03 21:21:09 +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 Permit dates and times to be stored in timezones other than the default (typically, UTC) 2010-01-11 21:03:46 +00:00
cdr_odbc.conf.sample remove extraneous svn:executable properties 2005-11-29 18:24:39 +00:00
cdr_pgsql.conf.sample Adding note about TLS usage 2009-10-10 08:30:24 +00:00
cdr_sqlite3_custom.conf.sample Fix a few potential deadlocks in cdr_sqlite3_custom. 2007-11-09 16:32:01 +00:00
cdr_syslog.conf.sample Add a new module, cdr_syslog, which allows writing CDRs to syslog. 2009-06-26 22:08:05 +00:00
cdr_tds.conf.sample Update sample cdr_tds configuration to try and eliminate some confusion. 2009-06-24 13:47:55 +00:00
cel.conf.sample Add common headers to CEL related configs. 2009-06-29 18:05:27 +00:00
cel_adaptive_odbc.conf.sample Reorganize this adaptive CEL config a bit. 2009-06-29 20:29:10 +00:00
cel_custom.conf.sample Add common headers to CEL related configs. 2009-06-29 18:05:27 +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 new config option to control AMI alarm event reporting in chan_dahdi. 2010-03-03 17:37:30 +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 default alias reload to run module reload. 2009-07-25 12:03:25 +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 remove extraneous svn:executable properties 2005-11-29 18:24:39 +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 Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
enum.conf.sample Merged revisions 81379 via svnmerge from 2007-08-30 15:34:18 +00:00
extconfig.conf.sample Make the default extconfig.conf match entries with the sample res_mysql.conf. 2009-08-18 19:25:09 +00:00
extensions.ael.sample Merged revisions 252761 via svnmerge from 2010-03-16 18:48:22 +00:00
extensions.conf.sample Merged revisions 245944 via svnmerge from 2010-02-10 14:06:12 +00:00
extensions.lua.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +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 addition of dynamic parkinglots feature 2010-02-17 18:29:48 +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 Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
h323.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
http.conf.sample - cfgbasic.html has been replaced by index.html in the GUI for some time now 2009-07-01 19:47:38 +00:00
iax.conf.sample Merged revisions 233279 via svnmerge from 2009-12-04 21:54:44 +00:00
iaxprov.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
indications.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
jabber.conf.sample Add auth_policy option to jabber.conf for auto user registration. 2009-12-16 20:25:27 +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 Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
manager.conf.sample Display a list of channel variables in each channel-oriented event. 2009-11-13 20:42:03 +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 fixes adaptive jitterbuffer configuration 2010-03-02 19:08:38 +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 fixes adaptive jitterbuffer configuration 2010-03-02 19:08:38 +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 Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +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 1. Updated for OSP Toolkit 3.6.0. 2009-12-29 10:59:55 +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 Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +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 new queue option, penaltymemberslimit, disregards penalty on too few queue members when enabled 2009-12-04 18:48:31 +00:00
res_config_mysql.conf.sample Rename res_mysql.conf to res_config_mysql.conf, make module support both 2009-06-30 17:15:09 +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_fax.conf.sample Merge missed files from res_fax/res_fax_spandsp merge. 2010-03-02 23:22:11 +00:00
res_ldap.conf.sample Add an additional note on TLS support 2009-10-10 08:29:03 +00:00
res_odbc.conf.sample Clarify that "forcecommit" is NOT an alias for "autocommit", but instead controls the default disposition of uncommitted transactions. 2009-10-18 23:41:30 +00:00
res_pgsql.conf.sample Merge the adaptive realtime branch, which will make adding new required fields 2008-06-05 19:07:27 +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 Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +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 253018 via svnmerge from 2010-03-17 00:29:06 +00:00
sip.conf.sample Improve handling of T.38 re-INVITEs that arrive before a T.38-capable 2010-03-25 15:27:31 +00:00
sip_notify.conf.sample Allow for adding message body to the SIP NOTIFY message 2009-10-14 17:48:57 +00:00
skinny.conf.sample Rename 'canreinvite' option to 'directmedia', with backwards compatibility. 2009-08-03 20:48:48 +00:00
sla.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +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 Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
usbradio.conf.sample fixes adaptive jitterbuffer configuration 2010-03-02 19:08:38 +00:00
users.conf.sample Remove a bunch of trailing whitespace in preparation for reformatting/cleanup. 2009-05-28 14:39:21 +00:00
voicemail.conf.sample Allow configuration of minsecs and nextaftercmd per mailbox. 2010-03-24 18:13:29 +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