public static Task<CallMessageData> SendMessageAsync(
     this AudioVideoCall call, MessageType messageType,
     ContentDescription contentDescription,
     CallSendMessageRequestOptions options)
 {
     return Task<CallMessageData>.Factory.FromAsync(call.BeginSendMessage,
         call.EndSendMessage, messageType, 
         contentDescription, options, null);
 }
 public static Task <CallMessageData> SendMessageAsync(
     this AudioVideoCall call, MessageType messageType,
     ContentDescription contentDescription,
     CallSendMessageRequestOptions options)
 {
     return(Task <CallMessageData> .Factory.FromAsync(call.BeginSendMessage,
                                                      call.EndSendMessage, messageType,
                                                      contentDescription, options, null));
 }
        protected bool SendInfo(string data, List <SignalingHeader> headers)
        {
            base.DebugTrace("Inside LocalConnectivityTester SendInfo()", new object[0]);
            bool result;

            lock (this)
            {
                try
                {
                    if (base.IsCallGone())
                    {
                        base.Error = new TUC_RemoteEndDisconnected();
                        result     = false;
                    }
                    else
                    {
                        this.sipInfoEvent = new ManualResetEvent(false);
                        ContentType                   contentType                   = new ContentType("text/plain");
                        ContentDescription            contentDescription            = new ContentDescription(contentType, data);
                        CallSendMessageRequestOptions callSendMessageRequestOptions = new CallSendMessageRequestOptions();
                        if (headers != null)
                        {
                            CollectionExtensions.AddRange <SignalingHeader>(callSendMessageRequestOptions.Headers, headers);
                        }
                        base.AudioCall.EndSendMessage(base.AudioCall.BeginSendMessage(1, contentDescription, callSendMessageRequestOptions, null, null));
                        base.DebugTrace("Inside LocalConnectivityTester SendInfo: sent SIPINFO", new object[0]);
                        result = true;
                    }
                }
                catch (Exception ex)
                {
                    if (!(ex is RealTimeException) && !(ex is InvalidOperationException))
                    {
                        throw;
                    }
                    base.Error = new TUC_SendSequenceError(ex.Message, ex);
                    base.ErrorTrace("Inside LocalConnectivityTester SendInfo, error ={0}", new object[]
                    {
                        ex.ToString()
                    });
                    result = false;
                }
            }
            return(result);
        }