asterisk/asterisk.git
9 years agoMerge the rest of the FullyBooted patch
Terry Wilson [Mon, 24 May 2010 22:21:58 +0000 (22:21 +0000)]
Merge the rest of the FullyBooted patch

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

9 years agoAllow SendDTMF to play digits to a specified channel.
Mark Michelson [Mon, 24 May 2010 22:16:29 +0000 (22:16 +0000)]
Allow SendDTMF to play digits to a specified channel.

Patch supplied by reporter was modified to use autoservice and
prevent a potential channel ref leak but is otherwise as the
reporter uploaded it.

(closes issue #17182)
Reported by: rcasas
Patches:
      app_senddtmf.c.patch_trunk uploaded by rcasas (license 641)

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

9 years agoPrint openh323 log to the Asterisk console.
Mark Michelson [Mon, 24 May 2010 22:05:15 +0000 (22:05 +0000)]
Print openh323 log to the Asterisk console.

(closes issue #17109)
Reported by: under
Patches:
      logstream.diff uploaded by under (license 914)

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

9 years agoAllow type=user SIP endpoints to be loaded properly from realtime.
Mark Michelson [Mon, 24 May 2010 21:44:30 +0000 (21:44 +0000)]
Allow type=user SIP endpoints to be loaded properly from realtime.

(closes issue #16021)
Reported by: Guggemand
Patches:
      realtime-type-fix.patch uploaded by Guggemand (license 897)
  (altered by me slightly to avoid ref leaks)
Tested by: Guggemand

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

9 years agoMake app_rpt.c able to compile again.
Richard Mudgett [Mon, 24 May 2010 20:08:35 +0000 (20:08 +0000)]
Make app_rpt.c able to compile again.

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

9 years agoreverses incorrect logic introduced by r243200
David Vossel [Mon, 24 May 2010 19:42:54 +0000 (19:42 +0000)]
reverses incorrect logic introduced by r243200

The decoding of the replace_id did not need to be broken
up in this instance.  This was brought to my attention
again because it caused a segfault when the from or to
tags were not present in the "Replaces" header.

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

9 years agoAdd the FullyBooted AMI event
Terry Wilson [Mon, 24 May 2010 19:06:40 +0000 (19:06 +0000)]
Add the FullyBooted AMI event

It is possible to connect to the manager interface before all Asterisk modules
are loaded. To ensure that an application does not send AMI actions that might
require a module that has not yet loaded, the application can listen for the
FullyBooted manager event. It will be sent upon connection if all modules have
been loaded, or as soon as loading is complete. The event:

   Event: FullyBooted
   Privilege: system,all
   Status: Fully Booted

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

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

9 years agoCalendaring support for Exchange Server 2007+ via EWS
Terry Wilson [Mon, 24 May 2010 18:21:20 +0000 (18:21 +0000)]
Calendaring support for Exchange Server 2007+ via EWS

This commit adds support for calendaring with Exchange Server 2007+ via
Exchange Web Services. Full write support and for querying attendees. Many
thanks to Jan Kaláb for the feature.

(closes issue #17022)
Reported by: pitel
Patches:
      res_calendar_ews.c uploaded by pitel (license 1008)
Tested by: pitel, twilson

Review: https://reviewboard.asterisk.org/r/557/
Review: https://reviewboard.asterisk.org/r/668/

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

9 years agoOn systems with a LOT of RAM, a signed integer sometimes printed negative.
Tilghman Lesher [Mon, 24 May 2010 18:19:08 +0000 (18:19 +0000)]
On systems with a LOT of RAM, a signed integer sometimes printed negative.

(closes issue #16837)
 Reported by: jlpedrosa
 Patches:
       20100504__issue16837.diff.txt uploaded by tilghman (license 14)

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

9 years agofixes segfault when using generic plc
David Vossel [Mon, 24 May 2010 16:10:09 +0000 (16:10 +0000)]
fixes segfault when using generic plc

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

9 years agosmall changes to avoiding 'freeing unused memory...'
Alexandr Anikin [Sun, 23 May 2010 18:23:38 +0000 (18:23 +0000)]
small changes to avoiding 'freeing unused memory...'

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

9 years agoChannel initialization failure causes crashes.
Richard Mudgett [Fri, 21 May 2010 22:46:52 +0000 (22:46 +0000)]
Channel initialization failure causes crashes.

__ast_channel_alloc_ap() has several points in the initialization of a new
channel structure where it could fail.  Since the channel structure is now
an ao2 object, the destructor callback needs to be able to handle clean up
when the structure setup is incomplete.

Problems corrected:

1) Failing to setup the alertpipe would not unreference the structure but
free it directly.  Doing this to an ao2_object is very bad.

2) File descriptors need to be initialized to -1 before a construction
failure could occur so the destructor will not close unopened descriptors.

3) The destructor needs to check that the string field has been
initialized before using any string field values.  Crashes expected.

4) The destructor should not notify devstate if the device name is empty.
It is a waste of cycles and a couple ERROR log messages are generated.

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

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

9 years agoMerged revisions 265089 via svnmerge from
Mark Michelson [Fri, 21 May 2010 21:08:51 +0000 (21:08 +0000)]
Merged revisions 265089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r265089 | mmichelson | 2010-05-21 15:59:14 -0500 (Fri, 21 May 2010) | 8 lines

  Don't hang up on a queue caller if the file we attempt to play does not exist.

  This also fixes a documentation mistake in file.h that made my original attempt
  to correct this problem not work correctly.

  (closes issue #17061)
  Reported by: RoadKill
........

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

9 years agoBe sure to set the sin_family on the proxy when allocating.
Mark Michelson [Fri, 21 May 2010 20:38:14 +0000 (20:38 +0000)]
Be sure to set the sin_family on the proxy when allocating.

(closes issue #17157)
Reported by: stuarth

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

9 years agoMerged revisions 264999 via svnmerge from
Mark Michelson [Fri, 21 May 2010 16:54:21 +0000 (16:54 +0000)]
Merged revisions 264999 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r264999 | mmichelson | 2010-05-21 11:53:53 -0500 (Fri, 21 May 2010) | 3 lines

  Fix grammatical error in comment.
........

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

9 years agoMerged revisions 264996 via svnmerge from
Mark Michelson [Fri, 21 May 2010 16:44:27 +0000 (16:44 +0000)]
Merged revisions 264996 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r264996 | mmichelson | 2010-05-21 11:28:34 -0500 (Fri, 21 May 2010) | 32 lines

  Allow ast_safe_sleep to defer specific frames until after the sleep has concluded.

  From reviewboard

  Background:
  A Digium customer discovered a somewhat odd bug. The setup is that parties A
  and B are bridged, and party A places party B on hold. While party B is
  listening to hold music, he mashes a bunch of DTMF. Party A takes party
  B off hold while this is happening, but party B continues to hear hold
  music. I could reproduce this about 1 in 5 times.

  The issue:
  When DTMF features are enabled and a user presses keys, the channel that
  the DTMF is streamed to is placed in an ast_safe_sleep for 100 ms, the
  duration of the emulated tone. If an AST_CONTROL_UNHOLD frame is read
  from the channel during the sleep, the frame is dropped. Thus the
  unhold indication is never made to the channel that was originally placed
  on hold.

  The fix:
  Originally, I discussed with Kevin possible ways of fixing the specific
  problem reported. However, we determined that the same type of problem
  could happen in other situations where ast_safe_sleep() is used. Using
  autoservice as a model, I modified ast_safe_sleep_conditional() to
  defer specific frame types so they can be re-queued once the sleep has
  finished. I made a common function for determining if a frame should
  be deferred so that there are not two identical switch blocks to
  maintain.

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

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

9 years agoLog spandsp's fax debug output to the FAX logger level.
Mark Michelson [Fri, 21 May 2010 15:15:58 +0000 (15:15 +0000)]
Log spandsp's fax debug output to the FAX logger level.

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

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

9 years agoTake dup'd code for directmedia ACLs and make utility func
Terry Wilson [Fri, 21 May 2010 01:00:44 +0000 (01:00 +0000)]
Take dup'd code for directmedia ACLs and make utility func

The same code was repeated in lots of different places, so I made a utility
fuction for it. This should make the merge in the v6-new branch easier.

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

9 years agoMerged revisions 264820 via svnmerge from
Richard Mudgett [Thu, 20 May 2010 23:29:43 +0000 (23:29 +0000)]
Merged revisions 264820 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r264820 | rmudgett | 2010-05-20 18:23:21 -0500 (Thu, 20 May 2010) | 6 lines

  ast_callerid_parse() had a path that left name uninitialized.

  Several callers of ast_callerid_parse() do not initialize the name
  parameter before calling thus there is the potential to use an
  uninitialized pointer.
........

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

9 years agoLet ExtensionState resolve dynamic hints.
Tilghman Lesher [Thu, 20 May 2010 22:23:32 +0000 (22:23 +0000)]
Let ExtensionState resolve dynamic hints.

(closes issue #16623)
 Reported by: tilghman
 Patches:
       20100116__issue16623.diff.txt uploaded by tilghman (license 14)
 Tested by: lmadsen

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

9 years agoError message fix.
Tilghman Lesher [Thu, 20 May 2010 21:28:53 +0000 (21:28 +0000)]
Error message fix.

(closes issue #17356)
 Reported by: kenner
 Patches:
       app_stack.c.diff uploaded by kenner (license 1040)

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

9 years agoAvoid crash in generic CC agent init if caller name or number is NULL.
Richard Mudgett [Thu, 20 May 2010 20:49:40 +0000 (20:49 +0000)]
Avoid crash in generic CC agent init if caller name or number is NULL.

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

9 years agoDial and queue connected line update macro not always run when expected.
Richard Mudgett [Thu, 20 May 2010 19:40:03 +0000 (19:40 +0000)]
Dial and queue connected line update macro not always run when expected.

The connected line update macro would not get run if the connected line
number string was empty.  The number could be empty if the connected line
update did not update a number but the name.  It should be run if there
was an AST_CONTROL_CONNECTED_LINE frame received for pending dials and
queues.

Renamed and added some more comments for some confusing identifiers
directly connected to the related code.

Also fixed a memory leak in app_queue.

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

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

9 years agoAdd support for direct media ACLs
Terry Wilson [Thu, 20 May 2010 17:54:02 +0000 (17:54 +0000)]
Add support for direct media ACLs

directmediapermit/directmediadeny support to restrict which peers can do
directmedia based on ip address. In some networks not all phones are fully
routed, i.e. not all phones can ping each other. This patch adds a way to
restrict directmedia for certain peers between certain networks.

(closes issue #16645)
Reported by: raarts
Patches:
      directmediapermit.patch uploaded by raarts (license 937)
Tested by: raarts

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

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

9 years agoIgnore pre-processed source files generated during DONT_OPTIMIZE dev-mode builds.
Kevin P. Fleming [Thu, 20 May 2010 15:30:19 +0000 (15:30 +0000)]
Ignore pre-processed source files generated during DONT_OPTIMIZE dev-mode builds.

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

9 years agoCorrect 'all logger levels' patch to work properly.
Kevin P. Fleming [Thu, 20 May 2010 12:06:11 +0000 (12:06 +0000)]
Correct 'all logger levels' patch to work properly.

Nick Lewis pointed out that the patch as committed wouldn't actually include
dynamic logger levels, which was missed by the other reviewers. Thanks!

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

9 years agoFix transcode_via_sln option with SIP calls and improve PLC usage.
Mark Michelson [Wed, 19 May 2010 21:29:08 +0000 (21:29 +0000)]
Fix transcode_via_sln option with SIP calls and improve PLC usage.

From reviewboard:
The problem here is a bit complex, so try to bear with me...

It was noticed by a Digium customer that generic PLC (as configured in
codecs.conf) did not appear to actually be having any sort of benefit when
packet loss was introduced on an RTP stream. I reproduced this issue myself
by streaming a file across an RTP stream and dropping approx. 5% of the
RTP packets. I saw no real difference between when PLC was enabled or disabled
when using wireshark to analyze the RTP streams.

After analyzing what was going on, it became clear that one of the problems
faced was that when running my tests, the translation paths were being set
up in such a way that PLC could not possibly work as expected. To illustrate,
if packets are lost on channel A's read stream, then we expect that PLC will
be applied to channel B's write stream. The problem is that generic PLC can
only be done when there is a translation path that moves from some codec to
SLINEAR. When I would run my tests, I found that every single time, read
and write translation paths would be set up on channel A instead of channel
B. There appeared to be no real way to predict which channel the translation
paths would be set up on.

This is where Kevin swooped in to let me know about the transcode_via_sln
option in asterisk.conf. It is supposed to work by placing a read translation
path on both channels from the channel's rawreadformat to SLINEAR. It also
will place a write translation path on both channels from SLINEAR to the
channel's rawwriteformat. Using this option allows one to predictably set up
translation paths on all channels. There are two problems with this, though.
First and foremost, the transcode_via_sln option did not appear to be working
properly when I was placing a SIP call between two endpoints which did not
share any common formats. Second, even if this option were to work, for PLC
to be applied, there had to be a write translation path that would go from
some format to SLINEAR. It would not work properly if the starting format
of translation was SLINEAR.

The one-line change presented in this review request in chan_sip.c fixed the
first issue for me. The problem was that in sip_request_call, the
jointcapability of the outbound channel was being set to the format passed to
sip_request_call. This is nativeformats of the inbound channel. Because of this,
when ast_channel_make_compatible was called by app_dial, both channels already
had compatibly read and write formats. Thus, no translation path was set up at
the time. My change is to set the jointcapability of the sip_pvt created during
sip_request_call to the intersection of the inbound channel's nativeformats and
the configured peer capability that we determined during the earlier call to
create_addr. Doing this got the translation paths set up as expected when using
transcode_via_sln.

The changes presented in channel.c fixed the second issue for me. First and
foremost, when Asterisk is started, we'll read codecs.conf to see the value of
the genericplc option. If this option is set, and ast_write is called for a
frame with no data, then we will attempt to fill in the missing samples for
the frame. The implementation uses a channel datastore for maintaining the
PLC state and for creating a buffer to store PLC samples in. Even when we
receive a frame with data, we'll call plc_rx so that the PLC state will have
knowledge of the previous voice frame, which it can use as a basis for when
it comes time to actually do a PLC fill-in.

So, reviewers, now I ask for your help. First off, there's the one line change
in chan_sip that I have put in. Is it right? By my logic it seems correct, but
I'm sure someone can tell me why it is not going to work. This is probably the
change I'm least concerned about, though. What concerns me much more is the
set of changes in channel.c. First off, am I even doing it right? When I run
tests, I can clearly see that when PLC is activated, I see a significant increase
in RTP traffic where I would expect it to be. However, in my humble opinion, the
audio sounds kind of crappy whenever the PLC fill-in is done. It sounds worse to
me than when no PLC is used at all. I need someone to review the logic I have used
to be sure that I'm not misusing anything. As far as I can see my pointer arithmetic
is correct, and my use of AST_FRIENDLY_OFFSET should be correct as well, but I'm
sure someone can point out somewhere where I've done something incorrectly.

As I was writing this review request up, I decided to give the code a test run under
valgrind, and I find that for some reason, calls to plc_rx are causing some invalid
reads. Apparently I'm reading past the end of a buffer somehow. I'll have to dig around
a bit to see why that is the case. If it's obvious to someone reviewing, speak up!

Finally, I have one other proposal that is not reflected in my code review. Since
without transcode_via_sln set, one cannot predict or control where a translation
path will be up, it seems to me that the current practice of using PLC only when
transcoding to SLINEAR is not useful. I recommend that once it has been determined
that the method used in this code review is correct and works as expected, then
the code in translate.c that invokes PLC should be removed.

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

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

9 years agofixes infinite loop during udptl.c's decode_open_type
David Vossel [Wed, 19 May 2010 20:30:33 +0000 (20:30 +0000)]
fixes infinite loop during udptl.c's decode_open_type

When decode_length returns the length there is a check to see if that
length is negative, if so the decode loop breaks as this means the
limit has been reached.  The problem here is that length is an
unsigned int, so length can never be negative.  This resulted in
an infinite loop.

(issue #17352)

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

9 years agoCast an unsigned int to a signed int when comparing it with 0.
Matthew Nicholson [Wed, 19 May 2010 20:26:27 +0000 (20:26 +0000)]
Cast an unsigned int to a signed int when comparing it with 0.

(AST-377)

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

9 years agoMerged revisions 264334 via svnmerge from
Matthew Nicholson [Wed, 19 May 2010 20:02:57 +0000 (20:02 +0000)]
Merged revisions 264334 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r264334 | mnicholson | 2010-05-19 15:01:38 -0500 (Wed, 19 May 2010) | 5 lines

  Set quieted flag when receiving a dtmf tone during playback in speechbackground.

  (closes issue #16966)
  Reported by: asackheim
........

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

9 years agofixes crash in check_rtp_timeout
David Vossel [Wed, 19 May 2010 19:21:04 +0000 (19:21 +0000)]
fixes crash in check_rtp_timeout

During deadlock avoidance the sip dialog pvt is locked and
unlocked.  When this occurs we have no guarantee the pvt's owner
is still valid.  We were trying to access the pvt's owner after
this without checking to see if it still existed first.

(closes issue #17271)
Reported by: under
Patches:
      check_rtp_timeout.diff uploaded by under (license 914)
Tested by: dvossel

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

9 years agoMerged revisions 264248 via svnmerge from
Tilghman Lesher [Wed, 19 May 2010 17:48:31 +0000 (17:48 +0000)]
Merged revisions 264248 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r264248 | tilghman | 2010-05-19 12:41:29 -0500 (Wed, 19 May 2010) | 17 lines

  Internal timing is now on by default, if you're using DAHDI 2.3 or above.

  The reason for ensuring DAHDI 2.3 or above is that this version ensures that
  a timer is always available, whereas in previous versions, it was possible
  for DAHDI to be loaded, but have no drivers to actually generate timing.  If
  internal_timing was turned on in this circumstance, a complete lack of audio
  would result.  This is the reason why internal_timing was not on by default.
  However, now that DAHDI ensures the availability of a timer, there is no
  reason for this setting to be off (and in fact, it solves a great many initial
  user problems).

  (closes issue #15932)
   Reported by: dimas
   Patches:
         20100519__issue15932.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman
........

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

9 years agoKeep track of digit duration, when we're decoding inband to pass DTMF frames.
Tilghman Lesher [Wed, 19 May 2010 16:42:20 +0000 (16:42 +0000)]
Keep track of digit duration, when we're decoding inband to pass DTMF frames.

(closes issue #17235)
 Reported by: frawd
 Patches:
       new_dtmf_dsp_len.patch uploaded by frawd (license 610)
       20100518__issue17235.diff.txt uploaded by tilghman (license 14)
 Tested by: frawd

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

9 years agoFix compilation problem with previous commit.
Leif Madsen [Wed, 19 May 2010 15:39:39 +0000 (15:39 +0000)]
Fix compilation problem with previous commit.

(issue #16009)

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

9 years agoAdd ability for logger channels to include *all* levels.
Kevin P. Fleming [Wed, 19 May 2010 15:29:28 +0000 (15:29 +0000)]
Add ability for logger channels to include *all* levels.

Now that Asterisk modules can dynamically create and destroy logger levels
on demand, it's useful to be able to configure a logger channel (console,
file, whatever) to be able to accept log messages from *all* levels, even
levels created dynamically. This patch adds support for this, by allowing
the '*' level name to be used in logger.conf.

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

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

9 years agoAdd ability to hangup all channels from the CLI.
Leif Madsen [Wed, 19 May 2010 15:12:18 +0000 (15:12 +0000)]
Add ability to hangup all channels from the CLI.

Added the keyword 'all' to the 'channel hangup request' CLI command
so that you can request all channels to be hungup without having to
restart Asterisk.

(closes issue #16009)
Reported by: moy
Patches:
      hangup-all-rev-221688.patch uploaded by moy (license 222)
Tested by: moy, russell

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

9 years agofixes crash during dtmf
David Vossel [Wed, 19 May 2010 14:38:02 +0000 (14:38 +0000)]
fixes crash during dtmf

During the processing of Cisco dtmf the dtmf samples were
not being calculated correctly.  In an attempt to determine
what sample rate was being used, a NULL frame was processed
which caused a crash.  This patch resolves this.

(closes issue #17248)
Reported by: falves11
Patches:
      issue_17248.diff uploaded by dvossel (license 671)

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

9 years agofix incorrectly typed indications for [nz] stutter and dialrecall
Alec L Davis [Wed, 19 May 2010 08:09:14 +0000 (08:09 +0000)]
fix incorrectly typed indications for [nz] stutter and dialrecall

(closes issue #17359)
Reported by: alecdavis
Patches:
      bug17359.diff.txt uploaded by alecdavis (license 585)

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

9 years agoMerged revisions 263949 via svnmerge from
Tilghman Lesher [Wed, 19 May 2010 06:41:04 +0000 (06:41 +0000)]
Merged revisions 263949 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r263949 | tilghman | 2010-05-19 01:32:27 -0500 (Wed, 19 May 2010) | 8 lines

  Because progress is called multiple times, across several frames, we must persist states when detecting multitone sequences.

  (closes issue #16749)
   Reported by: dant
   Patches:
         dsp.c-bug16749-1.patch uploaded by dant (license 670)
   Tested by: dant
........

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

9 years agoAdd an sha1sum-workalike for platforms which don't have it (like Mac OS X)
Tilghman Lesher [Tue, 18 May 2010 22:49:13 +0000 (22:49 +0000)]
Add an sha1sum-workalike for platforms which don't have it (like Mac OS X)

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

9 years agofixes segfault on logging
David Vossel [Tue, 18 May 2010 22:48:51 +0000 (22:48 +0000)]
fixes segfault on logging

(closes issue #17331)
Reported by: under
Patches:
      utils.diff uploaded by under (license 914)
      segfault_on_logging.diff uploaded by dvossel (license 671)
Tested by: under, dvossel

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

9 years agoBe sure to heap-allocate the redirecting to tag so as not to cause crashiness.
Mark Michelson [Tue, 18 May 2010 21:09:41 +0000 (21:09 +0000)]
Be sure to heap-allocate the redirecting to tag so as not to cause crashiness.

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

9 years agoMake happy green color come back
Tilghman Lesher [Tue, 18 May 2010 20:49:00 +0000 (20:49 +0000)]
Make happy green color come back

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

9 years agoFix memory leaks in redirecting structures in chan_sip.c
Mark Michelson [Tue, 18 May 2010 20:09:24 +0000 (20:09 +0000)]
Fix memory leaks in redirecting structures in chan_sip.c

Thanks to Richard for pointing this out.

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

9 years agoput changes with the correct version
Jeff Peeler [Tue, 18 May 2010 19:30:19 +0000 (19:30 +0000)]
put changes with the correct version

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

9 years agoMerged revisions 263769 via svnmerge from
Jeff Peeler [Tue, 18 May 2010 19:27:34 +0000 (19:27 +0000)]
Merged revisions 263769 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r263769 | jpeeler | 2010-05-18 13:54:58 -0500 (Tue, 18 May 2010) | 10 lines

  Modify directory name reading to be interrupted with operator or pound escape.

  In the case of accidentally entering the wrong first three letters for the
  reading, users could be very frustrated if the name listing is very long. This
  allows interrupting the reading by pressing 0 or #. 0 will attempt to execute
  a configured operator (o) extension and # will exit and proceed in the
  dialplan.

  ABE-2200
........

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

9 years agoCache sound tarfiles in a common directory, such that a clean reinstall does not...
Tilghman Lesher [Mon, 17 May 2010 23:49:15 +0000 (23:49 +0000)]
Cache sound tarfiles in a common directory, such that a clean reinstall does not force a re-download of the tarballs.

(closes issue #15370)
 Reported by: pprindeville
 Patches:
       asterisk-trunk-bugid15370.patch uploaded by pprindeville (license 347)
 Tested by: pprindeville, tilghman, seanbright

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

9 years agoMerged revisions 263639 via svnmerge from
Mark Michelson [Mon, 17 May 2010 22:08:01 +0000 (22:08 +0000)]
Merged revisions 263639 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r263639 | mmichelson | 2010-05-17 17:00:28 -0500 (Mon, 17 May 2010) | 10 lines

  Fix logic error when checking for a devstate provider.

  When using strsep, if one of the list of specified separators is not found,
  it is the first parameter to strsep which is now NULL, not the pointer returned
  by strsep.

  This issue isn't especially severe in that the worst it is likely to do is waste
  some cycles when a device with no '/' and no ':' is passed to ast_device_state.
........

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

9 years agoBlocked revisions 263637 via svnmerge
Mark Michelson [Mon, 17 May 2010 21:56:42 +0000 (21:56 +0000)]
Blocked revisions 263637 via svnmerge

........
  r263637 | mmichelson | 2010-05-17 16:48:46 -0500 (Mon, 17 May 2010) | 8 lines

  Remove arbitrary size limitation for hints.

  (closes issue #17257)
  Reported by: tim_ringenbach
  Patches:
        hints_crash_fix.diff uploaded by tim ringenbach (license 540)
........

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

9 years agoWith IMAP backend, messages in INBOX were counted twice for MWI.
Tilghman Lesher [Mon, 17 May 2010 19:31:15 +0000 (19:31 +0000)]
With IMAP backend, messages in INBOX were counted twice for MWI.

(closes issue #17135)
 Reported by: edhorton
 Patches:
       20100513__issue17135.diff.txt uploaded by tilghman (license 14)
       17135_2.diff uploaded by ebroad (license 878)
 Tested by: edhorton, ebroad

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

9 years agoEnhancements to connected line and redirecting work.
Mark Michelson [Mon, 17 May 2010 15:36:31 +0000 (15:36 +0000)]
Enhancements to connected line and redirecting work.

From reviewboard:

Digium has a commercial customer who has made extensive use of the connected party and
redirecting information present in later versions of Asterisk Business Edition and which
is to be in the upcoming 1.8 release. Through their use of the feature, new problems and solutions
have come about. This patch adds several enhancements to maximize usage of the connected party
and redirecting information functionality.

First, Asterisk trunk already had connected line interception macros. These macros allow you to
manipulate connected line information before it was sent out to its target. This patch adds the
same feature except for redirecting information instead.

Second, the ast_callerid and ast_party_id structures have been enhanced to provide a "tag." This
tag can be set with func_callerid, func_connectedline, func_redirecting, and in the case of DAHDI,
mISDN, and SIP channels, can be set in a configuration file. The idea behind the callerid tag is
that it can be set to whatever value the administrator likes. Later, when running connected line
and redirecting macros, the admin can read the tag off the appropriate structure to determine what
action to take. You can think of this sort of like a channel variable, except that instead of having
the variable associated with a channel, the variable is associated with a specific identity within
Asterisk.

Third, app_dial has two new options, s and u. The s option lets a dialplan writer force a specific
caller ID tag to be placed on the outgoing channel. The u option allows the dialplan writer to force
a specific calling presentation value on the outgoing channel.

Fourth, there is a new control frame subclass called AST_CONTROL_READ_ACTION added. This was added
to correct a very specific situation. In the case of SIP semi-attended (blond) transfers, the party
being transferred would not have the opportunity to run a connected line interception macro to
possibly alter the transfer target's connected line information. The issue here was that during a
blond transfer, the SIP transfer code has no bridged channel on which to queue the connected line
update. The way this was corrected was to add this new control frame subclass. Now, we queue an
AST_CONTROL_READ_ACTION frame on the channel on which the connected line interception macro should
be run. When ast_read is called to read the frame, ast_read responds by calling a callback function
associated with the specific read action the control frame describes. In this case, the action taken
is to run the connected line interception macro on the transferee's channel.

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

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

9 years agoMissing newlines added to Set-Cookie line in manager.c
Leif Madsen [Mon, 17 May 2010 15:14:22 +0000 (15:14 +0000)]
Missing newlines added to Set-Cookie line in manager.c

Sean Bright pointed out that we lost a set of newline characters in commit
190349 on a line I had recently changed. Yay for code review on commits.

(issue #17231, #10961)

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

9 years agoRecorded merge of revisions 263456 via svnmerge from
Leif Madsen [Mon, 17 May 2010 14:37:35 +0000 (14:37 +0000)]
Recorded merge of revisions 263456 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r263456 | lmadsen | 2010-05-17 09:35:18 -0500 (Mon, 17 May 2010) | 11 lines

  Manager cookies are not compatible with RFC2109.

  The Version field in the cookies we're setting contain quotes around the version
  number which is not compatible with RFC2109 and breaks some implementations.

  (closes issue #17231)
  Reported by: ecarruda
  Patches:
        manager_rfc2109-trunk-v1.patch uploaded by ecarruda (license 559)
        manager_rfc2109-1.6.2-v1.patch uploaded by ecarruda (license 559)
  Tested by: ecarruda, russell
........

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

9 years agoMerged revisions 263374 via svnmerge from
Leif Madsen [Mon, 17 May 2010 14:05:33 +0000 (14:05 +0000)]
Merged revisions 263374 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r263374 | lmadsen | 2010-05-17 09:04:57 -0500 (Mon, 17 May 2010) | 8 lines

  Update link to new version of core sounds.

  The latest version of the core sounds files 1.4.19 now includes the missing
  queue-minute sound file which is called by app_queue but which has been
  missing.

  (closes issue #17123)
  Reported by: n8ideas
........

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

9 years agoUpdate CHANGES to reflect DAHDI buffer dialstring option backport to 1.6.2
David Vossel [Mon, 17 May 2010 13:05:32 +0000 (13:05 +0000)]
Update CHANGES to reflect DAHDI buffer dialstring option backport to 1.6.2

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

9 years agolive_ast: add commands 'rsync' and 'gen-live-asterisk'
Tzafrir Cohen [Sun, 16 May 2010 16:31:34 +0000 (16:31 +0000)]
live_ast: add commands 'rsync' and 'gen-live-asterisk'

This adds the following two commands to live_ast:
* rsync [user]@host directory
  Copy over all generated files to <directory> at remote host.
  Would allow running live_ast there. Hence allows separating a build
  machine from a test machine.
* gen-live-asteris: regenerate live/asterisk . Useful if copying over
  files to a different directory.

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

9 years agoImprove some very confusing structure names in astobj2.c
Kevin P. Fleming [Sun, 16 May 2010 11:14:37 +0000 (11:14 +0000)]
Improve some very confusing structure names in astobj2.c

As pointed out by 'akshayb' on #asterisk-dev, the code here called a list of
bucket entries a 'bucket', and the entries within the bucket were called
'bucket_list'. This made the code very hard to understand without reading
all of it... so I've renamed 'bucket_list' to 'bucket_entry' to clarify the
purpose of the structure.

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

9 years agofix iax_frame double free
David Vossel [Fri, 14 May 2010 18:53:55 +0000 (18:53 +0000)]
fix iax_frame double free

Very unfortunate things happen if we add an iax_frame
to the frame queue and let go of the lock before scheduling
the frame's transmit... There is a race condition that
exists where the frame can be removed from the frame_queue
and freed before the transmit is scheduled if we do not
hold on to that lock.  This results in a freed frame
being scheduled for transmit later.

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

9 years agoFix inverted logic in cli command: ss7 set debug on/off
Richard Mudgett [Thu, 13 May 2010 22:01:36 +0000 (22:01 +0000)]
Fix inverted logic in cli command: ss7 set debug on/off

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

9 years agoRemove "untested" feature PRI_VERSION
Tzafrir Cohen [Thu, 13 May 2010 20:25:02 +0000 (20:25 +0000)]
Remove "untested" feature PRI_VERSION

Nobody seems to actually test PRI_VERSION. It is only useful for failing PRI
support in chan_dahdi.

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

9 years agoFor FreeBSD
Tilghman Lesher [Thu, 13 May 2010 17:49:51 +0000 (17:49 +0000)]
For FreeBSD

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

9 years agoHmmm, probably should have read the manpage more thoroughly.
Tilghman Lesher [Thu, 13 May 2010 16:46:18 +0000 (16:46 +0000)]
Hmmm, probably should have read the manpage more thoroughly.

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

9 years agoFix an off by one error that causes a crash.
Russell Bryant [Thu, 13 May 2010 15:36:12 +0000 (15:36 +0000)]
Fix an off by one error that causes a crash.

Thanks to Raymond Burke for pointing it out.

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

9 years agoFix build on linux.
Russell Bryant [Thu, 13 May 2010 15:35:30 +0000 (15:35 +0000)]
Fix build on linux.

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

9 years agoFix build on linux.
Russell Bryant [Thu, 13 May 2010 15:33:49 +0000 (15:33 +0000)]
Fix build on linux.

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

9 years agoAdd kqueue(2) implementation to Asterisk in various places.
Tilghman Lesher [Thu, 13 May 2010 05:37:31 +0000 (05:37 +0000)]
Add kqueue(2) implementation to Asterisk in various places.

This will save a considerable amount of CPU on the BSDs, including Mac OS X,
as it eliminates several places in the code that we previously used a busy
loop.  Additionally, this adds a res_timing interface, using kqueue timers.

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

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

9 years agoNotify CLI when modules is loaded / unloaded
Paul Belanger [Wed, 12 May 2010 19:59:16 +0000 (19:59 +0000)]
Notify CLI when modules is loaded / unloaded

(closes issue #17308)
Reported by: pabelanger
Patches:
      cli.modules.patch uploaded by pabelanger (license 224)
Tested by: pabelanger, russell

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

9 years agoRevert previous WARNING message removal.
Leif Madsen [Wed, 12 May 2010 19:53:10 +0000 (19:53 +0000)]
Revert previous WARNING message removal.

Marquis42 suggested a better method of doing what I wanted because I ended up
removing the WARNING message for all instances when really I just wanted to
remove it for the 'return' keyword, not everything.

(issue #17145)

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

9 years agoRemove unnecessary WARNING message in ael/pval.c
Leif Madsen [Wed, 12 May 2010 19:31:42 +0000 (19:31 +0000)]
Remove unnecessary WARNING message in ael/pval.c

(closes issue #17145)
Reported by: okrief

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

9 years agoMerged revisions 262662 via svnmerge from
David Vossel [Wed, 12 May 2010 18:01:20 +0000 (18:01 +0000)]
Merged revisions 262662 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r262662 | dvossel | 2010-05-12 12:00:04 -0500 (Wed, 12 May 2010) | 11 lines

  fixes app_meetme dsp error

  We attempted to detect silence after translating a frame
  from signed linear.  This caused a flooding of errors.  To
  resolve this the code to detect silence was moved before the
  translation.

  (closes issue #17133)
  Reported by: jsdyer
........

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

9 years agoDon't crash when destroying chan_dahdi pseudo channels.
Richard Mudgett [Wed, 12 May 2010 17:57:31 +0000 (17:57 +0000)]
Don't crash when destroying chan_dahdi pseudo channels.

Must do a deep copy of the cc_params in duplicate_pseudo().  Otherwise,
when the duplicate pseudo channel is destroyed, it frees the original
pseudo channel cc_params.  The original pseudo channel is then left with a
dangling pointer for when the next duplicated pseudo channel is created.

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

9 years agoMerged revisions 262657,262660 from
Richard Mudgett [Wed, 12 May 2010 16:51:03 +0000 (16:51 +0000)]
Merged revisions 262657,262660 from
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier

..........
  r262660 | rmudgett | 2010-05-12 11:46:47 -0500 (Wed, 12 May 2010) | 4 lines

  Forgot some conditionals around the callrerouting facility help text.

  JIRA ABE-2223
..........
  r262657 | rmudgett | 2010-05-12 11:26:49 -0500 (Wed, 12 May 2010) | 22 lines

  Add mISDN Call rerouting facility for point-to-point ISDN lines (exchange line)

  In the case of ISDN point-to-multipoint (multidevice) you can use the
  mISDN "facility calldeflect" application for call diversions from external
  (PSTN) to external (PSTN).  In that case this is the only way to get rid
  of the two call legs to the PBX and let the calling number at the C party
  become the number of the A party.  In the case of ISDN point-to-point
  (exchange line) the call deflection facility may not be used.  Instead a
  call rerouting facility has to be used.

  This patch for chan_misdn.c is an extension to realize this service
  (facility rerouting application).  It can accept either spelling:
  "callrerouting" or "callrerouteing".

  The patch is tested towards Deutsche Telekom and requires a modified
  version of mISDN from Digium, Inc.

  Patches:
        misdn_rerouteing_corrected.patch (Slightly modified.)

  JIRA ABE-2223

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

9 years agoEnsure the arguments are initialized. Also miscellaneous CG cleanup.
Tilghman Lesher [Wed, 12 May 2010 16:23:26 +0000 (16:23 +0000)]
Ensure the arguments are initialized.  Also miscellaneous CG cleanup.

(closes issue #16576)
 Reported by: uxbod
 Patches:
       20100505__issue16576.diff.txt uploaded by tilghman (license 14)
 Tested by: uxbod

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

9 years agoConvert to AST_CLI_YESNO and AST_CLI_ONOFF
Paul Belanger [Wed, 12 May 2010 01:00:55 +0000 (01:00 +0000)]
Convert to AST_CLI_YESNO and AST_CLI_ONOFF

Clean up chan_sip.c to use new AST_CLI functions

(closes issue #17287)
Reported by: pabelanger
Patches:
      issue17287.patch uploaded by pabelanger (license 224)
Tested by: russell

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

9 years agoDialing an invalid extension causes incomplete hangup sequence.
Richard Mudgett [Tue, 11 May 2010 23:18:53 +0000 (23:18 +0000)]
Dialing an invalid extension causes incomplete hangup sequence.

Revision -r1489 of the libpri 1.4 branch corrected a deviation from Q.931
Section 5.3.2.  However, this resulted in an unexpected behaviour change
to the upper layer (Asterisk).

This change uses pri_hangup_fix_enable() to follow Q.931 Section 5.3.2
call hangup better if the version of libpri supports it.

(issue #17104)
Reported by: shawkris
Tested by: rmudgett

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

9 years agoMove cause 200 to cause 26, as specified in Q.850.
Tilghman Lesher [Tue, 11 May 2010 21:25:05 +0000 (21:25 +0000)]
Move cause 200 to cause 26, as specified in Q.850.

Also cleanup the formatting and add a few more that seem like good candidates.

(closes issue #16157)
 Reported by: wimpy

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

9 years agoMerged revisions 262421 via svnmerge from
Jason Parker [Tue, 11 May 2010 19:57:24 +0000 (19:57 +0000)]
Merged revisions 262421 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r262421 | qwell | 2010-05-11 14:55:42 -0500 (Tue, 11 May 2010) | 11 lines

  Use a less silly method for modifying a flex-generated file.

  The sed syntax that was used wasn't actually valid, causing some versions to
  choke.  This is the method that is used in 1.6.x+ for similar changes.

  (closes issue #16696)
  Reported by: bklang
  Patches:
        16696-sedfix.diff uploaded by qwell (license 4)
  Tested by: qwell
........

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

9 years agoImprove logging by displaying line number
Paul Belanger [Tue, 11 May 2010 19:40:37 +0000 (19:40 +0000)]
Improve logging by displaying line number

(closes issue #16303)
Reported by: dant
Patches:
      issue16303.patch.v2 uploaded by pabelanger (license 224)
Tested by: dant, lmadsen, pabelanger

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

9 years agoImprove logging information for misconfigured contexts
Paul Belanger [Tue, 11 May 2010 19:26:17 +0000 (19:26 +0000)]
Improve logging information for misconfigured contexts

(closes issue #17238)
Reported by: pprindeville
Patches:
      chan_sip-bug17238.patch uploaded by pprindeville (license 347)
Tested by: pprindeville

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

9 years agoMerged revisions 262321 via svnmerge from
Tilghman Lesher [Tue, 11 May 2010 17:23:51 +0000 (17:23 +0000)]
Merged revisions 262321 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r262321 | tilghman | 2010-05-11 12:22:07 -0500 (Tue, 11 May 2010) | 2 lines

  Fix issue #17302 a slightly different way (mad props to Qwell)
........

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

9 years agoAllow bootstrap script to work on Solaris.
Jason Parker [Tue, 11 May 2010 16:43:07 +0000 (16:43 +0000)]
Allow bootstrap script to work on Solaris.

As usual, the way they do things is different, so we need to account for that.
automake is versioned ala BSD/Linux, but autoconf is not.  We don't actually
need to specify a version there, since AC_PREREQ will cover it for us.  Things
will fail pretty loudly if AC_PREREQ isn't met.

(closes issue #16341)
Reported by: bklang
Patches:
      opensolaris_bootstrap.sh uploaded by bklang (license 919)

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

9 years agofixes PickupChan application
David Vossel [Mon, 10 May 2010 19:06:08 +0000 (19:06 +0000)]
fixes PickupChan application

(closes issue #16863)
Reported by: schern
Patches:
      app_directed_pickup.c.patch uploaded by schern (license 995)
      for_trunk.diff uploaded by cjacobsen (license 1029)
Tested by: Graber, cjacobsen, lathama, rickead2000, dvossel

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

9 years agofixes crash in chan_console
David Vossel [Mon, 10 May 2010 18:36:10 +0000 (18:36 +0000)]
fixes crash in chan_console

There is a race condition between console_hangup()
and start_stream().  It is possible for console_hangup()
to be called and then the stream thread to begin after the hangup.
To avoid this a check in start_stream() to make sure the pvt-owner
still exists while the pvt lock is held is made.  If the owner
is gone that means the channel hung up and start_stream should
be aborted.

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

9 years agoMerged revisions 262151 via svnmerge from
Tilghman Lesher [Mon, 10 May 2010 16:36:25 +0000 (16:36 +0000)]
Merged revisions 262151 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r262151 | tilghman | 2010-05-10 11:34:21 -0500 (Mon, 10 May 2010) | 10 lines

  Allow compilation on Mac OS X 10.4 (Tiger)

  (closes issue #17297)
   Reported by: jcovert
   Patches:
         20100506__issue17297.diff.txt uploaded by tilghman (license 14)

  (closes issue #17302)
   Reported by: jcovert
........

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

9 years agoCleanup a bit more by getting rid of useless version defines. Also make library detec...
Tilghman Lesher [Sun, 9 May 2010 02:14:04 +0000 (02:14 +0000)]
Cleanup a bit more by getting rid of useless version defines. Also make library detection use passed CFLAGS.

(closes issue #17309)
 Reported by: stuarth

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

9 years agoUse CPPFLAGS to pass PTHREAD_CFLAGS for vpb only
Tilghman Lesher [Sat, 8 May 2010 02:40:01 +0000 (02:40 +0000)]
Use CPPFLAGS to pass PTHREAD_CFLAGS for vpb only

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

9 years agoVoicemailMain and VMauthenticate, allow escape to the 'a' extension when a single...
Alec L Davis [Fri, 7 May 2010 23:54:15 +0000 (23:54 +0000)]
VoicemailMain and VMauthenticate, allow escape to the 'a' extension when a single '*' is entered

Where a site uses VoicemailMain(mailbox) the users have to be at their own extension to clear
their voicemail, they have no way of escaping VoicemailMain to allow entry of new boxnumber.

This patch, allows a site to include to 'a' priority in the VoicemailMain context, to allow an escape.

If the 'a' priority doesn't exist in the context that VoicemailMain was called from then it acts as the old behaviour.

  Reported by: alecdavis
  Tested by: alecdavis
  Patch
 vm_a_extension.diff2.txt uploaded by alecdavis (license 585)

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

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

9 years agoFix build on Linux
Tilghman Lesher [Fri, 7 May 2010 22:09:09 +0000 (22:09 +0000)]
Fix build on Linux

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

9 years agoDouble free crash
Tilghman Lesher [Fri, 7 May 2010 20:54:35 +0000 (20:54 +0000)]
Double free crash

(closes issue #17245)
 Reported by: thedavidfactor
 Patches:
       20100426__issue17245.diff.txt uploaded by tilghman (license 14)
 Tested by: murraytm

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

9 years agoUse the detected pthread building flags in every place, instead of hardcoding -lpthread.
Tilghman Lesher [Fri, 7 May 2010 20:35:17 +0000 (20:35 +0000)]
Use the detected pthread building flags in every place, instead of hardcoding -lpthread.

We nicely detect the right flags on each system for building Asterisk with
pthreads, then ignore it for every other build option that requires us to
build with pthreads.  This caused some items to return a false negative.
Also cleanup some minor naming issues that caused "library library" redundancy
in the output.

(closes issue #17303)
 Reported by: stuarth
 Patches:
       20100507__issue17303.diff.txt uploaded by tilghman (license 14)
 Tested by: stuarth

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

9 years agoUpdate UPGRADE-1.6.txt stating insecure=very has been removed.
Leif Madsen [Fri, 7 May 2010 16:05:24 +0000 (16:05 +0000)]
Update UPGRADE-1.6.txt stating insecure=very has been removed.

(closes issue #17282)
Reported by: stuarth
Tested by: stuarth

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

9 years agoFix deadlock in sig_pri when hanging up.
Jeff Peeler [Fri, 7 May 2010 15:33:52 +0000 (15:33 +0000)]
Fix deadlock in sig_pri when hanging up.

The pri_dchannel thread currently violates locking order by locking the private
and then attempting to queue a frame, which needs to lock the channel. Queueing
a frame is unneccesary though and is actually a regression since sig_pri.
All the places that currently use ast_softhangup_nolock now will just set the
softhangup value directly as before.

(closes issue #17216)
Reported by: lmsteffan
Patches:
      bug17216.patch uploaded by jpeeler (license 325)

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

9 years agoSome code optimizations.
Richard Mudgett [Thu, 6 May 2010 23:41:22 +0000 (23:41 +0000)]
Some code optimizations.

* Made more places use pri_queue_control() instead of pri_queue_frame()
and a local frame variable.

* Made pri_queue_frame() use sig_pri_lock_owner().  pri_queue_frame() no
longer releases the libpri access lock unless it is required.

* Made the pri_queue_frame() and pri_queue_control() parameter list
similar to sig_pri_lock_owner().

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

9 years agoMerged revisions 261735 via svnmerge from
Jeff Peeler [Thu, 6 May 2010 20:11:53 +0000 (20:11 +0000)]
Merged revisions 261735 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r261735 | jpeeler | 2010-05-06 15:10:59 -0500 (Thu, 06 May 2010) | 8 lines

  Only allow the operator key to be accepted after leaving a voicemail.

  Or rather disallow the operator key from being accepted when not offered,
  such as after finishing a recording from within the mailbox options menu.

  ABE-2121
  SWP-1267
........

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

9 years agoMerged revisions 261608 via svnmerge from
Jason Parker [Thu, 6 May 2010 17:06:40 +0000 (17:06 +0000)]
Merged revisions 261608 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r261608 | qwell | 2010-05-06 11:56:02 -0500 (Thu, 06 May 2010) | 4 lines

  Use the versioned MOH tarballs, now that we have them.

  This makes for more reproducibility.  Prompted by a discussion in #asterisk-dev
........

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

9 years agoPermit more lines within a SIP body to be parsed.
Tilghman Lesher [Thu, 6 May 2010 15:39:10 +0000 (15:39 +0000)]
Permit more lines within a SIP body to be parsed.

The example given within the related issue showed 120 lines, which was mostly
a result of the body being XML.

(closes issue #17179)
 Reported by: khw

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

9 years agoAdd test case for removing random elements from a heap.
Russell Bryant [Thu, 6 May 2010 14:15:57 +0000 (14:15 +0000)]
Add test case for removing random elements from a heap.

I modified the original patch for trunk to use the unit test API.

(issue #17277)
Reported by: cappucinoking
Patches:
      test_heap.diff uploaded by cappucinoking (license 1036)
Tested by: cappucinoking, russell

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

9 years agoFix handling of removing nodes from the middle of a heap.
Russell Bryant [Thu, 6 May 2010 13:58:07 +0000 (13:58 +0000)]
Fix handling of removing nodes from the middle of a heap.

This bug surfaced in 1.6.2 and does not affect code in any other released
version of Asterisk.  It manifested itself as SIP qualify not happening when
it should, causing peers to go unreachable.  This was debugged down to scheduler
entries sometimes not getting executed when they were supposed to, which was in
turn caused by an error in the heap code.

The problem only sometimes occurs, and it is due to the logic for removing an entry
in the heap from an arbitrary location (not just popping off the top).  The scheduler
performs this operation frequently when entries are removed before they run (when
ast_sched_del() is used).

In a normal pop off of the top of the heap, a node is taken off the bottom,
placed at the top, and then bubbled down until the max heap property is restored
(see max_heapify()).  This same logic was used for removing an arbitrary node
from the middle of the heap.  Unfortunately, that logic is full of fail.  This
patch fixes that by fully restoring the max heap property when a node is thrown
into the middle of the heap.  Instead of just pushing it down as appropriate, it
first pushes it up as high as it will go, and _then_ pushes it down.

Lastly, fix a minor problem in ast_heap_verify(), which is only used for
debugging.  If a parent and child node have the same value, that is not an
error.  The only error is if a parent's value is less than its children.

A huge thanks goes out to cappucinoking for debugging this down to the scheduler,
and then producing an ast_heap test case that demonstrated the breakage.  That
made it very easy for me to focus on the heap logic and produce a fix.  Open source
projects are awesome.

(closes issue #16936)
Reported by: ib2
Tested by: cappucinoking, crjw

(closes issue #17277)
Reported by: cappucinoking
Patches:
      heap-fix.rev2.diff uploaded by russell (license 2)
Tested by: cappucinoking, russell

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

9 years agoWhen failing to configure, don't destroy 'cfg' twice
Tzafrir Cohen [Thu, 6 May 2010 07:27:31 +0000 (07:27 +0000)]
When failing to configure, don't destroy 'cfg' twice

Fixes a crash when some config section had an incorrect channel config.

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

9 years agoAvoid a crash on SS7 channels.
Richard Mudgett [Wed, 5 May 2010 22:22:14 +0000 (22:22 +0000)]
Avoid a crash on SS7 channels.

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