Commit Graph

23 Commits

Author SHA1 Message Date
Tilghman Lesher
072c9320a4 Merged revisions 245729 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r245729 | tilghman | 2010-02-09 12:06:30 -0600 (Tue, 09 Feb 2010) | 8 lines
  
  Ensure frames are only freed once.
  
  (closes issue #16361)
   Reported by: vlad
   Patches: 
         20100208__issue16361.diff.txt uploaded by tilghman (license 14)
   Tested by: kenny, bloodoff, misaksen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@245731 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-09 18:09:25 +00:00
Kevin P. Fleming
b2f9762fbe Merged revisions 245680 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r245680 | kpfleming | 2010-02-09 10:24:52 -0600 (Tue, 09 Feb 2010) | 8 lines
  
  Don't offer MMR or JBIG transcoding during T.38 negotiation.
  
  After further discussion with Steve Underwood, we should not (yet) be offering
  to receive MMR or JBIG transcoded streams from T.38 endpoints. A future spandsp
  release will support those features, and then they can be enabled during
  negotiation
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@245682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-09 16:26:15 +00:00
Kevin P. Fleming
74437adc73 Merged revisions 235010 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@235012 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-15 14:36:45 +00:00
Kevin P. Fleming
6eb7108d12 Merged revisions 230381 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@230383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-16 16:41:27 +00:00
Kevin P. Fleming
838832ee6f Merged revisions 230343 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@230345 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-16 12:53:16 +00:00
Kevin P. Fleming
e236b8ad49 Backport audio handling loop fixes from trunk version of app_fax.
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@225870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 15:51:10 +00:00
Kevin P. Fleming
1b54dbccc7 Merged revisions 223652 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@223654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-12 14:32:22 +00:00
Kevin P. Fleming
435f1593ae Merged revisions 223330 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@223332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-09 21:00:09 +00:00
Kevin P. Fleming
6c92eb90d0 Merged revisions 209279 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@209281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 21:44:26 +00:00
Kevin P. Fleming
54ca9d4879 Merged revisions 209256 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@209262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 21:22:54 +00:00
Kevin P. Fleming
f4d55039dc Merged revisions 208464 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@208484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 22:21:57 +00:00
Kevin P. Fleming
7c52bf3dd8 Merged revisions 205770 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@205772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-10 15:36:20 +00:00
Kevin P. Fleming
746eb38a12 Merged revisions 205696 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@205698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-09 21:27:18 +00:00
Joshua Colp
642b571683 Merged revisions 203699 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@203703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 19:31:36 +00:00
Sean Bright
a0e8f439bf Merged revisions 202183 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@202185 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-20 19:14:22 +00:00
Dwayne M. Hubbard
c65127f5bd Merged revisions 177699 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@177785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-20 22:27:17 +00:00
Joshua Colp
054e20548b Merged revisions 164257 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@164266 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-15 15:50:12 +00:00
Tilghman Lesher
40b39ff8aa Merged revisions 148868 via svnmerge from
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: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@148869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-14 15:18:10 +00:00
Jason Parker
ccfbd9ab15 Add FAXMODE variable with what fax transport was used.
(closes issue #13252)
Patches:
      v1-13252.patch uploaded by dimas (license 88)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@137496 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-13 20:05:50 +00:00
Russell Bryant
2ed6cea551 Update app_fax for better compatibility with spandsp 0.0.5. Add a call to
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: https://origsvn.digium.com/svn/asterisk/trunk@129006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-08 14:17:37 +00:00
Sean Bright
6c49489b00 Resurrected app_fax
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 03:33:03 +00:00
Jeff Peeler
ef3b214728 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.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122234 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 17:27:55 +00:00
Russell Bryant
5b7344ab66 Add app_fax from asterisk-addons, with some additional changes to resolve 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: https://origsvn.digium.com/svn/asterisk/trunk@119801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 16:14:15 +00:00