getOrCreateHoldingBridge function
void
getOrCreateHoldingBridge(
- Channel channel
)
Implementation
void getOrCreateHoldingBridge(Channel channel) async {
// client.bridges.list((err: Error, bridges: Bridge[]) {
// let mixingBridges = bridges.filter((candidate: Bridge) => {
// return candidate['bridge_type'] === 'mixing';
// });
// print('Mixing bridges', mixingBridges.length);
// client.channels.list((err: Error, channels: Channel[]) => {
// let activeChannels = channels;
// print('Active channels', activeChannels.length);
// print('Active bridges', bridges.length);
// });
// });
var bridges = client.bridges.list();
bridges.then((bridgesList) {
print("Bridges: ${bridgesList.length}");
var holdingBridge = bridgesList.where((Bridge candidate) {
return candidate.bridge_type == 'holding';
}).toList();
print(holdingBridge.length);
if (holdingBridge.isNotEmpty) {
print('Using existing holding bridge ${holdingBridge[0].id}');
originate(channel, holdingBridge[0]);
} else {
var bridge = client.bridges.create(type: "holding"); // {
bridge.then((bridge) {
print('Created new holding bridge ${bridge.id}');
originate(channel, bridge);
});
}
});
// client.bridges.list((err, bridges) {
// var holdingBridge = bridges.firstWhere((Bridge candidate) {
// return candidate.bridge_type == 'holding';
// });
// if (holdingBridge != null) {
// print('Using existing holding bridge ${holdingBridge.id}');
// originate(channel, holdingBridge);
// } else {
// client.bridges.create((err, holdingBridge) {
// if (err) {
// throw err;
// }
// print('Created new holding bridge ${holdingBridge.id}');
// originate(channel, holdingBridge);
// }, type: "holding");
// }
// });
}