예제 #1
0
        private async Task OnRosterUpdateNotification(RosterUpdateNotification rosterUpdateNotification)
        {
            Log.Info(new CallerInfo(), LogContext.FrontEnd, $"[{CallId}] OnRosterUpdateNotification");
            _participants = rosterUpdateNotification.Participants;

            uint prevSubscribedMsi = (_subscribedToParticipant == null) ? MediaSession.DominantSpeaker_None
                                                                         : Convert.ToUInt32(_subscribedToParticipant.MediaStreamId);

            await Subscribe(prevSubscribedMsi, false).ConfigureAwait(false);
        }
        private async Task HandleRosterUpdateNotification(RosterUpdateNotification notification)
        {
            Trace.TraceInformation($"RealTimeMediaCallService [{CallLegId}]: Received RosterUpdateNotification");
            notification.Validate();

            var eventHandler = OnRosterUpdateNotification;

            if (eventHandler != null)
            {
                await eventHandler.Invoke(notification).ConfigureAwait(false);
            }

            return;
        }