private void CheckForCNameConflict(string cname, IPAddress[] ipAddresses)
{
Trace.Assert(ipAddresses.Length == 2);
// If the IPAddresses don't match
if (!ipAddresses[0].Equals(ipAddresses[1]))
{
// Is the conflict with the local participant
if (participant.CName == cname)
{
RaiseDuplicateCNameDetectedEvent(ipAddresses);
// WARNING:
// You can not call Dispose from this thread, as it will terminate itself!
ThreadPool.QueueUserWorkItem(new WaitCallback(Dispose));
}
else // Or remote streams
{
// Don't do anything here. The machines encountering the conflict will dispose
// themselves and we will receive the Rtcp updates about them leaving the session
//eventLog.WriteEntry(string.Format(CultureInfo.CurrentCulture,
// Strings.CNameConflictDetectedRemoteMachines, ipAddresses[0], ipAddresses[1], cname),
// EventLogEntryType.Warning, (int)RtpEL.ID.HandleCNameConflict);
}
}
}