public void Answer()
 {
     if (currentCall == null)
     {
         return;
     }
     RegisterCallEvent();
     currentCall.Answer(MediaOption.AudioVideoShare(curCallView.LocalViewHandle, curCallView.RemoteViewHandle, curCallView.RemoteShareViewHandle), result =>
     {
         if (!result.IsSuccess)
         {
             output($"Error: {result.Error?.ErrorCode.ToString()} {result.Error?.Reason}");
         }
     });
 }
 public void Dial(string calleeAddress)
 {
     spark?.Phone.Dial(calleeAddress, MediaOption.AudioVideoShare(curCallView.LocalViewHandle, curCallView.RemoteViewHandle, curCallView.RemoteShareViewHandle), result =>
     {
         if (result.IsSuccess)
         {
             currentCall = result.Data;
             RegisterCallEvent();
             this.curCallView.RefreshViews();
         }
         else
         {
             output($"Error: {result.Error?.ErrorCode.ToString()} {result.Error?.Reason}");
         }
     });
 }