public void axMesh_MessageInEnd(object sender, AxPttLib.IPttEvents_MessageInEndEvent e)
 {
     if (e.pMessage != null)
     {
         PttLib.IAudioInMessage pMessage = (PttLib.IAudioInMessage)e.pMessage;
         if (pMessage != null)
         {
             PttLib.IContact pContact = pMessage.Sender;
             if (pContact != null)
             {
                 Debug.WriteLine("Incoming message " + e.pMessage.Id + " from " + pContact.Name + " ends, duration " + pMessage.Duration);
             }
         }
     }
 }
 public void axMesh_MessageInEnd(object sender, AxPttLib.IPttEvents_MessageInEndEvent e)
 {
     if (e.pMessage != null)
     {
         if (e.pMessage.Type == PttLib.MESSAGE_TYPE.MTAUDIO)
         {
             PttLib.IAudioInMessage pMessage = (PttLib.IAudioInMessage)e.pMessage;
             if (pMessage != null)
             {
                 PttLib.IContact pContact = pMessage.Sender;
                 if (pContact != null)
                 {
                     Debug.WriteLine("Received message " + e.pMessage.Id + " from " + pContact.Name + " ends, duration " + pMessage.Duration);
                 }
                 PttLib.IAudioInMessage2 pMessage2 = pMessage as PttLib.IAudioInMessage2;
             }
         }
         else if (e.pMessage.Type == PttLib.MESSAGE_TYPE.MTALERT)
         {
             PttLib.IAlertMessage pAlert = e.pMessage as PttLib.IAlertMessage;
             if (null != pAlert)
             {
                 PttLib.IContact pSender = pAlert.Sender;
                 PttLib.IContact pAuthor = pAlert.Author;
                 StringBuilder   sb      = new StringBuilder();
                 sb.Append("Received alert '").Append(pAlert.Text).Append(" from ");
                 if (pAuthor != null)
                 {
                     if (false == String.IsNullOrEmpty(pAuthor.Name))
                     {
                         sb.Append(pAuthor.Name).Append(" > ");
                     }
                 }
                 if (pSender != null)
                 {
                     if (false == String.IsNullOrEmpty(pSender.Name))
                     {
                         sb.Append(pSender.Name);
                     }
                 }
                 if (false == String.IsNullOrEmpty(pAlert.ExternalId))
                 {
                     sb.Append("; External id [").Append(pAlert.ExternalId).Append("]");
                 }
                 Debug.WriteLine(sb.ToString());
             }
         }
         else if (e.pMessage.Type == PttLib.MESSAGE_TYPE.MTIMAGE)
         {
             PttLib.ISharedImage pImage = e.pMessage as PttLib.ISharedImage;
             if (null != pImage)
             {
                 PttLib.IContact pSender = pImage.Sender;
                 PttLib.IContact pAuthor = pImage.Author;
                 StringBuilder   sb      = new StringBuilder();
                 pImage.SaveToFile(@"C:\Images\incoming.jpg");
                 sb.Append("Received image from ");
                 if (pAuthor != null)
                 {
                     if (false == String.IsNullOrEmpty(pAuthor.Name))
                     {
                         sb.Append(pAuthor.Name).Append(" > ");
                     }
                 }
                 if (pSender != null)
                 {
                     if (false == String.IsNullOrEmpty(pSender.Name))
                     {
                         sb.Append(pSender.Name);
                     }
                 }
                 if (false == String.IsNullOrEmpty(pImage.ExternalId))
                 {
                     sb.Append("; External id [").Append(pImage.ExternalId).Append("]");
                 }
                 Debug.WriteLine(sb.ToString());
             }
         }
     }
 }