asterisk/main
Matthew Jordan ba5d5da60b Improve call forwarding reporting, especially with regards to ARI.
This patch addresses a few issues:

1) The order of Dial events have been changed when performing a call forward.
   The order has now been altered to
    1) Dial begins dialing channel A.
    2) When A forwards the call to B, we issue the dial end event to channel
       A, indicating the dial is being canceled due to a forward to B.
    3) When the call to channel B occurs, we then issue a new dial begin to
       channel B.

2) Call forwards are now reported on the calling channel, not the peer channel.

3) AMI DialEnd events have been altered to display the extension the call is
   being forwarded to when relevant.

4) You can now get the values of channel variables for channels that are not
   currently in the Stasis application. This brings the retrieval of channel
   variables more in line with the rest of channel read operations since they
   may be performed on channels not in Stasis.

ASTERISK-24134 #close
Reported by Matt Jordan

ASTERISK-24138 #close
Reported by Matt Jordan

Patches:
	forward-shenanigans.diff uploaded by Matt Jordan (License #6283)

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

Merged revisions 420794 from http://svn.asterisk.org/svn/asterisk/branches/13


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@421310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-08-18 00:57:01 +00:00
..
editline memory leaks: Memory leak cleanup patch by Corey Farrell (first set) 2013-10-23 20:10:30 +00:00
stdtime Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
abstract_jb.c datastores: Audit ast_channel_datastore_remove usage. 2014-07-28 18:58:43 +00:00
acl.c pjsip cli: Change Identify to show CIDR notation instead of netmasks. 2014-06-19 20:13:20 +00:00
adsi.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
alaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
aoc.c stasis: Reduce creation of channel snapshots to improve performance 2014-06-13 18:24:49 +00:00
app.c app_voicemail/app: Remove test events that were duplicated by r421059 2014-08-15 15:50:46 +00:00
ast_expr2.c Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.fl Avoid cppcheck warnings; removing unused vars and a bit of cleanup. 2012-04-17 18:57:40 +00:00
ast_expr2.h Allow the REALTIME() function to report errors back to the caller. 2012-07-11 17:16:50 +00:00
ast_expr2.y Multiple revisions 360356-360357 2012-03-24 02:42:42 +00:00
ast_expr2f.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
asterisk.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
asterisk.dynamics Fix error loading res_monitor. 2014-04-23 15:02:39 +00:00
asterisk.exports.in Add _IO_stdin_used in version-script to fix SIGBUSes on Sparc. 2013-08-22 08:26:55 +00:00
astfd.c Unregister CLI commands on exit 2013-08-20 15:36:10 +00:00
astmm.c MALLOC_DEBUG: Change fence magic number to be completely different from the freed magic number. 2013-09-09 23:29:44 +00:00
astobj2.c astobj2: assert on invalid ref and backtrace cleanup 2014-07-18 17:55:38 +00:00
astobj2_container.c ao2_container node object ignores REF_DEBUG in all places except one 2014-06-25 18:57:04 +00:00
astobj2_container_private.h astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
astobj2_hash.c astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
astobj2_private.h astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
astobj2_rbtree.c astobj2: Additional refactoring to push impl specific code down into the impls. 2014-06-20 15:27:43 +00:00
audiohook.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
autochan.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
autoservice.c autoservice: stop thread on graceful shutdown 2014-06-09 03:50:45 +00:00
backtrace.c Fix memory corruption when trying to get "core show locks". 2013-08-23 18:07:40 +00:00
bridge.c Ensure bridges exist when trying to determine bridged parties when publishing transfer information. 2014-08-07 19:44:32 +00:00
bridge_after.c Bridges: Fix feature interruption/unintended kick caused by external actions 2014-08-13 16:24:37 +00:00
bridge_basic.c Stasis: Convey transfer information to applications 2014-08-07 15:30:19 +00:00
bridge_channel.c Bridges: Fix feature interruption/unintended kick caused by external actions 2014-08-13 16:24:37 +00:00
bridge_roles.c ARI: bridges/{bridgeID}/addChannel: add roles parameter 2013-08-05 16:59:13 +00:00
bucket.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
buildinfo.c fix a few small things found by using sparse 2008-10-30 16:49:02 +00:00
callerid.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
ccss.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
cdr.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
cel.c cel: Make sure channels in extra fields include their unique IDs as well 2014-08-14 19:21:51 +00:00
channel.c Bridging: Fix a behavioral change when checking if a channel is leaving a bridge 2014-08-15 17:26:12 +00:00
channel_internal_api.c channel_internal_api.c: Replace some code with ao2_replace(). 2014-08-14 16:01:39 +00:00
chanvars.c ast_free() is null tollerant. 2013-08-28 16:09:12 +00:00
cli.c Add module support level to ast_module_info structure. Print it in CLI "module show" . 2014-07-25 16:47:17 +00:00
codec.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
codec_builtin.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
config.c config: inform config hook of change when writing file 2014-07-11 16:42:49 +00:00
config_options.c AMI: Allow for command response documentation 2014-07-24 13:00:59 +00:00
core_local.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
core_unreal.c accountcode: Slightly change accountcode propagation. 2014-07-24 22:48:38 +00:00
crypt.c Fix utils directory breakage. 2013-07-04 13:06:15 +00:00
cygload.c Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
data.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
datastore.c This is no longer needed. 2013-06-29 00:18:57 +00:00
db.c core/db: Revert Patch Added In Attempt To Improve I/O Performance 2014-07-24 21:01:37 +00:00
devicestate.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
dial.c accountcode: Slightly change accountcode propagation. 2014-07-24 22:48:38 +00:00
dns.c res_pjsip: Enable PJSIP DNS client support. 2014-03-17 22:54:32 +00:00
dnsmgr.c Migrate a large number of AMI events over to Stasis-Core 2013-05-24 20:44:07 +00:00
dsp.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
ecdisa.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
endpoints.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
enum.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
event.c event.c: Fix type mismatch errors in ie_maps[]. 2014-06-27 23:21:44 +00:00
features.c Documentation: doc fixes across various parts of the code for ASTERISK issues 23061,23028,23046,23027 2014-01-17 17:16:14 +00:00
features_config.c feature_config: insure featuregroups and applicationmaps are initialized 2014-07-18 17:40:54 +00:00
file.c main/file: Move test event to emit PLAYBACK event more consistently 2014-08-14 20:59:15 +00:00
fixedjitterbuf.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fixedjitterbuf.h Kill off red blobs in most of main/* 2012-03-22 19:51:16 +00:00
format.c chan_iax2: Fix a crash that occurs when using allow=all for an IAX2 peer 2014-08-05 13:59:53 +00:00
format_cache.c Remove duplicate definitions of ast_format_vp8. 2014-08-04 21:00:51 +00:00
format_cap.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
format_compatibility.c chan_iax2: Several media format fixes. 2014-08-07 18:51:16 +00:00
frame.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
framehook.c Bridges: Fix feature interruption/unintended kick caused by external actions 2014-08-13 16:24:37 +00:00
fskmodem.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_float.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
fskmodem_int.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
global_datastores.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
hashtab.c Fix utilities compilation/linking. 2013-08-16 16:26:11 +00:00
heap.c Fix incorrect usages of ast_realloc(). 2013-09-10 18:05:47 +00:00
http.c HTTP: Fix build for gcc 4.10 2014-07-07 01:10:55 +00:00
image.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
indications.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
io.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
jitterbuf.c jitterbuf: Fix memory leak on jitter buffer reset 2013-10-24 19:42:21 +00:00
json.c Multiple revisions 420089-420090,420097 2014-08-05 21:44:09 +00:00
libasteriskssl.c Resolve memory leaks in TLS initialization and TLS client connections 2012-09-14 19:53:43 +00:00
libasteriskssl.exports.in Address OpenSSL initialization issues when using third-party libraries. 2012-01-30 21:21:16 +00:00
loader.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
lock.c Revert -r411073. It didn't help and blew up the system. 2014-03-25 15:47:17 +00:00
logger.c logger: Don't store verbose-magic in the log files. 2014-08-13 07:54:10 +00:00
Makefile main/Makefile: fix compilation error of buildinfo occurring on 'make install' 2014-07-04 15:26:58 +00:00
manager.c AMI: Improve documentation for Status action 2014-08-13 14:31:46 +00:00
manager_bridges.c AMI: Allow for command response documentation 2014-07-24 13:00:59 +00:00
manager_channels.c Improve call forwarding reporting, especially with regards to ARI. 2014-08-18 00:57:01 +00:00
manager_endpoints.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_mwi.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
manager_system.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
md5.c md5: supress some compiler warnings. 2012-04-28 01:33:49 +00:00
media_index.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
message.c main/message: remove debug message 2014-08-08 12:33:06 +00:00
mixmonitor.c Removed quotes from svn:keywords props on a few files. 2013-07-29 17:51:25 +00:00
named_acl.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
netsock.c Move eid functions to utils.c, mark netsock.h deprecated 2014-06-24 02:50:15 +00:00
netsock2.c pjsip cli: Change Identify to show CIDR notation instead of netmasks. 2014-06-19 20:13:20 +00:00
optional_api.c Logger/CLI/etc.: Fix some aesthetic issues; reduce chatty verbose messages 2014-05-28 22:54:12 +00:00
parking.c res_pjsip_refer: Fix bugs involving Parking/PJSIP/transfers 2014-05-22 15:52:30 +00:00
pbx.c Bridges: Fix feature interruption/unintended kick caused by external actions 2014-08-13 16:24:37 +00:00
pickup.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
plc.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
poll.c Merged revisions 285268 via svnmerge from 2010-09-07 19:09:08 +00:00
presencestate.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
privacy.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
rtp_engine.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
say.c app_voicemail, say: Add support for Japanese Language 2014-06-30 04:00:19 +00:00
sched.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
sdp_srtp.c Recorded merge of revisions 417677 from http://svn.asterisk.org/svn/asterisk/branches/11 2014-06-30 19:51:28 +00:00
security_events.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
sem.c Multiple revisions 399887,400138,400178,400180-400181 2013-09-30 18:55:27 +00:00
sha1.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
sip_api.c Don't make chan_sip export global symbols. 2012-10-11 15:49:02 +00:00
slinfactory.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
smoother.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
sorcery.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
sounds_index.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
srv.c Removed #if checks for crazy old versions of OS X. 2013-05-08 20:25:28 +00:00
stasis.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_bridges.c Stasis: Correct blind transfer message generation 2014-08-07 21:17:05 +00:00
stasis_cache.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_cache_pattern.c stasis: use ao2_t_alloc for certain object allocators 2014-07-18 19:55:24 +00:00
stasis_channels.c Improve call forwarding reporting, especially with regards to ARI. 2014-08-18 00:57:01 +00:00
stasis_endpoints.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_message.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
stasis_message_router.c stasis: fix call to ao2_t_alloc for stasis_message_router_create 2014-07-18 21:25:14 +00:00
stasis_system.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
strcompat.c Add builtin roundf() for systems lacking it. 2013-01-19 20:54:07 +00:00
strings.c Add support for RFC 4662 resource list subscriptions. 2014-08-07 19:26:32 +00:00
stun.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
syslog.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
taskprocessor.c Allow Asterisk to compile under GCC 4.10 2014-05-09 22:49:26 +00:00
tcptls.c tcptls: Avoid compiler warning on non-dev-mode. 2014-08-11 09:55:13 +00:00
tdd.c Doxygen Updates - janitor work 2012-09-21 17:14:59 +00:00
term.c Revamp of terminal color codes 2013-02-14 18:47:56 +00:00
test.c Stasis: Allow message types to be blocked 2014-08-06 12:55:28 +00:00
threadpool.c Fix threadpool rapid growth problem. 2013-06-20 16:29:35 +00:00
threadstorage.c Unregister CLI commands on exit 2013-08-20 15:36:10 +00:00
timing.c timing: Improve performance for most timing implementations. 2014-02-07 20:01:45 +00:00
translate.c media formats: re-architect handling of media for performance improvements 2014-07-20 22:06:33 +00:00
udptl.c udptl: Correct FEC to not consider negative sequence numbers as missing 2014-06-26 12:24:25 +00:00
ulaw.c Multiple revisions 369001-369002 2012-06-15 16:20:16 +00:00
uri.c core uri: Custom uri parsing error when no query parameters 2014-06-06 20:45:05 +00:00
utils.c general: Fix memory Corruption in __ast_string_field_ptr_build_va. 2014-08-11 10:41:07 +00:00
uuid.c Add an \extref doxygen pointer for libuuid. 2013-04-26 20:32:11 +00:00
xml.c Detect and use xsltCleanupGlobals when available 2013-10-03 18:00:15 +00:00
xmldoc.c xmldocs: Add support for an <example> tag in the Asterisk XML Documentation 2014-07-31 11:49:40 +00:00