dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

37 Commits

Author SHA1 Message Date
mnicholson 2b37cbc87b renamed fax_gateway_send_ced() to fax_gateway_request_t38()
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@327598 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-11 17:23:54 +00:00
mnicholson f14aa92f10 actually do something with the ced timeout, also added more debug output
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@327570 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-11 16:27:08 +00:00
mnicholson 9374cf84f9 write silence on the channel during t.38 negotiation
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@327514 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-11 14:13:24 +00:00
mnicholson 30177298c6 Delay sending an CED tone generated T.38 reinvite to give the CED tone
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: http://svn.digium.com/svn/asterisk/trunk@327511 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-11 13:29:13 +00:00
mnicholson fdee0340a6 fixed wording in a comment
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@327469 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-11 12:58:50 +00:00
mnicholson 5484e37bab updated irroots info for the authors section
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@326006 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-01 12:45:09 +00:00
mnicholson 405c5bbc3e Fax gateway functionality (i.e. translating between a T.30 terminal and a T.38
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: http://svn.digium.com/svn/asterisk/trunk@325816 f38db490-d61c-443f-a65b-d21fe96a405b
2011-06-30 18:22:28 +00:00
irroot b77d873929 When a error in T.38 negotiation happens or its rejected on a channel the
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: http://svn.digium.com/svn/asterisk/trunk@319087 f38db490-d61c-443f-a65b-d21fe96a405b
2011-05-16 14:56:53 +00:00
russell 681ceaeaac Merged revisions 316265 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@316293 f38db490-d61c-443f-a65b-d21fe96a405b
2011-05-03 20:45:32 +00:00
jrose 57b175a00b Merged revisions 311352 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@311373 f38db490-d61c-443f-a65b-d21fe96a405b
2011-03-18 16:24:19 +00:00
mnicholson 7587e4d3a2 Merged revisions 311342 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@311343 f38db490-d61c-443f-a65b-d21fe96a405b
2011-03-18 16:03:51 +00:00
dvossel 4aca3187a3 Asterisk media architecture conversion - no more format bitfields
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: http://svn.digium.com/svn/asterisk/trunk@306010 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-03 16:22:10 +00:00
kpfleming c2f34c05c0 Fix bug with 'F' option for ReceiveFAX and SendFAX.
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: http://svn.digium.com/svn/asterisk/trunk@304599 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-27 20:07:05 +00:00
kpfleming e7e20f3836 Rename the SendFAX/ReceiveFAX 'force audio' option.
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: http://svn.digium.com/svn/asterisk/trunk@304422 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-27 15:57:52 +00:00
kpfleming 7a57c7974b Add ability to disable T.38 usage for specific SendFAX/ReceiveFAX sessions.
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: http://svn.digium.com/svn/asterisk/trunk@304342 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26 22:39:07 +00:00
mnicholson 93d5f14c6a Merged revisions 303907 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@304152 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-26 19:58:14 +00:00
qwell 8409c0cad4 Merged revisions 302600 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@302601 f38db490-d61c-443f-a65b-d21fe96a405b
2011-01-19 20:15:54 +00:00
mnicholson c09096609f Merged revisions 298054 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@298055 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-10 16:53:43 +00:00
mnicholson 74a4a31f86 Merged revisions 297157,297486,297495 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@297496 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-03 15:32:22 +00:00
mnicholson fb49771055 Merged revisions 281358 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@281359 f38db490-d61c-443f-a65b-d21fe96a405b
2010-08-09 14:52:21 +00:00
mnicholson bc893f1b2f Merged revisions 280909 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@280910 f38db490-d61c-443f-a65b-d21fe96a405b
2010-08-04 15:22:02 +00:00
mnicholson f11b907d9e Merged revisions 280557 via svnmerge from
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: http://svn.digium.com/svn/asterisk/trunk@280559 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-29 21:08:42 +00:00
mnicholson 583973b433 Don't print failure status when the remote end hangs up, it may not be an actual failure.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278426 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-21 13:03:01 +00:00
mnicholson ce66b9de78 This commit contains several changes to the way output channel variables are 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: http://svn.digium.com/svn/asterisk/trunk@278168 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-20 21:01:26 +00:00
tilghman 771cdeecd1 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278132 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-20 19:35:02 +00:00
snuffy 25de8c5279 Update res_fax.c to be a good xml citizen.
(closes issues #17667)
 Reported by: snuffy


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@277667 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-17 00:03:37 +00:00
mnicholson dc4e599ca9 Set proper FAXOPT(status), FAXOPT(statusstr), and FAXOPT(error) values where possible. Previously some failure cases did not result in proper FAXOPT values.
FAX-203


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@274540 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-07 16:40:19 +00:00
mnicholson a6f0b0b187 Properly detect and report invalid maxrate and maxrate values in the FAXOPT 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: http://svn.digium.com/svn/asterisk/trunk@274243 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-06 19:53:04 +00:00
mnicholson 65145d4e18 Properly handle failures of fax->start_session()
FAX-177


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@273464 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-01 19:34:47 +00:00
mnicholson c505473a18 Implemement support for handling multiple documents when sending.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@272558 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-25 19:42:54 +00:00
russell 8be09a0397 Change the method of retrieving the Asterisk version string.
Using this method makes it so res_fax doesn't have to be rebuilt on every
svn update.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@271833 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-22 16:17:14 +00:00
mmichelson e8592e128a Log spandsp's fax debug output to the FAX logger level.
Review: https://reviewboard.asterisk.org/r/658



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@264953 f38db490-d61c-443f-a65b-d21fe96a405b
2010-05-21 15:15:58 +00:00
mnicholson c18fc0e2ae Update res_fax and res_fax_spandsp to be compatible with Fax For Asterisk 1.2.
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: http://svn.digium.com/svn/asterisk/trunk@258896 f38db490-d61c-443f-a65b-d21fe96a405b
2010-04-26 14:18:15 +00:00
kpfleming a37e15e1be 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: http://svn.digium.com/svn/asterisk/trunk@254450 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-25 15:27:31 +00:00
kpfleming 0727ec7bdf Improve handling of values supplied to FAXOPT(ecm).
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: http://svn.digium.com/svn/asterisk/trunk@252709 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-15 22:48:38 +00:00
mnicholson f90164d3b4 Updated CHANGES file to mention res_fax and res_fax_spandsp.
Also fixed MODULEINFO depends and conflicts for app_fax, res_fax, and res_fax_spandsp.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@250302 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-03 15:39:45 +00:00
mnicholson bc9bd7bb7c Merge res_fax and res_fax_spandsp.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@250190 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-02 23:11:06 +00:00