8 years agores_ari_channels: Add ring operation, dtmf operation, hangup reasons, and tweak early...
Joshua Colp [Fri, 1 Nov 2013 14:38:21 +0000 (14:38 +0000)]
res_ari_channels: Add ring operation, dtmf operation, hangup reasons, and tweak early media.

The ring operation sends ringing to the specified channel it is invoked on.
The dtmf operation can be used to send DTMF digits to the specified channel
of a specific length with a wait time in between. Finally hangup reasons
allow you to specify why a channel is being hung up (busy, congestion).

Early media behavior has also been tweaked slightly. When playing media to a channel
it will no longer automatically answer. If it has not been answered a progress indication
is sent instead.

(closes issue ASTERISK-22701)
Reported by: Matt Jordan


Merged revisions 402358 from

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

8 years agochan_sip: Fix RTCP port for SRFLX ICE candidates
Kinsey Moore [Fri, 1 Nov 2013 12:40:40 +0000 (12:40 +0000)]
chan_sip: Fix RTCP port for SRFLX ICE candidates

This corrects one-way audio between Asterisk and Chrome/jssip as a
result of Asterisk inserting the incorrect RTCP port into RTCP SRFLX
ICE candidates. This also exposes an ICE component enumeration to
extract further details from candidates.

(closes issue ASTERISK-21383)
Reported by: Shaun Clark

Merged revisions 402345 from

Merged revisions 402348 from

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

8 years agores_ari_channels: Fix a deadlock when originating multiple channels close to eachother.
Joshua Colp [Fri, 1 Nov 2013 12:33:09 +0000 (12:33 +0000)]
res_ari_channels: Fix a deadlock when originating multiple channels close to eachother.

If a Stasis application is specified an implicit subscription is done on the originated
channel. This was previously done with the channel lock held which is dangerous as the
underlying code locks the container and iterates items. This change releases the lock
on the originated channel before subscribing occurs.

(closes issue ASTERISK-22768)
Reported by: Matt Jordan


Merged revisions 402346 from

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

8 years agores_stasis: Ensure the channel is always departed from the bridge when it leaves.
Joshua Colp [Fri, 1 Nov 2013 12:13:09 +0000 (12:13 +0000)]
res_stasis: Ensure the channel is always departed from the bridge when it leaves.

This change adds a command to the command queue to explicitly depart the channel
from the bridge when it is told it has left. If the channel has already been departed
or has entered a different bridge this command will become a no-op.

(closes issue ASTERISK-22703)
Reported by: John Bigelow

(closes issue ASTERISK-22634)
Reported by: Kevin Harwell


Merged revisions 402336 from

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

8 years agoUpdate the conversion script from sip.conf to pjsip.conf
Mark Michelson [Thu, 31 Oct 2013 22:09:47 +0000 (22:09 +0000)]
Update the conversion script from sip.conf to pjsip.conf

(closes issue ASTERISK-22374)
Reported by Matt Jordan


Merged revisions 402327 from

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

8 years agocore/loader: Don't call dlclose in a while loop
Matthew Jordan [Thu, 31 Oct 2013 16:06:14 +0000 (16:06 +0000)]
core/loader: Don't call dlclose in a while loop

For awhile now, we've noticed continuous integration builds hanging on CentOS 6
64-bit build agents. After resolving a number of problems with symbols, strange
locks, and other shenanigans, the problem has persisted. In all cases, gdb
shows the Asterisk process stuck in loader.c on one of the infinite while loops
that calls dlclose repeatedly until success.

The documentation of dlclose states that it returns 0 on success; any other
value on error. It does not state that repeatedly calling it will eventually
clear those errors. Most likely, the repeated calls to dlclose was to force a
close by exhausting the references on the library; however, that will never
succeed if:
(a) There is some fundamental error at work in the loaded library that
    precludes unloading it
(b) Some other loaded module is referencing a symbol in the currently loaded

This results in Asterisk sitting forever.

Since we have matching pairs of dlopen/dlclose, this patch opts to only call
dlclose once, and log out as an ERROR if dlclose fails to return success. If
nothing else, this might help to determine why on the CentOS 6 64-bit build agent
things are not closing successfully.


Merged revisions 402287 from

Merged revisions 402288 from

Merged revisions 402289 from

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

8 years agomedix_index: Display errors when library calls fail
Matthew Jordan [Thu, 31 Oct 2013 15:52:32 +0000 (15:52 +0000)]
medix_index: Display errors when library calls fail

Based on feedback from ipengineer in #asterisk, when the media indexer
cannot access a sound file on the system (or otherwise fails) Asterisk
displays a "Cannot frob file" error but fails to tell you why. This is
especially problematic as the media_indexer failing will rpevent Asterisk
from starting, as it is in the core.

We now display the errno error messages so folks can figure out what they've
done wrong.

Merged revisions 402285 from

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

8 years agostasis: add functions embarrassingly missing from r400522
David M. Lee [Thu, 31 Oct 2013 14:45:03 +0000 (14:45 +0000)]
stasis: add functions embarrassingly missing from r400522

I neglected to implement two of the endpoint subscription functions when
I did the work. Normally, you'll only hit that when you unsubscribe from
a specific endpoint.

Merged revisions 402276 from

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

8 years agopjsip_messaging: Added debug for in dialog messaging
Kevin Harwell [Wed, 30 Oct 2013 17:54:26 +0000 (17:54 +0000)]
pjsip_messaging: Added debug for in dialog messaging

(issue ASTERISK-22777)
Reported by: Matt Jordan

Merged revisions 402265 from

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

8 years agoUpdates for 1.4.25 core sounds and 1.4.14 extra sounds, plus new en_GB language set
Rusty Newton [Tue, 29 Oct 2013 23:43:58 +0000 (23:43 +0000)]
Updates for 1.4.25 core sounds and 1.4.14 extra sounds, plus new en_GB language set

The new sound packages relate to issues: ASTERISK-22544, ASTERISK-22411, ASTERISK-21413, ASTERISK-20782
Modified sounds/Makefile for the new sound versions and to account for the new en_GB language set.

(issue ASTERISK-22659)
(closes issue ASTERISK-22659)
(closes issue ASTERISK-22411)
(closes issue ASTERISK-22544)

Merged revisions 402224 from

Merged revisions 402225 from

Merged revisions 402226 from

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

8 years agoRemove some spammy debug messages; improve clarity of others
Matthew Jordan [Tue, 29 Oct 2013 12:57:35 +0000 (12:57 +0000)]
Remove some spammy debug messages; improve clarity of others

Debug messages aren't free. Even when the debug level is sufficiently low such
that the messages are never evaluated, there is a cost to having to parse
Asterisk logs that contain debug messages that (a) fail to convey sufficient
information or (b) occur so frequently as to be next to meaningless. Based on
having to stare at lots of DEBUG messages, this patch makes the following

* channel.c: When copying variables from a parent channel to a child channel,
  specify the channels involved. Do not log anything for a variable that is not
  inherited; the fact that it doesn't have an _ or __ already signifies that it
  won't be inherited.
* pbx.c: Specify what function evaluation has occurred that created the result.
* translate.c: Bump up the translator path messages to 10. I've never once had
  to use these debug messages, and for each format that is registered (on
  startup) and unregistered (on shutdown) the entire f^2 matrix is logged out.
  For short tests in the Asterisk Test Suite, this should make finding the
  actual test much easier.
* xmldoc.c: The debug message that 'blah' is not found in the tree is expected.
  Often, description elements - which are not required - are not provided.
  This debug message adds no additional value, as it is not indicative of an
  error or helpful in debugging which element did not contain a 'blah' element
  as a child. If an element is supposed to contain a child element, then that
  XML tree should have failed validation in the first place.


Merged revisions 402150 from

Merged revisions 402151 from

Merged revisions 402154 from

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

8 years agoARI: Remove channels/{channelId}/dial
Kinsey Moore [Tue, 29 Oct 2013 12:51:57 +0000 (12:51 +0000)]
ARI: Remove channels/{channelId}/dial

This removes the /ari/channels/{channelId}/dial URI since it is
redundant, overly complex, is likely to become more externally complex
over time, and is too high-level compared with other ARI operations.
See the following for further information:

(closes issue ASTERISK-22784)
Reported by: Matt Jordan

Merged revisions 402152 from

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

8 years agobridge_native_rtp: Ensure bridge is torn down
Kinsey Moore [Tue, 29 Oct 2013 12:30:21 +0000 (12:30 +0000)]
bridge_native_rtp: Ensure bridge is torn down

When a bridge transitions away from one tech to another, the tech going
away is provided a dummy bridge with no channels in it to tear down.
Currently this means that the teardown code exits prematurely and does
not tear anything down. This change tears down RTP bridging for the
channel provided in the leave bridge tech callback.

This also reverts the majority of r400403 since it is now redundant.

(closes issue ASTERISK-22628)
(closes issue ASTERISK-22676)
Reported by: John Bigelow
Reported by: Kevin Harwell
Tested by: John Bigelow
    native_rtp_fix.diff uploaded by Kinsey Moore (License 6273)

Merged revisions 402148 from

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

8 years agores_ari_playback: Add missing 404 error response for GET and DELETE.
Joshua Colp [Tue, 29 Oct 2013 11:15:59 +0000 (11:15 +0000)]
res_ari_playback: Add missing 404 error response for GET and DELETE.

(closes issue ASTERISK-22722)
Reported by: Richard Mudgett

Merged revisions 402139 from

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

8 years agoIgnore full docs
David M. Lee [Mon, 28 Oct 2013 22:10:16 +0000 (22:10 +0000)]
Ignore full docs

Merged revisions 402127 from

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

8 years agoPut back several merge revisions that were lost in r402054
David M. Lee [Mon, 28 Oct 2013 22:09:49 +0000 (22:09 +0000)]
Put back several merge revisions that were lost in r402054

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

8 years agoPut back several merge revisions that were lost in r401962
David M. Lee [Mon, 28 Oct 2013 22:05:37 +0000 (22:05 +0000)]
Put back several merge revisions that were lost in r401962

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

8 years agoFix UPGRADE.txt Due To Merging From Branch 11
Michael L. Young [Mon, 28 Oct 2013 15:08:00 +0000 (15:08 +0000)]
Fix UPGRADE.txt Due To Merging From Branch 11

When merging in the patch for ASTERISK-22728, the UPGRADE.txt file was changed
incorrectly.  That change should have gone into ASTERISK-11.txt.

This commit is to fix that.

Also, another comment in the UPGRADE-11.txt was missing and this commit adds
that as well.

Merged revisions 402115 from

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

8 years agochan_sip: Clarify 'Forcerport' Setting Displayed When Running "sip show peers"
Michael L. Young [Mon, 28 Oct 2013 14:59:16 +0000 (14:59 +0000)]
chan_sip: Clarify 'Forcerport' Setting Displayed When Running "sip show peers"

While looking at ASTERISK-22236, Walter Doekes pointed out that when running
"sip show peers", the setting being displayed can be confusing.  The display of
"N" used to mean NAT (i.e. yes).  The NAT setting has gone through many
different changes resulting in the display of different characters to try and
convey what the current setting is for 'Forcerport' (A for Auto and Forcerport
is currently on, a for Auto but Forcerport is off, Y for yes, and N for no).
During the initial code review to try and clarify these settings (especially
since "N" no longer meant what it used to mean in prior versions of Asterisk),
Mark Michelson suggested using the full space available to display the settings
which helped to make the settings very clear.  That was a great suggestion.

Therefore, this patch does the following:

* The column for 'Forcerport' now will show: Auto (Yes), Auto (No), Yes, or No.

* A column for the 'Comedia' setting has been added.  It too will display the
  setting in a non-cryptic way: Auto (Yes), Auto (No), Yes, or No.

* UPGRADE.txt has been updated to document this change.

(closes issue ASTERISK-22728)
Reported by: Walter Doekes
Tested by: Michael L. Young
                                     uploaded by Michael L. Young (license 5026)


Merged revisions 402111 from

Merged revisions 402112 from

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

8 years agoFilter out internal channels from dial message handling
Matthew Jordan [Sun, 27 Oct 2013 23:22:51 +0000 (23:22 +0000)]
Filter out internal channels from dial message handling

Surrogate channels would pop up from time to time in dial message handling.
This would cause a WARNING message to appear, indicating that the Surrogate
channel had no CDR. This patch filters out those channels that have the
internal implementation flag set, such that the WARNING message isn't

Merged revisions 402090 from

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

8 years agoPrevent CDR backends from unregistering while billing data is in flight
Matthew Jordan [Sun, 27 Oct 2013 20:04:17 +0000 (20:04 +0000)]
Prevent CDR backends from unregistering while billing data is in flight

This patch makes it so that CDR backends cannot be unregistered while active
CDR records exist. This helps to prevent billing data from being lost during
restarts and shutdowns.


Merged revisions 402081 from

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

8 years agoUpdate Alembic database scripts for external scripting and PostgreSQL, Oracle
Matthew Jordan [Sun, 27 Oct 2013 02:39:34 +0000 (02:39 +0000)]
Update Alembic database scripts for external scripting and PostgreSQL, Oracle

This patch does the following:
1) The env scripts have been updated to be tolerant of a NULL configuration
   file. This occurs when configuration is provided by an external script,
   such that the actual config.ini file is not used.
2) Enum types have all been given names. This is needed for PostgreSQL script
3) The identifier meetme_confno_starttime_endtime is greater than 30
   characters, and hence invalid for Oracle databases. This has been truncated
   down to meetme_confno_start_end.

Merged revisions 400383 from

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

8 years agochan_pjsip: Fix a crash when direct media is enabled and an ACK is received after...
Joshua Colp [Sat, 26 Oct 2013 12:56:08 +0000 (12:56 +0000)]
chan_pjsip: Fix a crash when direct media is enabled and an ACK is received after the channel is hung up.

(closes issue ASTERISK-22731)
Reported by: Kinsey Moore

Merged revisions 402064 from

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

8 years agores_stasis.c: Made use the ao2_container callback templates.
Richard Mudgett [Sat, 26 Oct 2013 00:36:31 +0000 (00:36 +0000)]
res_stasis.c: Made use the ao2_container callback templates.

* Made res_stasis.c use the OBJ_SEARCH_XXX defines.

Merged revisions 402055 from

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

8 years agortp_engine: fix rtp payloads copy and improve argument names
Scott Griepentrog [Sat, 26 Oct 2013 00:27:02 +0000 (00:27 +0000)]
rtp_engine: fix rtp payloads copy and improve argument names

In function ast_rtp_instance_early _bridge_make_compatible the
use of instance 0/1 as arguments doesn't clearly communicate a
direction that the copying of payloads from the source channel
to the destination channel will occur, making it more probable
to have the arguments to ast_rtp_codecs_payloads_copy() put in
the reverse order.  This patch renames the arguments with _dst
and _src suffixes and corrects the copy direction.

(closes issue ASTERISK-21464)
Reported by: Kevin Stewart

Merged revisions 402000 from
Test shows rtpmap:119 being copied per this change, but is not in sip invite

Merged revisions 402042 from

Merged revisions 402043 from

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

8 years agotaskprocessor: Made use pthread_equal() to compare thread ids.
Richard Mudgett [Fri, 25 Oct 2013 23:58:32 +0000 (23:58 +0000)]
taskprocessor: Made use pthread_equal() to compare thread ids.

* Removed another silly use of RAII_VAR().  RAII_VAR() and SCOPED_LOCK()
are not silver bullets that allow you to turn off your brain.

Merged revisions 402044 from

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

8 years agoYou'd think that new files would be free of whitespace issues. But you would be...
Richard Mudgett [Fri, 25 Oct 2013 22:03:04 +0000 (22:03 +0000)]
You'd think that new files would be free of whitespace issues.  But you would be wrong.

Merged revisions 402003 from

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

8 years agoARI: channel/bridge recording errors when invalid format specified
Jonathan Rose [Fri, 25 Oct 2013 22:01:43 +0000 (22:01 +0000)]
ARI: channel/bridge recording errors when invalid format specified

Asterisk will now issue 422 if recording is requested against channels
or bridges with an unknown format

(closes issue ASTERISK-22626)
Reported by: Joshua Colp

Merged revisions 402001 from

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

8 years agoARI recordings: Issue HTTP failures for recording requests with file conflicts
Jonathan Rose [Fri, 25 Oct 2013 21:28:32 +0000 (21:28 +0000)]
ARI recordings: Issue HTTP failures for recording requests with file conflicts

If a file already exists in the recordings directory with the same name as what
we would record, issue a 422 instead of relying on the internal failure and
issuing success.

(closes issue ASTERISK-22623)
Reported by: Joshua Colp

Merged revisions 401973 from

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

8 years agopbx.c: fix confused match caller id that deleted exten still in hash
Scott Griepentrog [Fri, 25 Oct 2013 20:51:13 +0000 (20:51 +0000)]
pbx.c: fix confused match caller id that deleted exten still in hash

This fixes a bug where a zero length callerid match adjacent to a no
match callerid extension entry would be deleted together, which then
resulted in hashtable references to free'd memory.  A third state of
the matchcid value has been added to indicate match to any extension
which allows enforcing comparison of matchcid on/off without errors.

(closes issue AST-1235)
Reported by: Guenther Kelleter

Merged revisions 401959 from

Merged revisions 401960 from

Merged revisions 401961 from

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

8 years agoPJSIP: Add log messages when requests are received for non-existent endpoints
Jonathan Rose [Fri, 25 Oct 2013 17:41:38 +0000 (17:41 +0000)]
PJSIP: Add log messages when requests are received for non-existent endpoints

(closes issue ASTERISK-22552)
Reported by: Rusty Newton

Merged revisions 401938 from

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

8 years agoPut clicompat-r2.patch back in
Jonathan Rose [Fri, 25 Oct 2013 17:32:17 +0000 (17:32 +0000)]
Put clicompat-r2.patch back in

We've figured out how to resolve the problems this was causing in 12/trunk,
so this can go back in now.

(issue ASTERISK-22467)
Reported by: Corey Farrell
    clicompat-r2.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401914 from

Merged revisions 401935 from

Merged revisions 401936 from

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

8 years agorevert clicompat-r2.patch from r401704
Jonathan Rose [Fri, 25 Oct 2013 16:59:33 +0000 (16:59 +0000)]
revert clicompat-r2.patch from r401704

Patch caused the following build errors against testsuite

(issue ASTERISK-22467)
Reported by: Corey Farrell

Merged revisions 401895 from

Merged revisions 401896 from

Merged revisions 401897 from

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

8 years agochan_sip: Allow a sip peer to accept both AVP and AVPF calls
Kevin Harwell [Fri, 25 Oct 2013 16:09:05 +0000 (16:09 +0000)]
chan_sip: Allow a sip peer to accept both AVP and AVPF calls

Adapts the behaviour of avpf to only impact the format of outgoing calls. For
inbound calls, both AVP and AVPF calls will be accepted regardless of the value
of avpf in the configuration.

(closes issue ASTERISK-22005)
Reported by: Torrey Searle
     optional_avpf_trunk.patch uploaded by tsearle (license 5334)

Merged revisions 401884 from

Merged revisions 401885 from

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

8 years agoBlocked revisions 401391
David M. Lee [Fri, 25 Oct 2013 13:50:57 +0000 (13:50 +0000)]
Blocked revisions 401391

Blocked revisions 401379

chan_dahdi: Fix unable to get index warning when transferring an analog call.

Transferring an analog call using flashhooks generated an unable to get
index WARNING message when the transfer is completed.

* Removed unnecessary analog subchannel shell games when transferring a
call using flashhooks.

Thanks to Tzafrir Cohen for mentioning this in a comment on issue

Merged revisions 401378 from

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

8 years agotest_json: Fix deprecation warnings
David M. Lee [Fri, 25 Oct 2013 13:49:20 +0000 (13:49 +0000)]
test_json: Fix deprecation warnings

After a series of upgrades over recent weeks, I've discovered that
test_json.c won't compile in dev mode any more for me.

One of gcc-4.8.2, OS X Mavericks or Xcode 5 has decided to deprecate
tempnam. Which, in general, is a good thing. But for test code that just
needs a temporary file, it's just annoying.

This patch replaces usage of tempname with mkstemp, avoiding the
deprecation warning. It also removes the temporary files when the test
is complete, which apparently we weren't doing before (oops).


Merged revisions 401872 from

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

8 years agoLogging: Logging types ignored after specifying a verbose level
Kevin Harwell [Thu, 24 Oct 2013 21:06:14 +0000 (21:06 +0000)]
Logging: Logging types ignored after specifying a verbose level

If one specified a verbose level within a logging facility in
logger.conf then any component after it was ignored.  Fixed so
all values are correctly read.

(closes issue ASTERISK-22456)
Reported by: Kevin Harwell

Merged revisions 401833 from

Merged revisions 401835 from

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

8 years agoThe Swagger 1.2 specification for type extension ended up being
David M. Lee [Thu, 24 Oct 2013 20:48:17 +0000 (20:48 +0000)]
The Swagger 1.2 specification for type extension ended up being
slightly different than my proposal. Instead of putting an 'extends'
field on the subtype, the base type has a 'subTypes' field, which is a
list of the subTypes. Given that its a messaging model and not an
object model, kinda makes sense.

This patch changes the events.json api-doc, and the python translators
to take the new format into account.

Other changes that are in Swagger 1.2 were not adopted, since the spec
is still in flux, and could change before it's finalized.

A summary of changes to the Swagger-1.2 spec can be found at

(closes issue ASTERISK-22440)

Merged revisions 401701 from

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

8 years agoutils: Fix memory leaks and missed unregistration of CLI commands on shutdown
Jonathan Rose [Thu, 24 Oct 2013 20:34:53 +0000 (20:34 +0000)]
utils: Fix memory leaks and missed unregistration of CLI commands  on shutdown

Final set of patches in a series of memory leak/cleanup patches by Corey Farrell

(closes issue ASTERISK-22467)
Reported by: Corey Farrell
    main-utils-1.8.patch uploaded by coreyfarrell (license 5909)
    main-utils-11.patch uploaded by coreyfarrell (license 5909)
    main-utils-12up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401829 from

Merged revisions 401830 from

Merged revisions 401831 from

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

8 years agotest_linkedlists: Fix memory leak
Jonathan Rose [Thu, 24 Oct 2013 19:57:04 +0000 (19:57 +0000)]
test_linkedlists: Fix memory leak

(issue ASTERISK-22467)
Reported by: Corey Farrell
    test_linkedlists-1.8.patch uploaded by coreyfarrell (license 5909)
    test_linkedlists-11up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401790 from

Merged revisions 401791 from

Merged revisions 401792 from

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

8 years agojitterbuf: Fix memory leak on jitter buffer reset
Jonathan Rose [Thu, 24 Oct 2013 19:42:21 +0000 (19:42 +0000)]
jitterbuf: Fix memory leak on jitter buffer reset

(issue ASTERISK-22467)
Reported by: Corey Farrell

Merged revisions 401786 from

Merged revisions 401787 from

Merged revisions 401788 from

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

8 years agoastobj2: Unregister debug CLI commands at exit
Jonathan Rose [Thu, 24 Oct 2013 19:31:23 +0000 (19:31 +0000)]
astobj2: Unregister debug CLI commands at exit

(issue ASTERISK-22467)
Reported by: Corey Farrell
    astobj2-clean-debug-cli-1.8-11.patch uploaded by coreyfarrell (license 5909)
    astobj2-clean-debug-cli-12up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401781 from

Merged revisions 401783 from

Merged revisions 401784 from

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

8 years agoapp_voicemail: Memory Leaks against tests
Jonathan Rose [Thu, 24 Oct 2013 18:46:56 +0000 (18:46 +0000)]
app_voicemail: Memory Leaks against tests

(issue ASTERISK-22467)
Reported by: Corey Farrell
    app_voicemail-1.8.patch uploaded by coreyfarrell (license 5909)
    app_voicemail-11up.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401743 from

Merged revisions 401744 from

Merged revisions 401745 from

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

8 years agomemory leaks: Memory leak cleanup patch by Corey Farrell (second set)
Jonathan Rose [Thu, 24 Oct 2013 17:00:27 +0000 (17:00 +0000)]
memory leaks: Memory leak cleanup patch by Corey Farrell (second set)

Also covers ast_app_parse_timelen-fail-zero-length.patch, but the patch was
replaced with one of my own.

(issue ASTERISK-22467)
Reported by: Corey Farrell
    chan_dahdi-cleanup_push.patch uploaded by coreyfarrell (license 5909)
    clicompat-r2.patch uploaded by coreyfarrell (license 5909)
    codecs-ilbc-doCPLC.patch uploaded by coreyfarrell (license 5909)
    data-cleanup-test-registration.patch uploaded by coreyfarrell (license 5909)
    main-asterisk-kill-listener.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401704 from

Merged revisions 401705 from

Merged revisions 401706 from

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

8 years agomemory leaks: Memory leak cleanup patch by Corey Farrell (first set)
Jonathan Rose [Wed, 23 Oct 2013 20:10:30 +0000 (20:10 +0000)]
memory leaks: Memory leak cleanup patch by Corey Farrell (first set)

(issue ASTERSIK-22467)
Reported by: Corey Farrell
    chan_sip-parse_contact_header_test-free-contacts.patch uploaded by coreyfarrell (license 5909)
    cli-filename-completion-leak.patch uploaded by coreyfarrell (license 5909)
    func_math.patch uploaded by corefarrell (license 5909)
    main-test-cleanup.patch uploaded by coreyfarrell (license 5909)
    test_dlinklists.patch uploaded by coreyfarrell (license 5909)

Merged revisions 401660 from

Merged revisions 401661 from

Merged revisions 401662 from

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

8 years agores_rtp_asterisk: Address jittery DTMF events in RTP streams
Jonathan Rose [Wed, 23 Oct 2013 17:56:44 +0000 (17:56 +0000)]
res_rtp_asterisk: Address jittery DTMF events in RTP streams

(closes issue ASTERISK-21170)
Reported by: NITESH BANSAL
    dtmf-timestamp.patch uploaded by NITESH BANSAL (license 6418)

Merged revisions 401619 from

Merged revisions 401620 from

Merged revisions 401621 from

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

8 years agocdr_adaptive_odbc: Also apply a filter when the CDR value is empty.
Richard Mudgett [Wed, 23 Oct 2013 16:52:11 +0000 (16:52 +0000)]
cdr_adaptive_odbc: Also apply a filter when the CDR value is empty.

Extra CDR records are written if a filtered CDR value is empty because the
filter is not checked.

(closes issue ASTERISK-22272)
Reported by: Jordi Llull Chavarria

Merged revisions 401577 from

Merged revisions 401579 from

Merged revisions 401581 from

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

8 years agoAdd a test suite event to indicate when the atxfer 3-way feature is detected
John Bigelow [Wed, 23 Oct 2013 16:48:39 +0000 (16:48 +0000)]
Add a test suite event to indicate when the atxfer 3-way feature is detected

This adds a test suite event that indicates to tests when the attended transfer
three-way call feature is detected.


Merged revisions 401578 from

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

8 years agochan_mgcp: Properly handle malformed media lines
Kinsey Moore [Wed, 23 Oct 2013 15:23:58 +0000 (15:23 +0000)]
chan_mgcp: Properly handle malformed media lines

This corrects a situation in which a media line was not parsed properly
and resulted in a crash.

(closes issue ASTERISK-21190)
Reported by: adomjan
    chan_mgcp.c-sscnaf_fix uploaded by adomjan (License 5448)

Merged revisions 401537 from

Merged revisions 401538 from

Merged revisions 401539 from

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

8 years agochan_sip: Fix an issue where an incompatible audio format may be added to SDP.
Joshua Colp [Wed, 23 Oct 2013 11:16:44 +0000 (11:16 +0000)]
chan_sip: Fix an issue where an incompatible audio format may be added to SDP.

If preferred codecs included any non-audio format the code would
mistakenly add the audio format, even if it was not a joint capability
with the remote side.

(closes issue ASTERISK-21131)
Reported by: nbougues
patch_unsupported_codec_1.8.patch uploaded by nbougues (license 6470)

Merged revisions 401497 from

Merged revisions 401498 from

Merged revisions 401499 from

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

8 years agochan_iax2: Fix Binding To Multiple Addresses Again
Michael L. Young [Wed, 23 Oct 2013 02:36:01 +0000 (02:36 +0000)]
chan_iax2: Fix Binding To Multiple Addresses Again

When reworking chan_iax2 for IPv6, the ability to bind to multiple addresses
was removed by mistake.  This patch restores this functionality and adds notes
about IPv6 addresses in the sample config.

(closes issue ASTERISK-22741)
Reported by: Joshua Colp
Tested by: Michael L. Young
                                     uploaded by Michael L. Young (license 5026)


Merged revisions 401488 from

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

8 years agores_rtp_asterisk: Fix crash when RTCP is not available during SSRC change
Matthew Jordan [Tue, 22 Oct 2013 23:10:22 +0000 (23:10 +0000)]
res_rtp_asterisk: Fix crash when RTCP is not available during SSRC change

In r400089, a patch was put in to correct erroneous RTCP statistic resets.
Unfortunately, ast_rtp_read can be called on an RTP instance that does not
have RTCP information. This patch prevents that crash by only resetting
the statistics if we do actually have an RTCP instance.

(issue AST-1174)

(closes issue ASTERISK-22667)
Reported by: John Bigelow

Merged revisions 401445 from

Merged revisions 401446 from

Merged revisions 401447 from

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

8 years agoapp_queue: Fix CLI "queue remove member" queue_log entry.
Richard Mudgett [Tue, 22 Oct 2013 19:04:53 +0000 (19:04 +0000)]
app_queue: Fix CLI "queue remove member" queue_log entry.

The queue_log entry resulting from CLI "queue remove member" when
log_membername_as_agent is enabled is wrong.  It always uses the interface
name instead of the member name in the queue_log entry.

* Get the queue member before removing it from the queue so the member
name is available for the queue_log entry.

(closes issue ASTERISK-21826)
Reported by: Oscar Esteve
      fix_membername.diff (license #6505) patch uploaded by Oscar Esteve
         (modified to fix potential ref leak)

Merged revisions 401433 from

Merged revisions 401434 from

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

8 years agoBridging: Fix orphaned bridge if neither of the joining channels can join.
Richard Mudgett [Tue, 22 Oct 2013 17:06:21 +0000 (17:06 +0000)]
Bridging: Fix orphaned bridge if neither of the joining channels can join.

The original issue noted that the bridge is orphaned when
is not loaded and a call uses the dial kK flags.

A similar issue happens when only one of the park flags is used.  In this
case you have the bridge with one or the other channel left in it.  The
channel and bridge will stay around until the channel hangs up.

* Fixed the initial bridge channel push failure to act as if the channel
were kicked out of the bridge.  The bridge then decides if it needs to be

(closes issue ASTERISK-22629)
Reported by: Kevin Harwell


Merged revisions 401424 from

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

8 years agores_parking: Give parking timeout comebacktoorigin channel DTMF features.
Richard Mudgett [Tue, 22 Oct 2013 16:33:16 +0000 (16:33 +0000)]
res_parking: Give parking timeout comebacktoorigin channel DTMF features.

Parking timeouts did not set any DTMF features for the channel calling the
parker back.

* Added code to set the parkedcalltransfers, parkedcallreparking,
parkedcallhangup, and parkedcallrecording options appropriately for the
channels when a parking timeout occurs.  The recall channel DTMF options
are set using the BRIDGE_FEATURES channel variable to allow the other
timeout options to have the DTMF features available.

(closes issue ASTERISK-22630)
Reported by: Kevin Harwell


Merged revisions 401422 from

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

8 years agores_parking: Update XML documention for DTMF features after parking timeout.
Richard Mudgett [Tue, 22 Oct 2013 16:28:05 +0000 (16:28 +0000)]
res_parking: Update XML documention for DTMF features after parking timeout.

* Updated the XML documentation to indicate that the parkedcalltransfers,
parkedcallreparking, parkedcallhangup, and parkedcallrecording
configuration options also apply to parking timeouts.

(issue ASTERISK-22630)
Reported by: Kevin Harwell


Merged revisions 401420 from

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

8 years agoAdd an 'R' option to Dial which sends ringing until early media has been received.
Joshua Colp [Tue, 22 Oct 2013 15:17:56 +0000 (15:17 +0000)]
Add an 'R' option to Dial which sends ringing until early media has been received.

(closes issue ASTERISK-10487)
Reported by: Gaspar Zoltan
10487.patch uploaded by n8ideas (license 6075)

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

8 years agoRemove a noisy debug message from bridging code.
Mark Michelson [Mon, 21 Oct 2013 21:06:41 +0000 (21:06 +0000)]
Remove a noisy debug message from bridging code.

This particular debug message, during a stress test, was logged so
often that it appeared that there may be a memory leak in the logger
code. In actuality, there was no memory leak, but the logger thread
was having a hard time keeping up with the demands of the rest of the

Since this debug message has no value at all, the best way to fix the
problem was to just remove the message.

(closes issue AST-1225)
reported by John Bigelow

spammy_log.diff uploaded by Mark Michelson (License #5049)

Merged revisions 401364 from

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

8 years agoSegfault in LIBEDIT_INTERNAL after tgetstr(), when libncurses5-dev
Kevin Harwell [Mon, 21 Oct 2013 19:50:28 +0000 (19:50 +0000)]
Segfault in LIBEDIT_INTERNAL after tgetstr(), when libncurses5-dev
isn't installed

Include the appropriate declarations when not using termcap, but term+curses
and [n]curses do not exist.

(closes issue ASTERISK-22351)
Reported by: A. Iglesias
    issueA22351_libedit_internal_without_ncurses_dev.patch uploaded by wdoekes (license 5674)

Merged revisions 401325 from

Merged revisions 401326 from

Merged revisions 401327 from

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

8 years agoFixing r401281; the model name is Channel, with a capital C
David M. Lee [Mon, 21 Oct 2013 18:59:51 +0000 (18:59 +0000)]
Fixing r401281; the model name is Channel, with a capital C

Merged revisions 401315 from

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

8 years agoFixed malformed Access-Control-Allow-Methods header. Was causing Safari to barf on...
David M. Lee [Mon, 21 Oct 2013 18:59:22 +0000 (18:59 +0000)]
Fixed malformed Access-Control-Allow-Methods header. Was causing Safari to barf on POST and DELETE.

Merged revisions 401106 from

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

8 years agoFix IAX2 incoming call address lookups
Kinsey Moore [Sat, 19 Oct 2013 21:57:07 +0000 (21:57 +0000)]
Fix IAX2 incoming call address lookups

This fixes address lookup for incoming calls without a peer definition.
The address family was unset instead of being set to AST_AF_UNSPEC
which was causing lookup failures on "". This is one of the
causes of the current failure of the app_page integration test.


Merged revisions 401291 from

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

8 years agoReturn a channel snapshot when originating using ARI, and subscribe the Stasis applic...
Joshua Colp [Sat, 19 Oct 2013 14:45:14 +0000 (14:45 +0000)]
Return a channel snapshot when originating using ARI, and subscribe the Stasis application to it.

This change allows a user of ARI to know what channel it has originated and also follow any
progress. If a Stasis application is provided it will be automatically subscribed to the
originated channel immediately.

(closes issue ASTERISK-22485)
Reported by: David Lee


Merged revisions 401281 from

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

8 years agores_parking: Remove setting useless flag.
Richard Mudgett [Fri, 18 Oct 2013 22:52:35 +0000 (22:52 +0000)]
res_parking: Remove setting useless flag.

Merged revisions 401271 from

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

8 years agoThis is just a quick script for dumping swagger-ui into static-http,
David M. Lee [Fri, 18 Oct 2013 21:51:01 +0000 (21:51 +0000)]
This is just a quick script for dumping swagger-ui into static-http,
so that it can be served by the Asterisk web server.

I had to change the Makefile in order to recursively install content
from the static-http directory, hence the code review instead of just
putting it in.


Merged revisions 401261 from

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

8 years agoResolve some memory leaks due to incorrect for loop / ao2 ref usage.
Mark Michelson [Fri, 18 Oct 2013 18:44:21 +0000 (18:44 +0000)]
Resolve some memory leaks due to incorrect for loop / ao2 ref usage.

A common idiom in Asterisk is to due something like:

for (ao2_obj = list_beginning; ao2_obj = next_item; ao2_ref(ao2_obj, -1)) { stuff...

This is nice because it automatically takes care of the object references
for you. However, there is a pitfall here. If a break statement is in the
for loop, then the current reference is not cleaned up. In some cases, this
is on purpose, but in others there is a leak. This commit fixes the leak

Merged revisions 401248 from

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

8 years agoAdd channel lock protection around translation path setup.
Richard Mudgett [Fri, 18 Oct 2013 16:59:09 +0000 (16:59 +0000)]
Add channel lock protection around translation path setup.

Most callers of ast_channel_make_compatible() happen before the channels
enter a two party bridge.  With the new bridging framework, two party
bridging technologies may also call ast_channel_make_compatible() when
there is more than one thread involved with the two channels.

* Added channel lock protection in set_format() and
ast_channel_make_compatible_helper() when dealing with the channel's
native formats while setting up a translation path.

* Fixed best_src_fmt and best_dst_fmt usage consistency in
ast_channel_make_compatible_helper().  The call to
ast_translator_best_choice() got them backwards.

* Updated some callers of ast_channel_make_compatible() and the function
documentation.  There is actually a difference between the two channels
passed in.

* Fixed the deadlock potential in res_fax.c dealing with
ast_channel_make_compatible().  The deadlock potential was already there
anyway because res_fax called ast_channel_make_compatible() with chan

(closes issue ASTERISK-22542)
Reported by: Matt Jordan


Merged revisions 401239 from

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

8 years agoTweak ast_bridge_depart() doxygen.
Richard Mudgett [Fri, 18 Oct 2013 16:20:54 +0000 (16:20 +0000)]
Tweak ast_bridge_depart() doxygen.

Merged revisions 401232 from

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

8 years agoRemove the bit about requiring ast_bridge_depart() to be called before ast_bridge_des...
Mark Michelson [Fri, 18 Oct 2013 16:06:20 +0000 (16:06 +0000)]
Remove the bit about requiring ast_bridge_depart() to be called before ast_bridge_destroy().

Merged revisions 401223 from

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

8 years agoClarify in ast_bridge_destroy() about how departable channels must be handled.
Mark Michelson [Fri, 18 Oct 2013 15:29:15 +0000 (15:29 +0000)]
Clarify in ast_bridge_destroy() about how departable channels must be handled.

Merged revisions 401212 from

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

8 years agoRemove Port Restriction When Checking For NAT
Michael L. Young [Fri, 18 Oct 2013 15:14:36 +0000 (15:14 +0000)]
Remove Port Restriction When Checking For NAT

When trying to determine if a peer is behind NAT, we should not be using the
ports when comparing addresses.

This patch removes the port from being checked and just useds the addresses

(closes issue ASTERISK-22729)
Reported by: Michael L. Young
Tested by: Michael L. Young
                                     uploaded by Michael L. Young (license 5026)


Merged revisions 401182 from

Merged revisions 401183 from

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

8 years agoProperly copy/remove the device state cache flag over a masquerade.
Walter Doekes [Fri, 18 Oct 2013 14:50:27 +0000 (14:50 +0000)]
Properly copy/remove the device state cache flag over a masquerade.

In r378303 the AST_FLAG_DISABLE_DEVSTATE_CACHE flag was added that tells
the devstate system to not cache states for non-real devices. However,
when optimizing away channels (ast_do_masquerade), that flag wasn't

In my case, using Local devices as queue members created a situation
where the endpoint was considered in use, but the state change of the
device being available again was ignored (not cached). The endpoint
channel was optimized into the (previously) Local channel, but kept
the do-not-cache flag. The end result being that the queue member
apparently stayed in use forever.

(closes issue ASTERISK-22718)
Reported by: Walter Doekes


Merged revisions 401178 from

Merged revisions 401179 from

Merged revisions 401180 from

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

8 years agoFix Setting A chan_sip Dialog's SIP_NAT_FORCE_RPORT Flag
Michael L. Young [Thu, 17 Oct 2013 20:39:29 +0000 (20:39 +0000)]
Fix Setting A chan_sip Dialog's SIP_NAT_FORCE_RPORT Flag

A condition was added in a commit to fix ASTERISK-21374, that, if the
SIP_PAGE3_NAT_AUTO_RPORT flag was set, to then copy a peer's SIP_NAT_FORCE_RPORT
flag to the dialog.  This condition should not have been there since it assumed
that if Asterisk is in an environment where NAT is involved, that the auto_* nat
settings or force_rport setting would be on in the global settings.  If the nat
setting in the global setting is set to 'nat=no' and then turned on for peers
(which is not quite the recommended way, although it is allowed) this flag is
never copied to the dialog resulting in problems like, REGISTER replies going
to the wrong port.

This patch removes this conditional check and will now always use the peer's
flag which by this point in the code the checks on whether the peer is behind
NAT or not (if using auto_force_rport) have already been run.

(closes issue ASTERISK-22236)
Reported by: Filip Frank
Tested by: Michael L. Young
    asterisk-2236-always-set-rport.diff uploaded
                                              by Michael L. Young (license 5026)


Merged revisions 401167 from

Merged revisions 401168 from

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

8 years agores_parking: Fix bug where reloading immediately wipes new parkpos extensions
Jonathan Rose [Thu, 17 Oct 2013 18:25:35 +0000 (18:25 +0000)]
res_parking: Fix bug where reloading immediately wipes new parkpos extensions

(closes issue ASTERISK-22631)
Reported by: Kevin Harwell

Merged revisions 401158 from

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

8 years agoReduce log level of a non-pubsub error message
Kinsey Moore [Thu, 17 Oct 2013 15:41:22 +0000 (15:41 +0000)]
Reduce log level of a non-pubsub error message

Drop an error log message to debug level 1 since distributed device
state functions correctly when receiving this message and it spams the

(closes issue ASTERISK-22410)
Reported by: abelbeck
    asterisk-1.8-res_jabber-log-nonpubsub-error-to-debug.patch uploaded by abelbeck (License 5903)
    asterisk-11-res_xmpp-log-nonpubsub-error-to-debug.patch uploaded by abelbeck (License 5903)

Merged revisions 401119 from

Merged revisions 401120 from

Merged revisions 401121 from

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

8 years agoARI: Fix crash when POST /playback/{id}/control does not have an operation parameter.
Richard Mudgett [Wed, 16 Oct 2013 21:22:25 +0000 (21:22 +0000)]
ARI: Fix crash when POST /playback/{id}/control does not have an operation parameter.

(closes issue ASTERISK-22680)
Reported by: John Bigelow

Merged revisions 401107 from

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

8 years agoOops. Leftover /stasis reference
David M. Lee [Wed, 16 Oct 2013 17:01:28 +0000 (17:01 +0000)]
Oops. Leftover /stasis reference

Merged revisions 401096 from

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

8 years agoClarify documentation for channel and bridge list
Kinsey Moore [Wed, 16 Oct 2013 14:02:06 +0000 (14:02 +0000)]
Clarify documentation for channel and bridge list

This makes it clear that the ARI API calls for listing channels and
bridges will list all channels or bridges in the system and not just
those that are in or are controlled by a Stasis application.

(closes issue ASTERISK-22635)
Reported by: Kevin Harwell

Merged revisions 401087 from

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

8 years agoDon't check all realtime queues when doing "queue show some_queue".
Walter Doekes [Wed, 16 Oct 2013 12:19:47 +0000 (12:19 +0000)]
Don't check all realtime queues when doing "queue show some_queue".

When using realtime queues, queues have to be fetched from the database
every now and then to see if any info has been changed or to see if the
queue has been removed. When fetching info for an individual queue, the
pruning of other queues is unnecessarily costly.


Merged revisions 401049 from

Merged revisions 401076 from

Merged revisions 401077 from

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

8 years agoUse POST / DELETE to toggle ARI bridge moh
Paul Belanger [Wed, 16 Oct 2013 00:12:36 +0000 (00:12 +0000)]
Use POST / DELETE to toggle ARI bridge moh


Merged revisions 401040 from

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

8 years agotranslate.c: Some minor code tweaks.
Richard Mudgett [Tue, 15 Oct 2013 23:44:11 +0000 (23:44 +0000)]
translate.c: Some minor code tweaks.

* Consistently compare format2index() return value so matrix_get() cannot
get passed negative values.

* Optimize ast_translator_best_choice() to defer initializing things until
needed.  Also cached the matrix_get() return value rather than repeatedly
calling it.

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

8 years agobridge_native_dahdi: Return channel join failure if could not make the channels compa...
Richard Mudgett [Tue, 15 Oct 2013 20:26:13 +0000 (20:26 +0000)]
bridge_native_dahdi: Return channel join failure if could not make the channels compatible.

Merged revisions 401030 from

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

8 years agochan_iax2: Fix channel left locked in off nominal code path.
Richard Mudgett [Tue, 15 Oct 2013 20:05:47 +0000 (20:05 +0000)]
chan_iax2: Fix channel left locked in off nominal code path.

Merged revisions 401016 from

Merged revisions 401017 from

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

8 years agoEnsure bridge record error responses validate
Kinsey Moore [Tue, 15 Oct 2013 20:03:19 +0000 (20:03 +0000)]
Ensure bridge record error responses validate

This adds the list of expected errors to the /bridges/{bridgeId}/record
ARI documentation so that outbound 4xx errors validate properly.
Previously, this would result in a response validation failure.

(closes issue ASTERISK-22627)
Reported by: Joshua Colp

Merged revisions 401018 from

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

8 years agoUse POST / DELETE to toggle hold / moh for ARI channels
Paul Belanger [Tue, 15 Oct 2013 15:30:39 +0000 (15:30 +0000)]
Use POST / DELETE to toggle hold / moh for ARI channels

This change updates how we handle toggle events, rather then create two
different function names, we'll just use POST / DELETE from HTTP to handle it.


Merged revisions 400999 from

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

8 years agoPrevent chan_sip from sending duplicate BYEs.
Mark Michelson [Tue, 15 Oct 2013 15:26:06 +0000 (15:26 +0000)]
Prevent chan_sip from sending duplicate BYEs.

When a 200 OK for an initial INVITE is received, we were doing
the right thing by ACKing and sending an immediate BYE. However,
we also were doing the wrong thing and queuing an answer frame,
thus causing the call to be answered. This would cause the call
to be hung up by the channel thread, thus resulting in a second
BYE being sent out.

In this fix, I also have set the hangupcause to be correct since
the initial BYE being sent by Asterisk had an unknown hangup
cause. I have changed to using "Bearer capabilty not available"
since the call was hung up due to an SDP offer/answer error.

(closes issue ASTERISK-22621)
reported by Kinsey Moore

Merged revisions 400970 from

Merged revisions 400971 from

Merged revisions 400984 from

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

8 years agoMy doc correction in r400842 had a silly bug.
David M. Lee [Tue, 15 Oct 2013 13:44:45 +0000 (13:44 +0000)]
My doc correction in r400842 had a silly bug.

Because I added a wiki_description to models and not their properties, the
rendered wiki page had the model description instead of the property
descriptions, which looks very silly indeed.

(closes issue ASTERISK-22705)

Merged revisions 400958 from

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

8 years agochan_dahdi: Add config support for hwgain settings.
Richard Mudgett [Mon, 14 Oct 2013 22:52:42 +0000 (22:52 +0000)]
chan_dahdi: Add config support for hwgain settings.

* Add hwtxgain and hwrxgain config options to chan_dahdi.conf with
documentation in chan_dahdi.conf.sample.

(closes issue ASTERISK-22429)
Reported by: Jaco Kroon
      jira_asterisk_22429_hwgain_trunk.patch (license #5621) patch uploaded by rmudgett

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

8 years agochan_dahdi: Reflect the set software gain in the CLI "dahdi show channel" output.
Richard Mudgett [Mon, 14 Oct 2013 22:06:01 +0000 (22:06 +0000)]
chan_dahdi: Reflect the set software gain in the CLI "dahdi show channel" output.

* Remember the swgain setting from CLI "dahdi set swgain" command so the
CLI "dahdi show channel" output will reflect the current setting.

* Updated CLI "dahdi set hwgain" and "dahdi set swgain" documentation.

(issue ASTERISK-22429)
Reported by: Jaco Kroon
      jira_asterisk_22429_v1.8_v2.patch (license #5621) patch uploaded by rmudgett

Merged revisions 400907 from

Merged revisions 400909 from

Merged revisions 400911 from

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

8 years agochan_sip: Do not increment the SDP version between 183 and 200 responses.
Mark Michelson [Mon, 14 Oct 2013 22:03:22 +0000 (22:03 +0000)]
chan_sip: Do not increment the SDP version between 183 and 200 responses.

Bumping the SDP version number can cause interoperability problems
since receivers of the responses will expect that a 200 SDP will
be identical to a previous 183 SDP.

(closes issue ASTERISK-21204)
reported by NITESH BANSAL

dont-increment-session-version-in-2xx-after-183.patch uploaded by NITESH BANSAL (License #6418)

Merged revisions 400906 from

Merged revisions 400908 from

Merged revisions 400910 from

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

8 years agopjsip outbound registration: Log message says received a 408 when we didn't
Kevin Harwell [Mon, 14 Oct 2013 15:54:06 +0000 (15:54 +0000)]
pjsip outbound registration: Log message says received a 408 when we didn't

If the server didn't exist that we are trying to register to the log message
would say that a 408 was received from that server when in reality one wasn't.
Added log messages stating no response was received if the response does not

(closes issue ASTERISK-22554)
Reported by: Rusty Newton

Merged revisions 400890 from

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

8 years agoRemove duplicate module info block
Matthew Jordan [Mon, 14 Oct 2013 15:01:59 +0000 (15:01 +0000)]
Remove duplicate module info block

The module info block was repeated twice. Once is sufficient.

Merged revisions 400881 from

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

8 years agoFix a race condition in res_pjsip_session with rapidly terminating the session.
Joshua Colp [Sun, 13 Oct 2013 15:42:20 +0000 (15:42 +0000)]
Fix a race condition in res_pjsip_session with rapidly terminating the session.

The INVITE session state callback wrongly assumes that a session will always exist, but
when rapidly terminating the session this assumption goes out the window. As all handler
code for the INVITE session state callback requires the session it will now just exit
immediately if no session exists.

(closes issue ASTERISK-22668)
Reported by: John Bigelow

Merged revisions 400872 from

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

8 years agoFix realm comparison for outbound auth
Kinsey Moore [Sat, 12 Oct 2013 16:53:06 +0000 (16:53 +0000)]
Fix realm comparison for outbound auth

When generating the list of authentication credentials to pass to
PJSIP, Asterisk was using the raw pointer of a pj_str_t which is not
always NULL-terminated. This sometimes resulted in incorrect text for
the realm and a failure to match the realm for authentication purposes
which was causing the outbound nominal auth pjsip basic call test to
bounce. This now uses the pj_str_t that contains the realm instead of
generating a new one. Thanks to John Bigelow for helping to narrow this

Merged revisions 400863 from

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

8 years agochannel.h: whitespace changes.
Richard Mudgett [Fri, 11 Oct 2013 17:05:01 +0000 (17:05 +0000)]
channel.h: whitespace changes.

Merged revisions 400854 from

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

8 years agoMultiple revisions 400508,400842-400843,400848
David M. Lee [Fri, 11 Oct 2013 16:36:00 +0000 (16:36 +0000)]
Multiple revisions 400508,400842-400843,400848

  r400508 | dlee | 2013-10-03 23:54:51 -0500 (Thu, 03 Oct 2013) | 1 line

  Corrected response class for stopPlayback
  r400842 | dlee | 2013-10-10 14:23:24 -0500 (Thu, 10 Oct 2013) | 1 line

  Correct some ARI wiki rendering errors
  r400843 | dlee | 2013-10-10 14:26:19 -0500 (Thu, 10 Oct 2013) | 1 line

  Updated /play resource docs. The playback of http: resources isn't implemented... yet
  r400848 | dlee | 2013-10-11 11:18:46 -0500 (Fri, 11 Oct 2013) | 5 lines

  Fix a stupid copy/paste error in ARI docs.

      ari-doc-patch.txt uploaded by jbigelow (license 5091)

Merged revisions 400508,400842-400843,400848 from

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

8 years agoFixed merge tracking for r400360, which was somehow lost
David M. Lee [Fri, 11 Oct 2013 16:33:14 +0000 (16:33 +0000)]
Fixed merge tracking for r400360, which was somehow lost

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

8 years agoSoftmix: Fix crash when switching from softmix to another bridge technology.
Richard Mudgett [Fri, 11 Oct 2013 16:28:50 +0000 (16:28 +0000)]
Softmix: Fix crash when switching from softmix to another bridge technology.

The crash is caused by a race condition when switching between native RTP
and softmix bridging technologies.  In this situation, the bridging
technology is switched from native RTP to softmix, and then back to native
RTP fast enough that the softmix private data gets destroyed before the
softmix mixing thread gets started.

Thanks to Kinsey Moore for the crash analysis.

* Fix race condition when starting the softmix mixing thread and switching
to another bridge technology.

(closes issue ASTERISK-22678)
Reported by: John Bigelow
      jira_asterisk_22678_v12.patch (license #5621) patch uploaded by rmudgett
Tested by: John Bigelow

Merged revisions 400849 from

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

8 years agoPerform validation of permanent contacts on AORs in res_pjsip.
Joshua Colp [Thu, 10 Oct 2013 18:21:55 +0000 (18:21 +0000)]
Perform validation of permanent contacts on AORs in res_pjsip.

Merged revisions 400833 from

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

8 years agoFix an assertion in res_pjsip when specifying an invalid outbound proxy.
Joshua Colp [Thu, 10 Oct 2013 12:26:20 +0000 (12:26 +0000)]
Fix an assertion in res_pjsip when specifying an invalid outbound proxy.

This change fixes two issues when setting an outbound proxy:

1. The outbound proxy URI was not parsed and validated during configuration.
2. If an outgoing dialog was created and the outbound proxy could not be set an assertion would
occur because the usage count on the dialog was not decremented.

The documentation has also been updated to specify that a full URI must be specified for
the outbound proxy.

(closes issue ASTERISK-22672)
Reported by: Antti Yrjola

Merged revisions 400824 from

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