Hi There,
I am kind of new to Asterisk and now we are updating from Asterisk v1.8 to v20 and our software which interacts with AMI Actions needs to be updated/fixed as well as a result of that. After a couple of migration fixes there’s a mayor blocking issue now concerning Bridging two channels with the Bridge AMI action (Asterisk 20 ManagerAction_Bridge - Asterisk Project - Asterisk Project Wiki).
Since the AMI v2 Specification, starting with Asterisk version 12, masquerades are gone, see AMI v2 Specification - Asterisk Project - Asterisk Project Wiki. As a result of that it seems that we are now no longer able to Bridge two channels where one of the channels is a Local channel. We receive the following error about this:
[Mar 6 13:16:07] DEBUG[4742] manager.c: Running action ‘Bridge’
[Mar 6 13:16:07] DEBUG[4742] features.c: Performing Bridge action on Local/+123@incoming-00000028;2 and SIP/TEST-00000025
[Mar 6 13:16:07] DEBUG[4742] stasis.c: Creating topic. name: bridge:all/bridge:02d85e1a-8447-47d3-9643-6dac6c371667, detail:
[Mar 6 13:16:07] DEBUG[4742] stasis.c: Topic ‘bridge:all/bridge:02d85e1a-8447-47d3-9643-6dac6c371667’: 0x7f0f7403caf0 created
[Mar 6 13:16:07] DEBUG[4742] bridge_native_rtp.c: Bridge ‘02d85e1a-8447-47d3-9643-6dac6c371667’ can not use native RTP bridge as two channels are required
[Mar 6 13:16:07] DEBUG[4742] bridge.c: Bridge technology native_rtp is not compatible with properties of existing bridge.
[Mar 6 13:16:07] DEBUG[4742] bridge.c: Bridge technology holding_bridge does not have any capabilities we want.
[Mar 6 13:16:07] DEBUG[4742] bridge.c: Bridge technology softmix has less preference than simple_bridge (10 <= 50). Skipping.
[Mar 6 13:16:07] DEBUG[4742] bridge.c: Chose bridge technology simple_bridge
[Mar 6 13:16:07] DEBUG[4742] bridge.c: Bridge 02d85e1a-8447-47d3-9643-6dac6c371667: calling simple_bridge technology constructor
[Mar 6 13:16:07] DEBUG[4742] bridge.c: Bridge 02d85e1a-8447-47d3-9643-6dac6c371667: calling simple_bridge technology start
[Mar 6 13:16:07] DEBUG[4742] stasis_bridges.c: Update: 0x7f0f74026ca8 Old: New: 02d85e1a-8447-47d3-9643-6dac6c371667
[Mar 6 13:16:07] DEBUG[4742] bridge.c: Can’t move channel Local/+123@incoming-00000028;2 from bridge 652ecfca-2ff6-4332-b9f6-093d57a03333 into bridge 02d85e1a-8447-47d3-9643-6dac6c371667, masquerade only.
When I look at the source main\bridge.c (previously main\bridging.c) it looks like a new flag check triggers this. See commit 3d63833bd6c869b7efa383e8dea14be1a6eff998 for the change.
I’m looking for the next steps to take to overcome this issue. Is there an alternative way to achieve this maybe? Or maybe someone can explain what could be going wrong here?
Thanx in advance,
Idsert