Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }