From 73c5967c2d130d0c4033684f76dad12d7d4d49e6 Mon Sep 17 00:00:00 2001 From: Jiajian Zhou Date: Fri, 19 May 2023 10:48:11 +0800 Subject: [PATCH] AMI: Add parking position parameter to Park action Add a parking space extension parameter (ParkingSpace) to the Park action. Park action will attempt to park the call to that extension. If the extension is already in use, then execution will continue at the next priority. UserNote: New ParkingSpace parameter has been added to AMI action Park. --- res/parking/parking_manager.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/res/parking/parking_manager.c b/res/parking/parking_manager.c index 83558ba74e..905a9b2b80 100644 --- a/res/parking/parking_manager.c +++ b/res/parking/parking_manager.c @@ -93,6 +93,11 @@ The parking lot to use when parking the channel + + The parking space extension in the parking lot. + If the space is already in use then execution will continue at the next priority. + + Park an arbitrary channel with optional arguments for specifying the parking lot used, how long @@ -523,6 +528,7 @@ static int manager_park(struct mansession *s, const struct message *m) const char *announce_channel = astman_get_header(m, "AnnounceChannel"); const char *timeout = astman_get_header(m, "Timeout"); const char *parkinglot = astman_get_header(m, "Parkinglot"); + const char *parkingspace = astman_get_header(m, "ParkingSpace"); char buf[BUFSIZ]; int timeout_override = -1; @@ -557,7 +563,11 @@ static int manager_park(struct mansession *s, const struct message *m) ast_bridge_set_transfer_variables(chan, timeout_channel, 0); ast_channel_unlock(chan); } - + + if (!ast_strlen_zero(parkingspace)) { + pbx_builtin_setvar_helper(chan, "PARKINGEXTEN", parkingspace); + } + parker_chan = ast_channel_bridge_peer(chan); if (!parker_chan || strcmp(ast_channel_name(parker_chan), timeout_channel)) { if (!ast_strlen_zero(announce_channel)) { -- 2.47.2