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); }