10 years agoFix the Park 'r' option when a channel parks itself.
Richard Mudgett [Mon, 29 Oct 2012 19:31:36 +0000 (19:31 +0000)]
Fix the Park 'r' option when a channel parks itself.

When a channel uses the Park appliation to park itself with the 'r'
option, the channel hears music-on-hold instead of the requested ringing.

* Added a missing check for the 'r' option when a channel parks itself.

(closes issue ASTERISK-19382)
Reported by: James Stocks
Patches by: dsessions


Merged revisions 375388 from

Merged revisions 375389 from

Merged revisions 375390 from

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

10 years agochan_dahdi: Fix segfault dereferencing a NULL tech_pvt.
Richard Mudgett [Mon, 29 Oct 2012 15:56:13 +0000 (15:56 +0000)]
chan_dahdi: Fix segfault dereferencing a NULL tech_pvt.

The tech support customer was using the AMI Redirect action shortly after
a call was placed.  While the channel tried to do an ast_read(), the
masquerade resulting from the channel redirect took place.  The masquerade
in the middle of the ast_read() resulted in the segfault.

(closes issue AST-1025)
Reported by: Trey Blancher
      jira_ast_1025_v1.8_v2.patch (license #5621) patch uploaded by rmudgett

Merged revisions 375361 from

Merged revisions 375362 from

Merged revisions 375363 from

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

10 years agoast_tls_cert script: Better response for various exit conditions to openssl
Jonathan Rose [Tue, 23 Oct 2012 16:22:44 +0000 (16:22 +0000)]
ast_tls_cert script: Better response for various exit conditions to openssl

(closes issue ASTERISK-20260)
Reported by: Daniel O'Connor
ast_tls_cert-update.diff uploaded by Daniel O'Connor (license 6419)

Merged revisions 375325 from

Merged revisions 375326 from

Merged revisions 375327 from

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

10 years agocore: Fix a memory leak in app.c from an early return
Jonathan Rose [Mon, 22 Oct 2012 20:19:51 +0000 (20:19 +0000)]
core: Fix a memory leak in app.c from an early return

ast_app_group_match_get_count allocates memory with the regcomp
function and we previously forgot to free it when bailing out
due to a regex compilation failure against category.

(closes issue AST-1018)
Reported by: Guenther Kelleter
regcomp_memleak.diff uploaded by Guenther Kelleter (license 6372)

Merged revisions 375299 from

Merged revisions 375300 from

Merged revisions 375301 from

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

10 years agoGSM: Fix encoding problems with GSM
Jonathan Rose [Mon, 22 Oct 2012 17:31:20 +0000 (17:31 +0000)]
GSM: Fix encoding problems with GSM

(closes issue ASTERISK-20457)
Reported by: Richard Miller
code.patch uploaded by Richard Miller (license 5685)

Merged revisions 375272 from

Merged revisions 375273 from

Merged revisions 375288 from

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

10 years agoapp_queue: add upgrade notes for 375216
Jonathan Rose [Thu, 18 Oct 2012 21:49:24 +0000 (21:49 +0000)]
app_queue: add upgrade notes for 375216

Adds UPGRADE notes describing behavioral changes to rrmemory strategy caused by

(issue AST-989)
Reported by: Thomas Arimont

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

10 years agoBlocked revisions 375247
Jonathan Rose [Thu, 18 Oct 2012 21:47:46 +0000 (21:47 +0000)]
Blocked revisions 375247

pp_queue: add upgrade notes for 375216

Adds UPGRADE notes describing behavioral changes to rrmemory strategy caused by

(issue AST-989)
Reported by: Thomas Arimont

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

10 years agoapp_queue: Make ordering of rrmemory/rrordered persist over add/remove members
Jonathan Rose [Thu, 18 Oct 2012 21:25:22 +0000 (21:25 +0000)]
app_queue: Make ordering of rrmemory/rrordered persist over add/remove members

Prior to this patch, adding, removing or reloading  members to rrmemory would
cause the order to become completely jumbled. Now it behaves more or less like
rrordered other than the fact that it stores the members on a hash table rather
than a linked list. This patch also prevents removal of members and member
reloads from jumbling rrordered queues.

(issue AST-989)
Reported by: Thomas Arimont

Merged revisions 375216 from

Merged revisions 375217 from

Merged revisions 375219 from

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

10 years agoFix XML Document Validation Failure
Michael L. Young [Thu, 18 Oct 2012 20:31:05 +0000 (20:31 +0000)]
Fix XML Document Validation Failure

Fix documentation error when validating the xml in trunk caused by r375150.
Moved the description end tag down to below the variablelist element end tag.

Found when compiling with --dev-mode-enabled.

(issue ASTERISK-20289)

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

10 years agobuild_tools: Allow Asterisk to report git SHAs in version string.
Richard Mudgett [Thu, 18 Oct 2012 20:13:17 +0000 (20:13 +0000)]
build_tools: Allow Asterisk to report git SHAs in version string.

Make git more attractive for managing work-in-progress.  Especially
convenient when a potential patch set needs to be tested on multiple
platforms since one can use git to keep all the test environments in sync
independent of a subversion server.

Now the Asterisk version will show the exact git SHA5 that was used when
building (still appended by "M" if there are local modifications) from a
git clone of the Asterisk repository so the developer can more easily know
what is actually under test.

You will now get this:

  $ asterisk -V
  Asterisk GIT-1698298

Instead of this:

  $ asterisk -V
  Asterisk UNKNOWN__and_probably_unsupported

This has zero impact for those not using git with the exception of an
extra test in the configure script to gather git's path.  This is
necessary to prevent "sudo make install" from failing since git may not be
in the path in make's shell environment.

(closes issue ASTERISK-20483)
Reported by: Shaun Ruffell
      0001-build_tools-Allow-Asterisk-to-report-git-SHAs-in-ver.patch (license #5417) patch uploaded by Shaun Ruffell

Merged revisions 375189 from

Merged revisions 375190 from

Merged revisions 375191 from

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

10 years agoDoxygen Updates - Title update
Andrew Latham [Thu, 18 Oct 2012 14:17:40 +0000 (14:17 +0000)]
Doxygen Updates - Title update

Update and extend the configuration_file group and enable linking. Commit other cleanups from multi-version Doxygen testing.  Update title that was left behind many years ago.

(issue ASTERISK-20259)

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

10 years agomanager: remove curses dependent stuff from r375103
Jonathan Rose [Wed, 17 Oct 2012 20:34:40 +0000 (20:34 +0000)]
manager: remove curses dependent stuff from r375103

Upon further examination, this code was causing compliation problems on
CentOS at the least (possibly on any machine without curses) and also
the local value of COLS is used even with a remote console, so it is
less than ideal.

(issue ASTERISK-20396)
Reported by: Johan Wilfer

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

10 years agoAdds new formats to app_alarmreceiver, ALAW calls support and enhanced protection.
Pedro Kiefer [Wed, 17 Oct 2012 19:02:46 +0000 (19:02 +0000)]
Adds new formats to app_alarmreceiver, ALAW calls support and enhanced protection.

Commiting this on behalf of Kaloyan Kovachev (license 5506).
AlarmReceiver now supports the following DTMF signaling types:
 - ContactId
 - 4x1
 - 4x2
 - High Speed
 - Super Fast
We are also auto-detecting which signaling is being received. So support for
those protocols should work out-the-box. Correctly identify ALAW / ULAW calls.
Some enhanced protection for broken panels and malicious callers where added.

(closes issue ASTERISK-20289)
Reported by: Kaloyan Kovachev


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

10 years agoEnsure Asterisk fails TCP/TLS SIP calls when certificate checking fails
Kinsey Moore [Wed, 17 Oct 2012 19:01:27 +0000 (19:01 +0000)]
Ensure Asterisk fails TCP/TLS SIP calls when certificate checking fails

When placing a call to a TCP/TLS SIP endpoint whose certificate is not
signed by a configured CA certificate, Asterisk would issue a warning
and continue to process the call as if there was not an issue with the
certificate.  Asterisk now properly fails the call if the certificate
fails verification or if the certificate does not exist when
certificate checking is enabled (the default behavior).

(closes issue ASTERISK-20559)
Reported by: kmoore


Merged revisions 375146 from

Merged revisions 375147 from

Merged revisions 375148 from

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

10 years agoChange a few warnings to debug and the inverse.
Walter Doekes [Wed, 17 Oct 2012 14:24:52 +0000 (14:24 +0000)]
Change a few warnings to debug and the inverse.

Remove the "RTP Read too short" warning for RTP keepalives. Remove the
the warning about the application delimiter switch from pipe to comma.
(You should've done this by now.) Make cdr_odbc report more when an
insert fails. Make chan_sip warn less when the peer wants SRTP (and we
don't) or sends a zero port to disable a media type.

(closes issue ASTERISK-20538)

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

10 years agoFixes to the fd-oriented SIP TCP reads.
Walter Doekes [Tue, 16 Oct 2012 21:46:09 +0000 (21:46 +0000)]
Fixes to the fd-oriented SIP TCP reads.

Don't crash on large user input. Allow SIP headers without space.
Optimize code a bit.


Merged revisions 375111 from

Merged revisions 375112 from

Merged revisions 375113 from

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

10 years agoDon't do SIP contact/route DNS if we're not using the result.
Walter Doekes [Tue, 16 Oct 2012 21:38:00 +0000 (21:38 +0000)]
Don't do SIP contact/route DNS if we're not using the result.

In many cases (for peers behind NAT or for TCP sockets) we do not need
to look up any hostname in the Contact (or Route) when sending an
in-dialog request. This should reduce netsock2.c: getaddrinfo errors in
certain scenarios.


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

10 years agomanager: Change display of 'manager show commands' and 'manager show command'
Jonathan Rose [Tue, 16 Oct 2012 20:45:49 +0000 (20:45 +0000)]
manager: Change display of 'manager show commands' and 'manager show command'

manager show commands now shows the full name of the command being displayed
regardless of size. The privilege column has also been removed from this
display. It will also now use the full length of the terminal if curses is
available. Manager show command will now always display the privilege of
the manager command within the CLI.

(closes ASTERISK-20396)
Reported by: Johan Wilfer

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

10 years agoFixes two small regressions from ASTERISK-20157
Pedro Kiefer [Tue, 16 Oct 2012 19:26:20 +0000 (19:26 +0000)]
Fixes two small regressions from ASTERISK-20157

- receive_dtmf_digits had the wrong buffer length
- app_alarmreceiver should wait 100ms before sending the second part of handshake

(closes issue ASTERISK-20484)
Reported by: Jean-Philippe Lord
Tested by: Jean-Philippe Lord, Pedro Kiefer
     ASTERISK-20484_v2.diff uploaded by Kaloyan Kovachev (license 5506)

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

10 years agoUpdate sip_request_call SIP dial string documentation.
Walter Doekes [Tue, 16 Oct 2012 19:25:11 +0000 (19:25 +0000)]
Update sip_request_call SIP dial string documentation.

This was missed when merging review r1859.

Merged revisions 375074 from

Merged revisions 375078 from

Merged revisions 375079 from

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

10 years agoRemove a log message that was left in accidentally from call-id logging development.
Joshua Colp [Tue, 16 Oct 2012 14:09:39 +0000 (14:09 +0000)]
Remove a log message that was left in accidentally from call-id logging development.

Merged revisions 375051 from

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

10 years agoFix some potential misuses of ast_str in the code.
Mark Michelson [Mon, 15 Oct 2012 21:25:29 +0000 (21:25 +0000)]
Fix some potential misuses of ast_str in the code.

Passing an ast_str pointer by value that then calls
ast_str_set(), ast_str_set_va(), ast_str_append(), or
ast_str_append_va() can result in the pointer originally
passed by value being invalidated if the ast_str had
to be reallocated.

This fixes places in the code that do this. Only the
example in ccss.c could result in pointer invalidation
though since the other cases use a stack-allocated ast_str
and cannot be reallocated.

I've also updated the doxygen in strings.h to include
notes about potential misuse of the functions mentioned


Merged revisions 375025 from

Merged revisions 375026 from

Merged revisions 375027 from

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

10 years agoFix underscreen buttons warnings apeared while transfer process
Igor Goncharovskiy [Mon, 15 Oct 2012 08:26:58 +0000 (08:26 +0000)]
Fix underscreen buttons warnings apeared while transfer process

Merged revisions 375016 from

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

10 years agoDoxygen Updates
Andrew Latham [Sun, 14 Oct 2012 21:59:22 +0000 (21:59 +0000)]
Doxygen Updates

Update and extend the configuration_file group and enable linking.

(issue ASTERISK-20259)

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

10 years agoDoxygen Updates
Andrew Latham [Sun, 14 Oct 2012 21:57:42 +0000 (21:57 +0000)]
Doxygen Updates

Update and extend the configuration_file group and enable linking.

(issue ASTERISK-20259)

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

10 years agoTitle update
Andrew Latham [Sun, 14 Oct 2012 21:56:13 +0000 (21:56 +0000)]
Title update

Update title that was left behind many years ago. Used revision 6596 as my guide for what it should be.

(issue ASTERISK-20259)

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

10 years agoDoxygen Updates - Title update
Andrew Latham [Sun, 14 Oct 2012 21:47:40 +0000 (21:47 +0000)]
Doxygen Updates - Title update

Update and extend the configuration_file group and enable linking.  Update title that was left behind many years ago.

(issue ASTERISK-20259)

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

10 years agoDoxygen Updates - Title update
Andrew Latham [Sun, 14 Oct 2012 21:46:45 +0000 (21:46 +0000)]
Doxygen Updates - Title update

Update and extend the configuration_file group and enable linking.  Update title that was left behind many years ago.

(issue ASTERISK-20259)

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

10 years agoDoxygen Updates - Title update
Andrew Latham [Sun, 14 Oct 2012 21:45:16 +0000 (21:45 +0000)]
Doxygen Updates - Title update

Update and extend the configuration_file group and enable linking to the application.  Update title that was left behind many years ago.

(issue ASTERISK-20259)

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

10 years agoDoxygen Updates - Title update
Andrew Latham [Sun, 14 Oct 2012 21:44:27 +0000 (21:44 +0000)]
Doxygen Updates - Title update

Update and extend the configuration_file group and enable linking to the resource.  Update title that was left behind many years ago.

(issue ASTERISK-20259)

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

10 years agoUpdate config.guess and config.sub: 2012-10-10
Tzafrir Cohen [Sun, 14 Oct 2012 12:23:46 +0000 (12:23 +0000)]
Update config.guess and config.sub: 2012-10-10

Update config.guess and config.sub to revision
fb456b34ef4aa02b95dc6be69aaa66fa94a844fb from the git
repo. Adds support for e.g. aarch64 (ARM 64bit).


Merged revisions 374977 from

Merged revisions 374991 from

Merged revisions 374995 from

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

10 years agoUpdate CREDITS
Andrew Latham [Sat, 13 Oct 2012 19:58:20 +0000 (19:58 +0000)]

Update Jean-Denis and add myself

(issue ASTERISK-20259)

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

10 years agoMultiplatform Makefile Update
Andrew Latham [Sat, 13 Oct 2012 17:38:41 +0000 (17:38 +0000)]
Multiplatform Makefile Update

Paul Belanger pointed out that using sed in the Makefile is an issue with multiple platforms.  We are cleaning up the Doxygen config as a following step so I just switched the sed inplace changes to be an echo append instead.

(issue ASTERISK-20259)

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

10 years agoDoxygen Clean ups
Andrew Latham [Sat, 13 Oct 2012 16:38:48 +0000 (16:38 +0000)]
Doxygen Clean ups

Add app_skel.c as an example in app.c and fix some formating for the "Dial Privacy scripts" so it actually shows up in the Doxygen output.

(issue ASTERISK-20259)

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

10 years agoTest for Asterisk Version info
Andrew Latham [Sat, 13 Oct 2012 16:05:12 +0000 (16:05 +0000)]
Test for Asterisk Version info

Doxygen uses the ASTERISKVERSION as a sub header. If a SVN export is done and no .svn or .version file exists it defualts to UNKNOWN__and_probably_unsupported which is honest but not great for the online docs.  During the "make progdocs" I added a test for this and just warned and ommitted the version.

(issue ASTERISK-20259)

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

10 years agoCorrect output directory
Andrew Latham [Sat, 13 Oct 2012 15:40:40 +0000 (15:40 +0000)]
Correct output directory

During testing I used an alternate output directory and mistakenly committed it.  Matt Jordan noticed and I reverted.  This is the correct setting for local output to match with all branches.

(issue ASTERISK-20259)

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

10 years agoAdd licens/copyright header
Andrew Latham [Sat, 13 Oct 2012 15:14:51 +0000 (15:14 +0000)]
Add licens/copyright header

Begin update of static-http files and general clean ups.  This only adds the standard header to the files.

(issue ASTERISK-20503)

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

10 years agoAdd check for Doxygen
Andrew Latham [Sat, 13 Oct 2012 15:06:39 +0000 (15:06 +0000)]
Add check for Doxygen

The autoconf configuration system had a test for DOT but not for Doxygen.  I added the test for Doxygen and did an overhaul of the Makefile check to a much simpler process.

(issue ASTERISK-20259)

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

10 years agoAvoid a segfault on invalid format names
Kinsey Moore [Fri, 12 Oct 2012 21:58:29 +0000 (21:58 +0000)]
Avoid a segfault on invalid format names

If a format name was not found by ast_getformatbyname, a NULL pointer
would be passed into ast_format_rate and immediately dereferenced.
This ensures that a valid pointer is used since the structure is
already allocated on the stack.

(closes issue DPH-523)
Reported-by: Steve Pitts

Merged revisions 374932 from

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

10 years agoDo not use a FILE handle when doing SIP TCP reads.
Mark Michelson [Fri, 12 Oct 2012 16:31:01 +0000 (16:31 +0000)]
Do not use a FILE handle when doing SIP TCP reads.

This is used to solve an issue where a poll on a file
descriptor does not necessarily correspond to the readiness
of a FILE handle to be read.

This change makes it so that for TCP connections, we do a
recv() on the file descriptor instead.

Because TCP does not guarantee that an entire message or even
just one single message will arrive during a read, a loop has
been introduced to ensure that we only attempt to handle a
single message at a time. The tcptls_session_instance structure
has also had an overflow buffer added to it so that if more
than one TCP message arrives in one go, there is a place to
throw the excess.

Huge thanks goes out to Walter Doekes for doing extensive review
on this change and finding edge cases where code could fail.

(closes issue ASTERISK-20212)
reported by Phil Ciccone


Merged revisions 374905 from

Merged revisions 374906 from

Merged revisions 374914 from

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

10 years agoAppend Doxygen to Debian packages list
Andrew Latham [Thu, 11 Oct 2012 23:40:44 +0000 (23:40 +0000)]
Append Doxygen to Debian packages list

Add Doxygen to the Debian install list.  I will check for other platforms like Red Hat

(issue ASTERISK-20259)

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

10 years agoUpdate JQuery URL to recent version
Andrew Latham [Thu, 11 Oct 2012 22:43:52 +0000 (22:43 +0000)]
Update JQuery URL to recent version

The JQuery URL to version 1.4 will be removed within the life span of Asterisk 11.  This is a compatible upgrade by using the URL for 1.8.

(issue ASTERISK-20503)

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

10 years agoContinue to group config files
Andrew Latham [Thu, 11 Oct 2012 22:39:02 +0000 (22:39 +0000)]
Continue to group config files

(issue ASTERISK-20259)

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

10 years agoCREDITS clean up
Andrew Latham [Thu, 11 Oct 2012 22:35:41 +0000 (22:35 +0000)]
CREDITS clean up

As discussed online the credits file needs some cleaning.  This is 95% whitespace with a few additions found in file headers.  Further additions should be added here instead of in the file being updated.

(issue ASTERISK-20259)

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

10 years agoRevert Local testing Config
Andrew Latham [Thu, 11 Oct 2012 21:40:02 +0000 (21:40 +0000)]
Revert Local testing Config

Revert a local testing config that I made.  This was not intended to be committed.
Thank you Matt Jordan for noticing this.

(issue ASTERISK-20259)

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

10 years agoFix a bug where audio on Google Voice would not work due to ignoring candidates.
Joshua Colp [Thu, 11 Oct 2012 21:19:33 +0000 (21:19 +0000)]
Fix a bug where audio on Google Voice would not work due to ignoring candidates.

Instead of ignoring parts of the message that are not known just ignore the ones
we know may be present and that would cause a problem.

Merged revisions 374877 from

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

10 years agoFix an issue where outgoing calls would fail to establish audio due to ICE negotiatio...
Joshua Colp [Thu, 11 Oct 2012 16:06:28 +0000 (16:06 +0000)]
Fix an issue where outgoing calls would fail to establish audio due to ICE negotiation failures.

This change removes the requirement for ufrag and pwd in the transport stanza and also
makes us the controlling agent.

(closes issue ASTERISK-20554)
Reported by: mmichelson


Merged revisions 374850 from

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

10 years agoDon't make chan_sip export global symbols.
Mark Michelson [Thu, 11 Oct 2012 15:49:02 +0000 (15:49 +0000)]
Don't make chan_sip export global symbols.

During testing, it was discovered that having chan_sip
export global symbols was problematic.

The biggest problem was that load order was affected.
Trying to use realtime could be problematic since in
all likelihood the necessary realtime driver(s) would
not be loaded before chan_sip.

In addition, it was found that it was impossible to
use the Digium Phone Module for Asterisk since it
must be loaded before chan_sip since it must hook
into chan_sip's configuration parsing.

The solution is to use a virtual table in the same
manner that other modules in Asterisk do, like

(closes issue ASTERISK-20545)
Reported by: kmoore


Merged revisions 374842 from

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

10 years agoFix incorrect billing duration reported when batch mode is enabled
Matthew Jordan [Thu, 11 Oct 2012 15:44:38 +0000 (15:44 +0000)]
Fix incorrect billing duration reported when batch mode is enabled

Similar to r369351, the billing duration can be skewed when batch mode is
enabled.  This happened much more rarely than the duration, as it only
occured when the call was answered (thereby indicating an actual answer
time) and immediately hung up on (indicating a billsec of 0).  Since
a billing time of '0' can either mean that the call immediately ended
or that the CDR was improperly answered, we have to use additional information
to know whether or not we can trust the CDR billsec value.  Prior to this
patch, we looked to see if we had a valid answer time.  If we did, and
billsec was zero, we used the current time to calculate what billsec value
we could from the CDR being written.  If batch mode is enabled, this will
incorrectly report a billsec value being much greater than the actual
duration of the call.

Instead of relying on the presence of an answer time to know whether or not
we can re-calculate the billsec for the CDR, we now also use the presence
of the CDR's end time to know if we need to re-calculate or whether we can
trust the billsec value that we have.  This prevents erroneous jumps in the
billsec value, while still making sure that in the worst case, some billing
time will be calculated.

(closes issue AST-1016)
Reported by: Thomas Arimont
Tested by: Thomas Arimont

Merged revisions 374843 from

Merged revisions 374844 from

Merged revisions 374845 from

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

10 years agoConsider the Google Talk content stanza name (jin:content) valid.
Joshua Colp [Thu, 11 Oct 2012 13:34:52 +0000 (13:34 +0000)]
Consider the Google Talk content stanza name (jin:content) valid.

Merged revisions 374833 from

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

10 years agoapp_queue: Made pass connected line updates from the caller to ringing queue members.
Richard Mudgett [Wed, 10 Oct 2012 21:05:51 +0000 (21:05 +0000)]
app_queue: Made pass connected line updates from the caller to ringing queue members.

Party A calls Party B
Party B puts Party A on hold.
Party B calls a queue.
Ringing queue member D sees Party B identification.
Party B transfers Party A to the queue.
Queue member D does not get a connected line update for Party A.
Queue member D answers the call and still sees Party B information.

However, if Party A later transfers the call to Party C then queue member
D gets a connected line update for Party C.

* Made pass connected line updates from the caller to queue members while
the queue members are ringing.

(closes issue AST-1017)
Reported by: Thomas Arimont

(closes issue ABE-2886)
Reported by: Thomas Arimont
Tested by: rmudgett


Merged revisions 374801 from

Merged revisions 374802 from

Merged revisions 374803 from

Merged revisions 374804 from

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

10 years agoFix segfault regression from r370681
Kinsey Moore [Wed, 10 Oct 2012 13:40:40 +0000 (13:40 +0000)]
Fix segfault regression from r370681

Due to usage of ast_hook_send_action, AMI action handling code should
be able to handle a NULL mansession->session.  This would cause a crash
on NULL dereference if action_originate was called from

(closes issue ASTERISK-20544)

Merged revisions 374792 from

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

10 years agoFix execution of 'i' extension due to uninitialized variable.
Richard Mudgett [Tue, 9 Oct 2012 22:24:10 +0000 (22:24 +0000)]
Fix execution of 'i' extension due to uninitialized variable.

The fix for ASTERISK-18243 added code that could potentially use
dst_exten[] uninitialized.  As a result the 'i' exten may not be executed
when it should.

(closes issue ASTERISK-20455)
Reported by: Richard Miller
      pbx- (license #5685) patch uploaded by Richard Miller
      Made some cosmetic modifications.

Merged revisions 374758 from

Merged revisions 374763 from

Merged revisions 374771 from

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

10 years agoImprove logging for DTLS-SRTP failure situations.
Joshua Colp [Tue, 9 Oct 2012 21:35:53 +0000 (21:35 +0000)]
Improve logging for DTLS-SRTP failure situations.

(closes issue ASTERISK-20487)
Reported by: mjordan

Merged revisions 374756 from

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

10 years agodahdi.conf.sample: Add description for "buffers" setting.
Richard Mudgett [Mon, 8 Oct 2012 22:31:09 +0000 (22:31 +0000)]
dahdi.conf.sample: Add description for "buffers" setting.

This contains an edited version of the patch originally created by John

(closes issue ASTERISK-14435)
Reported by: John Bigelow
      buffers.patch (license #5091) patch uploaded by John Bigelow
      0001-dahdi.conf.sample-Add-description-for-buffers-settin.patch (license #5417) patch uploaded by Shaun Ruffell

Merged revisions 374727 from

Merged revisions 374728 from

Merged revisions 374729 from

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

10 years agoFix deletion of unopenable spool files.
Richard Mudgett [Mon, 8 Oct 2012 21:24:11 +0000 (21:24 +0000)]
Fix deletion of unopenable spool files.

If scan_service() cannot open the spool file, it logs a message saying
that it will delete the file and calls remove_from_queue() to do it.
However, remove_from_queue() fails to delete the spool file because struct
outgoing has not yet been fully initialized.

* Merged allocating a new struct outgoing and init_outgoing() into
new_outgoing().  Allocation is initialization.

* Made apply_outgoing() not initialize the spool filename in struct

* Made apply_outgoing() call ast_trim_blanks() and ast_skip_blanks()
rather than manually inlining them.

* Reduced indentation levels in apply_outgoing().

* Fixed a garbled comment in remove_from_queue().

* Reworked scan_service() to simplify it.

(closes issue ASTERISK-17231)
Reported by: David Chappell
      spool_open_failure.diff (license #4997) patch uploaded by David Chappell
      Started with this patch.

Merged revisions 374686 from

* Fixed some memory leaks on off nominal paths in init_outgoing() when
merging into the new_outgoing() function dealing with o->capabilities.

Merged revisions 374695 from

Merged revisions 374708 from

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

10 years agoDisable ICE support by default
Matthew Jordan [Mon, 8 Oct 2012 20:39:26 +0000 (20:39 +0000)]
Disable ICE support by default

Since there are a number of legacy devices out there that fail to handle ICE
candidates properly (which is a nice way of saying something much uglier),
disable it by default.

Support for ICE candidates can be enabled in rtp.conf using the icesupport

Merged revisions 374676 from

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

10 years agoResolve issues in ConfBridge regarding marked, waitmarked, and unmarked users
Matthew Jordan [Mon, 8 Oct 2012 18:48:34 +0000 (18:48 +0000)]
Resolve issues in ConfBridge regarding marked, waitmarked, and unmarked users

Thank's to Neil Tallim (flan)'s tireless testing, issue reporting, and patches
it became clear that app_confbridge had some complex logic in how it handled
interactions between marked, waitmarked, and unmarked users.  In particular,
there were some areas in which the interactions between the users resulted
in inconsistent behavior, and app_confbridge was missing logic in how to handle
some corner cases.  Some areas included:
 * Poor handling of mixing unmarked and waitmarked users
 * Inconsistencies in how MOH and muting was applied to various users
 * Handling of various announcements for different user profile options
flan's patches seem to fix the various issues, but highlighted how hard the
code could be to maintain.  In an attempt to make things easier to maintain and
to more fully enumerate the various cases that exist, this patch breaks up the
logic into a state machine-like setup.

Please note that the various state transitioned are documented on the Asterisk

Review: //

Note that for the following issues, mjordan uploaded the patch, although it
was written by twilson.  Any contributor license discrepency is due to that.

(closes issue ASTERISK-19562)
Reported by: flan
Tested by: flan, mjordan, jrose
  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)

(closes issue ASTERISK-19726)
Reported by: flan
Tested by: flan
  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)

(closes issue ASTERISK-20181)
Reported by: Jonathan White
Tested by: Jonathan White
  bugASTERISK-19562_ASTERISK-19726_ASTERISK-20181.patch uploaded by twilson (license 6283)

Merged revisions 374652 from

Merged revisions 374657 from

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

10 years agopjproject: Fix for Solaris builds. Do not undef s_addr.
Matthew Jordan [Mon, 8 Oct 2012 00:45:36 +0000 (00:45 +0000)]
pjproject: Fix for Solaris builds. Do not undef s_addr.

pjproject, in order to solve build problems on Windows [1], undefines s_addr in
one of it's headers that is included in res_rtp_asterisk.c. On Solaris s_addr
is not a structure member, but defined to map to the real strucuture member,
therefore when building on Solaris it's possible to get build errors like:

    [CC] res_rtp_asterisk.c -> res_rtp_asterisk.o
    In file included from /export/home/admin/asterisk-11-svn/include/asterisk/stun.h:29,
                     from res_rtp_asterisk.c:51:
    /export/home/admin/asterisk-11-svn/include/asterisk/network.h: In function `inaddrcmp':
    /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92: error: structure has no member named `s_addr'
    /export/home/admin/asterisk-11-svn/include/asterisk/network.h:92: error: structure has no member named `s_addr'
    res_rtp_asterisk.c: In function `ast_rtp_on_ice_tx_pkt':
    res_rtp_asterisk.c:706: warning: dereferencing type-punned pointer will break strict-aliasing rules
    res_rtp_asterisk.c:710: warning: dereferencing type-punned pointer will break strict-aliasing rules
    res_rtp_asterisk.c: In function `rtp_add_candidates_to_ice':
    res_rtp_asterisk.c:1085: error: structure has no member named `s_addr'
    make[2]: *** [res_rtp_asterisk.o] Error 1
    make[1]: *** [res] Error 2
    make[1]: Leaving directory `/export/home/admin/asterisk-11-svn'
    gmake: *** [_cleantest_all] Error 2

Unfortunately, in order to make this work, I also had to make sure pjproject
only used the typdef pj_in_addr and not the struct pj_in_addr so that when
building Asterisk I could "typedef struct in_addr pj_in_addr". It's possible
then that the library and users of those interfaces in Asterisk have a different
idea about the type of the argument, while on the surface it looks like they are
all 32 bit big endian values.


(issues ASTERISK-20366)
Reported by: Ben Klang
Tested by: Ben Klang, mjordan
  0001-pjproject-Fix-for-Solaris-builds.-Do-not-undef-s.patch uploaded by Shaun Ruffell (license 5417)

Merged revisions 374642 from

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

10 years agoTrivial patch to make 'best_score' defined for all architectures.
Matthew Jordan [Sun, 7 Oct 2012 17:33:38 +0000 (17:33 +0000)]
Trivial patch to make 'best_score' defined for all architectures.

Fixes trivial build error on Solaris:

  acl.c: In function `get_local_address':
  acl.c:196: error: `best_score' undeclared (first use in this function)
  acl.c:196: error: (Each undeclared identifier is reported only once
  acl.c:196: error: for each function it appears in.)
  make[2]: *** [acl.o] Error 1

(issue ASTERISK-20366)
Reported by: Ben Klang
Tested by: Ben Klang
  0002-main-acl.c-Trivial.-best_score-should-be-defined-for.patch by Shaun Ruffell (license 5417)

Merged revisions 374632 from

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

10 years agoHandle capability stanzas that fail to provide node or version information
Matthew Jordan [Sat, 6 Oct 2012 03:22:37 +0000 (03:22 +0000)]
Handle capability stanzas that fail to provide node or version information

While XEP-0115 states that the node and ver attributes are both required, some
devices fail to provide either field.  Prior to this patch, failure to provide
the node or ver attribute would cause a crash in res_xmpp.  While failing to
provide the node or ver attribute is technically invalid, since this
information is not utilized by Asterisk except for reporting purposes, for
interoperability reasons, we continue to process the capability stanza anyways.

(closes issue ASTERISK-20495)
Reported by: Martin W
Tested by: Martin W
  20495.patch uploaded by Martin W (license #6434)

Merged revisions 374622 from

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

10 years agoUpdate documentation for MessageSend application/command's From field for XMPP
Matthew Jordan [Sat, 6 Oct 2012 01:47:00 +0000 (01:47 +0000)]
Update documentation for MessageSend application/command's From field for XMPP

When using the channel technology agnostic application/AMI command MessageSend,
the "From" field is technically optional for the SIP channel driver.  However,
if being sent by the XMPP resource module (either res_xmpp or res_jabber), the
"From" field is necessary, and must correspond to a defined account.  This
patch updates the documentation for this application/AMI command to reflect

(closes issue ASTERISK-20405)
Reported by: Leif Madsen

Merged revisions 374611 from

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

10 years agoMultiple revisions 374570,374581
David M. Lee [Fri, 5 Oct 2012 20:33:56 +0000 (20:33 +0000)]
Multiple revisions 374570,374581

  r374570 | dlee | 2012-10-05 15:14:41 -0500 (Fri, 05 Oct 2012) | 22 lines

  Improve AMI long line error handling

  In AMI's parser, when it receives a long line (> 1024 characters), it discards
  that line, but continues to process the message normally.

  Typically, this is not a problem because a) who has lines that long and b)
  usually a discarded line results in an invalid message. But if that line is
  specifying an optional field, then the message will be processed, you get a
  'Response: Success', but things don't work the way you expected them to.

  This patch changes the behavior when a line-too-long parse error occurs.

  * Changes the log message to avoid way-too-long (and truncated anyways) log
  * Adds a 'parsing' status flag to Response: Success
  * Sets parsing = MESSAGE_LINE_TOO_LONG if, well, a line is too long
  * Responds with an appropriate error if parsing != MESSAGE_OKAY

  (closes issue AST-961)
  Reported by: John Bigelow
  r374581 | dlee | 2012-10-05 15:20:28 -0500 (Fri, 05 Oct 2012) | 1 line

  I've committed too much. Reverting part of r374570.

Merged revisions 374570,374581 from

Merged revisions 374586 from

Merged revisions 374587 from

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

10 years agoMerged revisions 374515-374535 from
Richard Mudgett [Fri, 5 Oct 2012 18:42:14 +0000 (18:42 +0000)]
Merged revisions 374515-374535 from

  r374515 | rmudgett | 2012-10-04 17:52:36 -0500 (Thu, 04 Oct 2012) | 10 lines

  chan_misdn: Remove some deadcode

  * Made setup_bc() static.

patch1_unused-code.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374516 | rmudgett | 2012-10-04 18:01:01 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Remove unused bchan states

patch2_unused-states.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012) | 16 lines

  chan_misdn: Remove unnecessary null pointer checks and checks for stack->nt

  * cleanup_bc() is always called with valid bc (or it would've crashed

  * Value of stack->nt is known in advance at some places.

  * Rename handle_event() to handle_event_te(), handle_frm() to

patch3_checks.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374518 | rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Fix spelling in log messages

patch4_spelling.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374519 | rmudgett | 2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines

  chan_misdn: Don't cleanup a bc twice.

  In handle_frm_te() after calling misdn_lib_send_event(bc,
  EVENT_RELEASE_COMPLETE) bc is emptied, cleaned and set not in use,
  although misdn_lib_send_event() already did the same.  This is bad.  When
  it's not in use we are not allowed to touch it.

  * Moved log message in front of the resulting actions and fixed it to
  match the case.

patch5_bccleanup.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012) | 12 lines

  chan_misdn: Fix memory leaks, bc, chan not cleaned up etc., really bad stuff.

  * Fix return codes of cb_events() for EVENT_SETUP to use caller's cleanup

  * Move cl_queue_chan() call after bearer check.

patch6_leaks.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374521 | rmudgett | 2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines

  chan_misdn: We must initialize cause on sending a DISCONNECT.

  We must initialize cause on sending a DISCONNECT, so it is later correctly
  indicated to ast_channel in case the answer (RELEASE/RELEASE_COMPLETE)
  does not include one.

patch7_hangupcause.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374522 | rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Remove unused code for upqueue

patch8_unused-upqueue.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374523 | rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Improve debugging (port number, messages fixed, dups removed)

patch9_debug.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012) | 8 lines

  chan_misdn: Better debug: we can print_bc_info even if there's no ast leg.

patch10_debug-bc-2.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

  r374534 | rmudgett | 2012-10-05 12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines

  chan_misdn: setup_bc() is called too early for an incoming SETUP on TE.

  This prevents the B channel from being setup for HDLC mode when requested
  by the bearer capability and config option hdlc=yes.  It violates
  ETS300102 Ch. "The user, in any case, must not connect to the
  channel until a CONNECT ACKNOWLEDGE message has been received."

  * Call setup_bc() on receipt of CONNECT_ACKNOWLEGDE for PTMP, and on first
  response to SETUP for PTP.

abe-2881-2.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2881

  r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012) | 2 lines

  chan_misdn: Remove some more deadcode.


Merged revisions 374536 from

Merged revisions 374537 from

Merged revisions 374538 from

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

10 years agodsp.c User Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END
Alec L Davis [Thu, 4 Oct 2012 20:21:36 +0000 (20:21 +0000)]
dsp.c User Configurable DTMF_HITS_TO_BEGIN and DTMF_MISSES_TO_END

Instead of a recompile, allow values to be adjusted in dsp.conf

For binary distributions allows easy adjustment for wobbly GSM calls, and other reasons.


(closes issue ASTERISK-17493)
Reported by: alecdavis
Tested by: alecdavis
alecdavis (license 585)


Merged revisions 374479 from

Merged revisions 374481 from

Merged revisions 374485 from

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

10 years agodsp.c fix incorrect DTMF Digit_Duration.
Alec L Davis [Thu, 4 Oct 2012 20:08:22 +0000 (20:08 +0000)]
dsp.c fix incorrect DTMF Digit_Duration.

it's always short by 'hits_to_begin*DTMF_GSIZE', or 25.5ms if hitstobegin=2

(issue ASTERISK-16003)
Tested by: alecdavis
alecdavis (license 585)


Merged revisions 374475 from

Merged revisions 374476 from

Merged revisions 374477 from

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

10 years agoFix DBDelTree error codes for AMI, CLI and AGI
David M. Lee [Thu, 4 Oct 2012 15:48:24 +0000 (15:48 +0000)]
Fix DBDelTree error codes for AMI, CLI and AGI

The AMI DBDelTree command will return Success/Key tree deleted successfully even
if the given key does not exist. The CLI command 'database deltree' had a
similar problem, but was saved because it actually responded with '0 database
entries removed'. AGI had a slightly different error, where it would return
success if the database was unavailable.

This came from confusion about the ast_db_deltree retval, which is -1 in the
event of a database error, or number of entries deleted (including 0 for
deleting nothing).

* Changed some poorly named res variables to num_deleted
* Specified specific errors when calling ast_db_deltree (database unavailable
  vs. entry not found vs. success)
* Fixed similar bug in AGI database deltree, where 'Database unavailable'
  results in successful result

(closes issue AST-967)
Reported by: John Bigelow

Merged revisions 374426 from

Merged revisions 374427 from

Merged revisions 374428 from

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

10 years agoAdd support for applying direct media ACLs between differing channel technologies.
Joshua Colp [Thu, 4 Oct 2012 13:49:45 +0000 (13:49 +0000)]
Add support for applying direct media ACLs between differing channel technologies.


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

10 years agodsp.c User configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values
Alec L Davis [Thu, 4 Oct 2012 04:50:16 +0000 (04:50 +0000)]
dsp.c User configuration of DTMF_NORMAL_TWIST and DTMF_REVERSE_TWIST values

Asterisk's DTMF Specifications are based on AT&T specs, which may not be compatible in other countries.

Various countries have different specifications for the maximum power level differences
between the DTMF low group and high group of frequencies.

Power level difference between frequencies for different Administrations/RPOAs
 NTT        = Max. 5 dB
 AT&T       = 4dB(reverse) to 8dB(normal)
 Danish     = Max. 6 dB
 Australian = Max. 10 dB
 Brazilian  = Max. 9 dB
 ETSI       = Max. 6 dB from ETSI ES 201 235-3 V1.3.1 (2006-03)

Now allow 4 variables to be individually configured in dsp.conf, with reasonable min/max of 2dB to 20dB.
Default is AT&T specifications

Add's the following variables to dsp.conf

(closes issue ASTERISK-20442)
Reported by: tbsky
Tested by: tbsky,alecdavis

alecdavis (license 585)


Merged revisions 374384 from

Merged revisions 374385 from

Merged revisions 374386 from

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

10 years agoCheck for presence of buddy in info/dinfo handlers
Matthew Jordan [Thu, 4 Oct 2012 02:16:43 +0000 (02:16 +0000)]
Check for presence of buddy in info/dinfo handlers

The res_jabber resource module uses the ASTOBJ library for managing its ref
counted objects.  After calling ASTOBJ_CONTAINER_FIND to locate a buddy object,
the pointer to the object has to be checked to see if the buddy existed.
Prior to this patch, the buddy object was not checked for NULL; with this patch
in both aji_client_info_handler and aji_dinfo_handler the pointer is checked
before used and, if no buddy object was found, the handlers return an error

This patch does not take the approach that our JID can be used to log in from
another resource.  If that approach is desired, an improvement could be made to
this patch to create the buddy on the fly.  This patch seeks only to prevent
Asterisk from crashing.

FYI: In Asterisk 11+, you really should be using res_xmpp.  It does not have
this problem, as it moved to the astobj2 library.

Note that multiple people have proposed patches for this issue; the patch being
committed here is based on those.

(closes issue ASTERISK-19532)
Reported by: Karsten Wemheuer
Tested by: Byron Clark
  fix-jabber uploaded by Karsten Wemheuer (license #5930)
  xmpp_no_crash_with_ejabberd.patch uploaded by Byron Clark (license #6157)

(closes issue ASTERISK-19557)
Reported by: ulugutz

Merged revisions 374335 from

Merged revisions 374336 from

Merged revisions 374337 from

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

10 years agoDestroy the generic_monitors container after the core_instances in ccss
Matthew Jordan [Wed, 3 Oct 2012 17:27:53 +0000 (17:27 +0000)]
Destroy the generic_monitors container after the core_instances in ccss

For each item in core_instances disposed of in the shutdown of ccss, any
generic monitor instances referenced by the objects will be removed from
generic_monitors during their destruction.  Hilarity ensues if
generic_monitors no longer exists.

Thanks to the Asterisk Test Suite's generic_ccss test for complaining loudly
when it ran into this.

Merged revisions 374300 from

Merged revisions 374301 from

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

10 years agoMissed an astobj2.c debug tag.
Richard Mudgett [Tue, 2 Oct 2012 23:23:30 +0000 (23:23 +0000)]
Missed an astobj2.c debug tag.

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

10 years ago* Add ref debug tags to astobj2.c ref usage.
Richard Mudgett [Tue, 2 Oct 2012 22:39:47 +0000 (22:39 +0000)]
* Add ref debug tags to astobj2.c ref usage.

* Make container nodes not show up in the ref debug log.

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

10 years agoEnsure Shutdown AMI event is still fired during Asterisk shutdown
Matthew Jordan [Tue, 2 Oct 2012 21:26:27 +0000 (21:26 +0000)]
Ensure Shutdown AMI event is still fired during Asterisk shutdown

Richard pointed out that having the manager dispose of itself gracefully
during shutdown meant that the Shutdown event will no longer get fired.
This patch moves the AMI event just prior to running the atexit callbacks.

Merged revisions 374230 from

Merged revisions 374231 from

Merged revisions 374248 from

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

10 years agoModify hashtest2 to compile after r374213. Someone, somewhere, may care.
Matthew Jordan [Tue, 2 Oct 2012 20:45:22 +0000 (20:45 +0000)]
Modify hashtest2 to compile after r374213.  Someone, somewhere, may care.

Because hashtest2 has to provide symbols for things in asterisk that items
it includes may use, when astobj2 decided to use ast_register_atexit it needed
to provide a declaration for that as well.  Otherwise - no linky.

On a related note, ASTERISK-20505 was filed to convert hashtest/hashtest2 into
actual unit tests, so we don't run into this problem again.

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

10 years agoFix findings from check-in on r374177
Matthew Jordan [Tue, 2 Oct 2012 17:16:20 +0000 (17:16 +0000)]
Fix findings from check-in on r374177

Richard pointed out two problems with the check-in from r374177:
* The ast_msg_shutdown function declaration doesn't match the prototype
  in main/message.c.
* The ref/alloc function usage in astobj2 (in trunk) can use the ao2_t_*
  variants of the functions to allow the REF_DEBUG flag to enable/disable
  their debug counterparts.

Merged revisions 374210 from

Merged revisions 374211 from

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

10 years agoFix a variety of ref counting issues
Matthew Jordan [Tue, 2 Oct 2012 01:47:16 +0000 (01:47 +0000)]
Fix a variety of ref counting issues

This patch resolves a number of ref leaks that occur primarily on Asterisk
shutdown.  It adds a variety of shutdown routines to core portions of
Asterisk such that they can reclaim resources allocate duringd initialization.


Merged revisions 374177 from

Merged revisions 374178 from

Merged revisions 374196 from

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

10 years agoDoxygen Cleanup
Andrew Latham [Mon, 1 Oct 2012 23:39:45 +0000 (23:39 +0000)]
Doxygen Cleanup

Start adding configuration file linking and pages.  Add module loading doxygen block.

Breaking up commits to keep it easy to track

(issue ASTERISK-20259)

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

10 years agoDoxygen Cleanup
Andrew Latham [Mon, 1 Oct 2012 23:24:35 +0000 (23:24 +0000)]
Doxygen Cleanup

Start adding configuration file linking and pages.  Add module loading doxygen block.

Breaking up commits to keep it easy to track

(issue ASTERISK-20259)

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

10 years agoDoxygen Cleanup
Andrew Latham [Mon, 1 Oct 2012 23:24:10 +0000 (23:24 +0000)]
Doxygen Cleanup

Start adding configuration file linking and pages.  Add module loading doxygen block.

Breaking up commits to keep it easy to track

(issue ASTERISK-20259)

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

10 years agoDoxygen Cleanup
Andrew Latham [Mon, 1 Oct 2012 23:22:50 +0000 (23:22 +0000)]
Doxygen Cleanup

Start adding configuration file linking and pages.  Add module loading doxygen block.

(issue ASTERISK-20259)

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

10 years agoapp_queue: Support persisting and loading of long member lists.
Sean Bright [Mon, 1 Oct 2012 20:36:25 +0000 (20:36 +0000)]
app_queue: Support persisting and loading of long member lists.

Greenlight in #asterisk brought up that he was receiving an error message "Could
not create persistent member string, out of space" when running app_queue in
Asterisk 10.  dump_queue_members() made an assumption that 8K would be enough to
store the generated string, but with queues that have large member lists this is
not always the case.  This patch removes the limitation and uses ast_str instead
of a fixed sized buffer.

The complicating factor comes from the fact that ast_db_get requires a buffer
and buffer size argument, which doesn't let us pull back more than what we pass
in, so I introduced a new ast_db_get_allocated() which returns an ast_strdup()'d
copy of the value from astdb.

As an aside, I did some testing on the maximum size of data that we can store in
the BDB library we distribute and was able to store a 10MB string and retrieve
it with no problems, so I feel this is a safe patch.


Merged revisions 374108 from

Merged revisions 374135 from

Merged revisions 374150 from

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

10 years agoUse ast_copy_string instead of strncpy to guarantee a NUL terminated string.
Sean Bright [Mon, 1 Oct 2012 17:28:41 +0000 (17:28 +0000)]
Use ast_copy_string instead of strncpy to guarantee a NUL terminated string.

Merged revisions 374132 from

Merged revisions 374133 from

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

10 years agoChange core show help output format.
Richard Mudgett [Mon, 1 Oct 2012 17:05:37 +0000 (17:05 +0000)]
Change core show help output format.

The CLI "core show help" output leaves something to be desired.
1) The command is truncated to a maximum of 30 characters.
2) The output columns are mirrored from the 31st column.

Current output format:
                   logger mute Toggle logging output to a console
                 logger reload Reopens the log files
                 logger rotate Rotates and reopens the log files
logger set level {DEBUG|NOTICE Enables/Disables a specific logging level for this console
          logger show channels List configured log channels

New format:
logger mute                    -- Toggle logging output to a console
logger reload                  -- Reopens the log files
logger rotate                  -- Rotates and reopens the log files
logger set level {DEBUG|NOTICE|WARNING|ERROR|VERBOSE|DTMF} {on|off} -- Enables/Disables a specific logging level for this console
logger show channels           -- List configured log channels


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

10 years agoDon't destroy confbridge config when error is encountered during a reload.
Mark Michelson [Mon, 1 Oct 2012 16:26:23 +0000 (16:26 +0000)]
Don't destroy confbridge config when error is encountered during a reload.

Not panicking means that the old config is kept.

(closes issue ASTERISK-20458)
Reported by: Leif Madsen
ASTERISK-20458.patch uploaded by Mark Michelson(license #5049)
Tested by Leif Madsen

Merged revisions 374106 from

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

10 years agoAdd support for retrieving engine specific settings using the speech API and from...
Joshua Colp [Mon, 1 Oct 2012 12:29:04 +0000 (12:29 +0000)]
Add support for retrieving engine specific settings using the speech API and from dialplan.

(closes issue ASTERISK-17136)
Reported by: kenner

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

10 years agoFix ref leak when adding ICE candidates to an SDP
Matthew Jordan [Sat, 29 Sep 2012 03:56:49 +0000 (03:56 +0000)]
Fix ref leak when adding ICE candidates to an SDP

There was a missing decrement to the reference count for the current ICE
candidate when local candidates are being added to an outbound SDP.  This
patch corrects that.

Merged revisions 374085 from

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

10 years agoInclude channel uniqueid in "AsyncAGI" and "AGIExec" events.
Richard Mudgett [Fri, 28 Sep 2012 22:11:19 +0000 (22:11 +0000)]
Include channel uniqueid in "AsyncAGI" and "AGIExec" events.

* Added AMI event documentation for AsyncAGI and AGIExec events.

(closes issue ASTERISK-20318)
Reported by: Dan Cropp
      res_agi_patch.txt (license #6422) patch uploaded by Dan Cropp
      modified for trunk.

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

10 years agores_jabber: Remove CLI command 'jabber test'
Jonathan Rose [Fri, 28 Sep 2012 19:37:22 +0000 (19:37 +0000)]
res_jabber: Remove CLI command 'jabber test'

The opinion of development was that it is both improper to have Matt's
personal email address used in the source and that the command wouldn't
be useful without it.

(closes issue AST-467)
Reported by: Malcolm Davenport

Merged revisions 374032 from

Merged revisions 374045 from

Merged revisions 374059 from

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

10 years agoAdd pause one second W dial modifier.
Richard Mudgett [Fri, 28 Sep 2012 18:27:02 +0000 (18:27 +0000)]
Add pause one second W dial modifier.

* The following dialplan applications now recognize 'W' to pause sending
DTMF for one second in addition to the previously existing 'w' that paused
sending DTMF for half a second.  Dial, ExternalIVR, and SendDTMF.

* The chan_dahdi analog port dialing and deferred DTMF dialing for PRI now
distinguishes between 'w' and 'W'.  The 'w' pauses dialing for half a
second.  The 'W' pauses dialing for one second.

* Created dahdi_dial_str() in chan_dahdi that eliminated a lot of
duplicated dialing code and diagnostic messages for the channel driver.

(closes issue ASTERISK-20039)
Reported by: Jeremiah Gowdy
      jgowdy-wait-6-22-2012.diff (license #5621) patch uploaded by Jeremiah Gowdy
      Expanded patch to add support in chan_dahdi.
Tested by: rmudgett

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

10 years agoReset hangup flags on channels created through messages and cleanup globals
Brent Eagles [Fri, 28 Sep 2012 13:04:11 +0000 (13:04 +0000)]
Reset hangup flags on channels created through messages and cleanup globals
in res_xmpp on unload.

This patch fixes an issue where hangup flags were not being reset on a
channel, affecting subsequent use of that channel. The patch also adds some
additional cleanup to res_xmpp to fix an issue with reloading the module.

(closes ASTERISK-20360)
Reported by: Noah Engelberth
Tested by: beagles

Merged revisions 374019 from

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

10 years agoUpdate documentation to make it explicit that "stream file" will not restart musiconhold.
Joshua Colp [Fri, 28 Sep 2012 12:17:41 +0000 (12:17 +0000)]
Update documentation to make it explicit that "stream file" will not restart musiconhold.

(issue ASTERISK-17367)
Reported by: oej

Merged revisions 373989 from

Merged revisions 373990 from

Merged revisions 373991 from

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

10 years agoAdd Duration header for PlayDTMF AMI Action
Matthew Jordan [Fri, 28 Sep 2012 03:06:53 +0000 (03:06 +0000)]
Add Duration header for PlayDTMF AMI Action

This patch adds an optional header to the PlayDTMF AMI action, Duration.
It allows the duration of the DTMF digit to be played on the channel to be
specified in milliseconds.

(closes issue ASTERISK-18172)
Reported by: Renato dos Santos

  send-dtmf.patch uploaded by Renato dos Santos (license #6267)

Modified slightly for this commit for Asterisk 12.

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

10 years agoTweak app_dial documentation.
Richard Mudgett [Thu, 27 Sep 2012 22:43:27 +0000 (22:43 +0000)]
Tweak app_dial documentation.

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

10 years agoCleanup ast_dtmf_stream()
Richard Mudgett [Thu, 27 Sep 2012 22:33:15 +0000 (22:33 +0000)]
Cleanup ast_dtmf_stream()

* Made ast_dtmf_stream() wait after starting the silence generator rather
than before.

* Made ast_dtmf_stream() put the peer in autoservice for the whole time
things are being done to the chan.

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

10 years agoFix SendDTMF crash and channel reference leak using channel name parameter.
Richard Mudgett [Thu, 27 Sep 2012 22:25:34 +0000 (22:25 +0000)]
Fix SendDTMF crash and channel reference leak using channel name parameter.

The SendDTMF channel name parameter has two issues.
1) Crashes if the channel name does not exist.
2) Leaks a channel reference if the channel is the current channel.
Problem introduced by ASTERISK-15956.

* Updated SendDTMF documentation.

* Renamed app to senddtmf_name and tweaked the type.

Merged revisions 373945 from

Merged revisions 373946 from

Merged revisions 373954 from

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

10 years agoMake res_http_websocket an optional dependency on supported platforms for chan_sip.
Joshua Colp [Thu, 27 Sep 2012 17:12:08 +0000 (17:12 +0000)]
Make res_http_websocket an optional dependency on supported platforms for chan_sip.

(closes issue ASTERISK-20439)
Reported by: sruffell
     0001-chan_sip-websocket-support-is-an-optional-API.patch uploaded by sruffell (license 5417)

Merged revisions 373914 from

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

10 years agoAdd VoicemailRefresh AMI Action
Kinsey Moore [Thu, 27 Sep 2012 17:02:13 +0000 (17:02 +0000)]
Add VoicemailRefresh AMI Action

Currently, if there are modifications to mailboxes that Asterisk is
not aware of, the user needs to add "pollmailboxes" to their mailbox
configuration, which repeatedly polls the subscribed mailboxes for
changes. This results in a lot of extra work for the CPU. This patch
introduces the AMI command VoicemailRefresh which permits external
applications to trigger the refresh themselves. The refresh can apply
to a specified mailbox only, an entire context, or all configured
mailboxes. Even a refresh performed on every mailbox would not consume
as much CPU as the pollmailboxes option, given that pollmailboxes runs
continuously and this only runs on demand.

(closes issue ASTERISK-17206)
(closes issue ASTERISK-19908)
Reported-by: Jeff Hutchins
Reported-by: Tilghman Lesher
Patch-by: Tilghman Lesher

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

10 years agoloader: Ensure dependent modules are properly initialized.
Joshua Colp [Thu, 27 Sep 2012 16:53:19 +0000 (16:53 +0000)]
loader: Ensure dependent modules are properly initialized.

If an Asterisk module specifies a dependency in ast_module_info.nonoptreq, it
is possible for Asterisk to skip calling the modules's .load function.
Asterisk was loading and linking the module via load_dynamic_module() but was
not adding the module to the resource_heap. Therefore the module was not
initialized based on it's priority along with the other modules in the heap.

Now use load_resource() instead of load_dynamic_module() for non-optional
requirement. This will add the module to the resource_heap so the module can
be properly initialized in the correct order.

This is required if there are any module global data structures initialized in
the .load() callback for the module on platforms which do not support weak

(issue ASTERISK-20439)
Reported by: sruffell
     0001-loader-Ensure-dependent-modules-are-properly-initial.patch uploaded by sruffell (license 5417)

Merged revisions 373909 from

Merged revisions 373910 from

Merged revisions 373911 from

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

10 years agoFix an issue where Local channels dialed by app_queue are considered in use immediately.
Joshua Colp [Thu, 27 Sep 2012 11:33:54 +0000 (11:33 +0000)]
Fix an issue where Local channels dialed by app_queue are considered in use immediately.

The chan_local channel driver returns a device state of in use even if a created Local
channel has not yet been dialed. This fix changes the logic to return a state of not
in use until the channel itself has been dialed.

(closes issue ASTERISK-20390)
Reported by: tim_ringenbach


Merged revisions 373878 from

Merged revisions 373879 from

Merged revisions 373880 from

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