private async Task ProcessStasisEvents(IList <string> args, Channel channel) { _logger.Information($"ProcessStasisEvents.Start. ChannelId: {channel.Id}"); if (!args.Any()) { _logger.Information($"ProcessStasisEvents.RegisterIncomingCallCommand. ChannelId: {channel.Id}"); await _commandFactory.GetCommand(StasisStartEventType.RegisterIncomingCallCommand).Execute(channel, null); return; } StasisStartEventArgs startEventArgs; try { startEventArgs = JsonSerializer.DecodeData <StasisStartEventArgs>(args[0]); } catch (Exception ex) { _logger.Error("AriClientOnStasisStartEvent. Args parsing error.", ex); return; } _logger.Information($"ProcessStasisEvents.GetCommand. EventType: {startEventArgs.EventType}. ChannelId: {channel.Id}"); if (startEventArgs.EventType == StasisStartEventType.IgnoreStasisEvent) { return; } await _commandFactory.GetCommand(startEventArgs.EventType).Execute(channel, startEventArgs); }