Beispiel #1
0
        public async Task DoStep(ISettings settings, ICall call)
        {
            await call.StopHoldingBridge();

            _callBridge = await call.CreateBridge(BridgeType.NoDTMF);

            call.CallState.SetBridge(_callBridge);

            await call.AddLineToBridge(call.CallState.GetIncomingLineId(), _callBridge.Id);

            await call.AddLineToBridge(call.CallState.GetOutgoingLineId(), _callBridge.Id);

            var stepSettings = (BridgeCallStepSettings)settings;

            call.AddStepToProcessQueue(stepSettings.NextStep);
            call.FireStateChange(Trigger.NextCallFlowStep);
        }
Beispiel #2
0
        public async Task DoStep(Step step, ICall call)
        {
            if (!string.IsNullOrEmpty(call.CallState.GetBridgeId()))
            {
                await call.StopHoldingBridge().ConfigureAwait(false);
            }
            _callBridge = await call.CreateBridge(BridgeType.NoDTMF).ConfigureAwait(false);

            call.CallState.SetBridge(_callBridge);

            await call.AddLineToBridge(call.CallState.GetIncomingLineId(), _callBridge.Id).ConfigureAwait(false);

            await call.AddLineToBridge(call.CallState.GetOutgoingLineId(), _callBridge.Id).ConfigureAwait(false);

            call.AddStepToProcessQueue(step.GetStepFromConnector(NextStep));
            call.FireStateChange(Trigger.NextCallFlowStep);
        }