[asterisk-bugs] [JIRA] (ASTERISK-29356) Bridge operation (AMI) is rejected if either party is already a member of a bridge

Tom Thompson (JIRA) noreply at issues.asterisk.org
Fri Mar 19 04:23:15 CDT 2021


Tom Thompson created ASTERISK-29356:
---------------------------------------

             Summary: Bridge operation (AMI) is rejected if either party is already a member of a bridge
                 Key: ASTERISK-29356
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-29356
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Core/Bridging
    Affects Versions: 18.2.0, 17.5.0
         Environment: EL6 and EL8
            Reporter: Tom Thompson
            Severity: Major


We have a program that provides a GUI, automated operation and reporting for a telephony agent. It is implemented via  AMI - though the issue is more generic to a bridge operation
The application can be regarded as 3rd party call control i.e. any client operations are controlling a device residing on the server
The agent opens a voice path to a dialplan extn running a conference. From there the agent can make calls, take calls, hold calls, transfer calls etc. 
The agent is also able to transfer together 2 parties connected to the conference. This was successfully done using the bridge command in AMI. The worked well in Asterisk 11.x
We recently jumped through a few versions of asterisk to Asterisk 17. We notice now that the bridge operation is rejected. This happens even if just one party of the bridge pair already resides on the agent conference. 
In investigating the issue we got no direction from the debug logs (or at least none that was clear.
Some experimentation with the code indicated that the rejection occurred at the following lines in 
file main/bridge.c
proc bridge_move_locked
lines 2444
if (ast_test_flag(&dst_bridge->feature_flags, AST_BRIDGE_FLAG_MASQUERADE_ONLY)
		|| ast_test_flag(&src_bridge->feature_flags, AST_BRIDGE_FLAG_MASQUERADE_ONLY)) {
		ast_debug(1, "Can't move channel %s from bridge %s into bridge %s, masquerade only.\n",
			ast_channel_name(chan), src_bridge->uniqueid, dst_bridge->uniqueid);
		return -1;
	}
We feel that this issue relates to functionality worked previously and is a reasonable operation to be performing. For this reason we regard this a a bug.
I was likely introduced prior to asterisk 17 and the blocking code is in ast* 18.2.0 bridge.c line 2455
Regards Tom Thompson



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list