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