private async Task AcceptCall() { IncomingCallRing.Stop(); CallDevice(); RemoteVideo.Visibility = Visibility.Visible; PreviewVideo.Visibility = Visibility.Visible; //VideoVisibility.Visibility = Visibility.Visible; Mute.Visibility = Visibility.Visible; EndConsult.Visibility = Visibility.Visible; Reject.Visibility = Visibility.Collapsed; Accept.Visibility = Visibility.Collapsed; EndConsult.IsEnabled = true; if (incommingCall == null) { return; } incommingCall.Accept(); await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, (() => { activated = true; var remoteAddress = incommingCall.RemoteUrl; Interlocked.Exchange(ref isTerminator, 0); if (!((bool)roleIsActive)) { // Passive client RemoteVideo.Source = new Uri(remoteAddress); } remoteAddress = remoteAddress.Replace("stsp://", ""); return; })); }
async void Device_IncomingConnectionArrived(object sender, IncomingConnectionEventArgs e) { incommingCall = e; await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, (() => { IncomingCallRing.Play(); Reject.Visibility = Visibility.Visible; Accept.Visibility = Visibility.Visible; })); }