Commit Graph

18447 Commits

Author SHA1 Message Date
Jeff Peeler b0f0110b16 Fix broken call pickup
The find_channel_by_group callback was only looking at the channel that was
attempting to make the pickup instead of the other channels in the container.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-04 15:35:49 +00:00
Kevin P. Fleming be44f938c3 Merged revisions 210237 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r210237 | kpfleming | 2009-08-04 09:51:39 -0500 (Tue, 04 Aug 2009) | 10 lines
  
  Eliminate spurious compiler warnings from system headers on *BSD platforms.
  
  Ensure that system headers located in /usr/local/include are actually treated
  as system headers by the compiler, and not as local headers which are subject
  to warnings from the -Wundef compiler option and others.
  
  (closes issue #15606)
  Reported by: mvanbaak
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-04 14:53:00 +00:00
Kevin P. Fleming e9d22f802e Rename 'canreinvite' option to 'directmedia', with backwards compatibility.
It is clear from multiple mailing list, forum, wiki and other sorts of posts
that users don't really understand the effects that the 'canreinvite' config
option actually has, and that in some cases they think that setting it to 'no'
will actually cause various other features (T.38, MOH, etc.) to not work properly,
when in fact this is not the case. This patch changes the proper name of the
option to what it should have been from the beginning ('directmedia'), but
preserves backwards compatibility for existing configurations.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-03 20:48:48 +00:00
Richard Mudgett 070de85e56 Changes from chan_dahdi that did not make it into sig_pri.
*  Moved SUPPORT_USERUSER to sig_pri.c
*  Fix PRI_DEADLOCK_AVOIDANCE parameter.
*  Whitespace changes.
*  Added missing unlock in pri_dchannel():PRI_EVENT_RING case.
*  Balanced curly braces.
*  ast_debug/ast_log changes from chan_dahdi.
*  sig_pri_indicate() should default to return -1 if the indication is not
handled.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210154 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-03 18:05:46 +00:00
Richard Mudgett 95d037edad Trim trailing whitespace.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-03 16:24:13 +00:00
Tilghman Lesher 7e7b38e65a Blocked revisions 210064-210066 via svnmerge
........
  r210064 | tilghman | 2009-08-03 10:39:41 -0500 (Mon, 03 Aug 2009) | 4 lines
  
  Apparently, some platforms don't have the index() function.
  (closes issue #15639)
   Reported by: nmav
........
  r210065 | tilghman | 2009-08-03 10:42:10 -0500 (Mon, 03 Aug 2009) | 3 lines
  
  Helps if we export the index() function.
  (Related to issue #15639)
........
  r210066 | tilghman | 2009-08-03 11:11:29 -0500 (Mon, 03 Aug 2009) | 3 lines
  
  Reverting index() fix, applying a different methodology, based upon developer discussions.
  (related to issue #15639)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-03 16:16:40 +00:00
Mark Michelson 214453904e Fix order and redundancy of channel rename manager events in ast_do_masquerade.
Patch contributed by Mark Spencer.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210027 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-03 14:29:17 +00:00
Matthew Nicholson d0664ba6af Add an 'sms' option to mobile.conf to manually enable or disable SMS support.
(closes issue #15071)
Reported by: ughnz
Patches:
      optional-sms1.diff uploaded by mnicholson (license 96)
Tested by: ughnz, mnicholson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-03 14:01:39 +00:00
Bradley Latus 9eb46f3286 Update documentation in relation to UnixODBC
(closes issue #15516)
Reported by: snuffy
Patches: 
      bug_odbc_tex_update_v2.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209959 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-01 23:33:31 +00:00
Bradley Latus 0a47411334 (closes issue #15515)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209958 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-01 23:25:16 +00:00
Russell Bryant 027d978aa8 Merged revisions 209879 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r209879 | russell | 2009-08-01 06:27:25 -0500 (Sat, 01 Aug 2009) | 5 lines
  
  Resolve a valgrind warning about a read from uninitialized memory.
  
  (issue #15396)
  Reported by: aragon
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-01 11:29:25 +00:00
Russell Bryant 104974cdb4 Merged revisions 209838 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r209838 | russell | 2009-08-01 05:59:05 -0500 (Sat, 01 Aug 2009) | 13 lines
  
  Modify how Playtones() is used in Milliwatt() to resolve gain issue.
  
  When Milliwatt() was changed internally to use Playtones() so that the proper
  tone was used, it introduced a drop in gain in the output signal.  So, use
  the playtones API directly and specify a volume argument such that the output
  matches the gain of the original Milliwatt() code.
  
  (closes issue #15386)
  Reported by: rue_mohr
  Patches:
        issue_15386.rev2.diff uploaded by russell (license 2)
  Tested by: rue_mohr
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209839 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-01 11:02:07 +00:00
Russell Bryant 1ca3ffd08c Fix ast_event_queue_and_cache() to actually do the cache() part.
(closes issue #15624)
Reported by: ffossard
Tested by: russell


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209835 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-01 10:43:40 +00:00
Kevin P. Fleming 3b1b2f793e Revert accidental Makefile change.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209761 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-01 01:04:06 +00:00
Kevin P. Fleming ed2a3cedd1 Merged revisions 209759 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r209759 | kpfleming | 2009-07-31 19:52:00 -0500 (Fri, 31 Jul 2009) | 7 lines
  
  Minor changes inspired by testing with latest GCC.
  
  The latest GCC (what will become 4.5.x) has a few new warnings, that in these
  cases found some either downright buggy code, or at least seriously poorly
  designed code that could be improved.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-01 01:03:07 +00:00
Russell Bryant 68a05b14c6 Fix some places where ast_event_type was used instead of ast_event_ie_type.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-31 21:53:31 +00:00
Mark Michelson c058252718 Add configuration sample code for previous commit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209674 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-31 17:57:00 +00:00
Mark Michelson 2df5b70b16 Improve chan_sip's ability to determine what methods should and should not be used in a dialog.
The previous effort here was to store what a peer is capable of receiving by parsing REGISTER
requests from the peer and keeping that information for as long as the registration was active.
The problem with this is that there are a great number of SIP devices which give no indication
of the methods allowed in their REGISTER requests, and it is unreasonable to try to guess what
the device may or may not support. In addition, some SIP devices have been found to claim support
for a specific method, but their handling the method is less than ideal, or they are actually
lying.

With this patch, we now determine what methods a device supports  by parsing the Allow header we
receive from them, and we do this with each new dialog. In addition, a configuration option has
been added so that an administrator can essentially blacklist certain methods from being used
with certain peers if the admin knows that support for a specific method is dodgy or nonexistent.

ABE-1822



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-31 17:55:44 +00:00
Sean Bright c3ab548cd8 Allow passing 'noisy' to configure's --enable-dev-mode argument to turn on verbose builds.
(closes issue #15607)
Reported by: mvanbaak
Patches:
      20090730_issue15607.patch uploaded by seanbright (license 71)
Tested by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-30 23:37:31 +00:00
Jeff Peeler bab2f57316 Add missing ifdef-s for service maintenance message functionality
(closes issue #15614)
Reported by: fabled


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209619 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-30 23:31:41 +00:00
David Brooks 48363c16e1 Fixes numerous spelling errors. Patch submitted by alecdavis.
(closes issue #15595)
Reported by: alecdavis



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209554 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-30 16:07:05 +00:00
Mark Michelson 192e2be596 Fix a crash that can result if text codecs are allowed but textsupport is disabled.
(closes issue #15596)
Reported by: fabled
Patches:
      sip-red.patch uploaded by fabled (license 448)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-30 14:38:21 +00:00
Matthew Nicholson 6568cd6aa8 This patch adds the ability to send a CUSD command to a bluetooth device.
(closes issue #15278)
Reported by: Artem
Patches:
      cusd5.patch uploaded by Artem (license 800)
Tested by: mnicholson, Artem

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209484 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-29 21:46:17 +00:00
Matthew Nicholson 0cff13075f Fixed a comment for hfp_parse_clip
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-29 21:13:42 +00:00
Kevin P. Fleming ba020fc390 Define side-effect-safe MIN and MAX macros and remove duplicate definitions from various files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-28 13:49:46 +00:00
Tilghman Lesher b3090ee28a Regex FTL
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-28 00:20:26 +00:00
Tilghman Lesher 6f1c0468cd Merged revisions 209315 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r209315 | tilghman | 2009-07-27 19:12:03 -0500 (Mon, 27 Jul 2009) | 2 lines
  
  Publish French extra sounds
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-28 00:14:12 +00:00
Kevin P. Fleming 7c5f20e46b 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/trunk@209279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 21:43:36 +00:00
Kevin P. Fleming b6b3fed0c7 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/trunk@209256 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 21:21:43 +00:00
Mark Michelson ed8ccbdb73 Gracefully handle malformed RTP text packets.
AST-2009-004



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 20:54:54 +00:00
Mark Michelson 33a48e257e Honor channel's music class when using realtime music on hold.
(closes issue #15051)
Reported by: alexh
Patches:
      15051.patch uploaded by mmichelson (license 60)
Tested by: alexh



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209197 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 20:11:42 +00:00
Mark Michelson ba8dcde549 Merged revisions 209131 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r209131 | mmichelson | 2009-07-27 12:44:06 -0500 (Mon, 27 Jul 2009) | 18 lines
  
  Allow for UDPTL to use only even-numbered ports if desired.
  
  There are some VoIP providers out there that will not accept SDP
  offers with odd numbered UDPTL ports. While it is my personal opinion
  that these VoIP providers are misinterpreting RFC 2327, it really is
  not a big deal to play along with their silly little games. Of course,
  since restricting UDPTL ports to only even numbers reduces the range
  of available ports by half, so the option to use only even port numbers
  is off by default. A user can enable the behavior by setting
  use_even_ports=yes in udptl.conf.
  
  (closes issue #15182)
  Reported by: CGMChris
  Patches:
        15182.patch uploaded by mmichelson (license 60)
  Tested by: CGMChris
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 17:50:04 +00:00
David Brooks d81d6d3415 Fixing typos. Replaces "recieved" with "received" and "initilize" with "initialize"
(closes issue #15571)
Reported by: alecdavis



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 16:33:50 +00:00
Kevin P. Fleming f57f420102 Restore explicit export of ASTCFLAGS/ASTLDFLAGS and underscore-variants to sub-makes.
During the recent Makefile improvements I made, it seemed the 'make' was
automatically carrying down the ASTCFLAGS/ASTLDFLAGS settings to sub-makes,
so I removed the explict export of them. However, there are some circumstances
where make does this, and some where it does not, so I've brought them back
to ensure they are always exported. I also removed an extraneous double setting
of _ASTLDFLAGS on *BSD platforms.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@209056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 15:38:59 +00:00
Michiel van Baak b3576f261a Blocked revisions 208990 via svnmerge
........
  r208990 | mvanbaak | 2009-07-27 11:56:13 +0200 (Mon, 27 Jul 2009) | 5 lines
  
  backport rev 205532 from trunk:
  
  pthread_self returns a pthread_t which is not an unsigned int on all
  pthread implementations. Casting it to an unsigned int fixes compiler warnings.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 09:56:49 +00:00
Jeff Peeler 0f31e6c26c Merged revisions 208923 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r208923 | jpeeler | 2009-07-26 20:18:31 -0500 (Sun, 26 Jul 2009) | 2 lines
  
  Fix logic errors from 208746
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-27 01:20:37 +00:00
Michiel van Baak 85c3b3e3b5 add OpenBSD to the install_prereq script
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-26 14:00:52 +00:00
Michiel van Baak 7244366e7a libxml2-dev is needed as well by default.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-25 12:28:38 +00:00
Michiel van Baak 126bf8eeb5 add default alias reload to run module reload.
Requiring 'module reload' to reload everything, including
core etc makes russell very unhappy.

The default configuration already loads the 'friendly' aliases template.
Added 'reload=module reload' to that template.

Also removed the comment in main/cli.c that reload should come back.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208813 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-25 12:03:25 +00:00
Jeff Peeler b7cfe90404 Merged revisions 208746 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r208746 | jpeeler | 2009-07-25 01:19:50 -0500 (Sat, 25 Jul 2009) | 7 lines
  
  Fix compiling under dev-mode with gcc 4.4.0.
  
  Mostly trivial changes, but I did not know of any other way to fix the
  "dereferencing type-punned pointer will break strict-aliasing rules" error
  without creating a tmp variable in chan_skinny.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-25 06:23:18 +00:00
Russell Bryant 742f0b90dd Remove trailing whitespace.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 21:12:43 +00:00
Russell Bryant d79f6e17fa Note that "reload" needs to be added back.
I keep getting annoyed at having to type "module reload" to reload everything,
so I'm adding a note that we need to add "reload" back.  "module reload" doesn't
really make sense as the command to reload everything, including the core.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 20:54:37 +00:00
Russell Bryant 5d28d72d37 Don't log a warning for something that does not affect operation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 20:25:23 +00:00
Mark Michelson 99025f09d7 Blocked revisions 208622 via svnmerge
........
  r208622 | mmichelson | 2009-07-24 14:24:28 -0500 (Fri, 24 Jul 2009) | 16 lines
  
  Don't impose an arbitrary limit on member lines in queues.conf
  
  I know what some of you are thinking: "UGH! Mark, why are you using
  ast_strdup and ast_free for the string when you can just use ast_strdupa
  and let the memory free itself?! Have the bats been chewing on your brain
  again?"
  
  Based on past experiences, I don't like using ast_strdupa inside a loop.
  It's a good way to potentially exhaust stack space. Also, since this only
  happens when reloading queues, I don't think that heap allocations and
  frees are going to be a huge problem.
  
  (closes issue #15559)
  Reported by: amorsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 19:26:26 +00:00
Russell Bryant 0b2b01a1fa Merged revisions 208592 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r208592 | russell | 2009-07-24 13:38:24 -0500 (Fri, 24 Jul 2009) | 7 lines
  
  Do not log an ERROR if autoservice_stop() returns -1.
  
  This does not indicate an error.  A return of -1 just means that the channel
  has been hung up.
  
  (reported in #asterisk-dev)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 18:42:32 +00:00
Mark Michelson 554c5e62d0 Merged revisions 208587 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r208587 | mmichelson | 2009-07-24 13:26:50 -0500 (Fri, 24 Jul 2009) | 10 lines
  
  Only send a BYE when hanging up a channel that is up.
  
  For cases where Asterisk sends an INVITE and receives a non 2XX final
  response, Asterisk would follow the INVITE transaction by immediately
  sending a BYE, which was unnecessary.
  
  (closes issue #14575)
  Reported by: chris-mac
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 18:31:04 +00:00
Kevin P. Fleming 17e2d9fdbc Resolve a T.38 negotiation issue left over from the udptl-updates merge.
The udptl-updates branch that was merged yesterday failed to properly send back
T.38 SDP responses with the correct error correction mode, if the incoming SDP
from the other end caused us to change error correction modes. This patch
corrects that situation.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208548 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 15:02:53 +00:00
Michiel van Baak 3ee2e7566f use aptitude for debian based systems
The function to check wether we need to install packages was using
dpkg-query which was gives wrong output on Debian 5

Also, the apt-get has been replaced with aptitude because aptitude
is now the preferred way to handle packages on Debian

(closes issue #15570)
Reported by: mvanbaak
Patches:
      2009072400_installprereq-aptitude.diff uploaded by mvanbaak (license 7)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-24 14:35:49 +00:00
Kevin P. Fleming 347665503e T.38 change note is not necessary in this branch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208504 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 22:32:52 +00:00
Kevin P. Fleming 0a6e06c7ff 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/trunk@208464 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-23 21:57:24 +00:00