diff options
author | Joshua Colp <jcolp@digium.com> | 2016-03-26 14:25:53 -0500 |
---|---|---|
committer | Gerrit Code Review <gerrit2@gerrit.digium.api> | 2016-03-26 14:25:53 -0500 |
commit | c88c09a9204544c8d903ef333ba9bbeb3c8cd692 (patch) | |
tree | 001c9ee7d6f6eadfd1117c5ca6d6abec64000cb8 /res | |
parent | 3974bf1ef0f06cf221c98fdf3036dcb084896c74 (diff) | |
parent | 50f90d409948770e9453b4f5d769b4ae6478f6b1 (diff) |
Merge "res_parking: Fix blind transfer dynamic lots creation." into 13
Diffstat (limited to 'res')
-rw-r--r-- | res/parking/parking_applications.c | 2 | ||||
-rw-r--r-- | res/parking/parking_bridge_features.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/res/parking/parking_applications.c b/res/parking/parking_applications.c index 1615aed4e..142432a8b 100644 --- a/res/parking/parking_applications.c +++ b/res/parking/parking_applications.c @@ -496,7 +496,7 @@ struct ast_bridge *park_common_setup(struct ast_channel *parkee, struct ast_chan lot = parking_lot_find_by_name(lot_name); if (!lot) { - lot = parking_create_dynamic_lot(lot_name, parkee); + lot = parking_create_dynamic_lot(lot_name, parker); } if (!lot) { diff --git a/res/parking/parking_bridge_features.c b/res/parking/parking_bridge_features.c index becb74ef9..588b5554f 100644 --- a/res/parking/parking_bridge_features.c +++ b/res/parking/parking_bridge_features.c @@ -236,6 +236,7 @@ static struct ast_channel *park_local_transfer(struct ast_channel *parker, const /* Before we actually dial out let's inherit appropriate information. */ ast_channel_lock_both(parker, parkee); ast_channel_req_accountcodes(parkee, parker, AST_CHANNEL_REQUESTOR_REPLACEMENT); + ast_channel_parkinglot_set(parkee, ast_channel_parkinglot(parker)); ast_connected_line_copy_from_caller(ast_channel_connected(parkee), ast_channel_caller(parker)); ast_channel_inherit_variables(parker, parkee); ast_channel_datastore_inherit(parker, parkee); @@ -482,6 +483,9 @@ static int parking_park_call(struct ast_bridge_channel *parker, char *exten, siz lot = parking_lot_find_by_name(lot_name); if (!lot) { + lot = parking_create_dynamic_lot(lot_name, parker->chan); + } + if (!lot) { ast_log(AST_LOG_WARNING, "Cannot Park %s: lot %s unknown\n", ast_channel_name(parker->chan), lot_name); return -1; @@ -497,7 +501,8 @@ static int feature_park_call(struct ast_bridge_channel *bridge_channel, void *ho { SCOPED_MODULE_USE(parking_get_module_info()->self); - return parking_park_call(bridge_channel, NULL, 0); + parking_park_call(bridge_channel, NULL, 0); + return 0; } /*! |