aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_fax.c
AgeCommit message (Collapse)AuthorFilesLines
2009-12-15Merged revisions 235010 via svnmerge from kpfleming1-1/+1
https://origsvn.digium.com/svn/asterisk/trunk ........ r235010 | kpfleming | 2009-12-15 08:35:46 -0600 (Tue, 15 Dec 2009) | 5 lines spandsp does in fact support V.17 modulation at 14.4 kilobits per second, so we should generate T38MaxBitRate of 14400 (even though that doesn't really affect the FAX transmission much at all) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@235012 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-16Merged revisions 230381 via svnmerge from kpfleming1-2/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r230381 | kpfleming | 2009-11-16 10:40:25 -0600 (Mon, 16 Nov 2009) | 1 line Fix another buglet in T.38 session teardown at the end of FAX sessions. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@230383 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-16Merged revisions 230343 via svnmerge from kpfleming1-1/+5
https://origsvn.digium.com/svn/asterisk/trunk ........ r230343 | kpfleming | 2009-11-16 06:51:59 -0600 (Mon, 16 Nov 2009) | 2 lines Ensure that only one end of a T.38 session initiates teardown at completion. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@230345 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-26Backport audio handling loop fixes from trunk version of app_fax.kpfleming1-18/+23
This backport resolves some issues handling audio frames during FAX processing, and ensures that the FAX application doesn't accidentally get notified of a T.38 switchover at the end of a successful FAX. (issue #16127) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@225870 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-12Merged revisions 223652 via svnmerge from kpfleming1-1/+54
https://origsvn.digium.com/svn/asterisk/trunk ........ r223652 | kpfleming | 2009-10-12 09:25:29 -0500 (Mon, 12 Oct 2009) | 13 lines Remove automatic switching from T.38 to voice mode in chan_sip. chan_sip has some code to automatically switch from T.38 mode to voice mode when a voice frame is written to the channel while it is in T.38 mode; this was intended to handle the situation when a FAX transmission has ended and the channel is not yet hung up, but is causing problems at the beginning of FAX sessions as well when there are still voice frames 'in flight' at the time the T.38 negotiation completes. This patch removes the automatic switchover, and changes app_fax to explicitly switch off T.38 mode when the FAX transmission process ends. (closes issue #16025) Reported by: jamicque ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@223654 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-09Merged revisions 223330 via svnmerge from kpfleming1-2/+2
https://origsvn.digium.com/svn/asterisk/trunk ........ r223330 | kpfleming | 2009-10-09 15:58:44 -0500 (Fri, 09 Oct 2009) | 10 lines Initiate T.38 switchover when acting as called party, regardless of FAX direction. SendFAX() and ReceiveFAX() can be given options to indicate whether they should act as the calling or called party; this mode should be used to decide whether to initiate a switchover to T.38, not the direction that the FAX transfer will take place. (closes issue #16039) Reported by: jamicque ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@223332 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27Merged revisions 209279 via svnmerge from kpfleming1-5/+9
https://origsvn.digium.com/svn/asterisk/trunk ........ r209279 | kpfleming | 2009-07-27 16:43:36 -0500 (Mon, 27 Jul 2009) | 7 lines Cleanup T.38 negotiation changes. Convert LOG_NOTICE messages about T.38 negotiation in debug level 1 messages, clean up some looping logic, and correct an improper use of ast_free() for freeing an ast_frame. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@209281 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27Merged revisions 209256 via svnmerge from kpfleming1-56/+76
https://origsvn.digium.com/svn/asterisk/trunk ........ r209256 | kpfleming | 2009-07-27 16:21:43 -0500 (Mon, 27 Jul 2009) | 10 lines Make T.38 switchover in ReceiveFAX synchronous. In receive mode, if the channel that ReceiveFAX is running on supports T.38, we should *always* attempt to switch T.38, rather than listening for an incoming CNG tone and only triggering on that. The channel may be using a low-bitrate codec that distorts the CNG tone, the sending FAX endpoint may not send CNG at all, or there could be a variety of other reasons that we don't detect it, but in all those cases if T.38 is available we certainly want to use it. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@209262 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-23Merged revisions 208464 via svnmerge from kpfleming1-14/+13
https://origsvn.digium.com/svn/asterisk/trunk ........ r208464 | kpfleming | 2009-07-23 16:57:24 -0500 (Thu, 23 Jul 2009) | 46 lines Rework of T.38 negotiation and UDPTL API to address interoperability problems Over the past couple of months, a number of issues with Asterisk negotiating (and successfully completing) T.38 sessions with various endpoints have been found. This patch attempts to address many of them, primarily focused around ensuring that the endpoints' MaxDatagram size is honored, and in addition by ensuring that T.38 session parameter negotiation is performed correctly according to the ITU T.38 Recommendation. The major changes here are: 1) T.38 applications in Asterisk (app_fax) only generate/receive IFP packets, they do not ever work with UDPTL packets. As a result of this, they cannot be allowed to generate packets that would overflow the other endpoints' MaxDatagram size after the UDPTL stack adds any error correction information. With this patch, the application is told the maximum *IFP* size it can generate, based on a calculation using the far end MaxDatagram size and the active error correction mode on the T.38 session. The same is true for sending *our* MaxDatagram size to the remote endpoint; it is computed from the value that the application says it can accept (for a single IFP packet) combined with the active error correction mode. 2) All treatment of T.38 session parameters as 'capabilities' in chan_sip has been removed; these parameters are not at all like audio/video stream capabilities. There are strict rules to follow for computing an answer to a T.38 offer, and chan_sip now follows those rules, using the desired parameters from the application (or channel) that wants to accept the T.38 negotiation. 3) chan_sip now stores and forwards ast_control_t38_parameters structures for tracking 'our' and 'their' T.38 session parameters; this greatly simplifies negotiation, especially for pass-through calls. 4) Since T.38 negotiation without specifying parameters or receiving the final negotiated parameters is not very worthwhile, the AST_CONTROL_T38 control frame has been removed. A note has been added to UPGRADE.txt about this removal, since any out-of-tree applications that use it will no longer function properly until they are upgraded to use AST_CONTROL_T38_PARAMETERS. Review: https://reviewboard.asterisk.org/r/310/ ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@208484 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-10Merged revisions 205770 via svnmerge from kpfleming1-9/+8
https://origsvn.digium.com/svn/asterisk/trunk ........ r205770 | kpfleming | 2009-07-10 10:28:11 -0500 (Fri, 10 Jul 2009) | 12 lines Fix some remaining T.38 negotiation problems in app_fax. Revision 205696 did not quite fix all the issues with the T.38 negotiation changes and app_fax; this patch corrects them, along with a couple of other minor issues. (closes issue #15480) Reported by: dimas Patches: test2-15480.patch uploaded by dimas (license 88) ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@205772 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-09Merged revisions 205696 via svnmerge from kpfleming1-2/+19
https://origsvn.digium.com/svn/asterisk/trunk ........ r205696 | kpfleming | 2009-07-09 16:20:23 -0500 (Thu, 09 Jul 2009) | 16 lines Repair ability of SendFAX/ReceiveFAX to respond to T.38 switchover. Recent changes in T.38 negotiation in Asterisk caused these applications to not respond when the other endpoint initiated a switchover to T.38; this resulted in the T.38 switchover failing, and the FAX attempt to be made using an audio connection, instead of T.38 (which would usually cause the FAX to fail completely). This patch corrects this problem, and the applications will now correctly respond to the T.38 switchover request. In addition, the response will include the appopriate T.38 session parameters based on what the other end offered and what our end is capable of. (closes issue #14849) Reported by: afosorio ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@205698 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-26Merged revisions 203699 via svnmerge from file1-17/+29
https://origsvn.digium.com/svn/asterisk/trunk ........ r203699 | file | 2009-06-26 16:27:24 -0300 (Fri, 26 Jun 2009) | 2 lines Improve T.38 negotiation by exchanging session parameters between application and channel. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@203703 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-20Merged revisions 202183 via svnmerge from seanbright1-2/+2
https://origsvn.digium.com/svn/asterisk/trunk ........ r202183 | seanbright | 2009-06-20 15:09:47 -0400 (Sat, 20 Jun 2009) | 5 lines Fix version detection for API changes in spandsp. (closes issue #15355) Reported by: deuffy ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@202185 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-20Merged revisions 177699 via svnmerge from dhubbard1-3/+9
https://origsvn.digium.com/svn/asterisk/trunk ........ r177699 | dhubbard | 2009-02-20 14:29:00 -0600 (Fri, 20 Feb 2009) | 9 lines Make app_fax compatible with spandsp-0.0.6pre4 Prior to spandsp-0.0.6pre4 the t30_stats_t structure used a pages_transferred integer to indicate the number of pages transferred (so far) during the fax session. The spandsp-0.0.6pre4 release removed the pages_transferred integer and replaced it with two different integers - pages_tx and pages_rx. This revision uses the new integers for spandsp-0.0.6pre4 while maintaining backwards compatibility for previous spandsp releases. ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@177785 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-15Merged revisions 164257 via svnmerge from file1-0/+3
https://origsvn.digium.com/svn/asterisk/trunk ........ r164257 | file | 2008-12-15 11:41:22 -0400 (Mon, 15 Dec 2008) | 4 lines Make app_fax compatible with newer versions of spandsp. This remains backwards compatible with earlier versions though so do not fret. (closes issue #14073) Reported by: seandarcy ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@164266 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-14Merged revisions 148868 via svnmerge from tilghman1-19/+42
https://origsvn.digium.com/svn/asterisk/trunk ........ r148868 | tilghman | 2008-10-14 10:15:45 -0500 (Tue, 14 Oct 2008) | 6 lines API differences in spandsp 0.0.6pre1 and higher (closes issue #13688) Reported by: irroot Patches: app_fax-span6.patch uploaded by irroot (license 52) with minor modifications by me ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.6.1@148869 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-13Add FAXMODE variable with what fax transport was used.qwell1-9/+16
(closes issue #13252) Patches: v1-13252.patch uploaded by dimas (license 88) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@137496 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-08Update app_fax for better compatibility with spandsp 0.0.5. Add a call torussell1-7/+7
t38_terminal_release, and make sure that the phase E handler gets called with proper status. (closes issue #13020) Reported by: dimas Patches: v1-appfax.patch uploaded by dimas (license 88) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@129006 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-16Resurrected app_faxseanbright1-0/+741
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122834 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-12Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. ↵jpeeler1-741/+0
Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122234 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-02Add app_fax from asterisk-addons, with some additional changes to resolve ↵russell1-0/+741
compiler warnings, as well as update to the APIs in spandsp 0.0.5. Spandsp 0.0.5 is being distributed under the LGPL, so we can move this module into the main tree. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119801 f38db490-d61c-443f-a65b-d21fe96a405b