asterisk/asterisk.git
14 years agoAllow semicolons to be escaped, when passing arguments to the System command.
Tilghman Lesher [Fri, 20 Feb 2009 17:29:51 +0000 (17:29 +0000)]
Allow semicolons to be escaped, when passing arguments to the System command.
(closes issue #14231)
 Reported by: jcovert
 Patches:
       20090113__bug14231__2.diff.txt uploaded by Corydon76 (license 14)
       corrected_20090113__bug14231__2.diff.txt uploaded by jcovert (license 551)
 Tested by: jcovert

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177664 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoOops, merge broke trunk
Tilghman Lesher [Fri, 20 Feb 2009 17:22:19 +0000 (17:22 +0000)]
Oops, merge broke trunk

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177661 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoSet sip_request ast_str data to NULL so ast_str_copy allocates space properly
Jeff Peeler [Fri, 20 Feb 2009 00:35:53 +0000 (00:35 +0000)]
Set sip_request ast_str data to NULL so ast_str_copy allocates space properly
in copy_request

(issue #14478)
Reported by: erik_dedecker

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177624 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 177540 via svnmerge from
Steve Murphy [Thu, 19 Feb 2009 23:56:50 +0000 (23:56 +0000)]
Merged revisions 177540 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

Trunk was already pretty 8-bit clean; but I'm still
removing the --full from the flex command so everything
is uniform.

........
  r177540 | murf | 2009-02-19 15:51:37 -0700 (Thu, 19 Feb 2009) | 21 lines

  This patch fixes a problem with 8-bit input to the ast_expr2 scanner.

  The real culprit was the --full argument to flex
  in the Makefile! This causes a 7-bit scanner to be
  generated.

  I reviewed the rules and found one rule where I needed
  to specifically include 8-bit chars for a token.

  I tested against the text supplied by ibercom, and
  all looks very well.

  This has been there a surprisingly long time!

  (closes issue #14498)
  Reported by: ibercom
  Patches:
        14498.patch uploaded by murf (license 17)
  Tested by: murf
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177595 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 177536 via svnmerge from
Tilghman Lesher [Thu, 19 Feb 2009 22:33:00 +0000 (22:33 +0000)]
Merged revisions 177536 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r177536 | tilghman | 2009-02-19 16:26:01 -0600 (Thu, 19 Feb 2009) | 7 lines

  Fix up potential crashes, by reducing the sharing between interactive and non-interactive threads.
  (closes issue #14253)
   Reported by: Skavin
   Patches:
         20090219__bug14253.diff.txt uploaded by Corydon76 (license 14)
   Tested by: Skavin
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177537 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDocument how to use database transactions
Tilghman Lesher [Thu, 19 Feb 2009 19:46:13 +0000 (19:46 +0000)]
Document how to use database transactions

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177506 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoBlocking MWI change to 1.4 since the mwi system is different in 1.6.x and trunk....
Olle Johansson [Thu, 19 Feb 2009 19:14:05 +0000 (19:14 +0000)]
Blocking MWI change to 1.4 since the mwi system is different in 1.6.x and trunk. Will do some
testing to make sure this works properly, but from reading the code, it does seem to work
as it should.

Blocked revisions 177450 via svnmerge

........
r177450 | oej | 2009-02-19 19:58:57 +0100 (Tor, 19 Feb 2009) | 2 lines

Force a MWI notification after subscribe request. Reported by the Resiprocate dev team. Thanks!

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177451 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix another merge error from 176708
Jeff Peeler [Thu, 19 Feb 2009 16:45:02 +0000 (16:45 +0000)]
Fix another merge error from 176708

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177387 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 177383 via svnmerge from
Joshua Colp [Thu, 19 Feb 2009 16:38:41 +0000 (16:38 +0000)]
Merged revisions 177383 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r177383 | file | 2009-02-19 12:37:25 -0400 (Thu, 19 Feb 2009) | 3 lines

  If we are able to create a speech structure unset the ERROR variable in case it was previously set.
  (issue #LUMENVOX-13)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177384 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix mismerge from revision 176708 pointed out by Kaloyan Kovachev on the
Jeff Peeler [Thu, 19 Feb 2009 15:56:31 +0000 (15:56 +0000)]
Fix mismerge from revision 176708 pointed out by Kaloyan Kovachev on the
asterisk-dev mailing list. Thanks!

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177356 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoODBC transaction support
Tilghman Lesher [Thu, 19 Feb 2009 00:26:01 +0000 (00:26 +0000)]
ODBC transaction support

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177320 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUpdate CHANGES file to include MWI subscription support that was added some time...
Joshua Colp [Thu, 19 Feb 2009 00:08:41 +0000 (00:08 +0000)]
Update CHANGES file to include MWI subscription support that was added some time ago.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177291 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoHandle negative length and eliminate a condition that is always true.
Tilghman Lesher [Wed, 18 Feb 2009 23:51:35 +0000 (23:51 +0000)]
Handle negative length and eliminate a condition that is always true.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177287 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 177225 via svnmerge from
Steve Murphy [Wed, 18 Feb 2009 23:50:57 +0000 (23:50 +0000)]
Merged revisions 177225 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r177225 | murf | 2009-02-18 15:43:14 -0700 (Wed, 18 Feb 2009) | 34 lines

  This patch fixes a regression of sorts that was introduced in
  rev 24425.

  It basically fixes AST-190/ABE-1782.

  What was wrong: the user has 6000 extensions in one context; and
  then 6000 contexts, one per extension. The parser could only handle
  about 4893 of the 6000 extens in the single context.

  This was due to the regression I mentioned. To get rid of
  shift/reduce conflicts, Luigi set up right-recursive lists
  for globals, context elements, switch lists, and statements.
  Right recursive lists got rid of the warnings, but instead, they
  use up a tremendous amount of stack space when the lists are long.

  I saw this a few years back, and resolved not to fix it until
  someone complained. That day has arrived!

  After the changes were made, I ran the regression test suite,
  and there were no problems.

  I took the test case the user provided, and added 100,000
  extensions to the single context, that already had 6,000 extens
  in it. (I'll see your 6, and raise you 100!) It takes a few minutes
  to read it all in, check it and generate code for it, but no
  problems.

  So, I think I can say that fundamentally, there are no longer
  any limits on the number of items you can place in contexts,
  statement blocks, switches, or globals, beyond your virt mem
  constraints.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177286 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agofix two very minor bugs: if anyone ever uses SLINEAR16 as a format in RTP, ensure...
Kevin P. Fleming [Wed, 18 Feb 2009 23:09:58 +0000 (23:09 +0000)]
fix two very minor bugs: if anyone ever uses SLINEAR16 as a format in RTP, ensure that the samples are byte-swapped to network order if needed. also, when a smoother is operating on a format that has a sample rate other than 8000 samples per second, use the proper sample rate for computing delivery timestamps.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177229 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoLocking issue in action_bridge and bridge_exec
David Vossel [Wed, 18 Feb 2009 22:51:38 +0000 (22:51 +0000)]
Locking issue in action_bridge and bridge_exec

action_bridge() and bridge_exec() both search for the channels to bridge to, and then immediately drop the lock.  Instead, they should hold the lock until the masquerade is complete.  This will guarantee the channel remains and prevent any other weirdness from occurring.  In action_bridge() some more weirdness comes into play.  Both channels are needlessly locked at the same time and perform the exact same logic.  It makes sense from a coding organizational standpoint, but could cause a theoretical deadlock so I split the code up.  There is an issue associated with this, but since its a rather complicated thing to reproduce I'm not certain this alone will close it.

issue# 14296
Review: http://reviewboard.digium.com/r/167/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177226 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoModify h323 to build against PTLib as well as the older PWLib
Jeff Peeler [Wed, 18 Feb 2009 20:11:57 +0000 (20:11 +0000)]
Modify h323 to build against PTLib as well as the older PWLib

Several changes in PTLib have occurred requiring build time detection. Changes
accounted for include the library name change, config option change, install
location change, and a boolean type change which is handled by ast_ptlib.h.
Also, the sed check has been modified to properly work with autoconf >= 2.62.

(closes issue #14224)
Reported by: bergolth
Patches:
      asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
      asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
Tested by: jpeeler

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177162 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoBlocked revisions 177160 via svnmerge
Jeff Peeler [Wed, 18 Feb 2009 20:08:42 +0000 (20:08 +0000)]
Blocked revisions 177160 via svnmerge

........
  r177160 | jpeeler | 2009-02-18 14:06:45 -0600 (Wed, 18 Feb 2009) | 15 lines

  Modify h323 to build against PTLib as well as the older PWLib

  Several changes in PTLib have occurred requiring build time detection. Changes
  accounted for include the library name change, config option change, install
  location change, and a boolean type change which is handled by ast_ptlib.h.
  Also, the sed check has been modified to properly work with autoconf >= 2.62.

  (closes issue #14224)
  Reported by: bergolth
  Patches:
        asterisk-autoconf-sed.patch uploaded by bergolth (license 661)
        asterisk-pwlib-v3.patch uploaded by bergolth (license 661)
  Tested by: jpeeler
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177161 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRe-add 'o' option to MeetMe, reverting rev 62297.
Russell Bryant [Wed, 18 Feb 2009 19:12:49 +0000 (19:12 +0000)]
Re-add 'o' option to MeetMe, reverting rev 62297.

Enabling this option by default proved to be a bad idea, as the talker detection
is not very reliable.  So, make it optional again, and off by default.

(issue #13801)
Reported by: justdave

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177101 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 177096 via svnmerge from
Tilghman Lesher [Wed, 18 Feb 2009 19:05:15 +0000 (19:05 +0000)]
Merged revisions 177096 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r177096 | tilghman | 2009-02-18 12:30:38 -0600 (Wed, 18 Feb 2009) | 2 lines

  Document the return value of the update method (as requested on -dev list)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177098 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixed error where a check for an zero length, terminated string was needed.
Doug Bailey [Wed, 18 Feb 2009 17:24:07 +0000 (17:24 +0000)]
Fixed error where a check for an zero length, terminated string was needed.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177035 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix ordering of output for a ChannelUpdate manager event.
Joshua Colp [Wed, 18 Feb 2009 17:11:52 +0000 (17:11 +0000)]
Fix ordering of output for a ChannelUpdate manager event.
(closes issue #14497)
Reported by: vinsik
Patches:
      chan_update_fix-chan_sip.c.diff uploaded by vinsik (license 623)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177005 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoNeed to take into account the \0 terminator of the old string to determine the amount...
Doug Bailey [Wed, 18 Feb 2009 16:09:12 +0000 (16:09 +0000)]
Need to take into account the \0 terminator of the old string to determine the amount available.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176948 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoThis patch fixes merge_contexts_and_delete so it does not deadlock when hints are...
Steve Murphy [Wed, 18 Feb 2009 15:35:26 +0000 (15:35 +0000)]
This patch fixes merge_contexts_and_delete so it does not deadlock when hints are present.

Reason: when I re-engineered the merge_and_delete func to
reduce its lock time, I failed to notice that the
functions it calls still also do locking as before.
This leads to deadlocks on dialplan reloads, when
there are actually living, subscribed hints registered
in the system.

While the reporter come across this problem while using
AEL, I might note that these deadlocks should also happen
if extensions.conf were used.

Here I added these routines to pbx.c:

ast_add_extension_nolock
add_pri_lockopt
ast_add_extension2_lockopt
find_context
add_hint_nolock

All of the above routines are static and restricted
to be used only within pbx.c, and more specifically
within the merge_contexts_and_delete routine.

They are pretty much the same as their counterparts
except they don't lock contexts or hints.

Most of them now do the real work of their
name-alike, with optional locking via extra arguments,
and are called by their name-alike. The goal was to
have the original functions so they would behave
exactly as before.

Both PJ and I tested these fixes, and the deadlocking
problem is no longer encountered.

(closes issue #14357)
Reported by: pj
Patches:
      14357.diff uploaded by murf (license 17)
Tested by: pj, murf

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176943 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd example code for a heap traversal.
Russell Bryant [Wed, 18 Feb 2009 06:14:47 +0000 (06:14 +0000)]
Add example code for a heap traversal.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176904 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a number of incorrect uses of strncpy().
Russell Bryant [Wed, 18 Feb 2009 06:00:40 +0000 (06:00 +0000)]
Fix a number of incorrect uses of strncpy().

The big problem here is that the 3rd argument provided in these uses of strncpy()
did not reserve a byte for the null terminator, leaving the potential for writing
one byte past the end of the buffer.

Aside from this, there were coding guidelines violations with regards to spacing,
as well as hard coded lengths being used instead of sizeof().

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176901 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoT38 faxdetect should jump to the 'fax' extension for incoming calls only
Dwayne M. Hubbard [Wed, 18 Feb 2009 02:55:12 +0000 (02:55 +0000)]
T38 faxdetect should jump to the 'fax' extension for incoming calls only

The previous implementation of T38 faxdetect resulted in both sides of the
call jumping to a fax extension when both sides had 't38pt_udptl=yes' and
'faxdetect=yes' in sip.conf and a 'fax' extension in the current context.
This revision will jump to a 'fax' extension on incoming calls only.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176869 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agosuppress smoothers for Siren codecs as well as Speex and G.723.1
Kevin P. Fleming [Wed, 18 Feb 2009 02:02:54 +0000 (02:02 +0000)]
suppress smoothers for Siren codecs as well as Speex and G.723.1

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176841 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRemove a dependency that no longer exists.
Russell Bryant [Tue, 17 Feb 2009 22:52:43 +0000 (22:52 +0000)]
Remove a dependency that no longer exists.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176771 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoSeveral changes to codec_dahdi to play nice with G723.
Shaun Ruffell [Tue, 17 Feb 2009 22:28:41 +0000 (22:28 +0000)]
Several changes to codec_dahdi to play nice with G723.

This commit brings in the changes that were living out on the
svn/asterisk/team/sruffell/asterisk-trunk-transcoder branch.  codec_dahdi.c now
always uses signed linear as the simple codec so that a soft g729 codec will
not end up being preferred to the hardware codec.  There are also changes to
allow codec_dahdi.c to feed packets to the hardware in the native sample size of
the codec.  This solves problems with choppy audio when using G723.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176760 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 176701 via svnmerge from
Jeff Peeler [Tue, 17 Feb 2009 22:08:00 +0000 (22:08 +0000)]
Merged revisions 176701 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r176701 | jpeeler | 2009-02-17 15:54:34 -0600 (Tue, 17 Feb 2009) | 17 lines

  Modify bridging to properly evaluate DTMF after first warning is played

  The main problem is currently if the Dial flag L is used with a warning sound,
  DTMF is not evaluated after the first warning sound. To fix this, a flag has
  been added in ast_generic_bridge for playing the warning which ensures that if
  a scheduled warning is missed, multiple warrnings are not played back (due to a
  feature evaluation or waiting for digits). ast_channel_bridge was modified to
  store the nexteventts in the ast_bridge_config structure as that information
  was lost every time ast_channel_bridge was reentered, causing a hangup due to
  incorrect time calculations.

  (closes issue #14315)
  Reported by: tim_ringenbach

  Reviewed on reviewboard:
  http://reviewboard.digium.com/r/163/
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176708 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUse constants from inttypes.h to clear up 32-bit compilation errors
Mark Michelson [Tue, 17 Feb 2009 22:02:42 +0000 (22:02 +0000)]
Use constants from inttypes.h to clear up 32-bit compilation errors

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176706 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agocreate a UDPTL structure in create_addr_from_peer() if it does not already exist...
Dwayne M. Hubbard [Tue, 17 Feb 2009 21:59:38 +0000 (21:59 +0000)]
create a UDPTL structure in create_addr_from_peer() if it does not already exist for T38

This is required to create a UDPTL structure in create_addr_from_peer() to handle the
scenario where 't38pt_udptl=yes' is not defined in the [general] section of sip.conf but
is defined the peer's context.  I tested this patch by enabling t38pt_udptl in the
[general] section on one system and only enabling t38pt_udptl in a peer's context on
the system sending a fax.  Without the patch, the sending system will fail to initiate
T38 negotiation with the warning message, "No way to add SDP without an UDPTL structure".
When this patch is applied the sending side will successfully initiate T38 negotiation.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176705 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoClear up documentation of AST_FRIENDLY_OFFSET in frame.h
Mark Michelson [Tue, 17 Feb 2009 21:40:09 +0000 (21:40 +0000)]
Clear up documentation of AST_FRIENDLY_OFFSET in frame.h

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176697 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRecorded merge of revisions 176661 via svnmerge from
Tilghman Lesher [Tue, 17 Feb 2009 21:23:10 +0000 (21:23 +0000)]
Recorded merge of revisions 176661 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r176661 | tilghman | 2009-02-17 15:21:41 -0600 (Tue, 17 Feb 2009) | 9 lines

  Backport change to 1.4:
    Prior to masquerade, move the group definitions to the channel performing the
    masq, so that the group count lingers past the bridge.
    (closes issue #14275)
     Reported by: kowalma
     Patches:
           20090216__bug14275.diff.txt uploaded by Corydon76 (license 14)
     Tested by: kowalma
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176669 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUpdate the timing API to have better support for multiple timing interfaces.
Russell Bryant [Tue, 17 Feb 2009 21:22:40 +0000 (21:22 +0000)]
Update the timing API to have better support for multiple timing interfaces.

1) Add module use count handling so that timing modules can be unloaded.

2) Implement unload_module() functions for the timing interface modules.

3) Allow multiple timing modules to be loaded, and use the one with the
   highest priority value.

4) Report which timing module is being use in the "timing test" CLI command.

(closes issue #14489)
Reported by: russell

Review: http://reviewboard.digium.com/r/162/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176666 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoPrior to masquerade, move the group definitions to the channel performing the
Tilghman Lesher [Tue, 17 Feb 2009 21:14:18 +0000 (21:14 +0000)]
Prior to masquerade, move the group definitions to the channel performing the
masq, so that the group count lingers past the bridge.
(closes issue #14275)
 Reported by: kowalma
 Patches:
       20090216__bug14275.diff.txt uploaded by Corydon76 (license 14)
 Tested by: kowalma

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176642 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoSignificantly improve scheduler performance under high load.
Russell Bryant [Tue, 17 Feb 2009 21:04:08 +0000 (21:04 +0000)]
Significantly improve scheduler performance under high load.

This patch changes the scheduler to use a max-heap to store pending scheduler
entries instead of a fully sorted doubly linked list.  When the number of
entries in the scheduler gets large, this will perform much better.  For much
more detailed information on this change, see the review request.

Review: http://reviewboard.digium.com/r/160/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176639 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd a test module for the heap implementation.
Russell Bryant [Tue, 17 Feb 2009 20:56:26 +0000 (20:56 +0000)]
Add a test module for the heap implementation.

Review: http://reviewboard.digium.com/r/160/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176635 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd an implementation of the heap data structure.
Russell Bryant [Tue, 17 Feb 2009 20:51:10 +0000 (20:51 +0000)]
Add an implementation of the heap data structure.

A heap is a convenient data structure for implementing a priority queue.

Code from svn/asterisk/team/russell/heap/.

Review: http://reviewboard.digium.com/r/160/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176632 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoTypo
Olle Johansson [Tue, 17 Feb 2009 20:50:03 +0000 (20:50 +0000)]
Typo

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176631 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerge a large set of updates to the Asterisk indications API.
Russell Bryant [Tue, 17 Feb 2009 20:41:24 +0000 (20:41 +0000)]
Merge a large set of updates to the Asterisk indications API.

This patch includes a number of changes to the indications API.  The primary
motivation for this work was to improve stability.  The object management
in this API was significantly flawed, and a number of trivial situations could
cause crashes.

The changes included are:

1) Remove the module res_indications.  This included the critical functionality
   that actually loaded the indications configuration.  I have seen many people
   have Asterisk problems because they accidentally did not have an
   indications.conf present and loaded.  Now, this code is in the core,
   and Asterisk will fail to start without indications configuration.

   There was one part of res_indications, the dialplan applications, which did
   belong in a module, and have been moved to a new module, app_playtones.

2) Object management has been significantly changed.  Tone zones are now
   managed using astobj2, and it is no longer possible to crash Asterisk by
   issuing a reload that destroys tone zones while they are in use.

3) The API documentation has been filled out.

4) The API has been updated to follow our naming conventions.

5) Various bits of code throughout the tree have been updated to account
   for the API update.

6) Configuration parsing has been mostly re-written.

7) "Code cleanup"

The code is from svn/asterisk/team/russell/indications/.

Review: http://reviewboard.digium.com/r/149/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176627 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd assertions in the quest to track down a refcount leak.
Tilghman Lesher [Tue, 17 Feb 2009 18:49:20 +0000 (18:49 +0000)]
Add assertions in the quest to track down a refcount leak.
(closes issue #14485)
 Reported by: davevg

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176592 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a race condition that caused device states to become incorrect for hints.
Russell Bryant [Tue, 17 Feb 2009 17:33:38 +0000 (17:33 +0000)]
Fix a race condition that caused device states to become incorrect for hints.

The problem here is that the hint processing code was subscribed to the wrong
event type.  So, it started processing state for a hint too soon, before the
device state cache had been updated.

Also, fix a similar bug in app_queue, as it was also subscribed to the wrong
event type.

(closes issue #14461)
Reported by: alecdavis

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176557 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoTypo
Olle Johansson [Tue, 17 Feb 2009 17:28:21 +0000 (17:28 +0000)]
Typo

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176556 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoIf there are no realtime engines, there's no reason to check for realtime families
Olle Johansson [Tue, 17 Feb 2009 15:18:55 +0000 (15:18 +0000)]
If there are no realtime engines, there's no reason to check for realtime families

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176513 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoIn this version, we can combine the queries, because we support dropping
Tilghman Lesher [Tue, 17 Feb 2009 14:39:36 +0000 (14:39 +0000)]
In this version, we can combine the queries, because we support dropping
nonexistent columns.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176501 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 176426 via svnmerge from
Tilghman Lesher [Tue, 17 Feb 2009 01:58:39 +0000 (01:58 +0000)]
Merged revisions 176426 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r176426 | tilghman | 2009-02-16 18:49:22 -0600 (Mon, 16 Feb 2009) | 10 lines

  After a 'sip reload', qualifies for realtime peers weren't immediately
  restarted, instead waiting until the next registration.  We're now
  caching the qualify across a reload/restart and starting the qualify
  immediately upon loading the peer.
  (closes issue #14196)
   Reported by: pdf
   Patches:
         20090120__bug14196_1.4.diff.txt uploaded by pdf (license 663)
   Tested by: pdf
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176459 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMight want to update the buffer pointer after a realloc (or we crash)
Tilghman Lesher [Mon, 16 Feb 2009 23:48:54 +0000 (23:48 +0000)]
Might want to update the buffer pointer after a realloc (or we crash)
(closes issue #14485)
 Reported by: davevg

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176360 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoadd support for Siren7 and Siren14 flavors of prompts and music on hold
Kevin P. Fleming [Mon, 16 Feb 2009 23:37:37 +0000 (23:37 +0000)]
add support for Siren7 and Siren14 flavors of prompts and music on hold

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176356 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 176354 via svnmerge from
David Vossel [Mon, 16 Feb 2009 23:33:55 +0000 (23:33 +0000)]
Merged revisions 176354 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r176354 | dvossel | 2009-02-16 17:30:52 -0600 (Mon, 16 Feb 2009) | 8 lines

  Fixes issue with AST_CONTROL_SRCUPDATE not being relayed correctly during bridging

  This should have been committed with rev176247, but I missed it.  srcupdate frames no longer break out of the native bridge, but are not being sent to the other call leg either.  This fixs that.

  issue #13749
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176355 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoUse the correct list macros for deleting an item from the middle of a list.
Tilghman Lesher [Mon, 16 Feb 2009 23:14:08 +0000 (23:14 +0000)]
Use the correct list macros for deleting an item from the middle of a list.
(issue #13777)
 Reported by: pj
 Patches:
       20090203__bug13777.diff.txt uploaded by Corydon76 (license 14)
 Tested by: pj

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176320 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 176216 via svnmerge from
Kevin P. Fleming [Mon, 16 Feb 2009 21:45:54 +0000 (21:45 +0000)]
Merged revisions 176216 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r176216 | kpfleming | 2009-02-16 15:10:38 -0600 (Mon, 16 Feb 2009) | 3 lines

  fix a flaw in the ast_string_field_build() family of API calls; these functions made no attempt to reuse the space already allocated to a field, so every time the field was written it would allocate new space, leading to what appeared to be a memory leak.
........
  r176254 | kpfleming | 2009-02-16 15:41:46 -0600 (Mon, 16 Feb 2009) | 3 lines

  correct a logic error in the last stringfields commit... don't mark additional space as allocated if the string was built using already-allocated space
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176255 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 176249,176252 via svnmerge from
Mark Michelson [Mon, 16 Feb 2009 21:40:40 +0000 (21:40 +0000)]
Merged revisions 176249,176252 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r176249 | mmichelson | 2009-02-16 15:34:27 -0600 (Mon, 16 Feb 2009) | 14 lines

  Open the DAHDI pseudo device and set it to be nonblocking atomically

  Apparently on FreeBSD, attempting to set the O_NONBLOCKING flag separately
  from opening the file was causing an "inappropriate ioctl for device" error.
  While I cannot fathom why this would be happening, I certainly am not opposed
  to making the code a bit more compact/efficient if it also fixes a bug.

  (closes issue #14482)
  Reported by: ys
  Patches:
        meetme.patch uploaded by ys (license 281)
  Tested by: ys
........
  r176252 | mmichelson | 2009-02-16 15:39:21 -0600 (Mon, 16 Feb 2009) | 3 lines

  Remove unused variable and make dev-mode compilation happy
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176253 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175597 via svnmerge from
David Vossel [Mon, 16 Feb 2009 21:30:17 +0000 (21:30 +0000)]
Merged revisions 175597 via svnmerge from
https://origsvn.digium.com/svn/asterisk/trunk

........
  r175597 | dvossel | 2009-02-13 14:11:55 -0600 (Fri, 13 Feb 2009) | 4 lines

  Fixed iax2 key rotation backwards compatibility

  Turns key rotation back on by default.  Added bit into encryption IE to indicate whether or not key rotation is supported or not. If it is not supported then it is not enabled, which insures backwards compatibility.  This eliminates the need for the keyrotate option in iax.conf, so it has been removed.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176248 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAssist proper thread synchronization when stopping the logger thread.
Mark Michelson [Mon, 16 Feb 2009 18:25:57 +0000 (18:25 +0000)]
Assist proper thread synchronization when stopping the logger thread.

I was finding that on my dev box, occasionally attempting to "stop now" in
trunk would cause Asterisk to hang. I traced this to the fact that the logger
thread was waiting on a condition which had already been signalled. The logger
thread also need to be sure to check the value of the close_logger_thread variable.

The close_logger_thread variable is only checked when the list of logmessages is empty.
This allows for the logger thread to print and free any pending messages before exiting.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176174 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoCan't set debug level 2 (intense debugging) unless the syntax matches
Tilghman Lesher [Mon, 16 Feb 2009 17:44:51 +0000 (17:44 +0000)]
Can't set debug level 2 (intense debugging) unless the syntax matches

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176138 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRemove chan_features.
Russell Bryant [Mon, 16 Feb 2009 17:09:24 +0000 (17:09 +0000)]
Remove chan_features.

Review: http://reviewboard.digium.com/r/161/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176100 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 176029 via svnmerge from
Joshua Colp [Mon, 16 Feb 2009 15:36:19 +0000 (15:36 +0000)]
Merged revisions 176029 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r176029 | file | 2009-02-16 11:33:53 -0400 (Mon, 16 Feb 2009) | 9 lines

  Don't have the Via header stored as a stringfield as it can change often during the lifetime of a dialog.

  This issue crept up with subscriptions on the AA50. When an outgoing NOTIFY is sent a new branch value
  is created and the Via header is changed to reflect it. Since this was a stringfield a new spot in the
  pool was used for the value while the old was left untouched/unused. If the current pool was full a new
  pool was created. This would cause memory usage to increase steadily.

  (issue #AA50-2332)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176030 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMake the causes array static, and remove the type name as it is not needed.
Russell Bryant [Mon, 16 Feb 2009 02:54:42 +0000 (02:54 +0000)]
Make the causes array static, and remove the type name as it is not needed.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175983 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175921 via svnmerge from
Michiel van Baak [Mon, 16 Feb 2009 00:26:59 +0000 (00:26 +0000)]
Merged revisions 175921 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r175921 | mvanbaak | 2009-02-16 00:37:03 +0100 (Mon, 16 Feb 2009) | 3 lines

  fix mis-spelling of the word registered.
  Reported by De_Mon on #asterisk-dev.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175952 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMake ast_sched_report() and ast_sched_dump() thread safe.
Russell Bryant [Sun, 15 Feb 2009 21:27:33 +0000 (21:27 +0000)]
Make ast_sched_report() and ast_sched_dump() thread safe.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175882 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a number of problems with ast_sched_report().
Russell Bryant [Sun, 15 Feb 2009 20:56:27 +0000 (20:56 +0000)]
Fix a number of problems with ast_sched_report().

1) It had numerous coding guidelines violations with regards to formatting.

2) It allocated memory using ast_calloc() that was never freed.

3) It didn't check for failure from the allocation.

4) It used sprintf() and strcat() to build the result, doing zero checking to
   prevent writing past the end of the provided buffer.

The function also lacks API documentation, but that has not been addressed in
this commit.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175829 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175825 via svnmerge from
Olle Johansson [Sun, 15 Feb 2009 20:39:55 +0000 (20:39 +0000)]
Merged revisions 175825 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175825 | oej | 2009-02-15 21:33:17 +0100 (Sön, 15 Feb 2009) | 2 lines

format_ilbc does not depend on codec libraries and can therefore always be made. My mistake. Ursäkta!

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175827 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175792 via svnmerge from
Olle Johansson [Sun, 15 Feb 2009 20:22:12 +0000 (20:22 +0000)]
Merged revisions 175792 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175792 | oej | 2009-02-15 21:20:21 +0100 (Sön, 15 Feb 2009) | 2 lines

Disable format_ilbc.so by default, like codec_ilbc.so

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175801 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175777 via svnmerge from
Olle Johansson [Sun, 15 Feb 2009 20:18:27 +0000 (20:18 +0000)]
Merged revisions 175777 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175777 | oej | 2009-02-15 20:48:38 +0100 (Sön, 15 Feb 2009) | 2 lines

Make sure that the debug line is not printed on debug level 0

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175783 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoBlocked revisions 175698 via svnmerge
Jason Parker [Fri, 13 Feb 2009 21:54:34 +0000 (21:54 +0000)]
Blocked revisions 175698 via svnmerge

........
  r175698 | qwell | 2009-02-13 15:53:16 -0600 (Fri, 13 Feb 2009) | 1 line

  Zaptel is not DAHDI.  Rather, Zaptel is actually Zaptel.  (in case you're confused, DAHDI is still DAHDI)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175699 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerge queue-reset branch to Asterisk
Mark Michelson [Fri, 13 Feb 2009 20:57:37 +0000 (20:57 +0000)]
Merge queue-reset branch to Asterisk

From a user point-of-view, this adds new CLI commands and Manager Actions to
better facilitate the reloading of queues and the resetting of their statistics.

The new CLI commands are the "queue reload" and "queue reset stats" commands.

The new manager actions are the QueueReload and QueueReset commands.

Review: http://reviewboard.digium.com/r/115

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175663 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd manager events for chanspy starting or stopping
Mark Michelson [Fri, 13 Feb 2009 20:35:26 +0000 (20:35 +0000)]
Add manager events for chanspy starting or stopping

(closes issue #14469)
Reported by: caio1982
Patches:
      chanspy_events2.diff uploaded by caio1982 (license 22)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175655 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agofix a few more XML documentation problems
Russell Bryant [Fri, 13 Feb 2009 20:26:49 +0000 (20:26 +0000)]
fix a few more XML documentation problems

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175636 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoadd missing </para>
Russell Bryant [Fri, 13 Feb 2009 20:23:39 +0000 (20:23 +0000)]
add missing </para>

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175623 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFixed iax2 key rotation backwards compatibility
David Vossel [Fri, 13 Feb 2009 20:11:55 +0000 (20:11 +0000)]
Fixed iax2 key rotation backwards compatibility

Turns key rotation back on by default.  Added bit into encryption IE to indicate whether or not key rotation is supported or not. If it is not supported then it is not enabled, which insures backwards compatibility.  This eliminates the need for the keyrotate option in iax.conf, so it has been removed.

Review: http://reviewboard.digium.com/r/159/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175597 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175590 via svnmerge from
Mark Michelson [Fri, 13 Feb 2009 19:49:38 +0000 (19:49 +0000)]
Merged revisions 175590 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r175590 | mmichelson | 2009-02-13 13:47:48 -0600 (Fri, 13 Feb 2009) | 16 lines

  Fix a potential crash situation when using IMAP voicemail

  If calling into VoiceMailMain when using IMAP storage, it was
  possible to crash Asterisk by hanging up the phone when prompted
  for a voicemail mailbox. This patch fixes the issue.

  While it may appear that this patch is superficial, it allows code
  execution to continue to the failure case just below the IMAP_STORAGE
  code block where this patch has been applied

  (closes issue #14473)
  Reported by: dwpaul
  Patches:
        voicemail_imap_crash_no_mailbox.patch uploaded by dwpaul (license 689)
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175591 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd an option to keep the recorded file upon hangup.
Joshua Colp [Fri, 13 Feb 2009 16:41:15 +0000 (16:41 +0000)]
Add an option to keep the recorded file upon hangup.
(closes issue #14341)
Reported by: fnordian

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175549 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agodocument G.722.1/.1C support
Kevin P. Fleming [Fri, 13 Feb 2009 13:41:52 +0000 (13:41 +0000)]
document G.722.1/.1C support

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175512 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd basic (passthrough, playback, record) support for ITU G.722.1 and G.722.1C (also...
Kevin P. Fleming [Fri, 13 Feb 2009 13:35:24 +0000 (13:35 +0000)]
Add basic (passthrough, playback, record) support for ITU G.722.1 and G.722.1C (also known as Siren7 and Siren14)

This patch adds passthrough, file recording and file playback support for the codecs listed above, with negotiation over SIP/SDP supported. Due to Asterisk's current limitation of treating a codec/bitrate combination as a unique codec, only G.722.1 at 32 kbps and G.722.1C at 48 kbps are supported.

Along the way, some related work was done:

1) The rtpPayloadType structure definition, used as a return result for an API call in rtp.h, was moved from rtp.c to rtp.h so that the API call was actually usable. The only previous used of the API all was chan_h323.c, which had a duplicate of the structure definition instead of doing it the right way.

2) The hardcoded SDP sample rates for various codecs in chan_sip.c were removed, in favor of storing these sample rates in rtp.c along with the codec definitions there. A new API call was added to allow retrieval of the sample rate for a given codec.

3) Some basic 'a=fmtp' parsing for SDP was added to chan_sip, because chan_sip *must* decline any media streams offered for these codecs that are not at the bitrates that we support (otherwise Bad Things (TM) would result).

Review: http://reviewboard.digium.com/r/158/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175508 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoadd 'faxbuffers' configuration option information to CHANGES
Dwayne M. Hubbard [Fri, 13 Feb 2009 04:22:35 +0000 (04:22 +0000)]
add 'faxbuffers' configuration option information to CHANGES

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175475 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdd dynamic fax buffer configuration option to chan_dahdi.conf
Dwayne M. Hubbard [Fri, 13 Feb 2009 00:13:38 +0000 (00:13 +0000)]
Add dynamic fax buffer configuration option to chan_dahdi.conf

When the 'faxdetect' configuration option is used, one may also want to use
the 'faxbuffers' configuration option in chan_dahdi.conf.  This option will
dynamically use the configured 'faxbuffers' buffer policy on a channel for
the life of the call following the detection of fax tones.  The faxbuffers
buffer policy will be reverted during call teardown.

An example use of 'faxbuffers' is below.  This example would switch to using
6 buffers with a full buffer policy.

faxbuffers=>6,full

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175411 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoBlocked revisions 175407 via svnmerge
Mark Michelson [Thu, 12 Feb 2009 23:23:47 +0000 (23:23 +0000)]
Blocked revisions 175407 via svnmerge

........
  r175407 | mmichelson | 2009-02-12 17:22:44 -0600 (Thu, 12 Feb 2009) | 12 lines

  Fix a place where filestreams were not refcounted properly

  This section was already present in trunk and other branches,
  but did not exist in 1.4.

  (closes issue #14395)
  Reported by: ZX81
  Patches:
        14395.patch uploaded by putnopvut (license 60)
  Tested by: ZX81
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175408 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoRemove useless string copy, and make sscanf safe again
Russell Bryant [Thu, 12 Feb 2009 21:41:01 +0000 (21:41 +0000)]
Remove useless string copy, and make sscanf safe again

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175368 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAdds force encryption option to iax.conf
David Vossel [Thu, 12 Feb 2009 21:27:11 +0000 (21:27 +0000)]
Adds force encryption option to iax.conf

This patch adds forceencryption=yes as an iax.conf option.  When force encryption is enabled, no unencrypted connections are allowed.  This insures all connections are encrypted.  This is a new feature, so CHANGES and iax.conf.sample are updated as well.

(closes issue #13285)
Reported by: sgofferj
Tested by: russell
Review: http://reviewboard.digium.com/r/150/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175344 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175311 via svnmerge from
Tilghman Lesher [Thu, 12 Feb 2009 21:25:14 +0000 (21:25 +0000)]
Merged revisions 175311 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r175311 | tilghman | 2009-02-12 15:19:40 -0600 (Thu, 12 Feb 2009) | 9 lines

  Fix crashes when receiving certain T.38 packets.  Also, increase the maximum
  size of T.38 packets and warn users when they try to set the limits above those
  maximums.
  (closes issue #13050)
   Reported by: schern
   Patches:
         20090212__bug13050.diff.txt uploaded by Corydon76 (license 14)
   Tested by: schern
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175334 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175294 via svnmerge from
Jeff Peeler [Thu, 12 Feb 2009 20:48:56 +0000 (20:48 +0000)]
Merged revisions 175294 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r175294 | jpeeler | 2009-02-12 14:34:36 -0600 (Thu, 12 Feb 2009) | 9 lines

  Fix ParkedCall event information for From field in the case of a blind transfer

  If the parker information can not be obtained from the peer, try and see if
  the BLINDTRANSFER channel variable has been set. Previously, a blind transfer
  to the ParkAndAnnounce app would return nothing for the From.

  Closes AST-189
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175298 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoAvoid using ast_strdupa() in a loop.
Russell Bryant [Thu, 12 Feb 2009 20:45:47 +0000 (20:45 +0000)]
Avoid using ast_strdupa() in a loop.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175295 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoDon't enable something by default that has a dependency on something _not_ enabled...
Russell Bryant [Thu, 12 Feb 2009 19:11:08 +0000 (19:11 +0000)]
Don't enable something by default that has a dependency on something _not_ enabled by default.

menuselect was not happy with this.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175255 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agocorrect warning message to not refer specifically to DAHDI
Kevin P. Fleming [Thu, 12 Feb 2009 18:48:52 +0000 (18:48 +0000)]
correct warning message to not refer specifically to DAHDI

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175250 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175187 via svnmerge from
Jeff Peeler [Thu, 12 Feb 2009 18:00:11 +0000 (18:00 +0000)]
Merged revisions 175187 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r175187 | jpeeler | 2009-02-12 11:57:10 -0600 (Thu, 12 Feb 2009) | 6 lines

  Fix crash in event of failed attempt to transfer to parking

  The peer may not necessarily exist, such as in the case of a transfer to
  ParkAndAnnounce. In this case don't try to play a sound to it.
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175188 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoSetting key rotation to be off by default
David Vossel [Thu, 12 Feb 2009 17:07:17 +0000 (17:07 +0000)]
Setting key rotation to be off by default

Key rotation breaks compatibility between (trunk/1.6.1) and (1.2/1.4/1.6.0).  As a follow up to this, I am investigating possible ways to allow key rotation to be on by default and not affect the other branches, but for now it must be turned off.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175127 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175124 via svnmerge from
Russell Bryant [Thu, 12 Feb 2009 16:57:25 +0000 (16:57 +0000)]
Merged revisions 175124 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175124 | russell | 2009-02-12 10:51:13 -0600 (Thu, 12 Feb 2009) | 27 lines

Don't send DTMF for infinite time if we do not receive an END event.

I thought that this was going to end up being a pretty gnarly fix, but it turns
out that there was actually already a configuration option in rtp.conf,
dtmftimeout, that was intended to handle this situation.  However, in between
Asterisk 1.2 and Asterisk 1.4, the code that processed the option got lost.
So, this commit brings it back to life.

The default timeout is 3 seconds.  However, it is worth noting that having
this be configurable at all is not really the recommended behavior in RFC 2833.
From Section 3.5 of RFC 2833:

      Limiting the time period of extending the tone is necessary
      to avoid that a tone "gets stuck". Regardless of the
      algorithm used, the tone SHOULD NOT be extended by more than
      three packet interarrival times. A slight extension of tone
      durations and shortening of pauses is generally harmless.

Three seconds will pretty much _always_ be far more than three packet
interarrival times.  However, that behavior is not required, so I'm going to
leave it with our legacy behavior for now.

Code from svn/asterisk/team/russell/issue_14460

(closes issue #14460)
Reported by: moliveras

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175125 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMake lock information for ao2_trylock be more useful and gnarly
Mark Michelson [Thu, 12 Feb 2009 16:28:06 +0000 (16:28 +0000)]
Make lock information for ao2_trylock be more useful and gnarly

Core show locks information involving an ao2_trylock did not
show the function that called ao2_trylock, but would instead
show ao2_trylock as the source of the lock. This is not useful
when trying to debug locking issues.

One bizarre note is that this logic is already in 1.4 but somehow
did not get merged to trunk or the 1.6.X branches.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175121 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoIssue a warning message if our candidate's IP is the loopback address.
Philippe Sultan [Thu, 12 Feb 2009 14:25:03 +0000 (14:25 +0000)]
Issue a warning message if our candidate's IP is the loopback address.

(closes issue #13985)
Reported by: jcovert
Tested by: phsultan

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175089 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoMerged revisions 175029 via svnmerge from
Philippe Sultan [Thu, 12 Feb 2009 10:31:36 +0000 (10:31 +0000)]
Merged revisions 175029 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175029 | phsultan | 2009-02-12 11:16:21 +0100 (Thu, 12 Feb 2009) | 12 lines

Set the initiator attribute to lowercase in our replies when receiving calls.

This attribute contains a JID that identifies the initiator of the GoogleTalk
voice session. The GoogleTalk client discards Asterisk's replies if the
initiator attribute contains uppercase characters.

(closes issue #13984)
Reported by: jcovert
Patches:
      chan_gtalk.2.patch uploaded by jcovert (license 551)
Tested by: jcovert

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@175058 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix a bit of odd logic for announcing position. Sync with 1.6.0's logic
Mark Michelson [Wed, 11 Feb 2009 23:12:57 +0000 (23:12 +0000)]
Fix a bit of odd logic for announcing position. Sync with 1.6.0's logic

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174951 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix odd "thank you" sound playing behavior in app_queue.c
Mark Michelson [Wed, 11 Feb 2009 23:03:08 +0000 (23:03 +0000)]
Fix odd "thank you" sound playing behavior in app_queue.c

If someone has configured the queue to play an position or holdtime
announcement, then it is odd and potentially unexpected to hear a
"Thank you for your patience" sound when no position or holdtime
was actually announced.

This fixes the announcement so that the "thanks" sound is only played
in the case that a position or holdtime was actually announced.

There is a way that the "thank you" sound can be played without a
position or holdtime, and that is to set announce-frequency to a value
but keep announce-position and announce-holdtime both turned off.

(closes issue #14227)
Reported by: caspy
Patches:
      14227_v3.patch uploaded by putnopvut (license 60)
Tested by: caspy

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174948 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix 'd' option for app_dial and add new option to Answer application
Mark Michelson [Wed, 11 Feb 2009 22:41:01 +0000 (22:41 +0000)]
Fix 'd' option for app_dial and add new option to Answer application

The 'd' option would not work for channel types which use RTP to transport
DTMF digits. The only way to allow for this to work was to answer the channel
if we saw that this option was enabled.

I realized that this may cause issues with CDRs, specifically with giving false
dispositions and answer times. I therefore modified ast_answer to take another
parameter which would tell if the CDR should be marked answered.

I also extended this to the Answer application so that the channel may be answered
but not CDRified if desired.

I also modified app_dictate and app_waitforsilence to only answer the channel if it
is not already up, to help not allow for faulty CDR answer times.

All of these changes are going into Asterisk trunk. For 1.6.0 and 1.6.1, however, all
the changes except for the change to the Answer application will go in since we do
not introduce new features into stable branches

(closes issue #14164)
Reported by: DennisD
Patches:
      14164.patch uploaded by putnopvut (license 60)
Tested by: putnopvut

Review: http://reviewboard.digium.com/r/145

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174945 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoBlocked revisions 174885 via svnmerge
Tilghman Lesher [Wed, 11 Feb 2009 20:55:46 +0000 (20:55 +0000)]
Blocked revisions 174885 via svnmerge

........
  r174885 | tilghman | 2009-02-11 14:54:18 -0600 (Wed, 11 Feb 2009) | 13 lines

  Restore a behavior that was recently changed, when we fixed issue #13962 and
  issue #13363 (related to issue #6176).  When a hangup occurs during a Macro
  execution in earlier 1.4, the h extension would execute within the Macro
  context, whereas it was always supposed to execute only within the main context
  (where Macro was called).  So this fix checks for an "h" extension in the
  deepest macro context where a hangup occurred; if it exists, that "h" extension
  executes, otherwise the main context "h" is executed.
  (closes issue #14122)
   Reported by: wetwired
   Patches:
         20090210__bug14122.diff.txt uploaded by Corydon76 (license 14)
   Tested by: andrew
........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174886 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoTell the device state core a change happened when a channel is freed but not a specif...
Joshua Colp [Wed, 11 Feb 2009 14:44:47 +0000 (14:44 +0000)]
Tell the device state core a change happened when a channel is freed but not a specific state.
We need to do this because while we know that the freeing of the channel may cause something to become
not in use we do not know this for sure. There may be another channel that is still up which would cause
it to be in use.
(closes issue #13238)
Reported by: kowalma
Patches:
      20090121__bug13238.diff.txt uploaded by Corydon76 (license 14)
Tested by: alecdavis

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174844 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix potential for stack overflows in app_chanspy.c
Mark Michelson [Tue, 10 Feb 2009 23:17:03 +0000 (23:17 +0000)]
Fix potential for stack overflows in app_chanspy.c

When using the 'g' or 'e' options, the stack allocations that
were used could cause a stack overflow if a spyer stayed on the
line long enough without actually successfully spying on anyone.

The problem has been corrected by using static buffers and copying
the contents of the appropriate strings into them instead of using
functions like alloca or ast_strdupa

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174805 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoFix an fd leak that would occur in HTTP AMI sessions
Mark Michelson [Tue, 10 Feb 2009 21:45:14 +0000 (21:45 +0000)]
Fix an fd leak that would occur in HTTP AMI sessions

The explanation behind this fix is a bit complicated, and I've already
typed it up in the code as a huge comment inside of manager.c, so I'll
give the abridged version here.

We needed a way to separate action-specific data from session-specific data.
Unfortunately, the only way to maintain API compatibility and to not have to
change every single manager action was to rename the current mansession structure
and wrap it inside a new mansession structure which actually contains action-
specific data.

(closes issue #14364)
Reported by: awk
Patches:
      14364_better.patch uploaded by putnopvut (license 60)
Tested by: putnopvut

Review: http://reviewboard.digium.com/r/148/

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174764 65c4cc65-6c06-0410-ace0-fbb531ad65f3

14 years agoOnly decrease inringing count if above zero.
Joshua Colp [Tue, 10 Feb 2009 20:15:43 +0000 (20:15 +0000)]
Only decrease inringing count if above zero.
(issue #13238)
Reported by: kowalma

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174710 65c4cc65-6c06-0410-ace0-fbb531ad65f3