public void AriClient_OnChannelDtmfReceivedEvent(ISipApiClient sipApiClient, DtmfReceivedEvent dtmfReceivedEvent) { DigitTimeoutTimer.Stop(); _call.Logger.Debug($"OnChannel Dtmf Received Event {dtmfReceivedEvent.LineId}"); if (_call.GetCurrentState() == State.LanguagePrompts) { return; } if (dtmfReceivedEvent.LineId != _call.CallState.GetIncomingLineId()) { return; } LogDtmfValue(dtmfReceivedEvent); CaptureDigitIfInValidState(dtmfReceivedEvent); if (_call.GetCurrentState() == State.PlayingInterruptiblePrompt) { _promptPlayer.StopPrompt(); } ProcessDigitsReceived(); }
public async void AriClient_OnChannelDtmfReceivedEvent(ISipApiClient sipApiClient, DtmfReceivedEvent dtmfReceivedEvent) { DigitTimeoutTimer.Stop(); if (_call.GetCurrentState() == State.LanguagePrompts) { return; } if (!ShouldProcessDigit(dtmfReceivedEvent)) { return; } _call.Logger.Debug($"OnChannel Dtmf Received Event {dtmfReceivedEvent.LineId}"); LogDtmfValue(dtmfReceivedEvent); CaptureDigitIfInValidState(dtmfReceivedEvent); if (_call.GetCurrentState() == State.PlayingInterruptiblePrompt) { await _promptPlayer.StopPromptAsync(); } await ProcessDigitsReceived(); }