[Asterisk-code-review] bridge: suppress initial connected line update on attended t... (asterisk[13])

Alexei Gradinari asteriskteam at digium.com
Thu Aug 2 15:31:54 CDT 2018


Alexei Gradinari has posted comments on this change. ( https://gerrit.asterisk.org/9558 )

Change subject: bridge: suppress initial connected line update on attended transfer
......................................................................


Patch Set 2:

(1 comment)

https://gerrit.asterisk.org/#/c/9558/2/main/bridge_basic.c
File main/bridge_basic.c:

https://gerrit.asterisk.org/#/c/9558/2/main/bridge_basic.c@3433
PS2, Line 3433: 	/* We increase the refcount of the transfer target because ast_bridge_impart() will
              : 	 * steal the reference we already have. We need to keep a reference, so the only
              : 	 * choice is to give it a bump
              : 	 */
              : 	ast_channel_ref(props->transfer_target);
              : 	if (ast_bridge_impart(props->target_bridge, props->transfer_target, NULL, NULL,
              : 		AST_BRIDGE_IMPART_CHAN_INDEPENDENT)) {
              : 		ast_log(LOG_ERROR, "Channel %s: Unable to place transfer target into bridge.\n",
              : 			ast_channel_name(bridge_channel->chan));
              : 		stream_failsound(props->transferer);
              : 		ast_bridge_channel_write_unhold(bridge_channel);
              : 		ast_hangup(props->transfer_target);
              : 		props->transfer_target = NULL;
              : 		attended_transfer_properties_shutdown(props);
              : 		return 0;
              : 	}
> You need to redo this patch to *only* suppress the *initial*
 > connected line update.  To suppress that connected line update we
 > need to get Alice into the target bridge before the local channel
 > connected to Charlie joins the target bridge with the
 > AST_BRIDGE_IMPART_INHIBIT_JOIN_COLP flag.
 > 
 > * This bridge impart needs to be moved to attended_transfer_monitor_thread().
 > * The impart needs to be done after Alice is moved to the target
 > bridge with bridge_move() in attended_transfer_monitor_thread().
 > * The impart needs to be done with the AST_BRIDGE_IMPART_INHIBIT_JOIN_COLP
 > flag added.
 > * bridge_move() needs to be modified to not call bridge_do_move if
 > the passed in channel is already in the destination bridge.
 > * Some off-nominal code needs to be fixed-up because of the
 > relocated code.

Why is not enough to suppress the *initial* update in calling_target_enter as I did in this patch? It's working.



-- 
To view, visit https://gerrit.asterisk.org/9558
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: comment
Gerrit-Change-Id: I346652661949b6611c23e431ede0dbea1be3017a
Gerrit-Change-Number: 9558
Gerrit-PatchSet: 2
Gerrit-Owner: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Alexei Gradinari <alex2grad at gmail.com>
Gerrit-Reviewer: Jenkins2
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-Comment-Date: Thu, 02 Aug 2018 20:31:54 +0000
Gerrit-HasComments: Yes
Gerrit-HasLabels: No
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20180802/805d39f0/attachment.html>


More information about the asterisk-code-review mailing list