Commit Graph

24955 Commits

Author SHA1 Message Date
Mark Michelson
70ffc1550c Resolve assumptions that bridge snapshots would be non-NULL for transfer stasis events.
Attempting to transfer an unbridged call would result in crashes in either CEL code or
in the conversion to AMI messages.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397921 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-29 15:42:10 +00:00
Matthew Jordan
948934fb76 Actually *add* the database schema management utilities
In r397874, the scripts were removed... but not replaced. Thanks to
Michael Young for noticing this!


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-29 12:27:54 +00:00
Richard Mudgett
4fb3ae9ecf Fix some uninitialized buffers for CDR handling valgrind found.
* Made ast_strftime_locale() ensure that the output buffer is initialized.
The std library strftime() returns 0 and does not touch the buffer if it
has an error.  However, the function can also return 0 without an error.

(closes issue ASTERISK-22412)
Reported by: rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 23:14:57 +00:00
Richard Mudgett
45453100e9 Fixed problems with ast_cdr_serialize_variables().
* Fixed return value of ast_cdr_serialize_variables() on error.  It needs
to return 0 indicating no CDR variables found.

* Made ast_cdr_serialize_variables() check the return value of
cdr_object_format_property() and assert if nonzero.  A member of the
cdr_readonly_vars[] was not handled.

* Removed unused elements from cdr_readonly_vars[]: total_duration,
total_billsec, first_start, and first_answer.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397900 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 22:55:27 +00:00
Richard Mudgett
1b4793bb5e Made the on/off in CLI "cdr set debug [on|off]" case insensitive.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 22:42:26 +00:00
Richard Mudgett
8c7c10010f Make CDR variable name chandling consistently case insensitive.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397896 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 22:38:01 +00:00
Richard Mudgett
986911fa04 Make CDR code deal with channel names case insensitively.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 22:33:38 +00:00
Richard Mudgett
fa3370fdee Some CDR code optimization.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397892 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 22:21:46 +00:00
Richard Mudgett
7e3c893bb8 Whitespace and curly braces.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 21:38:01 +00:00
Mark Michelson
eb36b71183 Improve detection of answer on SIP blind transfer.
A problem encountered during testing was that res_pjsip_refer would
not ever send a NOTIFY with a 200 OK sipfrag. This is because the framehook
that was supposed to send the NOTIFY would never be told that an answer
had occurred. This happened for two reasons:

1) The transferee channel on which the framehook was on was already up.
2) Answers are rarely if ever written to channels. Rather, the ast_answer()
or ast_raw_answer() function is used to answer channels.

Thanks to a suggestion by Matt Jordan, the best way to detect that the call
had been answered was to find out when the transferee channel joined a bridge.
With stasis this is an easy task. So now, in addition to the framehook logic,
there is a stasis subscription used to determine when the transferee has entered
a bridge. Once it has entered, an appropriate NOTIFY is sent.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397876 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 21:05:31 +00:00
Matthew Jordan
402d4578ba Add database schema management using Alembic
This patch replaces contrib/realtime/ with a new setup for managing the
database schema required for database integration with Asterisk.  In
addition to initializing a database with the proper schema, alembic can do a
database migration to assist with upgrading Asterisk in the future.
Hopefully this helps make setting up and operating Asterisk with a database
easier.

With this the schema only needs to be maintained in one place instead of
once per database.  The schemas I have added here have a bit of improvement
over the examples that were there before (some added consistency and added
some missing indexes).  Managing the schema in one place here also applies
to all databases supported by SQLAlchemy.

See contrib/ast-db-manage/README.md for more details.

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

patch by Russell Bryant (license 6300)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 20:55:31 +00:00
Matthew Jordan
0f61ca1b36 Update CHANGES file for Asterisk 12
This updates the Asterisk 12 CHANGES file with the things that were missed
during the development cycle.

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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397870 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 20:43:03 +00:00
Richard Mudgett
ae6e4d27e2 pbx.c: Make ast_str_substitute_variables_full() not mask variables.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397859 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 16:12:27 +00:00
Richard Mudgett
e19173ca53 Match use of ast_free() with ast_calloc() and add some curly braces.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 16:07:00 +00:00
Mark Michelson
81f63aa2dc Fix dialog matching in the SIP distributor.
Dialog matching is performed in the distributor for the sole
purpose of retrieving an associated serializer so the request
may be serialized.

This patch fixes two problems.

First, incoming CANCEL requests that had no to-tag (which really
should be *all* CANCEL requests) would not match with a dialog.
An earlier bug fix to deal with early CANCEL requests would result
in the CANCEL being replied to with a 481. The fix for this is to
find the matching INVITE transaction and get the dialog from that
transaction.

Second, no SIP responses were matching dialogs. This is because we
were inverting the tags that we were passing into PJSIP's dialog
finding function. This logic has been corrected by setting local
and remote tag variables based on whether the incoming message is
a request or response.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397854 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-28 15:40:25 +00:00
David M. Lee
d7e16fadf8 ARI: WebSocket event cleanup
Stasis events (which get distributed over the ARI WebSocket) are created
by subscribing to the channel_all_cached and bridge_all_cached topics,
filtering out events for channels/bridges currently subscribed to.

There are two issues with that. First was a race condition, where
messages in-flight to the master subscribe-to-all-things topic would get
sent out, even though the events happened before the channel was put
into Stasis. Secondly, as the number of channels and bridges grow in the
system, the work spent filtering messages becomes excessive.

Since r395954, individual channels and bridges have caching topics, and
can be subscribed to individually. This patch takes advantage, so that
channels and bridges are subscribed to on demand, instead of filtering
the global topics.

The one case where filtering is still required is handling BridgeMerge
messages, which are published directly to the bridge_all topic.

Other than the change to how subscriptions work, this patch mostly just
moves code around. Most of the work generating JSON objects from
messages was moved to .to_json handlers on the message types. The
callback functions handling app subscriptions were moved from res_stasis
(b/c they were global to the model) to stasis/app.c (b/c they are local
to the app now).

(closes issue ASTERISK-21969)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2754/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-27 19:15:49 +00:00
Richard Mudgett
f429557bf8 Made MALLOC_DEBUG less CPU intensive by default.
Storing a backtrace for each allocation in anticipation of a memory
management problem is very CPU intensive.

* Added the CLI "memory backtrace {on|off}" command to request that the
backtrace be gathered only on request.  The backtrace is off by default.

(issue ASTERISK-22221)
Reported by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-27 18:49:58 +00:00
Matthew Jordan
54d8f36572 AST-2013-005: Fix crash caused by invalid SDP
If the SIP channel driver processes an invalid SDP that defines media
descriptions before connection information, it may attempt to reference
the socket address information even though that information has not yet
been set. This will cause a crash.

This patch adds checks when handling the various media descriptions that
ensures the media descriptions are handled only if we have connection
information suitable for that media.

Thanks to Walter Doekes, OSSO B.V., for reporting, testing, and providing
the solution to this problem.

(closes issue ASTERISK-22007)
Reported by: wdoekes
Tested by: wdoekes
patches:
  issueA22007_sdp_without_c_death.patch uploaded by wdoekes (License 5674)
........

Merged revisions 397756 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 397757 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 397758 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397759 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-27 18:05:01 +00:00
Richard Mudgett
1072858d0f Fix uninitialized value in struct ast_control_pvt_cause_code usage.
........

Merged revisions 397744 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-27 16:47:38 +00:00
Matthew Jordan
5e34c49a66 AST-2013-004: Fix crash when handling ACK on dialog that has no channel
A remote exploitable crash vulnerability exists in the SIP channel driver if an
ACK with SDP is received after the channel has been terminated. The handling
code incorrectly assumed that the channel would always be present.

This patch adds a check such that the SDP will only be parsed and applied if
Asterisk has a channel present that is associated with the dialog.

Note that the patch being applied was modified only slightly from the patch
provided by Walter Doekes of OSSO B.V.

(closes issue ASTERISK-21064)
Reported by: Colin Cuthbertson
Tested by: wdoekes, Colin Cutherbertson
patches:
  issueA21064_fix.patch uploaded by wdoekes (License 5674)
........

Merged revisions 397710 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 397711 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 397712 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-27 16:03:27 +00:00
Matthew Jordan
ff68143bd0 Better handle clearing the OUTGOING flag when a channel leaves a bridge
When a channel with the OUTGOING flag leaves a bridge, and it will survive
being pulled from the bridge (either because it will execute dialplan,
go into another bridge, or live in a friendly autoloop), we have to clear
the OUTGOING flag. This is the signal to the CDR engine that this channel
is no longer a second class citizen, i.e., it is not "dialed".

The soft hangup flags are only half the picture. If a channel is being
moved from one bridge to another, the soft hangup flags aren't set; however,
the state of the bridge_channel will not be hung up. Since the channel does
not have one of the two hang up states, that implies that the channel is
still technically alive.

This patch modifies the check so that it checks both the soft hangup flags
as well as the bridge_channel state. If either suggests that the channel
is going to persist, we clear the OUTGOING flag.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-26 23:38:11 +00:00
David M. Lee
594ef4e5ab Fixed bucket.c for systems where tv_usec is not an unsigned long.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-26 21:30:12 +00:00
Richard Mudgett
7a60a318ce bridging: Fix a livelock with local channel optimization.
Use a better means of waking up the bridge channel thread.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-26 16:24:51 +00:00
Richard Mudgett
2d57781191 chan_dahdi: Add some missing build cleanup.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-26 16:14:12 +00:00
Matthew Jordan
029057a261 Fix bucket unit tests
After the review for buckets was completed (r2715), the handling of names in
the bucket core was deferred to the wizards. As such, the bucket unit tests
cannot expect that passing a URI with a scheme specified but no actual resource
name will automatically fail. The tests have been updated to not make this
check.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397630 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-25 18:12:15 +00:00
Matthew Jordan
1888186add Fix the config_options_test
The config options test requires the entire configuration item to be transparent from
the documentation system. So we let it do that too.

As an aside, please do not use this power for evil. Documentation is your friend, and
you really should document your configurations. Hiding your module's configuration
information from the system attempting to enforce some sanity in the universe is something
only a Bond villain would contemplate.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-25 17:58:17 +00:00
Matthew Jordan
206f07a721 Add rtpengine configuration parameter
The rtpengine configuration parameter was documented in the XML documentation,
but it was not actually registered with the sorcery object. This adds the
parameter with a default of "asterisk", such that res_rtp_asterisk is chosen as
the default RTP implementation.

(closes issue ASTERISK-22380)
Reported by: Rusty Newton
Tested by: Rusty Newton


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-25 01:08:35 +00:00
Matthew Jordan
006c0f4b5e __________
|          \
                                           |_______    |
                                                   |   |
                                             ______|   |
                                            /          |
      _        _            _     _      _ |    _______|
     / \   ___| |_ ___ _ __(_)___| | __ / ||   |
    / _ \ / __| __/ _ \ '__| / __| |/ / | ||   |_______
   / ___ \__  \|  | __/ |  | \__ \   <  | ||           |
  /_/   \_\___/\__\___|_|  |_|___/_|\_\ |_| \__________|



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@397614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 22:36:29 +00:00
Joshua Colp
9c713d12da Fix building of trunk.
Note: This is why I commit on the weekend.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397613 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 22:20:39 +00:00
Matthew Jordan
f4bf1823e9 Fix channel reference leak in Originated channels
When originating channels, ast_pbx_outgoing_* caused the dialed channel
reference to be bumped twice. Ostensibly, this routine is bumping the channel
lifetime such that the channel doesn't get nuked in between locks/unlocks;
however, since the routine should return the dialed channel with its
reference bumped, it only needs to do this one time.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 22:12:57 +00:00
Joshua Colp
00d8ef8c79 Blocked revisions 397604
........
Make libuuid an optional dependency for res_rtp_asterisk instead of a requirement.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 21:59:31 +00:00
Mark Michelson
e7c6f33517 Add some clarifying documentation to the rewrite_contact endpoint option.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 21:53:48 +00:00
Richard Mudgett
fd7ac4fecd Blank line tweaks.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397602 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 21:51:19 +00:00
Joshua Colp
dd33217762 Add the bucket API.
Bucket is a URI based API for the creation, retrieval, updating, and deletion
of "buckets" and files contained within them.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 21:49:47 +00:00
Joshua Colp
cd7436a6c0 Fix a bug where the argc value was passed as no_doc when registering custom sorcery types.
This also adds a _nodoc equivalent.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397599 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 21:45:48 +00:00
Mark Michelson
cae6bc54c8 Add test events necessary for bridge tests to pass in the test suite.
(closes issue AST-1200)
reported by John Bigelow
Review: https://reviewboard.asterisk.org/r/2790/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 21:02:26 +00:00
Matthew Jordan
3d9c5e61af Fix error in using ast_channel_snapshot_type before initialization
Starting Asterisk would kick back an ERROR message stating that the Stasis
message type ast_channel_snapshot_type was used prior to initialization.
This occurred due to the caching topic being created prior to the message
type that it depended on.

This patch re-orders the start up such that the message type is initialized
prior to the caching topic. It also checks the return value of the
initialization of the agent login/logoff types.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 20:14:46 +00:00
Jonathan Rose
c13d0b7bdc bridge_native_rtp: Fix hold chain bugs caused by native RTP bridge framehook
Issuing hold/unhold would lead to odd behavior. Between two chan_sip devices,
a hold could cause an endless chain of updates while with pjsip a similar chain
would begin but then end somewhat randomly. This patch fixes that by no longer
tweaking the RTP glue on both sides of the call for every
HOLD/UNHOLD/UPDATE_RTP_PEER frame.

(issue ASTERISK-22217)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2794/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 19:05:20 +00:00
Richard Mudgett
6ebfac8e70 Handle DTMF and hold wrapup when a channel leaves the bridging system.
DTMF start/end and hold/unhold events have state because a DTMF begin
event and hold event must be ended by something.

The following cases need to be handled when a channel is moved around in
the system.

* When a channel leaves a bridge it may owe a DTMF end event to the
bridge.

* When a channel leaves a bridge it may owe an UNHOLD event to the bridge.
(This case is explicitly ignored because things like transfers need
explicit control over this.)

* When a channel leaves the bridging system it may need to simulate a DTMF
end event to the channel.

* When a channel leaves the bridging system it may need to simulate an
UNHOLD event to the channel.

The patch also fixes the following:
* Fixes playing a file and restarting MOH using the latest MOH class used.

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

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 18:33:36 +00:00
Matthew Jordan
31ab486627 Fix sorcery unit tests
When strict XML documentation checking was re-enabled, the test objects used in
sorcery would fail to register as the types were not marked internal and the
nodoc option wasn't used for the options. This fixes that problem, such that,
as one would hope, they once again pass.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 18:10:11 +00:00
Richard Mudgett
46b9e5450f Fix memory corruption when trying to get "core show locks".
Review https://reviewboard.asterisk.org/r/2580/ tried to fix the mismatch
in memory pools but had a math error determining the buffer size and
didn't address other similar memory pool mismatches.

* Effectively reverted the previous patch to go in the same direction as
trunk for the returned memory pool of ast_bt_get_symbols().

* Fixed memory leak in ast_bt_get_symbols() when BETTER_BACKTRACES is
defined.

* Fixed some formatting in ast_bt_get_symbols().

* Fixed sig_pri.c freeing memory allocated by libpri when MALLOC_DEBUG is
enabled.

* Fixed __dump_backtrace() freeing memory from ast_bt_get_symbols() when
MALLOC_DEBUG is enabled.

* Moved __dump_backtrace() because of compile issues with the utils
directory.

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

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

Merged revisions 397525 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 397528 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 18:07:40 +00:00
Matthew Jordan
32a0567c46 Prevent seg fault in off nominal path when registered option fails to validate
If an option is registered to a type and it is the last known type in the list
of registered types, and the option fails to register, an overrun of the types
array can occur due to the index variable having been already incremented.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397568 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 18:02:36 +00:00
Kevin Harwell
882ba86434 PSJIP - sip.conf to res_sip.conf script
Most, if not all, of the backing features of a conf file should now be
implemented (e.g. multi-line comments, includes, templates, etc...).  A
few of the options still need to be mapped.  Those are currently listed
in the 'sip_to_res_sip.py' file.

Things to do:

(1) There is more work to do here, at least for the sip.conf items that
aren't currently parsed. An issue will be created for that.
(2) All of the scripts should probably be passed through pylint and have
as many PEP8 issues fixed as possible.
(3) A public review is probably warranted at that point of the entire script.

Reported by: Matt Jordan


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397567 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 17:45:05 +00:00
David M. Lee
7a581537e8 ARI: Correct error codes for bridge operations
This patch adds error checking to ARI bridge operations, when
adding/removing channels to/from bridges.

In general, the error codes fall out as follows:
 * Bridge not found - 404 Not Found
 * Bridge not in Stasis - 409 Conflict
 * Channel not found - 400 Bad Request
 * Channel not in Stasis - 422 Unprocessable Entity
 * Channel not in this bridge (on remove) - 422 Unprocessable Entity

(closes issue ASTERISK-22036)
Review: https://reviewboard.asterisk.org/r/2769/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397565 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 17:19:02 +00:00
Matthew Jordan
9f4849724f Update CHANGES file to reflect pass through support for Opus/VP8
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 15:49:50 +00:00
Matthew Jordan
4d348e853c Add pass through support for Opus and VP8; Opus format attribute negotiation
This patch adds pass through support for Opus and VP8. That includes:

* Format attribute negotiation for Opus. Note that unlike some other codecs,
  the draft RFC specifies having spaces delimiting the attributes in addition
  to ';', so you have "attra=X; attrb=Y". This broke the attribute parsing in
  chan_sip, so a small tweak was also included in this patch for that.

* A format attribute negotiation module for Opus, res_format_attr_opus

* Fast picture update for VP8. Since VP8 uses a different RTCP packet number
  than FIR, this really is specific to VP8 at this time.

Note that the format attribute negotiation in res_pjsip_sdp_rtp was written
by mjordan. The rest of this patch was written completely by Lorenzo Miniero.

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

(closes issue ASTERISK-21981)
Reported by: Tzafrir Cohen
patches:
  asterisk_opus+vp8_passthrough_20130718.patch uploaded by lminiero (License 6518)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397526 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 15:42:27 +00:00
Matthew Jordan
e31bd332b8 Update config framework/sorcery with types/options without documentation
There are times when a configuration option should not have documentation.

1. Some options are registered with a particular object merely as a warning to
   users. These options aren't even really 'deprecated' - which has its own
   separate API call - they are actually provided by a different configuration
   file. The options are merely registered so that the user gets a warning that
   a different configuration file provides the item.

2. Some object types - most notably some used by modules that use sorcery - are
   completely internal and should never be shown to the user.

3. Sorcery itself has several 'hidden' fields that should never be shown to a
   user.

This patch updates the configuration framework and sorcery with additional API
calls that allow a module to register types as internal and options as not
requiring documentation. This bypasses the XML documentation checking.

This patch also re-enables the strict XML documentation checking in trunk, as
well as updates some documentation that was missing.

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

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

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 15:21:40 +00:00
Joshua Colp
b2a13e83dc Fix crash when answering after a transport error occurs.
If a response to an initial incoming INVITE results in a transport error
the INVITE transaction is removed from the INVITE session. Any attempts
to answer the INVITE session after this results in a crash as it requires
the INVITE transaction to exist. This change explicitly locks the dialog
and checks to ensure that the INVITE transaction exists before answering.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 13:58:08 +00:00
Kinsey Moore
d12c79f78f Update CEL sample config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397514 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 13:18:51 +00:00
Jonathan Rose
21e22310c7 ARI: Music on Hold/Background Music for bridges
Adds ARI functions to be able to turn on/off music on hold in a
bridge. It actually functions more as a background music without
further actions on the bridge since if the rest of the channels
in the bridge aren't explicitly muted, they will still be able
to communicate.

(closes issue ASTERISK-21974)
Reported by: Matt Jordan
Review: https://reviewboard.asterisk.org/r/2688/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@397505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2013-08-23 00:26:19 +00:00