public async Task <string> StartMessaging(string sipName, string subject, Importance importance, string message, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(sipName)) { return(""); } string encodedMessage = ""; if (!string.IsNullOrEmpty(message)) { byte[] toEncodeAsBytes = System.Text.Encoding.UTF8.GetBytes(message); encodedMessage = System.Convert.ToBase64String(toEncodeAsBytes); } MessagingInvitation invitation = new Models.MessagingInvitation() { To = string.IsNullOrEmpty(sipName) ? null : sipName, Subject = subject, Importance = importance, OperationId = Guid.NewGuid().ToString(), ThreadId = Guid.NewGuid().ToString(), Links = string.IsNullOrEmpty(encodedMessage) ? null : new MessagingInvitation.InternalLinks() { message = new UCWAHref() { Href = $"data:text/plain;base64,{encodedMessage}" } } }; return(await HttpService.Post(Links.startMessaging, invitation, cancellationToken)); }
public async Task ContinueMessaging(MessageFormat messageFormat, string message, CancellationToken cancellationToken) { if (string.IsNullOrEmpty(message)) { return; } var messageBody = ""; if (messageFormat == MessageFormat.Plain) { messageBody += "data:text/plain;base64,"; } else { messageBody += "data:html/plain;base64,"; } byte[] toEncodeAsBytes = System.Text.Encoding.UTF8.GetBytes(message); string encodedMessage = System.Convert.ToBase64String(toEncodeAsBytes); messageBody += encodedMessage; MessagingInvitation messagingInvitation = new Models.MessagingInvitation() { OperationId = Guid.NewGuid().ToString(), Links = new MessagingInvitation.InternalLinks() { message = new UCWAHref() { Href = messageBody } } }; await HttpService.Post(Links.continueMessaging, messagingInvitation, cancellationToken); }