Exemplo n.º 1
0
        public void sendToInfoAeonix(string info)
        {
            Call   call     = CallService.Instance.tr87Call;
            string sendInfo = info + "\r\n";

            InfoMessage infoMessage = LinphoneCore.CreateInfoMessage();

            infoMessage.AddHeader("Content-Disposition", "signal; handling=required");
            infoMessage.AddHeader("Content-Type", "application/csta+v6+json");

            Content content = LinphoneCore.CreateContent();

            content.Type    = "application";
            content.Subtype = "csta+v6+json";
            System.Text.UTF8Encoding encoding = new System.Text.UTF8Encoding();
            byte[] sendInfoBytes    = encoding.GetBytes(sendInfo);
            IntPtr unmanagedPointer = System.Runtime.InteropServices.Marshal.AllocHGlobal(sendInfoBytes.Length);

            System.Runtime.InteropServices.Marshal.Copy(sendInfoBytes, 0, unmanagedPointer, sendInfoBytes.Length);
            content.SetBuffer(unmanagedPointer, sendInfoBytes.Length);

            // Call unmanaged code
            System.Runtime.InteropServices.Marshal.FreeHGlobal(unmanagedPointer);
            infoMessage.Content = content;

            call.SendInfoMessage(infoMessage);
        }