SIPSorcery.SIP.App.SIPMonitorMachineEvent.ParseMachineEventCSV C# (CSharp) Method

ParseMachineEventCSV() public static method

public static ParseMachineEventCSV ( string eventCSV ) : SIPMonitorMachineEvent
eventCSV string
return SIPMonitorMachineEvent
        public static SIPMonitorMachineEvent ParseMachineEventCSV(string eventCSV)
        {
            try
            {
                SIPMonitorMachineEvent machineEvent = new SIPMonitorMachineEvent();

                if (eventCSV.IndexOf(END_MESSAGE_DELIMITER) != -1)
                {
                    eventCSV.Remove(eventCSV.Length - 2, 2);
                }

                string[] eventFields = eventCSV.Split(new char[] { '|' });

                machineEvent.SessionID = eventFields[1];
                machineEvent.MonitorServerID = eventFields[2];
                machineEvent.MachineEventType = SIPMonitorMachineEventTypes.GetMonitorMachineTypeForId(Convert.ToInt32(eventFields[3]));
                machineEvent.Created = DateTimeOffset.ParseExact(eventFields[4], SERIALISATION_DATETIME_FORMAT, CultureInfo.InvariantCulture);
                machineEvent.Username = eventFields[5];
                machineEvent.RemoteEndPoint = SIPEndPoint.ParseSIPEndPoint(eventFields[6]);
                machineEvent.Message = eventFields[7];
                machineEvent.ResourceID = eventFields[8];
                string resourceURI = eventFields[9].Trim('#');

                if (!resourceURI.IsNullOrBlank())
                {
                    machineEvent.ResourceURI = SIPURI.ParseSIPURIRelaxed(resourceURI);
                }

                return machineEvent;
            }
            catch (Exception excp)
            {
                logger.Error("Exception SIPMonitorMachineEvent ParseEventCSV. " + excp.Message);
                return null;
            }
        }

Usage Example

Exemplo n.º 1
0
 public static SIPMonitorEvent ParseEventCSV(string eventCSV)
 {
     if (eventCSV == null || eventCSV.Trim().Length == 0)
     {
         return(null);
     }
     else if (eventCSV.Trim().StartsWith(SIPMonitorConsoleEvent.SERIALISATION_PREFIX))
     {
         return(SIPMonitorConsoleEvent.ParseClientControlEventCSV(eventCSV));
     }
     else if (eventCSV.Trim().StartsWith(SIPMonitorMachineEvent.SERIALISATION_PREFIX))
     {
         return(SIPMonitorMachineEvent.ParseMachineEventCSV(eventCSV));
     }
     else
     {
         logger.LogWarning("The monitor event prefix of " + eventCSV.Trim().Substring(0, 1) + " was not recognised. " + eventCSV);
         return(null);
     }
 }