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