summaryrefslogtreecommitdiff
path: root/res/res_fax.c
AgeCommit message (Collapse)Author
2011-07-28Merged revisions 329992 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/10 ................ r329992 | mnicholson | 2011-07-28 10:28:21 -0500 (Thu, 28 Jul 2011) | 13 lines Merged revisions 329991 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r329991 | mnicholson | 2011-07-28 10:26:56 -0500 (Thu, 28 Jul 2011) | 6 lines check for CONFIG_STATUS_FILE_INVALID when loading the res_fax config file Patch by: tzafrir Reported by: tzafrir (closes issue ASTERISK-18161) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@329993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14Merged revisions 328247 via svnmerge from Leif Madsen
https://origsvn.digium.com/svn/asterisk/branches/1.10 ................ r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines Merged revisions 328209 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines Introduce <support_level> tags in MODULEINFO. This change introduces MODULEINFO into many modules in Asterisk in order to show the community support level for those modules. This is used by changes committed to menuselect by Russell Bryant recently (r917 in menuselect). More information about the support level types and what they mean is available on the wiki at https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-12do v21 detection instead of CED detection for the fax gatewayMatthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327769 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-11renamed fax_gateway_send_ced() to fax_gateway_request_t38()Matthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-11actually do something with the ced timeout, also added more debug outputMatthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-11write silence on the channel during t.38 negotiationMatthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-11Delay sending an CED tone generated T.38 reinvite to give the CED toneMatthew Nicholson
generating party time to send its own T.38 reinvite. Also don't forward frames through the gateway if we are negotiating T.38. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327511 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-11fixed wording in a commentMatthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@327469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-01updated irroots info for the authors sectionMatthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@326006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-30Fax gateway functionality (i.e. translating between a T.30 terminal and a T.38Matthew Nicholson
terminal). Can be enabled on a channel by setting FAXOPT(gateway)=yes in the dialplan. Big thanks to irroot for porting this code to use the framehooks api. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@325816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 When a error in T.38 negotiation happens or its rejected on a channel theGregory Nietsky
state of the channel reverts to unknown this should be rejected. this is important for negotiating T.38 gateway see #13405 This patch adds a option T38_REJECTED that behaves as T38_DISABLED except it reports state rejected. Trivial Change to res_fax to honnor UNAVAILABLE and REJECTED states. (closes issue #18889) Reported by: irroot Tested by: irroot, darkbasic, mnicholson Review: https://reviewboard.asterisk.org/r/1115 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03Merged revisions 316265 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines Fix a bunch of compiler warnings generated by gcc 4.6.0. Most of these are -Wunused-but-set-variable, but there were a few others mixed in here, as well. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-18Merged revisions 311352 via svnmerge from Jonathan Rose
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r311352 | jrose | 2011-03-18 11:19:05 -0500 (Fri, 18 Mar 2011) | 10 lines Changes some print statements/events to use a blank string in place of NULL if the string in question is NULL. This is supposed to improve Solaris compatibility since Solaris goes berserk when trying to output NULL strings. (closes issue #18759) Reported by: bklang Patches: null-strings.patch uploaded by bklang (license 919) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@311373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-18Merged revisions 311342 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r311342 | mnicholson | 2011-03-18 11:02:50 -0500 (Fri, 18 Mar 2011) | 2 lines Properly populate the LOCALSTATIONID channel variable. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@311343 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03Asterisk media architecture conversion - no more format bitfieldsDavid Vossel
This patch is the foundation of an entire new way of looking at media in Asterisk. The code present in this patch is everything required to complete phase1 of my Media Architecture proposal. For more information about this project visit the link below. https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal The primary function of this patch is to convert all the usages of format bitfields in Asterisk to use the new format and format_cap APIs. Functionally no change in behavior should be present in this patch. Thanks to twilson and russell for all the time they spent reviewing these changes. Review: https://reviewboard.asterisk.org/r/1083/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-27Fix bug with 'F' option for ReceiveFAX and SendFAX.Kevin P. Fleming
Skipping the call to set_t38_fax_caps() caused the FAX session details to not be marked as supporting audio FAX either... the function's name is a bit misleading. This patch restores the single bit of non-T.38 behavior from that function when audio mode is forced. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-27Rename the SendFAX/ReceiveFAX 'force audio' option.Kevin P. Fleming
The recently added option to disable usage of T.38 for a single session should have been named 'F' for 'force audio', since that is really what the user is asking to happen (and it's a positive option instead of a negative option that way). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304422 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-26Add ability to disable T.38 usage for specific SendFAX/ReceiveFAX sessions.Kevin P. Fleming
Sometimes during troubleshooting it can be useful to disable T.38 usage in order to narrow down a problem. This patch adds an 'n' option to SendFAX and ReceiveFAX so that can be done without having to disable T.38 usage entirely for the peer that Asterisk is communicating with. (inspired by trying to assist Bryant Zimmerman on asterisk-users) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-26Merged revisions 303907 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r303907 | mnicholson | 2011-01-25 14:56:12 -0600 (Tue, 25 Jan 2011) | 2 lines Reimplemented fax session reservation to reverse the ABI breakage introduced in r297486. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304152 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-19Merged revisions 302600 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r302600 | qwell | 2011-01-19 14:14:40 -0600 (Wed, 19 Jan 2011) | 1 line Fix typo pointed out on asterisk-users list. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302601 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-10Merged revisions 298054 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r298054 | mnicholson | 2010-12-10 10:52:11 -0600 (Fri, 10 Dec 2010) | 2 lines Prevent a memcpy overlap in GENERIC_FAX_EXEC_SET_VARS ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@298055 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-03Merged revisions 297157,297486,297495 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r297157 | mnicholson | 2010-12-01 13:47:33 -0600 (Wed, 01 Dec 2010) | 2 lines Changed some NOTICE and WARNING messages to DEBUG messages. ........ r297486 | mnicholson | 2010-12-02 15:30:47 -0600 (Thu, 02 Dec 2010) | 6 lines Add support for reserving a fax session before answering the channel. Note: this change breaks ABI compatibility. FAX-217 ........ r297495 | mnicholson | 2010-12-03 09:21:52 -0600 (Fri, 03 Dec 2010) | 4 lines Print a DEBUG message instead of a WARNING message when the selected fax tech does not support reserving sessions. Answer the channel before quering it for t.38 support. This is necessary for the query to work properly over local channels. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@297496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-09Merged revisions 281358 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r281358 | mnicholson | 2010-08-09 09:49:38 -0500 (Mon, 09 Aug 2010) | 4 lines Validate minrate, maxrate, and modem settings before attempting a fax session. FAX-224 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-04Merged revisions 280909 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r280909 | mnicholson | 2010-08-04 10:11:13 -0500 (Wed, 04 Aug 2010) | 2 lines Initialize FAXOPT() status variables in sendfax and receivefax instead of when the details structure is created. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29Merged revisions 280557 via svnmerge from Matthew Nicholson
https://origsvn.digium.com/svn/asterisk/branches/1.8 ........ r280557 | mnicholson | 2010-07-29 16:07:21 -0500 (Thu, 29 Jul 2010) | 4 lines Fix regression introduced in r1664. Give the fax stack time to shutdown and populate the FAXOPT output variables. FAX-222 ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21Don't print failure status when the remote end hangs up, it may not be an ↵Matthew Nicholson
actual failure. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20This commit contains several changes to the way output channel variables are ↵Matthew Nicholson
handled. FAX output channel variables will now match the values reported by FAXOPT() and should be set in all failure and success cases. This commit also contains a few modifications to the way FAXOPT() variables are populated in a few spots and fixes for some reference count leaks of the session details structure in some failure cases. Also found and fixed more cases where FAXOPT(status) may not have gotten set. FAX-214 FAX-203 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20Add load priority order, such that preload becomes unnecessary in most casesTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-17Update res_fax.c to be a good xml citizen.Bradley Latus
(closes issues #17667) Reported by: snuffy git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277667 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-07Set proper FAXOPT(status), FAXOPT(statusstr), and FAXOPT(error) values where ↵Matthew Nicholson
possible. Previously some failure cases did not result in proper FAXOPT values. FAX-203 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-06Properly detect and report invalid maxrate and maxrate values in the FAXOPT ↵Matthew Nicholson
dialplan function. Also make fax_rate_str_to_int() return an unsigned int and return 0 instead of -1 in the event of an error. FAX-202 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-01Properly handle failures of fax->start_session()Matthew Nicholson
FAX-177 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-25Implemement support for handling multiple documents when sending.Matthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-22Change the method of retrieving the Asterisk version string.Russell Bryant
Using this method makes it so res_fax doesn't have to be rebuilt on every svn update. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-21Log spandsp's fax debug output to the FAX logger level.Mark Michelson
Review: https://reviewboard.asterisk.org/r/658 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@264953 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-26Update res_fax and res_fax_spandsp to be compatible with Fax For Asterisk 1.2.Matthew Nicholson
The fax session initilization code for T.38 faxes has been rewritten. T.38 session initialization was removed from generic_fax_exec, and split into two different code paths for receive and send. Also the 'z' option (to send a T.38 reinvite if we do not receive one) was added to sendfax. In the output of 'fax show sessions', the 'Type' column has been renamed to 'Tech' and replaced with a new 'Tech' column that will report 'G.711' or 'T.38'. Control of ECM defaults has been added to res_fax A 'fax show settings' CLI command has been added. Support of the new AST_T38_REQUEST_PARMS control method request to handle channels that have already received a T.38 reinvite before the FAX application is start has been added. Support for the 'fax show settings' command has been added to res_fax_spandsp and handling of the ECM flag has been slightly altered. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@258896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-25Improve handling of T.38 re-INVITEs that arrive before a T.38-capableKevin P. Fleming
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-15Improve handling of values supplied to FAXOPT(ecm).Kevin P. Fleming
Previously, values that began with whitespace were silently treated as 'no', and all non-'yes' values were also treated as 'no'. Now the supplied value is specifically checked for a 'yes' or 'no' (or equivalent) value, after skipping leading whitespace. If the value is not valid, then a warning message is generated. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@252709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-03Updated CHANGES file to mention res_fax and res_fax_spandsp.Matthew Nicholson
Also fixed MODULEINFO depends and conflicts for app_fax, res_fax, and res_fax_spandsp. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-02Merge res_fax and res_fax_spandsp.Matthew Nicholson
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@250190 65c4cc65-6c06-0410-ace0-fbb531ad65f3