13 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

  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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      check_rtp_timeout.diff uploaded by under (license 914)
Tested by: dvossel

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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
         20100519__issue15932.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
       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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      hangup-all-rev-221688.patch uploaded by moy (license 222)
Tested by: moy, russell

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      issue_17248.diff uploaded by dvossel (license 671)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      bug17359.diff.txt uploaded by alecdavis (license 585)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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
         dsp.c-bug16749-1.patch uploaded by dant (license 670)
   Tested by: dant

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      utils.diff uploaded by under (license 914)
      segfault_on_logging.diff uploaded by dvossel (license 671)
Tested by: under, dvossel

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
       asterisk-trunk-bugid15370.patch uploaded by pprindeville (license 347)
 Tested by: pprindeville, tilghman, seanbright

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
        hints_crash_fix.diff uploaded by tim ringenbach (license 540)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
       20100513__issue17135.diff.txt uploaded by tilghman (license 14)
       17135_2.diff uploaded by ebroad (license 878)
 Tested by: edhorton, ebroad

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

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.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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
        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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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

  (closes issue #17123)
  Reported by: n8ideas

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

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

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      cli.modules.patch uploaded by pabelanger (license 224)
Tested by: pabelanger, russell

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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

  (closes issue #17133)
  Reported by: jsdyer

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 262657,262660 from
Richard Mudgett [Wed, 12 May 2010 16:51:03 +0000 (16:51 +0000)]
Merged revisions 262657,262660 from

  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.

        misdn_rerouteing_corrected.patch (Slightly modified.)

  JIRA ABE-2223

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
       20100505__issue16576.diff.txt uploaded by tilghman (license 14)
 Tested by: uxbod

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

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

Clean up chan_sip.c to use new AST_CLI functions

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

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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
        16696-sedfix.diff uploaded by qwell (license 4)
  Tested by: qwell

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      issue16303.patch.v2 uploaded by pabelanger (license 224)
Tested by: dant, lmadsen, pabelanger

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      chan_sip-bug17238.patch uploaded by pprindeville (license 347)
Tested by: pprindeville

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: uploaded by bklang (license 919)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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
         20100506__issue17297.diff.txt uploaded by tilghman (license 14)

  (closes issue #17302)
   Reported by: jcovert

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
 vm_a_extension.diff2.txt uploaded by alecdavis (license 585)


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
       20100426__issue17245.diff.txt uploaded by tilghman (license 14)
 Tested by: murraytm

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
       20100507__issue17303.diff.txt uploaded by tilghman (license 14)
 Tested by: stuarth

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      bug17216.patch uploaded by jpeeler (license 325)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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

  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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      test_heap.diff uploaded by cappucinoking (license 1036)
Tested by: cappucinoking, russell

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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
      heap-fix.rev2.diff uploaded by russell (license 2)
Tested by: cappucinoking, russell

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 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: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoRestore previous asterisk.conf syntax, where the directories aren't commented out.
Russell Bryant [Wed, 5 May 2010 20:48:15 +0000 (20:48 +0000)]
Restore previous asterisk.conf syntax, where the directories aren't commented out.

This fixes some breakage in the test suite, that uses the contents of asterisk.conf
to discover the install layout on the system.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agofixes sip native transfer
David Vossel [Wed, 5 May 2010 19:13:57 +0000 (19:13 +0000)]
fixes sip native transfer

The Refer-To header field containing the Replaces header in the URI
was not being decoded properly.  This caused invalid parsing between
the caller id field and the domain resulting in a failed transfer.

(closes issue #17284)
Reported by: dvossel

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 261274 via svnmerge from
Paul Belanger [Wed, 5 May 2010 18:43:03 +0000 (18:43 +0000)]
Merged revisions 261274 via svnmerge from

  r261274 | pabelanger | 2010-05-05 12:42:22 -0400 (Wed, 05 May 2010) | 12 lines

  Registration fix for SIP realtime.

  Make sure realtime fields are not empty.

  (closes issue #17266)
  Reported by: Nick_Lewis
        chan_sip.c-realtime.patch uploaded by Nick Lewis (license 657)
  Tested by: Nick_Lewis, sberney


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoPrevent unnecessary warnings when getting rtpsource or rtpdest.
Mark Michelson [Wed, 5 May 2010 18:28:05 +0000 (18:28 +0000)]
Prevent unnecessary warnings when getting rtpsource or rtpdest.

If a recognized media type was present, but the media type was not
enabled for the channel, then a warning would be emitted. For instance,
attempting to get CHANNEL(rtpsource,video) on a call with no video would
cause a warning message to appear.

With this change, the warning will only appear if the stream argument
is not recognized as being a media type that can be specified.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years ago'queue reset stats' erroneously clears wrapuptime configuration.
Paul Belanger [Wed, 5 May 2010 15:42:07 +0000 (15:42 +0000)]
'queue reset stats' erroneously clears wrapuptime configuration.

Resets each member's lastcall to 0 now.

(closes issue #17262)
Reported by: rain
      wrapuptime_reset_fix.diff uploaded by rain (license 327)
Tested by: rain

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoNew 'manager show settings' CLI command.
Paul Belanger [Wed, 5 May 2010 00:44:37 +0000 (00:44 +0000)]
New 'manager show settings' CLI command.

See the CHANGES file for more details.

(closes issue #16343)
Reported by: pabelanger
      issue16343.patch.v5 uploaded by pabelanger (license 224)
Tested by: pabelanger, tilghman, lmadsen


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoNew static asterisk.conf.sample file.
Paul Belanger [Wed, 5 May 2010 00:22:32 +0000 (00:22 +0000)]
New static asterisk.conf.sample file.

This simply moves the functionality from the Makefile (cleaning it up) into an external
asterisk.conf.samples file.  Also updates formatting (easier to read) and grammar
changes to asterisk.conf.samples.

(closes issue #17027)
Reported by: pabelanger
      0017027.asterisk.conf.v6.patch uploaded by pabelanger (license 224)
Tested by: qwell, lmadsen, pabelanger, chappell


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 261093-261094 via svnmerge from
Tilghman Lesher [Tue, 4 May 2010 23:51:52 +0000 (23:51 +0000)]
Merged revisions 261093-261094 via svnmerge from

  r261093 | tilghman | 2010-05-04 18:36:53 -0500 (Tue, 04 May 2010) | 7 lines

  Protect against overflow, when calculating how long to wait for a frame.

  (closes issue #17128)
   Reported by: under
         d.diff uploaded by under (license 914)
  r261094 | tilghman | 2010-05-04 18:47:08 -0500 (Tue, 04 May 2010) | 2 lines

  Add a tiny corner case to the previous commit

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAdd new possible value to autopause option to allow members to be autopaused in all...
Mark Michelson [Tue, 4 May 2010 22:46:42 +0000 (22:46 +0000)]
Add new possible value to autopause option to allow members to be autopaused in all queues.

See the CHANGES file and queues.conf.sample for more details.

(closes issue #17008)
Reported by: jlpedrosa
      queues.autopause_en_review.diff uploaded by jlpedrosa (license 1002)


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoThe inalarm flag is not passed up from the sig_analog and sig_pri submodules.
Richard Mudgett [Tue, 4 May 2010 21:10:58 +0000 (21:10 +0000)]
The inalarm flag is not passed up from the sig_analog and sig_pri submodules.

The CLI "dahdi show channel" command was not correctly reporting the
InAlarm status.

The inalarm flag is now consistently passed between chan_dahdi and

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260923 via svnmerge from
Jeff Peeler [Tue, 4 May 2010 18:51:28 +0000 (18:51 +0000)]
Merged revisions 260923 via svnmerge from

  r260923 | jpeeler | 2010-05-04 13:46:46 -0500 (Tue, 04 May 2010) | 12 lines

  Voicemail transfer to operator should occur immediately, not after main menu.

  There were two scenarios in the advanced options that while using the
  operator=yes and review=yes options, the transfer occurred only after exiting
  the main menu (after sending a reply or leaving a message for an extension).
  Now after the audio is processed for the reply or message the transfer occurs
  immediately as expected.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260801 via svnmerge from
Jason Parker [Tue, 4 May 2010 15:49:57 +0000 (15:49 +0000)]
Merged revisions 260801 via svnmerge from

  r260801 | qwell | 2010-05-04 10:49:27 -0500 (Tue, 04 May 2010) | 1 line

  Fix fallout from removing  from configure script.  Pointed out by philipp64 on #asterisk-dev

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAdd new admin features to meetme: Roll call, eject all, mute all, record in-conf
Jeff Peeler [Mon, 3 May 2010 22:13:24 +0000 (22:13 +0000)]
Add new admin features to meetme: Roll call, eject all, mute all, record in-conf

This patch adds the following in-conference admin DTMF features:
*81 - Roll call (or simply user count if INTROUSER isn't enabled)
*82 - Eject all non-admins
*83 - Mute/unmute all non-admins
*84 - Start recording the conference on the fly

FWIW, this code uses newly recorded prompts.

(closes issue #16379)
Reported by: rfinnie
      meetme-enhancements-232771-v1.patch uploaded by rfinnie (license 940)
      modified slightly by me

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260661-260662 via svnmerge from
Paul Belanger [Mon, 3 May 2010 17:06:48 +0000 (17:06 +0000)]
Merged revisions 260661-260662 via svnmerge from

  r260661 | pabelanger | 2010-05-03 12:41:30 -0400 (Mon, 03 May 2010) | 10 lines

  non-root make install PREFIX=/tmp fails.
  Prepend libdir when executing mkpkgconfig allowing non-root installs to work.

  (closes issue #17268)
  Reported by: pabelanger
        issue17268.patch uploaded by pabelanger (license 224)
  Tested by: pabelanger
  r260662 | pabelanger | 2010-05-03 12:54:41 -0400 (Mon, 03 May 2010) | 3 lines

  Should have removed /usr/lib/ part. Thanks Qwell.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260569 via svnmerge from
Leif Madsen [Mon, 3 May 2010 14:58:23 +0000 (14:58 +0000)]
Merged revisions 260569 via svnmerge from

  r260569 | lmadsen | 2010-05-03 09:57:39 -0500 (Mon, 03 May 2010) | 1 line

  Minor typo pointed out by pabelanger on IRC.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoAvoid making AstData depend on libxml2 to compile.
Eliel C. Sardanons [Sun, 2 May 2010 02:52:23 +0000 (02:52 +0000)]
Avoid making AstData depend on libxml2 to compile.

We have some functions inside the AstData API to get the tree
in XML form, but it is not required at the moment to compile
asterisk and we can disable that part of the API if we don't have
libxml2 support.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260434 via svnmerge from
Jeff Peeler [Fri, 30 Apr 2010 22:36:49 +0000 (22:36 +0000)]
Merged revisions 260434 via svnmerge from

  r260434 | jpeeler | 2010-04-30 17:22:46 -0500 (Fri, 30 Apr 2010) | 11 lines

  Ensure channel state is not incorrectly set in the case of a very early answer.

  The needringing bit was being read in dahdi_read after answering thereby
  setting the state to ringing from up. This clears needringing upon answering
  so that is no longer possible.

  (closes issue #17067)
  Reported by: tzafrir
        needringing.diff uploaded by tzafrir (license 46)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoSeparate the uses of NUM_DCHANS and MAX_CHANNELS into PRI, SS7, and MFCR2 users.
Richard Mudgett [Fri, 30 Apr 2010 22:24:28 +0000 (22:24 +0000)]
Separate the uses of NUM_DCHANS and MAX_CHANNELS into PRI, SS7, and MFCR2 users.


Also fixed the declaration of pollers[] in mfcr2_monitor().  It was
dimensioned to the number of bytes in struct dahdi_mfcr2.pvts[] and not to
the same dimension of the struct dahdi_mfcr2.pvts[].

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260345 via svnmerge from
Mark Michelson [Fri, 30 Apr 2010 20:11:02 +0000 (20:11 +0000)]
Merged revisions 260345 via svnmerge from

  r260345 | mmichelson | 2010-04-30 15:08:15 -0500 (Fri, 30 Apr 2010) | 18 lines

  Fix potential crash from race condition due to accessing channel data without the channel locked.

  In res_musiconhold.c, there are several places where a channel's
  stream's existence is checked prior to calling ast_closestream on it. The issue
  here is that in several cases, the channel was not locked while checking the
  stream. The result was that if two threads checked the state of the channel's
  stream at approximately the same time, then there could be a situation where
  both threads attempt to call ast_closestream on the channel's stream. The result
  here is that the refcount for the stream would go below 0, resulting in a crash.

  I have added proper channel locking to res_musiconhold.c to ensure that
  we do not try to check chan->stream without the channel locked. A Digium customer
  has been using this patch for several weeks and has not had any crashes since
  applying the patch.


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix logic reversal error when queue callers join the queue.
Mark Michelson [Fri, 30 Apr 2010 19:53:36 +0000 (19:53 +0000)]
Fix logic reversal error when queue callers join the queue.

When a specific position is specified for the queue, the idea
was that the caller cannot be placed ahead of higher-priority
callers. Unfortunately, the logic was reversed so that the caller
could ONLY be placed ahead of higher priority callers.

Discovered while writing a unit test.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoDon't allow file descriptors to go above 64k, when we're closing them in a fork(2).
Tilghman Lesher [Fri, 30 Apr 2010 06:19:35 +0000 (06:19 +0000)]
Don't allow file descriptors to go above 64k, when we're closing them in a fork(2).

This saves time, when, even though the system allows the process limit to be
that high, the practical limit is much lower.  Also introduce an additional
optimization, in the form of using the CLOEXEC flag to close descriptors at
the right time.

(closes issue #17223)
 Reported by: dbackeberg
       20100423__issue17223.diff.txt uploaded by tilghman (license 14)
 Tested by: dbackeberg

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoLogic fixups for a sample FREENUM dialplan context.
Tilghman Lesher [Fri, 30 Apr 2010 05:23:56 +0000 (05:23 +0000)]
Logic fixups for a sample FREENUM dialplan context.

(closes issue #17263)
 Reported by: pprindeville
       freenum-dialplan.patch#3 uploaded by pprindeville (license 347)

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260195 via svnmerge from
Richard Mudgett [Thu, 29 Apr 2010 22:44:14 +0000 (22:44 +0000)]
Merged revisions 260195 via svnmerge from

  r260195 | rmudgett | 2010-04-29 17:11:47 -0500 (Thu, 29 Apr 2010) | 26 lines

  DTMF CallerID detection problems.

  The code handling DTMF CallerID drops digits on long CallerID numbers and
  may timeout waiting for the first ring with shorter numbers.

  The DTMF emulation mode was not turned off when processing DTMF CallerID.
  When the emulation code gets behind in processing the DTMF digits it can
  skip a digit.

  For shorter numbers, the timeout may have been too short.  I increased it
  from 2 seconds to 4 seconds.  Four seconds is a typical time between rings
  for many countries.

  (closes issue #16460)
  Reported by: sum
        issue16460.patch uploaded by rmudgett (license 664)
        issue16460_v1.6.2.patch uploaded by rmudgett (license 664)
  Tested by: sum, rmudgett


  JIRA SWP-562
  JIRA AST-334
  JIRA SWP-901

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoPattern match fail.
Tilghman Lesher [Thu, 29 Apr 2010 18:15:57 +0000 (18:15 +0000)]
Pattern match fail.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 260049 via svnmerge from
David Vossel [Thu, 29 Apr 2010 15:33:27 +0000 (15:33 +0000)]
Merged revisions 260049 via svnmerge from

  r260049 | dvossel | 2010-04-29 10:31:02 -0500 (Thu, 29 Apr 2010) | 14 lines

  Fixes crash in audiohook_write_list

  The middle_frame in the audiohook_write_list function was
  being freed if a audiohook manipulator returned a failure.
  This is incorrect logic.  This patch resolves this and
  adds detailed descriptions of how this function should work
  and why manipulator failures must be ignored.

  (closes issue #17052)
  Reported by: dvossel
  Tested by: dvossel

  (closes issue #16196)
  Reported by: atis


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoFix comment.
Richard Mudgett [Thu, 29 Apr 2010 00:35:14 +0000 (00:35 +0000)]
Fix comment.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoDon't override peer context with domain context.
Mark Michelson [Wed, 28 Apr 2010 22:34:15 +0000 (22:34 +0000)]
Don't override peer context with domain context.

(closes issue #17040)
Reported by: pprindeville
      asterisk-1.6-bugid17040.patch uploaded by pprindeville (license 347)
Tested by: pprindeville


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 259858 via svnmerge from
David Vossel [Wed, 28 Apr 2010 21:20:03 +0000 (21:20 +0000)]
Merged revisions 259858 via svnmerge from

  r259858 | dvossel | 2010-04-28 16:16:03 -0500 (Wed, 28 Apr 2010) | 33 lines

  resolves deadlocks in chan_local

  In the local_hangup() 3 locks must be held at the same time... pvt, pvt->chan,
  and pvt->owner.  Proper deadlock avoidance is done when the channel to hangup
  is the outbound chan_local channel, but when it is not the outbound channel we
  have an issue... We attempt to do deadlock avoidance only on the tech pvt, when
  both the tech pvt and the pvt->owner are locked coming into that loop.  By
  never giving up the pvt->owner channel deadlock avoidance is not entirely possible.
  This patch resolves that by doing deadlock avoidance on both the pvt->owner and the pvt
  when trying to get the pvt->chan lock.

  ast_prod() is used in ast_activate_generator() to queue a frame on the channel
  and make the channel's read function get called.  This function is used in
  ast_activate_generator() while the channel is locked, which mean's the channel
  will have a lock both from the generator code and the frame_queue code by the
  time it gets to chan_local.c's local_queue_frame code... local_queue_frame
  contains some of the same crazy deadlock avoidance that local_hangup requires,
  and this recursive lock prevents that deadlock avoidance from happening correctly.
  This patch removes ast_prod() from the channel lock so only one lock is held during
  the local_queue_frame function.

  (closes issue #17185)
  Reported by: schmoozecom
        issue_17185_v1.diff uploaded by dvossel (license 671)
        issue_17185_v2.diff uploaded by dvossel (license 671)
  Tested by: schmoozecom, GameGamer43


git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3

13 years agoMerged revisions 259852 via svnmerge from
Leif Madsen [Wed, 28 Apr 2010 21:08:34 +0000 (21:08 +0000)]
Merged revisions 259852 via svnmerge from

  r259852 | lmadsen | 2010-04-28 16:07:48 -0500 (Wed, 28 Apr 2010) | 6 lines

  Update config.guess.

  Updating config.guess because after installing Ubuntu Server 9.10 and
  running all the update scripts, running ./configure would not continue
  because it was unable to determine what kind of system I had. After
  updating config.guess things started working again.

git-svn-id: 65c4cc65-6c06-0410-ace0-fbb531ad65f3